claude-flow 2.0.0-alpha.62 → 2.0.0-alpha.63

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 (101) hide show
  1. package/.claude/commands/analysis/COMMAND_COMPLIANCE_REPORT.md +54 -0
  2. package/.claude/commands/analysis/token-efficiency.md +2 -1
  3. package/.claude/commands/automation/self-healing.md +47 -2
  4. package/.claude/commands/automation/session-memory.md +39 -10
  5. package/.claude/commands/automation/smart-agents.md +36 -8
  6. package/.claude/commands/github/code-review-swarm.md +80 -15
  7. package/.claude/commands/github/github-modes.md +14 -14
  8. package/.claude/commands/github/issue-tracker.md +19 -16
  9. package/.claude/commands/github/multi-repo-swarm.md +114 -16
  10. package/.claude/commands/github/pr-manager.md +5 -4
  11. package/.claude/commands/github/project-board-sync.md +38 -5
  12. package/.claude/commands/github/release-manager.md +19 -19
  13. package/.claude/commands/github/release-swarm.md +102 -13
  14. package/.claude/commands/github/repo-architect.md +6 -6
  15. package/.claude/commands/github/swarm-issue.md +139 -17
  16. package/.claude/commands/github/swarm-pr.md +49 -15
  17. package/.claude/commands/github/sync-coordinator.md +33 -33
  18. package/.claude/commands/github/workflow-automation.md +37 -10
  19. package/.claude/commands/hooks/overview.md +2 -2
  20. package/.claude/commands/hooks/setup.md +7 -7
  21. package/.claude/commands/memory/neural.md +10 -5
  22. package/.claude/commands/memory/usage.md +9 -5
  23. package/.claude/commands/monitoring/agents.md +7 -5
  24. package/.claude/commands/monitoring/status.md +8 -5
  25. package/.claude/commands/optimization/auto-topology.md +13 -1
  26. package/.claude/commands/optimization/parallel-execution.md +7 -1
  27. package/.claude/commands/sparc/analyzer.md +28 -2
  28. package/.claude/commands/sparc/architect.md +27 -1
  29. package/.claude/commands/sparc/batch-executor.md +27 -1
  30. package/.claude/commands/sparc/coder.md +27 -1
  31. package/.claude/commands/sparc/debugger.md +27 -1
  32. package/.claude/commands/sparc/designer.md +27 -1
  33. package/.claude/commands/sparc/documenter.md +27 -1
  34. package/.claude/commands/sparc/innovator.md +27 -1
  35. package/.claude/commands/sparc/memory-manager.md +27 -1
  36. package/.claude/commands/sparc/optimizer.md +27 -1
  37. package/.claude/commands/sparc/orchestrator.md +106 -2
  38. package/.claude/commands/sparc/researcher.md +27 -1
  39. package/.claude/commands/sparc/reviewer.md +27 -1
  40. package/.claude/commands/sparc/sparc-modes.md +137 -5
  41. package/.claude/commands/sparc/swarm-coordinator.md +27 -1
  42. package/.claude/commands/sparc/tdd.md +27 -1
  43. package/.claude/commands/sparc/tester.md +27 -1
  44. package/.claude/commands/sparc/workflow-manager.md +27 -1
  45. package/.claude/commands/swarm/analysis.md +82 -5
  46. package/.claude/commands/swarm/development.md +83 -6
  47. package/.claude/commands/swarm/examples.md +141 -3
  48. package/.claude/commands/swarm/maintenance.md +92 -8
  49. package/.claude/commands/swarm/optimization.md +107 -9
  50. package/.claude/commands/swarm/research.md +126 -8
  51. package/.claude/commands/swarm/testing.md +121 -9
  52. package/.claude/commands/training/neural-patterns.md +27 -2
  53. package/.claude/commands/training/specialization.md +13 -3
  54. package/.claude/commands/workflows/development.md +43 -4
  55. package/.claude/commands/workflows/research.md +26 -2
  56. package/README.md +8 -0
  57. package/bin/claude-flow +1 -1
  58. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts +66 -0
  59. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.d.ts.map +1 -1
  60. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js +220 -2
  61. package/dist/cli/simple-commands/hive-mind/mcp-wrapper.js.map +1 -1
  62. package/dist/cli/simple-commands/hive-mind.d.ts.map +1 -1
  63. package/dist/cli/simple-commands/hive-mind.js +83 -5
  64. package/dist/cli/simple-commands/hive-mind.js.map +1 -1
  65. package/dist/memory/fallback-store.d.ts +1 -0
  66. package/dist/memory/fallback-store.d.ts.map +1 -1
  67. package/dist/memory/fallback-store.js +25 -3
  68. package/dist/memory/fallback-store.js.map +1 -1
  69. package/dist/memory/sqlite-store.d.ts +34 -0
  70. package/dist/memory/sqlite-store.d.ts.map +1 -0
  71. package/dist/memory/sqlite-store.js +2 -3
  72. package/dist/memory/sqlite-store.js.map +1 -1
  73. package/dist/memory/sqlite-wrapper.d.ts +38 -0
  74. package/dist/memory/sqlite-wrapper.d.ts.map +1 -0
  75. package/dist/memory/sqlite-wrapper.js +157 -0
  76. package/dist/memory/sqlite-wrapper.js.map +1 -0
  77. package/package.json +1 -1
  78. package/src/api/claude-api-errors.ts +248 -0
  79. package/src/api/claude-client-enhanced.ts +616 -0
  80. package/src/api/claude-client.ts +282 -14
  81. package/src/cli/help-text.js +2 -1
  82. package/src/cli/simple-commands/coordination.js +73 -49
  83. package/src/cli/simple-commands/hive-mind/auto-save-middleware.js +6 -6
  84. package/src/cli/simple-commands/hive-mind/mcp-wrapper.js +327 -8
  85. package/src/cli/simple-commands/hive-mind/session-manager.js +330 -108
  86. package/src/cli/simple-commands/hive-mind.js +192 -11
  87. package/src/cli/simple-commands/init/claude-commands/optimized-slash-commands.js +53 -28
  88. package/src/cli/simple-commands/init/claude-commands/slash-commands.js +36 -14
  89. package/src/cli/simple-commands/init/claude-commands/sparc-commands.js +107 -30
  90. package/src/cli/simple-commands/init/copy-revised-templates.js +175 -0
  91. package/src/cli/simple-commands/init/index.js +156 -235
  92. package/src/cli/simple-commands/init/template-copier.js +583 -0
  93. package/src/cli/simple-commands/init/templates/coordination.md +16 -0
  94. package/src/cli/simple-commands/init/templates/memory-bank.md +16 -0
  95. package/src/cli/simple-commands/init/templates/settings.json.enhanced +35 -0
  96. package/src/cli/simple-commands/init/templates/sparc-modes.js +634 -23
  97. package/src/hive-mind/core/DatabaseManager.ts +75 -16
  98. package/src/memory/backends/sqlite.ts +21 -3
  99. package/src/memory/fallback-store.js +35 -3
  100. package/src/memory/sqlite-store.js +2 -3
  101. package/src/memory/sqlite-wrapper.js +173 -0
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { SqliteMemoryStore } from './sqlite-store.js';
6
6
  import { InMemoryStore } from './in-memory-store.js';
7
+ import { isSQLiteAvailable, getLoadError, isWindows } from './sqlite-wrapper.js';
7
8
  class FallbackMemoryStore {
8
9
  constructor(options = {}) {
9
10
  this.options = options;
@@ -16,7 +17,20 @@ class FallbackMemoryStore {
16
17
  if (this.initializationAttempted)
17
18
  return;
18
19
  this.initializationAttempted = true;
19
- // First, try to initialize SQLite store
20
+ // Check if SQLite is available before attempting initialization
21
+ const sqliteAvailable = await isSQLiteAvailable();
22
+ if (!sqliteAvailable) {
23
+ // Skip SQLite initialization if module can't be loaded
24
+ const loadError = getLoadError();
25
+ console.error(`[${new Date().toISOString()}] WARN [fallback-store] SQLite module not available:`, loadError?.message || 'Unknown error');
26
+ // Use in-memory store directly
27
+ this.fallbackStore = new InMemoryStore(this.options);
28
+ await this.fallbackStore.initialize();
29
+ this.useFallback = true;
30
+ this._logFallbackUsage();
31
+ return;
32
+ }
33
+ // Try to initialize SQLite store
20
34
  try {
21
35
  this.primaryStore = new SqliteMemoryStore(this.options);
22
36
  await this.primaryStore.initialize();
@@ -24,12 +38,20 @@ class FallbackMemoryStore {
24
38
  this.useFallback = false;
25
39
  }
26
40
  catch (error) {
27
- console.error(`[${new Date().toISOString()}] WARN [fallback-store] SQLite initialization failed, falling back to in-memory store:`, error.message);
41
+ console.error(`[${new Date().toISOString()}] WARN [fallback-store] SQLite initialization failed:`, error.message);
28
42
  // Fall back to in-memory store
29
43
  this.fallbackStore = new InMemoryStore(this.options);
30
44
  await this.fallbackStore.initialize();
31
45
  this.useFallback = true;
32
- console.error(`[${new Date().toISOString()}] INFO [fallback-store] Using in-memory store (data will not persist across sessions)`);
46
+ this._logFallbackUsage();
47
+ }
48
+ }
49
+ _logFallbackUsage() {
50
+ console.error(`[${new Date().toISOString()}] INFO [fallback-store] Using in-memory store (data will not persist across sessions)`);
51
+ if (isWindows()) {
52
+ console.error(`[${new Date().toISOString()}] INFO [fallback-store] Windows detected. For persistent storage options, see: https://github.com/ruvnet/claude-code-flow/docs/windows-installation.md`);
53
+ }
54
+ else {
33
55
  console.error(`[${new Date().toISOString()}] INFO [fallback-store] To enable persistent storage, install the package locally: npm install claude-flow@alpha`);
34
56
  }
35
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fallback-store.js","sourceRoot":"","sources":["../../src/memory/fallback-store.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback-store.js","sourceRoot":"","sources":["../../src/memory/fallback-store.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ export const memoryStore: SqliteMemoryStore;
2
+ export default SqliteMemoryStore;
3
+ export class SqliteMemoryStore {
4
+ constructor(options?: {});
5
+ options: {
6
+ dbName: any;
7
+ directory: any;
8
+ };
9
+ db: any;
10
+ statements: Map<any, any>;
11
+ isInitialized: boolean;
12
+ /**
13
+ * Determine the best directory for memory storage
14
+ * Uses .swarm directory in current working directory (consistent with hive-mind approach)
15
+ */
16
+ _getMemoryDirectory(): string;
17
+ _directoryExists(dir: any): boolean;
18
+ initialize(): Promise<void>;
19
+ _createTables(): void;
20
+ _prepareStatements(): void;
21
+ store(key: any, value: any, options?: {}): Promise<{
22
+ success: boolean;
23
+ id: any;
24
+ size: number;
25
+ }>;
26
+ retrieve(key: any, options?: {}): Promise<any>;
27
+ list(options?: {}): Promise<any>;
28
+ delete(key: any, options?: {}): Promise<boolean>;
29
+ search(pattern: any, options?: {}): Promise<any>;
30
+ cleanup(): Promise<any>;
31
+ _tryParseJson(value: any): any;
32
+ close(): void;
33
+ }
34
+ //# sourceMappingURL=sqlite-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-store.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite-store.js"],"names":[],"mappings":"AAqUA,4CAAmD;;AAvTnD;IACE,0BAUC;IATC;;;MAIC;IAED,QAAc;IACd,0BAA2B;IAC3B,uBAA0B;IAG5B;;;OAGG;IACH,8BAIC;IAED,oCAOC;IAED,4BAiCC;IAED,sBAqBC;IAED,2BA0EC;IAED;;;;OAuBC;IAED,+CAyBC;IAED,iCAsBC;IAED,iDAYC;IAED,iDAuBC;IAED,wBAUC;IAED,+BAMC;IAED,cAMC;CACF"}
@@ -2,12 +2,11 @@
2
2
  * SQLite-based memory store for MCP server
3
3
  * Provides persistent storage that works with both local and remote npx execution
4
4
  */
5
- // @ts-ignore
6
- import Database from 'better-sqlite3';
7
5
  import path from 'path';
8
6
  import { promises as fs } from 'fs';
9
7
  import { fileURLToPath } from 'url';
10
8
  import os from 'os';
9
+ import { createDatabase } from './sqlite-wrapper.js';
11
10
  const __filename = fileURLToPath(import.meta.url);
12
11
  const __dirname = path.dirname(__filename);
13
12
  class SqliteMemoryStore {
@@ -47,7 +46,7 @@ class SqliteMemoryStore {
47
46
  await fs.mkdir(this.options.directory, { recursive: true });
48
47
  // Open database
49
48
  const dbPath = path.join(this.options.directory, this.options.dbName);
50
- this.db = new Database(dbPath);
49
+ this.db = await createDatabase(dbPath);
51
50
  // Enable WAL mode for better concurrency
52
51
  this.db.pragma('journal_mode = WAL');
53
52
  this.db.pragma('synchronous = NORMAL');
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/memory/sqlite-store.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite-store.js","sourceRoot":"","sources":["../../src/memory/sqlite-store.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Check if SQLite is available
3
+ */
4
+ export function isSQLiteAvailable(): Promise<boolean>;
5
+ /**
6
+ * Get SQLite Database constructor or null
7
+ */
8
+ export function getSQLiteDatabase(): Promise<any>;
9
+ /**
10
+ * Get the load error if any
11
+ */
12
+ export function getLoadError(): any;
13
+ /**
14
+ * Create a SQLite database instance with fallback
15
+ */
16
+ export function createDatabase(dbPath: any): Promise<any>;
17
+ /**
18
+ * Check if running on Windows
19
+ */
20
+ export function isWindows(): boolean;
21
+ /**
22
+ * Get platform-specific storage recommendations
23
+ */
24
+ export function getStorageRecommendations(): {
25
+ recommended: string;
26
+ reason: string;
27
+ alternatives: string[];
28
+ };
29
+ declare namespace _default {
30
+ export { isSQLiteAvailable };
31
+ export { getSQLiteDatabase };
32
+ export { getLoadError };
33
+ export { createDatabase };
34
+ export { isWindows };
35
+ export { getStorageRecommendations };
36
+ }
37
+ export default _default;
38
+ //# sourceMappingURL=sqlite-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-wrapper.d.ts","sourceRoot":"","sources":["../../src/memory/sqlite-wrapper.js"],"names":[],"mappings":"AA+EA;;GAEG;AACH,sDAOC;AAED;;GAEG;AACH,kDAMC;AAED;;GAEG;AACH,oCAEC;AAED;;GAEG;AACH,0DAgBC;AAED;;GAEG;AACH,qCAEC;AAED;;GAEG;AACH;;;;EAkBC"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * SQLite Wrapper with Windows Fallback Support
3
+ * Provides graceful fallback when better-sqlite3 fails to load
4
+ */
5
+ import { createRequire } from 'module';
6
+ import path from 'path';
7
+ import { fileURLToPath } from 'url';
8
+ const __filename = fileURLToPath(import.meta.url);
9
+ const __dirname = path.dirname(__filename);
10
+ let Database = null;
11
+ let sqliteAvailable = false;
12
+ let loadError = null;
13
+ /**
14
+ * Try to load better-sqlite3 with comprehensive error handling
15
+ */
16
+ function tryLoadSQLite() {
17
+ try {
18
+ // Try ES module import
19
+ const module = import('better-sqlite3');
20
+ return module.then(m => {
21
+ Database = m.default;
22
+ sqliteAvailable = true;
23
+ return true;
24
+ }).catch(err => {
25
+ loadError = err;
26
+ return false;
27
+ });
28
+ }
29
+ catch (err) {
30
+ // Fallback to CommonJS require
31
+ try {
32
+ const require = createRequire(import.meta.url);
33
+ Database = require('better-sqlite3');
34
+ sqliteAvailable = true;
35
+ return Promise.resolve(true);
36
+ }
37
+ catch (requireErr) {
38
+ loadError = requireErr;
39
+ // Check for specific Windows errors
40
+ if (requireErr.message.includes('was compiled against a different Node.js version') ||
41
+ requireErr.message.includes('Could not locate the bindings file') ||
42
+ requireErr.message.includes('The specified module could not be found') ||
43
+ requireErr.code === 'MODULE_NOT_FOUND') {
44
+ console.warn(`
45
+ ╔══════════════════════════════════════════════════════════════════════════════╗
46
+ ║ Windows SQLite Installation Issue ║
47
+ ╠══════════════════════════════════════════════════════════════════════════════╣
48
+ ║ ║
49
+ ║ The native SQLite module failed to load. This is common on Windows when ║
50
+ ║ using 'npx' or when node-gyp build tools are not available. ║
51
+ ║ ║
52
+ ║ Claude Flow will continue with in-memory storage (non-persistent). ║
53
+ ║ ║
54
+ ║ To enable persistent storage on Windows: ║
55
+ ║ ║
56
+ ║ Option 1 - Install Windows Build Tools: ║
57
+ ║ > npm install --global windows-build-tools ║
58
+ ║ > npm install claude-flow@alpha ║
59
+ ║ ║
60
+ ║ Option 2 - Use Pre-built Binaries: ║
61
+ ║ > npm config set python python3 ║
62
+ ║ > npm install claude-flow@alpha --build-from-source=false ║
63
+ ║ ║
64
+ ║ Option 3 - Use WSL (Windows Subsystem for Linux): ║
65
+ ║ Install WSL and run Claude Flow inside a Linux environment ║
66
+ ║ ║
67
+ ╚══════════════════════════════════════════════════════════════════════════════╝
68
+ `);
69
+ }
70
+ return Promise.resolve(false);
71
+ }
72
+ }
73
+ }
74
+ /**
75
+ * Check if SQLite is available
76
+ */
77
+ export async function isSQLiteAvailable() {
78
+ if (sqliteAvailable !== null) {
79
+ return sqliteAvailable;
80
+ }
81
+ await tryLoadSQLite();
82
+ return sqliteAvailable;
83
+ }
84
+ /**
85
+ * Get SQLite Database constructor or null
86
+ */
87
+ export async function getSQLiteDatabase() {
88
+ if (!sqliteAvailable && loadError === null) {
89
+ await tryLoadSQLite();
90
+ }
91
+ return Database;
92
+ }
93
+ /**
94
+ * Get the load error if any
95
+ */
96
+ export function getLoadError() {
97
+ return loadError;
98
+ }
99
+ /**
100
+ * Create a SQLite database instance with fallback
101
+ */
102
+ export async function createDatabase(dbPath) {
103
+ const DB = await getSQLiteDatabase();
104
+ if (!DB) {
105
+ throw new Error('SQLite is not available. Use fallback storage instead.');
106
+ }
107
+ try {
108
+ return new DB(dbPath);
109
+ }
110
+ catch (err) {
111
+ // Additional Windows-specific error handling
112
+ if (err.message.includes('EPERM') || err.message.includes('access denied')) {
113
+ throw new Error(`Cannot create database at ${dbPath}. Permission denied. Try using a different directory or running with administrator privileges.`);
114
+ }
115
+ throw err;
116
+ }
117
+ }
118
+ /**
119
+ * Check if running on Windows
120
+ */
121
+ export function isWindows() {
122
+ return process.platform === 'win32';
123
+ }
124
+ /**
125
+ * Get platform-specific storage recommendations
126
+ */
127
+ export function getStorageRecommendations() {
128
+ if (isWindows()) {
129
+ return {
130
+ recommended: 'in-memory',
131
+ reason: 'Windows native module compatibility',
132
+ alternatives: [
133
+ 'Install Windows build tools for SQLite support',
134
+ 'Use WSL (Windows Subsystem for Linux)',
135
+ 'Use Docker container with Linux'
136
+ ]
137
+ };
138
+ }
139
+ return {
140
+ recommended: 'sqlite',
141
+ reason: 'Best performance and persistence',
142
+ alternatives: ['in-memory for testing']
143
+ };
144
+ }
145
+ // Pre-load SQLite on module import
146
+ tryLoadSQLite().catch(() => {
147
+ // Silently handle initial load failure
148
+ });
149
+ export default {
150
+ isSQLiteAvailable,
151
+ getSQLiteDatabase,
152
+ getLoadError,
153
+ createDatabase,
154
+ isWindows,
155
+ getStorageRecommendations
156
+ };
157
+ //# sourceMappingURL=sqlite-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite-wrapper.js","sourceRoot":"","sources":["../../src/memory/sqlite-wrapper.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-flow",
3
- "version": "2.0.0-alpha.62",
3
+ "version": "2.0.0-alpha.63",
4
4
  "description": "Enterprise-grade AI agent orchestration with ruv-swarm integration (Alpha Release)",
5
5
  "main": "cli.mjs",
6
6
  "bin": {
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Claude API specific error types with enhanced error handling
3
+ */
4
+
5
+ import { ClaudeFlowError } from '../utils/errors.js';
6
+
7
+ /**
8
+ * Base error class for Claude API errors
9
+ */
10
+ export class ClaudeAPIError extends ClaudeFlowError {
11
+ constructor(
12
+ message: string,
13
+ public readonly statusCode?: number,
14
+ public readonly retryable: boolean = false,
15
+ details?: unknown,
16
+ ) {
17
+ super(message, 'CLAUDE_API_ERROR', details);
18
+ this.name = 'ClaudeAPIError';
19
+ }
20
+ }
21
+
22
+ /**
23
+ * Error for 500 Internal Server Error
24
+ */
25
+ export class ClaudeInternalServerError extends ClaudeAPIError {
26
+ constructor(message: string, details?: unknown) {
27
+ super(
28
+ message || 'Claude API internal server error. The service may be temporarily unavailable.',
29
+ 500,
30
+ true, // Retryable
31
+ details,
32
+ );
33
+ this.name = 'ClaudeInternalServerError';
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Error for 503 Service Unavailable
39
+ */
40
+ export class ClaudeServiceUnavailableError extends ClaudeAPIError {
41
+ constructor(message: string, details?: unknown) {
42
+ super(
43
+ message || 'Claude API service is temporarily unavailable. Please try again later.',
44
+ 503,
45
+ true, // Retryable
46
+ details,
47
+ );
48
+ this.name = 'ClaudeServiceUnavailableError';
49
+ }
50
+ }
51
+
52
+ /**
53
+ * Error for 429 Too Many Requests (Rate Limit)
54
+ */
55
+ export class ClaudeRateLimitError extends ClaudeAPIError {
56
+ constructor(
57
+ message: string,
58
+ public readonly retryAfter?: number,
59
+ details?: unknown,
60
+ ) {
61
+ super(
62
+ message || 'Rate limit exceeded. Please wait before making more requests.',
63
+ 429,
64
+ true, // Retryable
65
+ details,
66
+ );
67
+ this.name = 'ClaudeRateLimitError';
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Error for network timeouts
73
+ */
74
+ export class ClaudeTimeoutError extends ClaudeAPIError {
75
+ constructor(message: string, public readonly timeout: number, details?: unknown) {
76
+ super(
77
+ message || `Request timed out after ${timeout}ms. The API may be slow or unreachable.`,
78
+ undefined,
79
+ true, // Retryable
80
+ details,
81
+ );
82
+ this.name = 'ClaudeTimeoutError';
83
+ }
84
+ }
85
+
86
+ /**
87
+ * Error for network-related issues
88
+ */
89
+ export class ClaudeNetworkError extends ClaudeAPIError {
90
+ constructor(message: string, details?: unknown) {
91
+ super(
92
+ message || 'Network error occurred. Please check your internet connection.',
93
+ undefined,
94
+ true, // Retryable
95
+ details,
96
+ );
97
+ this.name = 'ClaudeNetworkError';
98
+ }
99
+ }
100
+
101
+ /**
102
+ * Error for authentication issues
103
+ */
104
+ export class ClaudeAuthenticationError extends ClaudeAPIError {
105
+ constructor(message: string, details?: unknown) {
106
+ super(
107
+ message || 'Authentication failed. Please check your API key.',
108
+ 401,
109
+ false, // Not retryable
110
+ details,
111
+ );
112
+ this.name = 'ClaudeAuthenticationError';
113
+ }
114
+ }
115
+
116
+ /**
117
+ * Error for invalid requests
118
+ */
119
+ export class ClaudeValidationError extends ClaudeAPIError {
120
+ constructor(message: string, details?: unknown) {
121
+ super(
122
+ message || 'Invalid request. Please check your parameters.',
123
+ 400,
124
+ false, // Not retryable
125
+ details,
126
+ );
127
+ this.name = 'ClaudeValidationError';
128
+ }
129
+ }
130
+
131
+ /**
132
+ * Health check result
133
+ */
134
+ export interface HealthCheckResult {
135
+ healthy: boolean;
136
+ latency?: number;
137
+ error?: string;
138
+ timestamp: Date;
139
+ }
140
+
141
+ /**
142
+ * User-friendly error messages and fallback suggestions
143
+ */
144
+ export const ERROR_MESSAGES = {
145
+ INTERNAL_SERVER_ERROR: {
146
+ title: 'Claude API Service Error',
147
+ message: 'The Claude API is experiencing technical difficulties.',
148
+ suggestions: [
149
+ 'Wait a few minutes and try again',
150
+ 'Check the Anthropic status page for service updates',
151
+ 'Consider using a fallback AI service if available',
152
+ 'Cache previous responses for offline usage',
153
+ ],
154
+ },
155
+ SERVICE_UNAVAILABLE: {
156
+ title: 'Service Temporarily Unavailable',
157
+ message: 'Claude API is temporarily unavailable or undergoing maintenance.',
158
+ suggestions: [
159
+ 'Try again in 5-10 minutes',
160
+ 'Check if there\'s scheduled maintenance',
161
+ 'Use cached responses if available',
162
+ 'Consider implementing a queue for requests',
163
+ ],
164
+ },
165
+ RATE_LIMIT: {
166
+ title: 'Rate Limit Exceeded',
167
+ message: 'You\'ve made too many requests to the Claude API.',
168
+ suggestions: [
169
+ 'Implement request throttling',
170
+ 'Batch multiple requests together',
171
+ 'Consider upgrading your API plan',
172
+ 'Use exponential backoff for retries',
173
+ ],
174
+ },
175
+ TIMEOUT: {
176
+ title: 'Request Timeout',
177
+ message: 'The request took too long to complete.',
178
+ suggestions: [
179
+ 'Check your internet connection',
180
+ 'Try a simpler request',
181
+ 'Increase the timeout duration',
182
+ 'Break large requests into smaller ones',
183
+ ],
184
+ },
185
+ NETWORK_ERROR: {
186
+ title: 'Network Connection Error',
187
+ message: 'Unable to connect to the Claude API.',
188
+ suggestions: [
189
+ 'Check your internet connection',
190
+ 'Verify firewall/proxy settings',
191
+ 'Try using a different network',
192
+ 'Check if the API endpoint is correct',
193
+ ],
194
+ },
195
+ AUTHENTICATION: {
196
+ title: 'Authentication Failed',
197
+ message: 'Unable to authenticate with the Claude API.',
198
+ suggestions: [
199
+ 'Verify your API key is correct',
200
+ 'Check if your API key has expired',
201
+ 'Ensure the API key has proper permissions',
202
+ 'Generate a new API key if needed',
203
+ ],
204
+ },
205
+ VALIDATION: {
206
+ title: 'Invalid Request',
207
+ message: 'The request contains invalid parameters.',
208
+ suggestions: [
209
+ 'Check the request parameters',
210
+ 'Verify the model name is correct',
211
+ 'Ensure message format is valid',
212
+ 'Review the API documentation',
213
+ ],
214
+ },
215
+ };
216
+
217
+ /**
218
+ * Get user-friendly error information
219
+ */
220
+ export function getUserFriendlyError(error: ClaudeAPIError): {
221
+ title: string;
222
+ message: string;
223
+ suggestions: string[];
224
+ retryable: boolean;
225
+ } {
226
+ let errorInfo = ERROR_MESSAGES.INTERNAL_SERVER_ERROR; // Default
227
+
228
+ if (error instanceof ClaudeInternalServerError) {
229
+ errorInfo = ERROR_MESSAGES.INTERNAL_SERVER_ERROR;
230
+ } else if (error instanceof ClaudeServiceUnavailableError) {
231
+ errorInfo = ERROR_MESSAGES.SERVICE_UNAVAILABLE;
232
+ } else if (error instanceof ClaudeRateLimitError) {
233
+ errorInfo = ERROR_MESSAGES.RATE_LIMIT;
234
+ } else if (error instanceof ClaudeTimeoutError) {
235
+ errorInfo = ERROR_MESSAGES.TIMEOUT;
236
+ } else if (error instanceof ClaudeNetworkError) {
237
+ errorInfo = ERROR_MESSAGES.NETWORK_ERROR;
238
+ } else if (error instanceof ClaudeAuthenticationError) {
239
+ errorInfo = ERROR_MESSAGES.AUTHENTICATION;
240
+ } else if (error instanceof ClaudeValidationError) {
241
+ errorInfo = ERROR_MESSAGES.VALIDATION;
242
+ }
243
+
244
+ return {
245
+ ...errorInfo,
246
+ retryable: error.retryable,
247
+ };
248
+ }