summaryrefslogtreecommitdiff
path: root/packages/core/src/tools/tool-error.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src/tools/tool-error.ts')
-rw-r--r--packages/core/src/tools/tool-error.ts28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/core/src/tools/tool-error.ts b/packages/core/src/tools/tool-error.ts
new file mode 100644
index 00000000..38caa1da
--- /dev/null
+++ b/packages/core/src/tools/tool-error.ts
@@ -0,0 +1,28 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+/**
+ * A type-safe enum for tool-related errors.
+ */
+export enum ToolErrorType {
+ // General Errors
+ INVALID_TOOL_PARAMS = 'invalid_tool_params',
+ UNKNOWN = 'unknown',
+ UNHANDLED_EXCEPTION = 'unhandled_exception',
+ TOOL_NOT_REGISTERED = 'tool_not_registered',
+
+ // File System Errors
+ FILE_NOT_FOUND = 'file_not_found',
+ FILE_WRITE_FAILURE = 'file_write_failure',
+ READ_CONTENT_FAILURE = 'read_content_failure',
+ ATTEMPT_TO_CREATE_EXISTING_FILE = 'attempt_to_create_existing_file',
+
+ // Edit-specific Errors
+ EDIT_PREPARATION_FAILURE = 'edit_preparation_failure',
+ EDIT_NO_OCCURRENCE_FOUND = 'edit_no_occurrence_found',
+ EDIT_EXPECTED_OCCURRENCE_MISMATCH = 'edit_expected_occurrence_mismatch',
+ EDIT_NO_CHANGE = 'edit_no_change',
+}