@polka-codes/cli 0.10.23 → 0.10.24
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/dist/index.js +1 -1
- package/package.json +3 -3
- package/dist/ApiProviderConfig.js +0 -57
- package/dist/ApiProviderConfig.js.map +0 -1
- package/dist/ApiProviderConfig.test.js +0 -278
- package/dist/ApiProviderConfig.test.js.map +0 -1
- package/dist/agent/advanced-discovery.js +0 -604
- package/dist/agent/advanced-discovery.js.map +0 -1
- package/dist/agent/config.js +0 -139
- package/dist/agent/config.js.map +0 -1
- package/dist/agent/config.test.js +0 -140
- package/dist/agent/config.test.js.map +0 -1
- package/dist/agent/constants.js +0 -172
- package/dist/agent/constants.js.map +0 -1
- package/dist/agent/constants.test.js +0 -132
- package/dist/agent/constants.test.js.map +0 -1
- package/dist/agent/debug-logger.js +0 -281
- package/dist/agent/debug-logger.js.map +0 -1
- package/dist/agent/debug-logger.test.js +0 -294
- package/dist/agent/debug-logger.test.js.map +0 -1
- package/dist/agent/error-handling.js +0 -114
- package/dist/agent/error-handling.js.map +0 -1
- package/dist/agent/error-handling.test.js +0 -191
- package/dist/agent/error-handling.test.js.map +0 -1
- package/dist/agent/errors.js +0 -301
- package/dist/agent/errors.js.map +0 -1
- package/dist/agent/executor.js +0 -206
- package/dist/agent/executor.js.map +0 -1
- package/dist/agent/executor.test.js +0 -228
- package/dist/agent/executor.test.js.map +0 -1
- package/dist/agent/goal-decomposer.js +0 -281
- package/dist/agent/goal-decomposer.js.map +0 -1
- package/dist/agent/goal-decomposer.test.js +0 -225
- package/dist/agent/goal-decomposer.test.js.map +0 -1
- package/dist/agent/health-monitor.js +0 -89
- package/dist/agent/health-monitor.js.map +0 -1
- package/dist/agent/improvement-loop.js +0 -177
- package/dist/agent/improvement-loop.js.map +0 -1
- package/dist/agent/index.js +0 -38
- package/dist/agent/index.js.map +0 -1
- package/dist/agent/metrics.js +0 -158
- package/dist/agent/metrics.js.map +0 -1
- package/dist/agent/metrics.test.js +0 -311
- package/dist/agent/metrics.test.js.map +0 -1
- package/dist/agent/orchestrator.js +0 -438
- package/dist/agent/orchestrator.js.map +0 -1
- package/dist/agent/planner.js +0 -199
- package/dist/agent/planner.js.map +0 -1
- package/dist/agent/planner.test.js +0 -135
- package/dist/agent/planner.test.js.map +0 -1
- package/dist/agent/progress.js +0 -298
- package/dist/agent/progress.js.map +0 -1
- package/dist/agent/progress.test.js +0 -255
- package/dist/agent/progress.test.js.map +0 -1
- package/dist/agent/resource-monitor.js +0 -114
- package/dist/agent/resource-monitor.js.map +0 -1
- package/dist/agent/safety/approval.js +0 -178
- package/dist/agent/safety/approval.js.map +0 -1
- package/dist/agent/safety/approval.test.js +0 -142
- package/dist/agent/safety/approval.test.js.map +0 -1
- package/dist/agent/safety/checks.js +0 -152
- package/dist/agent/safety/checks.js.map +0 -1
- package/dist/agent/safety/checks.test.js +0 -89
- package/dist/agent/safety/checks.test.js.map +0 -1
- package/dist/agent/safety/interrupt.js +0 -92
- package/dist/agent/safety/interrupt.js.map +0 -1
- package/dist/agent/safety/interrupt.test.js +0 -53
- package/dist/agent/safety/interrupt.test.js.map +0 -1
- package/dist/agent/session.js +0 -117
- package/dist/agent/session.js.map +0 -1
- package/dist/agent/session.test.js +0 -213
- package/dist/agent/session.test.js.map +0 -1
- package/dist/agent/state-manager.js +0 -287
- package/dist/agent/state-manager.js.map +0 -1
- package/dist/agent/task-discovery.js +0 -433
- package/dist/agent/task-discovery.js.map +0 -1
- package/dist/agent/task-discovery.test.js +0 -40
- package/dist/agent/task-discovery.test.js.map +0 -1
- package/dist/agent/task-history.js +0 -128
- package/dist/agent/task-history.js.map +0 -1
- package/dist/agent/task-prioritizer.js +0 -286
- package/dist/agent/task-prioritizer.js.map +0 -1
- package/dist/agent/test-fixtures.js +0 -112
- package/dist/agent/test-fixtures.js.map +0 -1
- package/dist/agent/types.js +0 -15
- package/dist/agent/types.js.map +0 -1
- package/dist/agent/workflow-adapter.js +0 -219
- package/dist/agent/workflow-adapter.js.map +0 -1
- package/dist/agent/workflow-adapter.test.js +0 -11
- package/dist/agent/workflow-adapter.test.js.map +0 -1
- package/dist/agent/working-dir-discovery.js +0 -54
- package/dist/agent/working-dir-discovery.js.map +0 -1
- package/dist/agent/working-space.js +0 -484
- package/dist/agent/working-space.js.map +0 -1
- package/dist/agent/working-space.test.js +0 -436
- package/dist/agent/working-space.test.js.map +0 -1
- package/dist/api.js +0 -279
- package/dist/api.js.map +0 -1
- package/dist/builtin-commands.js +0 -20
- package/dist/builtin-commands.js.map +0 -1
- package/dist/commandSummarizer.js +0 -96
- package/dist/commandSummarizer.js.map +0 -1
- package/dist/commands/__tests__/command-detection.integration.test.js +0 -238
- package/dist/commands/__tests__/command-detection.integration.test.js.map +0 -1
- package/dist/commands/__tests__/script-generator.integration.test.js +0 -271
- package/dist/commands/__tests__/script-generator.integration.test.js.map +0 -1
- package/dist/commands/agent.js +0 -218
- package/dist/commands/agent.js.map +0 -1
- package/dist/commands/code.js +0 -102
- package/dist/commands/code.js.map +0 -1
- package/dist/commands/command.constants.js +0 -13
- package/dist/commands/command.constants.js.map +0 -1
- package/dist/commands/commit.js +0 -17
- package/dist/commands/commit.js.map +0 -1
- package/dist/commands/fix.js +0 -17
- package/dist/commands/fix.js.map +0 -1
- package/dist/commands/init.js +0 -501
- package/dist/commands/init.js.map +0 -1
- package/dist/commands/mcp-server.js +0 -122
- package/dist/commands/mcp-server.js.map +0 -1
- package/dist/commands/memory.js +0 -410
- package/dist/commands/memory.js.map +0 -1
- package/dist/commands/memory.test.js +0 -453
- package/dist/commands/memory.test.js.map +0 -1
- package/dist/commands/meta.js +0 -142
- package/dist/commands/meta.js.map +0 -1
- package/dist/commands/plan.js +0 -39
- package/dist/commands/plan.js.map +0 -1
- package/dist/commands/pr.js +0 -14
- package/dist/commands/pr.js.map +0 -1
- package/dist/commands/review-json.test.js +0 -33
- package/dist/commands/review-json.test.js.map +0 -1
- package/dist/commands/review.js +0 -137
- package/dist/commands/review.js.map +0 -1
- package/dist/commands/review.usage.test.js +0 -41
- package/dist/commands/review.usage.test.js.map +0 -1
- package/dist/commands/run.js +0 -107
- package/dist/commands/run.js.map +0 -1
- package/dist/commands/skills.js +0 -175
- package/dist/commands/skills.js.map +0 -1
- package/dist/commands/task.js +0 -34
- package/dist/commands/task.js.map +0 -1
- package/dist/commands/workflow.js +0 -117
- package/dist/commands/workflow.js.map +0 -1
- package/dist/configPrompt.js +0 -39
- package/dist/configPrompt.js.map +0 -1
- package/dist/env.js +0 -22
- package/dist/env.js.map +0 -1
- package/dist/errors.js +0 -132
- package/dist/errors.js.map +0 -1
- package/dist/errors.test.js +0 -21
- package/dist/errors.test.js.map +0 -1
- package/dist/file-attachments.js +0 -77
- package/dist/file-attachments.js.map +0 -1
- package/dist/file-attachments.test.js +0 -214
- package/dist/file-attachments.test.js.map +0 -1
- package/dist/getModel.js +0 -229
- package/dist/getModel.js.map +0 -1
- package/dist/getModel.test.js +0 -67
- package/dist/getModel.test.js.map +0 -1
- package/dist/getProviderOptions.js +0 -58
- package/dist/getProviderOptions.js.map +0 -1
- package/dist/git-operations.js +0 -363
- package/dist/git-operations.js.map +0 -1
- package/dist/git-operations.test.js +0 -81
- package/dist/git-operations.test.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger.js +0 -41
- package/dist/logger.js.map +0 -1
- package/dist/mcp/client.js +0 -11
- package/dist/mcp/client.js.map +0 -1
- package/dist/mcp/error-scenarios.test.js +0 -206
- package/dist/mcp/error-scenarios.test.js.map +0 -1
- package/dist/mcp/errors.js +0 -63
- package/dist/mcp/errors.js.map +0 -1
- package/dist/mcp/index.js +0 -9
- package/dist/mcp/index.js.map +0 -1
- package/dist/mcp/manager.js +0 -231
- package/dist/mcp/manager.js.map +0 -1
- package/dist/mcp/manager.test.js +0 -40
- package/dist/mcp/manager.test.js.map +0 -1
- package/dist/mcp/sdk-client.js +0 -166
- package/dist/mcp/sdk-client.js.map +0 -1
- package/dist/mcp/shared-types.js +0 -3
- package/dist/mcp/shared-types.js.map +0 -1
- package/dist/mcp/tools-integration.test.js +0 -198
- package/dist/mcp/tools-integration.test.js.map +0 -1
- package/dist/mcp/tools.js +0 -60
- package/dist/mcp/tools.js.map +0 -1
- package/dist/mcp/transport.js +0 -257
- package/dist/mcp/transport.js.map +0 -1
- package/dist/mcp/types.js +0 -3
- package/dist/mcp/types.js.map +0 -1
- package/dist/mcp-server/index.js +0 -5
- package/dist/mcp-server/index.js.map +0 -1
- package/dist/mcp-server/plan-formatting.test.js +0 -74
- package/dist/mcp-server/plan-formatting.test.js.map +0 -1
- package/dist/mcp-server/sdk-server.js +0 -102
- package/dist/mcp-server/sdk-server.js.map +0 -1
- package/dist/mcp-server/sdk-server.test.js +0 -363
- package/dist/mcp-server/sdk-server.test.js.map +0 -1
- package/dist/mcp-server/tools.js +0 -785
- package/dist/mcp-server/tools.js.map +0 -1
- package/dist/mcp-server/types.js +0 -3
- package/dist/mcp-server/types.js.map +0 -1
- package/dist/options.js +0 -85
- package/dist/options.js.map +0 -1
- package/dist/options.test.js +0 -177
- package/dist/options.test.js.map +0 -1
- package/dist/prices.js +0 -61
- package/dist/prices.js.map +0 -1
- package/dist/prices.test.js +0 -148
- package/dist/prices.test.js.map +0 -1
- package/dist/runWorkflow.js +0 -313
- package/dist/runWorkflow.js.map +0 -1
- package/dist/script/__tests__/execution.integration.test.js +0 -274
- package/dist/script/__tests__/execution.integration.test.js.map +0 -1
- package/dist/script/__tests__/runner.test.js +0 -176
- package/dist/script/__tests__/runner.test.js.map +0 -1
- package/dist/script/__tests__/validator.test.js +0 -180
- package/dist/script/__tests__/validator.test.js.map +0 -1
- package/dist/script/executor.js +0 -127
- package/dist/script/executor.js.map +0 -1
- package/dist/script/index.js +0 -4
- package/dist/script/index.js.map +0 -1
- package/dist/script/runner.js +0 -258
- package/dist/script/runner.js.map +0 -1
- package/dist/skillIntegration.js +0 -46
- package/dist/skillIntegration.js.map +0 -1
- package/dist/skillIntegration.test.js +0 -128
- package/dist/skillIntegration.test.js.map +0 -1
- package/dist/test/utils.js +0 -200
- package/dist/test/utils.js.map +0 -1
- package/dist/test/workflow-fixtures.js +0 -120
- package/dist/test/workflow-fixtures.js.map +0 -1
- package/dist/tool-implementations.js +0 -521
- package/dist/tool-implementations.js.map +0 -1
- package/dist/tool-implementations.skill-tools.test.js +0 -106
- package/dist/tool-implementations.skill-tools.test.js.map +0 -1
- package/dist/tools/getTodoItem.js +0 -33
- package/dist/tools/getTodoItem.js.map +0 -1
- package/dist/tools/gitDiff.js +0 -108
- package/dist/tools/gitDiff.js.map +0 -1
- package/dist/tools/index.js +0 -8
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/listMemoryTopics.js +0 -24
- package/dist/tools/listMemoryTopics.js.map +0 -1
- package/dist/tools/listTodoItems.js +0 -35
- package/dist/tools/listTodoItems.js.map +0 -1
- package/dist/tools/listTodoItems.test.js +0 -89
- package/dist/tools/listTodoItems.test.js.map +0 -1
- package/dist/tools/readMemory.js +0 -33
- package/dist/tools/readMemory.js.map +0 -1
- package/dist/tools/updateMemory.js +0 -62
- package/dist/tools/updateMemory.js.map +0 -1
- package/dist/tools/updateMemory.test.js +0 -109
- package/dist/tools/updateMemory.test.js.map +0 -1
- package/dist/tools/updateTodoItem.js +0 -31
- package/dist/tools/updateTodoItem.js.map +0 -1
- package/dist/tools/utils/diffLineNumbers.js +0 -178
- package/dist/tools/utils/diffLineNumbers.js.map +0 -1
- package/dist/utils/cacheControl.js +0 -59
- package/dist/utils/cacheControl.js.map +0 -1
- package/dist/utils/cacheControl.test.js +0 -128
- package/dist/utils/cacheControl.test.js.map +0 -1
- package/dist/utils/command.js +0 -50
- package/dist/utils/command.js.map +0 -1
- package/dist/utils/shell.js +0 -56
- package/dist/utils/shell.js.map +0 -1
- package/dist/utils/userInput.js +0 -47
- package/dist/utils/userInput.js.map +0 -1
- package/dist/workflow-tools.js +0 -21
- package/dist/workflow-tools.js.map +0 -1
- package/dist/workflows/agent-builder.js +0 -90
- package/dist/workflows/agent-builder.js.map +0 -1
- package/dist/workflows/agent-builder.test.js +0 -115
- package/dist/workflows/agent-builder.test.js.map +0 -1
- package/dist/workflows/code.workflow.js +0 -145
- package/dist/workflows/code.workflow.js.map +0 -1
- package/dist/workflows/commit.workflow.js +0 -111
- package/dist/workflows/commit.workflow.js.map +0 -1
- package/dist/workflows/commit.workflow.test.js +0 -141
- package/dist/workflows/commit.workflow.test.js.map +0 -1
- package/dist/workflows/fix.workflow.js +0 -172
- package/dist/workflows/fix.workflow.js.map +0 -1
- package/dist/workflows/fix.workflow.test.js +0 -137
- package/dist/workflows/fix.workflow.test.js.map +0 -1
- package/dist/workflows/git-file-tools.js +0 -408
- package/dist/workflows/git-file-tools.js.map +0 -1
- package/dist/workflows/index.js +0 -12
- package/dist/workflows/index.js.map +0 -1
- package/dist/workflows/init-interactive.workflow.js +0 -198
- package/dist/workflows/init-interactive.workflow.js.map +0 -1
- package/dist/workflows/init.workflow.js +0 -41
- package/dist/workflows/init.workflow.js.map +0 -1
- package/dist/workflows/meta.workflow.js +0 -107
- package/dist/workflows/meta.workflow.js.map +0 -1
- package/dist/workflows/plan.workflow.js +0 -275
- package/dist/workflows/plan.workflow.js.map +0 -1
- package/dist/workflows/plan.workflow.test.js +0 -419
- package/dist/workflows/plan.workflow.test.js.map +0 -1
- package/dist/workflows/pr.workflow.js +0 -54
- package/dist/workflows/pr.workflow.js.map +0 -1
- package/dist/workflows/pr.workflow.test.js +0 -98
- package/dist/workflows/pr.workflow.test.js.map +0 -1
- package/dist/workflows/prompts/coder.js +0 -85
- package/dist/workflows/prompts/coder.js.map +0 -1
- package/dist/workflows/prompts/commit.js +0 -16
- package/dist/workflows/prompts/commit.js.map +0 -1
- package/dist/workflows/prompts/fix.js +0 -44
- package/dist/workflows/prompts/fix.js.map +0 -1
- package/dist/workflows/prompts/index.js +0 -10
- package/dist/workflows/prompts/index.js.map +0 -1
- package/dist/workflows/prompts/init.js +0 -48
- package/dist/workflows/prompts/init.js.map +0 -1
- package/dist/workflows/prompts/meta.js +0 -17
- package/dist/workflows/prompts/meta.js.map +0 -1
- package/dist/workflows/prompts/plan.js +0 -212
- package/dist/workflows/prompts/plan.js.map +0 -1
- package/dist/workflows/prompts/pr.js +0 -15
- package/dist/workflows/prompts/pr.js.map +0 -1
- package/dist/workflows/prompts/review.js +0 -145
- package/dist/workflows/prompts/review.js.map +0 -1
- package/dist/workflows/prompts/shared.js +0 -93
- package/dist/workflows/prompts/shared.js.map +0 -1
- package/dist/workflows/review.workflow.js +0 -357
- package/dist/workflows/review.workflow.js.map +0 -1
- package/dist/workflows/task.workflow.js +0 -47
- package/dist/workflows/task.workflow.js.map +0 -1
- package/dist/workflows/testing/helper.js +0 -41
- package/dist/workflows/testing/helper.js.map +0 -1
- package/dist/workflows/workflow.utils.js +0 -351
- package/dist/workflows/workflow.utils.js.map +0 -1
- package/dist/workflows/workflow.utils.test.js +0 -45
- package/dist/workflows/workflow.utils.test.js.map +0 -1
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Error handling utilities for the agent system
|
|
3
|
-
*
|
|
4
|
-
* Provides standardized error logging and suppression patterns
|
|
5
|
-
* to improve debugging and production troubleshooting.
|
|
6
|
-
*/
|
|
7
|
-
import { createErrorClass } from '@polka-codes/core';
|
|
8
|
-
/**
|
|
9
|
-
* Helper function to log message with optional stack trace
|
|
10
|
-
*/
|
|
11
|
-
function logWithStack(logger, level, message, error, contextMessage) {
|
|
12
|
-
logger[level](message);
|
|
13
|
-
if (error?.stack) {
|
|
14
|
-
logger.debug(`[${contextMessage}] Stack:`, error.stack);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Log strategies for different log levels
|
|
19
|
-
* Each strategy handles logging at its specific level with appropriate stack trace handling
|
|
20
|
-
*/
|
|
21
|
-
const logStrategies = {
|
|
22
|
-
error: (logger, message, error, contextMessage) => {
|
|
23
|
-
logWithStack(logger, 'error', message, error, contextMessage);
|
|
24
|
-
},
|
|
25
|
-
warn: (logger, message) => logger.warn(message),
|
|
26
|
-
debug: (logger, message, error, contextMessage) => {
|
|
27
|
-
logWithStack(logger, 'debug', message, error, contextMessage);
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
export function logAndSuppress(logger, error, contextMessage, options = {}) {
|
|
31
|
-
const { silent = false, level = 'debug', context = {} } = options;
|
|
32
|
-
if (silent) {
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
// Extract error message
|
|
36
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
37
|
-
// Build log message
|
|
38
|
-
const fullContext = `[${contextMessage}] ${message}`;
|
|
39
|
-
let contextString = '';
|
|
40
|
-
if (Object.keys(context).length > 0) {
|
|
41
|
-
try {
|
|
42
|
-
contextString = ` ${JSON.stringify(context)}`;
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
// If context contains circular references or can't be stringified,
|
|
46
|
-
// fall back to a simple object representation
|
|
47
|
-
contextString = ` [context data omitted - circular or non-serializable]`;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
const logMessage = `${fullContext}${contextString}`;
|
|
51
|
-
// Use strategy pattern - select appropriate logging strategy
|
|
52
|
-
const strategy = logStrategies[level] ?? logStrategies.debug;
|
|
53
|
-
strategy(logger, logMessage, error instanceof Error ? error : undefined, contextMessage);
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Standard error types for better error categorization
|
|
57
|
-
*
|
|
58
|
-
* Using createErrorClass factory for consistent error handling
|
|
59
|
-
* and proper stack trace preservation.
|
|
60
|
-
*/
|
|
61
|
-
/**
|
|
62
|
-
* Error thrown when a file system operation fails
|
|
63
|
-
*
|
|
64
|
-
* @param path - File or directory path
|
|
65
|
-
* @param operation - Operation being performed (read, write, delete, etc.)
|
|
66
|
-
* @param cause - Optional underlying error
|
|
67
|
-
*/
|
|
68
|
-
export const FileSystemAccessError = createErrorClass('FileSystemAccessError', (args) => {
|
|
69
|
-
const [path, operation] = args;
|
|
70
|
-
return `Failed to ${operation} ${path}`;
|
|
71
|
-
});
|
|
72
|
-
/**
|
|
73
|
-
* Error thrown when a command execution fails
|
|
74
|
-
*
|
|
75
|
-
* @param command - Command that was executed
|
|
76
|
-
* @param exitCode - Exit code from the command
|
|
77
|
-
* @param _stderr - Standard error output (not shown in message)
|
|
78
|
-
* @param cause - Optional underlying error
|
|
79
|
-
*/
|
|
80
|
-
export const CommandExecutionError = createErrorClass('CommandExecutionError', (args) => {
|
|
81
|
-
const [command, exitCode] = args;
|
|
82
|
-
return `Command failed with code ${exitCode}: ${command}`;
|
|
83
|
-
});
|
|
84
|
-
/**
|
|
85
|
-
* Error thrown when JSON parsing fails
|
|
86
|
-
*
|
|
87
|
-
* @param filePath - Path to file being parsed
|
|
88
|
-
* @param _rawContent - Raw content that failed to parse (not shown in message)
|
|
89
|
-
* @param cause - Optional underlying error
|
|
90
|
-
*/
|
|
91
|
-
export const JSONParseError = createErrorClass('JSONParseError', (args) => {
|
|
92
|
-
const [filePath] = args;
|
|
93
|
-
return `Failed to parse JSON from ${filePath}`;
|
|
94
|
-
});
|
|
95
|
-
/**
|
|
96
|
-
* Safely parse JSON with error handling
|
|
97
|
-
*
|
|
98
|
-
* Unlike JSON.parse, this provides a structured error with file context.
|
|
99
|
-
*
|
|
100
|
-
* @param content - JSON string to parse
|
|
101
|
-
* @param filePath - File path for error messages
|
|
102
|
-
* @returns Parsed object
|
|
103
|
-
* @throws {JSONParseError} If JSON parsing fails
|
|
104
|
-
*/
|
|
105
|
-
export function safeJSONParse(content, filePath) {
|
|
106
|
-
try {
|
|
107
|
-
return JSON.parse(content);
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
// createErrorClass automatically extracts Error from last argument
|
|
111
|
-
throw new JSONParseError(filePath, content, error);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=error-handling.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-handling.js","sourceRoot":"","sources":["../../src/agent/error-handling.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAyCpD;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc,EAAE,KAAwB,EAAE,OAAe,EAAE,KAAa,EAAE,cAAuB;IACrH,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACtB,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,CAAC,IAAI,cAAc,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,aAAa,GAAgC;IACjD,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;QAChD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAC/D,CAAC;IACD,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;IAC/C,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;QAChD,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,CAAA;IAC/D,CAAC;CACF,CAAA;AAED,MAAM,UAAU,cAAc,CAAC,MAAc,EAAE,KAAc,EAAE,cAAsB,EAAE,UAAiC,EAAE;IACxH,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;IAEjE,IAAI,MAAM,EAAE,CAAC;QACX,OAAM;IACR,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEtE,oBAAoB;IACpB,MAAM,WAAW,GAAG,IAAI,cAAc,KAAK,OAAO,EAAE,CAAA;IACpD,IAAI,aAAa,GAAG,EAAE,CAAA;IACtB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAA;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,8CAA8C;YAC9C,aAAa,GAAG,wDAAwD,CAAA;QAC1E,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,GAAG,WAAW,GAAG,aAAa,EAAE,CAAA;IAEnD,6DAA6D;IAC7D,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,aAAa,CAAC,KAAK,CAAA;IAC5D,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAA;AAC1F,CAAC;AAED;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,IAAiD,EAAE,EAAE;IACnI,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,IAAI,CAAA;IAC9B,OAAO,aAAa,SAAS,IAAI,IAAI,EAAE,CAAA;AACzC,CAAC,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,gBAAgB,CACnD,uBAAuB,EACvB,CAAC,IAA0D,EAAE,EAAE;IAC7D,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAA;IAChC,OAAO,4BAA4B,QAAQ,KAAK,OAAO,EAAE,CAAA;AAC3D,CAAC,CACF,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC,gBAAgB,EAAE,CAAC,IAA0C,EAAE,EAAE;IAC9G,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAA;IACvB,OAAO,6BAA6B,QAAQ,EAAE,CAAA;AAChD,CAAC,CAAC,CAAA;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,aAAa,CAAc,OAAe,EAAE,QAAgB;IAC1E,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAM,CAAA;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mEAAmE;QACnE,MAAM,IAAI,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAc,CAAC,CAAA;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { beforeEach, describe, expect, it } from 'bun:test';
|
|
2
|
-
import { CommandExecutionError, FileSystemAccessError, JSONParseError, logAndSuppress, safeJSONParse } from './error-handling';
|
|
3
|
-
describe('error-handling', () => {
|
|
4
|
-
describe('logAndSuppress', () => {
|
|
5
|
-
let mockLogger;
|
|
6
|
-
let logs;
|
|
7
|
-
beforeEach(() => {
|
|
8
|
-
logs = [];
|
|
9
|
-
mockLogger = {
|
|
10
|
-
debug: (msg) => logs.push(`debug: ${msg}`),
|
|
11
|
-
warn: (msg) => logs.push(`warn: ${msg}`),
|
|
12
|
-
error: (msg) => logs.push(`error: ${msg}`),
|
|
13
|
-
};
|
|
14
|
-
});
|
|
15
|
-
it('should log error with debug level by default', () => {
|
|
16
|
-
const error = new Error('Test error');
|
|
17
|
-
logAndSuppress(mockLogger, error, 'TestContext');
|
|
18
|
-
expect(logs).toHaveLength(2); // message + stack
|
|
19
|
-
expect(logs[0]).toContain('debug: [TestContext] Test error');
|
|
20
|
-
});
|
|
21
|
-
it('should log at warn level when specified', () => {
|
|
22
|
-
const error = new Error('Test error');
|
|
23
|
-
logAndSuppress(mockLogger, error, 'TestContext', { level: 'warn' });
|
|
24
|
-
expect(logs).toHaveLength(1);
|
|
25
|
-
expect(logs[0]).toContain('warn: [TestContext] Test error');
|
|
26
|
-
});
|
|
27
|
-
it('should log at error level when specified', () => {
|
|
28
|
-
const error = new Error('Test error');
|
|
29
|
-
logAndSuppress(mockLogger, error, 'TestContext', { level: 'error' });
|
|
30
|
-
expect(logs).toHaveLength(2); // message + stack
|
|
31
|
-
expect(logs[0]).toContain('error: [TestContext] Test error');
|
|
32
|
-
});
|
|
33
|
-
it('should include context in log message', () => {
|
|
34
|
-
const error = new Error('Test error');
|
|
35
|
-
logAndSuppress(mockLogger, error, 'TestContext', {
|
|
36
|
-
context: { key: 'value' },
|
|
37
|
-
});
|
|
38
|
-
expect(logs[0]).toContain('key');
|
|
39
|
-
expect(logs[0]).toContain('value');
|
|
40
|
-
});
|
|
41
|
-
it('should handle non-Error objects', () => {
|
|
42
|
-
logAndSuppress(mockLogger, 'string error', 'TestContext');
|
|
43
|
-
expect(logs).toHaveLength(1);
|
|
44
|
-
expect(logs[0]).toContain('debug: [TestContext] string error');
|
|
45
|
-
});
|
|
46
|
-
it('should be silent when silent option is true', () => {
|
|
47
|
-
const error = new Error('Test error');
|
|
48
|
-
logAndSuppress(mockLogger, error, 'TestContext', { silent: true });
|
|
49
|
-
expect(logs).toHaveLength(0);
|
|
50
|
-
});
|
|
51
|
-
it('should include stack trace for Error objects', () => {
|
|
52
|
-
const error = new Error('Test error');
|
|
53
|
-
logAndSuppress(mockLogger, error, 'TestContext');
|
|
54
|
-
expect(logs).toHaveLength(2);
|
|
55
|
-
expect(logs[1]).toContain('Stack:');
|
|
56
|
-
});
|
|
57
|
-
it('should not include stack trace for non-Error objects', () => {
|
|
58
|
-
logAndSuppress(mockLogger, 'string error', 'TestContext');
|
|
59
|
-
expect(logs).toHaveLength(1);
|
|
60
|
-
});
|
|
61
|
-
it('should handle empty context object', () => {
|
|
62
|
-
const error = new Error('Test error');
|
|
63
|
-
logAndSuppress(mockLogger, error, 'TestContext', {
|
|
64
|
-
context: {},
|
|
65
|
-
});
|
|
66
|
-
expect(logs).toHaveLength(2);
|
|
67
|
-
expect(logs[0]).not.toContain('{');
|
|
68
|
-
});
|
|
69
|
-
});
|
|
70
|
-
describe('FileSystemAccessError', () => {
|
|
71
|
-
it('should create error with path and operation', () => {
|
|
72
|
-
const error = new FileSystemAccessError('/test/path', 'read');
|
|
73
|
-
expect(error.name).toBe('FileSystemAccessError');
|
|
74
|
-
expect(error.message).toContain('Failed to read /test/path');
|
|
75
|
-
expect(error.message).toContain('/test/path');
|
|
76
|
-
expect(error.stack).toContain('FileSystemAccessError');
|
|
77
|
-
});
|
|
78
|
-
it('should accept cause error', () => {
|
|
79
|
-
const cause = new Error('Permission denied');
|
|
80
|
-
const error = new FileSystemAccessError('/test/path', 'write', cause);
|
|
81
|
-
expect(error.cause).toBe(cause);
|
|
82
|
-
expect(error.message).toContain('Failed to write /test/path');
|
|
83
|
-
});
|
|
84
|
-
it('should work without cause', () => {
|
|
85
|
-
const error = new FileSystemAccessError('/test/path', 'delete');
|
|
86
|
-
expect(error.cause).toBeUndefined();
|
|
87
|
-
expect(error.message).toContain('Failed to delete /test/path');
|
|
88
|
-
});
|
|
89
|
-
});
|
|
90
|
-
describe('CommandExecutionError', () => {
|
|
91
|
-
it('should create error with command, exit code, and stderr', () => {
|
|
92
|
-
const error = new CommandExecutionError('npm install', 1, 'EACCES');
|
|
93
|
-
expect(error.name).toBe('CommandExecutionError');
|
|
94
|
-
expect(error.message).toContain('npm install');
|
|
95
|
-
expect(error.message).toContain('code 1');
|
|
96
|
-
expect(error.stack).toContain('CommandExecutionError');
|
|
97
|
-
});
|
|
98
|
-
it('should accept cause error', () => {
|
|
99
|
-
const cause = new Error('Network timeout');
|
|
100
|
-
const error = new CommandExecutionError('curl test.com', 28, 'Timeout', cause);
|
|
101
|
-
expect(error.cause).toBe(cause);
|
|
102
|
-
expect(error.message).toContain('curl test.com');
|
|
103
|
-
expect(error.message).toContain('code 28');
|
|
104
|
-
});
|
|
105
|
-
it('should work without cause', () => {
|
|
106
|
-
const error = new CommandExecutionError('ls', 0, '');
|
|
107
|
-
expect(error.cause).toBeUndefined();
|
|
108
|
-
expect(error.message).toContain('ls');
|
|
109
|
-
expect(error.message).toContain('code 0');
|
|
110
|
-
});
|
|
111
|
-
});
|
|
112
|
-
describe('JSONParseError', () => {
|
|
113
|
-
it('should create error with file path and content', () => {
|
|
114
|
-
const content = '{invalid json';
|
|
115
|
-
const error = new JSONParseError('/test/config.json', content);
|
|
116
|
-
expect(error.name).toBe('JSONParseError');
|
|
117
|
-
expect(error.message).toContain('/test/config.json');
|
|
118
|
-
expect(error.message).toContain('Failed to parse JSON');
|
|
119
|
-
expect(error.stack).toContain('JSONParseError');
|
|
120
|
-
});
|
|
121
|
-
it('should accept cause error', () => {
|
|
122
|
-
const cause = new Error('Unexpected token');
|
|
123
|
-
const error = new JSONParseError('/test/data.json', '{}', cause);
|
|
124
|
-
expect(error.cause).toBe(cause);
|
|
125
|
-
expect(error.message).toContain('/test/data.json');
|
|
126
|
-
});
|
|
127
|
-
it('should work without cause', () => {
|
|
128
|
-
const error = new JSONParseError('/test/config.json', '{}');
|
|
129
|
-
expect(error.cause).toBeUndefined();
|
|
130
|
-
expect(error.message).toContain('/test/config.json');
|
|
131
|
-
});
|
|
132
|
-
});
|
|
133
|
-
describe('safeJSONParse', () => {
|
|
134
|
-
it('should parse valid JSON', () => {
|
|
135
|
-
const content = '{"key":"value"}';
|
|
136
|
-
const result = safeJSONParse(content, '/test.json');
|
|
137
|
-
expect(result.key).toBe('value');
|
|
138
|
-
});
|
|
139
|
-
it('should parse JSON arrays', () => {
|
|
140
|
-
const content = '[1,2,3]';
|
|
141
|
-
const result = safeJSONParse(content, '/test.json');
|
|
142
|
-
expect(result).toEqual([1, 2, 3]);
|
|
143
|
-
});
|
|
144
|
-
it('should parse nested objects', () => {
|
|
145
|
-
const content = '{"user":{"name":"test","age":25}}';
|
|
146
|
-
const result = safeJSONParse(content, '/test.json');
|
|
147
|
-
expect(result.user.name).toBe('test');
|
|
148
|
-
expect(result.user.age).toBe(25);
|
|
149
|
-
});
|
|
150
|
-
it('should throw JSONParseError for invalid JSON', () => {
|
|
151
|
-
const content = '{invalid';
|
|
152
|
-
expect(() => safeJSONParse(content, '/test.json')).toThrow(JSONParseError);
|
|
153
|
-
});
|
|
154
|
-
it('should include file path in error', () => {
|
|
155
|
-
const content = '{invalid';
|
|
156
|
-
expect(() => safeJSONParse(content, '/config/test.json')).toThrow(JSONParseError);
|
|
157
|
-
expect(() => safeJSONParse(content, '/config/test.json')).toThrow(expect.objectContaining({
|
|
158
|
-
message: expect.stringContaining('/config/test.json'),
|
|
159
|
-
cause: expect.any(Error),
|
|
160
|
-
}));
|
|
161
|
-
});
|
|
162
|
-
it('should include raw content in error', () => {
|
|
163
|
-
const content = '{invalid json';
|
|
164
|
-
expect(() => safeJSONParse(content, '/test.json')).toThrow(JSONParseError);
|
|
165
|
-
expect(() => safeJSONParse(content, '/test.json')).toThrow(expect.objectContaining({
|
|
166
|
-
message: expect.stringContaining('/test.json'),
|
|
167
|
-
cause: expect.any(Error),
|
|
168
|
-
}));
|
|
169
|
-
});
|
|
170
|
-
it('should handle empty JSON object', () => {
|
|
171
|
-
const content = '{}';
|
|
172
|
-
const result = safeJSONParse(content, '/test.json');
|
|
173
|
-
expect(result).toEqual({});
|
|
174
|
-
});
|
|
175
|
-
it('should handle null JSON', () => {
|
|
176
|
-
const content = 'null';
|
|
177
|
-
const result = safeJSONParse(content, '/test.json');
|
|
178
|
-
expect(result).toBeNull();
|
|
179
|
-
});
|
|
180
|
-
it('should handle boolean values', () => {
|
|
181
|
-
expect(safeJSONParse('true', '/test.json')).toEqual(true);
|
|
182
|
-
expect(safeJSONParse('false', '/test.json')).toEqual(false);
|
|
183
|
-
});
|
|
184
|
-
it('should handle numbers', () => {
|
|
185
|
-
expect(safeJSONParse('42', '/test.json')).toEqual(42);
|
|
186
|
-
expect(safeJSONParse('3.14', '/test.json')).toEqual(3.14);
|
|
187
|
-
expect(safeJSONParse('-10', '/test.json')).toEqual(-10);
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
});
|
|
191
|
-
//# sourceMappingURL=error-handling.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-handling.test.js","sourceRoot":"","sources":["../../src/agent/error-handling.test.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/errors.js
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Format any error for display
|
|
3
|
-
* Uses enhanced formatting for AgentError, basic formatting for other errors
|
|
4
|
-
*/
|
|
5
|
-
export function formatError(error) {
|
|
6
|
-
if (error instanceof AgentError) {
|
|
7
|
-
return error.getFormattedMessage();
|
|
8
|
-
}
|
|
9
|
-
if (error instanceof Error) {
|
|
10
|
-
return `❌ ${error.name}: ${error.message}\n ${error.stack || ''}`;
|
|
11
|
-
}
|
|
12
|
-
return `❌ Error: ${String(error)}`;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Base agent error with enhanced context and suggestions
|
|
16
|
-
*/
|
|
17
|
-
export class AgentError extends Error {
|
|
18
|
-
code;
|
|
19
|
-
details;
|
|
20
|
-
suggestions;
|
|
21
|
-
constructor(message, code, details, suggestions) {
|
|
22
|
-
super(message);
|
|
23
|
-
this.code = code;
|
|
24
|
-
this.details = details;
|
|
25
|
-
this.suggestions = suggestions;
|
|
26
|
-
this.name = 'AgentError';
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Get formatted error message with suggestions
|
|
30
|
-
*/
|
|
31
|
-
getFormattedMessage() {
|
|
32
|
-
let output = `❌ ${this.message}\n`;
|
|
33
|
-
output += ` Error Code: ${this.code}\n`;
|
|
34
|
-
if (this.details && Object.keys(this.details).length > 0) {
|
|
35
|
-
output += ` Details: ${JSON.stringify(this.details, null, 2)}\n`;
|
|
36
|
-
}
|
|
37
|
-
if (this.suggestions) {
|
|
38
|
-
if (this.suggestions.suggestions.length > 0) {
|
|
39
|
-
output += `\n 💡 Suggestions:\n`;
|
|
40
|
-
this.suggestions.suggestions.forEach((s, i) => {
|
|
41
|
-
output += ` ${i + 1}. ${s}\n`;
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
if (this.suggestions.recovery && this.suggestions.recovery.length > 0) {
|
|
45
|
-
output += `\n 🔧 Recovery Steps:\n`;
|
|
46
|
-
this.suggestions.recovery.forEach((r, i) => {
|
|
47
|
-
output += ` ${i + 1}. ${r}\n`;
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
if (this.suggestions.files && this.suggestions.files.length > 0) {
|
|
51
|
-
output += `\n 📁 Check Files:\n`;
|
|
52
|
-
this.suggestions.files.forEach((f) => {
|
|
53
|
-
output += ` - ${f}\n`;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
if (this.suggestions.docs && this.suggestions.docs.length > 0) {
|
|
57
|
-
output += `\n 📚 Documentation:\n`;
|
|
58
|
-
this.suggestions.docs.forEach((d) => {
|
|
59
|
-
output += ` - ${d}\n`;
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return output;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Invalid state transition error
|
|
68
|
-
*/
|
|
69
|
-
export class StateTransitionError extends AgentError {
|
|
70
|
-
constructor(from, to, reason) {
|
|
71
|
-
const details = { from, to, reason };
|
|
72
|
-
const suggestions = {
|
|
73
|
-
suggestions: [
|
|
74
|
-
`Check if the agent is in the correct state for this operation`,
|
|
75
|
-
`Review the state machine in ARCHITECTURE.md`,
|
|
76
|
-
`Ensure previous operations completed successfully`,
|
|
77
|
-
],
|
|
78
|
-
recovery: [
|
|
79
|
-
`Wait for current operation to complete`,
|
|
80
|
-
`Call stop() to reset the agent to idle state`,
|
|
81
|
-
`Check agent status with getCurrentStatus()`,
|
|
82
|
-
],
|
|
83
|
-
files: [
|
|
84
|
-
'packages/cli/src/agent/orchestrator.ts',
|
|
85
|
-
'packages/cli/src/agent/state-manager.ts',
|
|
86
|
-
'packages/cli/src/agent/ARCHITECTURE.md',
|
|
87
|
-
],
|
|
88
|
-
};
|
|
89
|
-
super(`Invalid state transition from ${from} to ${to}${reason ? `: ${reason}` : ''}`, 'INVALID_STATE_TRANSITION', details, suggestions);
|
|
90
|
-
this.name = 'StateTransitionError';
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* Task execution error
|
|
95
|
-
*/
|
|
96
|
-
export class TaskExecutionError extends AgentError {
|
|
97
|
-
originalError;
|
|
98
|
-
constructor(taskId, message, originalError) {
|
|
99
|
-
const details = { taskId, originalError: originalError?.message };
|
|
100
|
-
const suggestions = {
|
|
101
|
-
suggestions: [
|
|
102
|
-
`Check the task logs for more details`,
|
|
103
|
-
`Verify all required dependencies are installed`,
|
|
104
|
-
`Ensure the task input is valid`,
|
|
105
|
-
`Check if there are sufficient system resources`,
|
|
106
|
-
],
|
|
107
|
-
recovery: [
|
|
108
|
-
`Review the error details above`,
|
|
109
|
-
`Fix the underlying issue and retry the task`,
|
|
110
|
-
`Use --dry-run to test without making changes`,
|
|
111
|
-
`Check logs in the state directory for full stack traces`,
|
|
112
|
-
],
|
|
113
|
-
files: ['packages/cli/src/agent/executor.ts', 'packages/cli/src/agent/workflow-adapter.ts'],
|
|
114
|
-
docs: ['Task Execution: packages/cli/src/agent/ARCHITECTURE.md#task-executor'],
|
|
115
|
-
};
|
|
116
|
-
super(`Task ${taskId} failed: ${message}`, 'TASK_EXECUTION_FAILED', details, suggestions);
|
|
117
|
-
this.originalError = originalError;
|
|
118
|
-
this.name = 'TaskExecutionError';
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Workflow invocation error
|
|
123
|
-
*/
|
|
124
|
-
export class WorkflowInvocationError extends AgentError {
|
|
125
|
-
originalError;
|
|
126
|
-
constructor(workflow, message, originalError) {
|
|
127
|
-
const details = { workflow, originalError: originalError?.message };
|
|
128
|
-
const suggestions = {
|
|
129
|
-
suggestions: [
|
|
130
|
-
`Verify the workflow name is correct`,
|
|
131
|
-
`Check if the workflow exists in packages/cli/src/workflows/`,
|
|
132
|
-
`Ensure workflow input matches expected schema`,
|
|
133
|
-
`Check if the workflow was cancelled or timed out`,
|
|
134
|
-
],
|
|
135
|
-
recovery: [
|
|
136
|
-
`Check workflow implementation for issues`,
|
|
137
|
-
`Verify all required tools are available`,
|
|
138
|
-
`Review workflow input/output format`,
|
|
139
|
-
`Test the workflow manually using the CLI`,
|
|
140
|
-
],
|
|
141
|
-
files: ['packages/cli/src/agent/workflow-adapter.ts', `packages/cli/src/workflows/${workflow}.workflow.ts`],
|
|
142
|
-
docs: ['Workflows: packages/cli/src/agent/ARCHITECTURE.md#workflow-adapter'],
|
|
143
|
-
};
|
|
144
|
-
super(`Workflow ${workflow} failed: ${message}`, 'WORKFLOW_INVOCATION_FAILED', details, suggestions);
|
|
145
|
-
this.originalError = originalError;
|
|
146
|
-
this.name = 'WorkflowInvocationError';
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* State corruption error
|
|
151
|
-
*/
|
|
152
|
-
export class StateCorruptionError extends AgentError {
|
|
153
|
-
details;
|
|
154
|
-
constructor(message, details) {
|
|
155
|
-
const suggestions = {
|
|
156
|
-
suggestions: [
|
|
157
|
-
`State file may have been modified externally`,
|
|
158
|
-
`Disk corruption or filesystem issues`,
|
|
159
|
-
`Concurrent writes to state file`,
|
|
160
|
-
`Incomplete shutdown or crash`,
|
|
161
|
-
],
|
|
162
|
-
recovery: [
|
|
163
|
-
`Delete the corrupted state file in /tmp/polka-agent-*`,
|
|
164
|
-
`Restart the agent to create a fresh state`,
|
|
165
|
-
`Check filesystem health and disk space`,
|
|
166
|
-
`Ensure no other agent instances are running`,
|
|
167
|
-
],
|
|
168
|
-
files: ['packages/cli/src/agent/state-manager.ts', 'packages/cli/src/agent/session.ts'],
|
|
169
|
-
};
|
|
170
|
-
super(`Agent state corrupted: ${message}`, 'STATE_CORRUPTION', details, suggestions);
|
|
171
|
-
this.details = details;
|
|
172
|
-
this.name = 'StateCorruptionError';
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Resource limit exceeded error
|
|
177
|
-
*/
|
|
178
|
-
export class ResourceLimitError extends AgentError {
|
|
179
|
-
constructor(limit, current, max) {
|
|
180
|
-
const details = { limit, current, max, usagePercent: ((current / max) * 100).toFixed(1) };
|
|
181
|
-
const suggestions = {
|
|
182
|
-
suggestions: [
|
|
183
|
-
`Increase the resource limit in agent config`,
|
|
184
|
-
`Reduce task complexity or break into smaller tasks`,
|
|
185
|
-
`Close other applications to free up resources`,
|
|
186
|
-
`Check for memory leaks or inefficient operations`,
|
|
187
|
-
],
|
|
188
|
-
recovery: [
|
|
189
|
-
`Wait for current operations to complete`,
|
|
190
|
-
`Adjust config.resourceLimits in agent config`,
|
|
191
|
-
`Use smaller batch sizes for operations`,
|
|
192
|
-
`Monitor resource usage with system tools`,
|
|
193
|
-
],
|
|
194
|
-
files: ['packages/cli/src/agent/resource-monitor.ts', 'packages/cli/src/agent/config.ts'],
|
|
195
|
-
};
|
|
196
|
-
super(`Resource limit exceeded: ${limit} (${current}/${max})`, 'RESOURCE_LIMIT_EXCEEDED', details, suggestions);
|
|
197
|
-
this.name = 'ResourceLimitError';
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Configuration validation error
|
|
202
|
-
*/
|
|
203
|
-
export class ConfigValidationError extends AgentError {
|
|
204
|
-
validationErrors;
|
|
205
|
-
constructor(message, validationErrors) {
|
|
206
|
-
const details = { validationErrors };
|
|
207
|
-
const suggestions = {
|
|
208
|
-
suggestions: [
|
|
209
|
-
`Review your agent configuration file`,
|
|
210
|
-
`Check for required fields that are missing`,
|
|
211
|
-
`Verify data types match expected values`,
|
|
212
|
-
`Ensure enum values are from allowed set`,
|
|
213
|
-
],
|
|
214
|
-
recovery: [
|
|
215
|
-
`Fix the validation errors listed above`,
|
|
216
|
-
`Use --config flag to specify valid config file`,
|
|
217
|
-
`Check example config in packages/cli/src/agent/config.ts`,
|
|
218
|
-
`Use default config preset: --preset balanced`,
|
|
219
|
-
],
|
|
220
|
-
files: ['packages/cli/src/agent/config.ts', 'packages/cli/src/agent/types.ts'],
|
|
221
|
-
docs: ['Configuration: packages/cli/src/agent/ARCHITECTURE.md#configuration'],
|
|
222
|
-
};
|
|
223
|
-
super(`Configuration validation failed: ${message}`, 'CONFIG_VALIDATION_FAILED', details, suggestions);
|
|
224
|
-
this.validationErrors = validationErrors;
|
|
225
|
-
this.name = 'ConfigValidationError';
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
/**
|
|
229
|
-
* Session conflict error
|
|
230
|
-
*/
|
|
231
|
-
export class SessionConflictError extends AgentError {
|
|
232
|
-
existingSession;
|
|
233
|
-
constructor(sessionId, existingSession) {
|
|
234
|
-
const details = { sessionId, existingSession };
|
|
235
|
-
const suggestions = {
|
|
236
|
-
suggestions: [
|
|
237
|
-
`Another agent instance is already running`,
|
|
238
|
-
`Previous session may not have shut down cleanly`,
|
|
239
|
-
`Check for running agent processes`,
|
|
240
|
-
],
|
|
241
|
-
recovery: [
|
|
242
|
-
`Wait for the other session to complete`,
|
|
243
|
-
`Stop the other agent instance if it's hung`,
|
|
244
|
-
`Delete stale lock file: /tmp/polka-agent-*.lock`,
|
|
245
|
-
`Check processes: ps aux | grep polka`,
|
|
246
|
-
],
|
|
247
|
-
files: ['packages/cli/src/agent/session.ts', 'packages/cli/src/agent/orchestrator.ts'],
|
|
248
|
-
};
|
|
249
|
-
super(`Session conflict: ${sessionId} is already active`, 'SESSION_CONFLICT', details, suggestions);
|
|
250
|
-
this.existingSession = existingSession;
|
|
251
|
-
this.name = 'SessionConflictError';
|
|
252
|
-
}
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Agent status error
|
|
256
|
-
*/
|
|
257
|
-
export class AgentStatusError extends AgentError {
|
|
258
|
-
constructor(message) {
|
|
259
|
-
const suggestions = {
|
|
260
|
-
suggestions: [
|
|
261
|
-
`Agent may be in an invalid state`,
|
|
262
|
-
`Check if the agent was properly initialized`,
|
|
263
|
-
`Review the agent lifecycle in ARCHITECTURE.md`,
|
|
264
|
-
],
|
|
265
|
-
recovery: [
|
|
266
|
-
`Restart the agent to reset its state`,
|
|
267
|
-
`Ensure initialize() was called before operations`,
|
|
268
|
-
`Check agent state with getCurrentStatus()`,
|
|
269
|
-
],
|
|
270
|
-
files: ['packages/cli/src/agent/orchestrator.ts', 'packages/cli/src/agent/ARCHITECTURE.md'],
|
|
271
|
-
};
|
|
272
|
-
super(message, 'AGENT_STATUS_ERROR', {}, suggestions);
|
|
273
|
-
this.name = 'AgentStatusError';
|
|
274
|
-
}
|
|
275
|
-
}
|
|
276
|
-
/**
|
|
277
|
-
* Safety violation error
|
|
278
|
-
*/
|
|
279
|
-
export class SafetyViolationError extends AgentError {
|
|
280
|
-
constructor(message) {
|
|
281
|
-
const suggestions = {
|
|
282
|
-
suggestions: [
|
|
283
|
-
`Operation was blocked for safety reasons`,
|
|
284
|
-
`Review the approval workflow settings`,
|
|
285
|
-
`Check if operation is in destructiveOperations blacklist`,
|
|
286
|
-
`Ensure proper approval workflow is followed`,
|
|
287
|
-
],
|
|
288
|
-
recovery: [
|
|
289
|
-
`Adjust approval level in agent config`,
|
|
290
|
-
`Manually approve the operation if safe`,
|
|
291
|
-
`Update destructiveOperations config if needed`,
|
|
292
|
-
`Use --yes flag for auto-approval (use with caution)`,
|
|
293
|
-
],
|
|
294
|
-
files: ['packages/cli/src/agent/safety/checks.ts', 'packages/cli/src/agent/safety/approval.ts', 'packages/cli/src/agent/config.ts'],
|
|
295
|
-
docs: ['Safety Features: packages/cli/src/agent/ARCHITECTURE.md#safety-features'],
|
|
296
|
-
};
|
|
297
|
-
super(`Safety violation: ${message}`, 'SAFETY_VIOLATION', {}, suggestions);
|
|
298
|
-
this.name = 'SafetyViolationError';
|
|
299
|
-
}
|
|
300
|
-
}
|
|
301
|
-
//# sourceMappingURL=errors.js.map
|
package/dist/agent/errors.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/agent/errors.ts"],"names":[],"mappings":"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"}
|