a24z 1.0.5 → 1.0.7

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 CHANGED
@@ -9,9 +9,11 @@ import os from 'os';
9
9
  import { fileURLToPath } from 'url';
10
10
  import axios from 'axios';
11
11
  import open from 'open';
12
- import { createServer } from 'http';
13
- import dotenv from 'dotenv';
12
+ import dotenv from "dotenv";
14
13
  dotenv.config();
14
+ // Single source of truth for WorkOS client ID.
15
+ // If you change the client, update this constant and publish.
16
+ const WORKOS_CLIENT_ID = "client_01K4ZPKST26YPKMQBGQW7HZ4SB";
15
17
  const __filename = fileURLToPath(import.meta.url);
16
18
  const __dirname = path.dirname(__filename);
17
19
  // Configuration constants
@@ -23,16 +25,6 @@ class A24zCLI {
23
25
  constructor() {
24
26
  this.config = this.loadConfig();
25
27
  }
26
- async startCallbackServer() {
27
- return new Promise((resolve, reject) => {
28
- const server = createServer();
29
- server.listen(0, 'localhost', () => {
30
- const port = server.address()?.port;
31
- resolve({ server, port });
32
- });
33
- server.on('error', reject);
34
- });
35
- }
36
28
  loadConfig() {
37
29
  try {
38
30
  if (fs.existsSync(CONFIG_FILE)) {
@@ -43,18 +35,11 @@ class A24zCLI {
43
35
  console.error(chalk.red('Error loading configuration:'), error);
44
36
  }
45
37
  const defaultConfig = {
46
- apiUrl: 'https://app.a24z.ai', // Default to production
47
- // apiUrl: 'http://localhost:3002',
48
- clientId: process.env.WORKOS_CLIENT_ID || '', // Use the client ID from your .env
49
- organizationId: null,
50
- userId: null,
38
+ apiUrl: 'https://app.a24z.ai',
39
+ clientId: WORKOS_CLIENT_ID,
51
40
  accessToken: null,
52
41
  installedAt: null
53
42
  };
54
- // If no client ID from env or config file, try to get from env again (in case dotenv loaded late)
55
- if (!defaultConfig.clientId || defaultConfig.clientId === 'client_01K4ZPKST26YPKMQBGQW7HZ4SB') {
56
- defaultConfig.clientId = process.env.WORKOS_CLIENT_ID || defaultConfig.clientId;
57
- }
58
43
  return defaultConfig;
59
44
  }
60
45
  saveConfig() {
@@ -67,6 +52,7 @@ class A24zCLI {
67
52
  }
68
53
  }
69
54
  async install(options = {}) {
55
+ console.log('api url', options.apiUrl);
70
56
  const spinner = ora('Installing A24Z Claude Code hooks...').start();
71
57
  try {
72
58
  // Update configuration if provided
@@ -105,24 +91,45 @@ class A24zCLI {
105
91
  }
106
92
  async copyHookScripts() {
107
93
  const templatesDir = path.join(__dirname, '..', 'templates');
108
- // Read template files
109
- const preHookTemplate = fs.readFileSync(path.join(templatesDir, 'pre-hook.sh'), 'utf8');
110
- const postHookTemplate = fs.readFileSync(path.join(templatesDir, 'post-hook.sh'), 'utf8');
111
- // Replace placeholders with actual values
112
- let preHookContent = preHookTemplate
113
- .replace('{{API_URL}}', this.config.apiUrl)
114
- .replace('{{ACCESS_TOKEN}}', this.config.accessToken || '');
115
- let postHookContent = postHookTemplate
116
- .replace('{{API_URL}}', this.config.apiUrl)
117
- .replace('{{ACCESS_TOKEN}}', this.config.accessToken || '');
118
- // Write scripts
119
- const preHookPath = path.join(HOOKS_DIR, 'a24z-pre-hook.sh');
120
- const postHookPath = path.join(HOOKS_DIR, 'a24z-post-hook.sh');
121
- fs.writeFileSync(preHookPath, preHookContent);
122
- fs.writeFileSync(postHookPath, postHookContent);
123
- // Make executable
124
- fs.chmodSync(preHookPath, '755');
125
- fs.chmodSync(postHookPath, '755');
94
+ // Use single universal collector for all hook types - much more maintainable!
95
+ const universalTemplate = 'universal-collector.sh';
96
+ const hookDestinations = [
97
+ 'a24z-pre-hook.sh',
98
+ 'a24z-post-hook.sh',
99
+ 'a24z-user-prompt-submit-hook.sh',
100
+ 'a24z-session-start-hook.sh',
101
+ 'a24z-session-end-hook.sh',
102
+ 'a24z-subagent-stop-hook.sh',
103
+ 'a24z-notification-hook.sh',
104
+ 'a24z-stop-hook.sh',
105
+ 'a24z-precompact-hook.sh'
106
+ ];
107
+ try {
108
+ // Read the universal template once
109
+ const templatePath = path.join(templatesDir, universalTemplate);
110
+ const templateContent = fs.readFileSync(templatePath, 'utf8');
111
+ // Replace placeholders with actual values
112
+ const hookContent = templateContent
113
+ .replace(/\{\{API_URL\}\}/g, this.config.apiUrl)
114
+ .replace(/\{\{ACCESS_TOKEN\}\}/g, this.config.accessToken || '');
115
+ // Copy the same universal script to all hook locations
116
+ // The script auto-detects its hook type at runtime
117
+ for (const destination of hookDestinations) {
118
+ try {
119
+ const hookPath = path.join(HOOKS_DIR, destination);
120
+ fs.writeFileSync(hookPath, hookContent);
121
+ fs.chmodSync(hookPath, '755');
122
+ }
123
+ catch (error) {
124
+ console.error(chalk.yellow(`Warning: Could not create ${destination}:`, error));
125
+ }
126
+ }
127
+ console.log(chalk.green(`✅ Universal collector deployed to ${hookDestinations.length} hook locations`));
128
+ }
129
+ catch (error) {
130
+ console.error(chalk.red(`❌ Failed to read universal template ${universalTemplate}:`, error));
131
+ throw error;
132
+ }
126
133
  }
127
134
  updateClaudeSettings() {
128
135
  let settings = {};
@@ -136,28 +143,62 @@ class A24zCLI {
136
143
  }
137
144
  }
138
145
  // Ensure hooks object exists
139
- if (!settings.hooks) {
146
+ if (typeof settings.hooks !== 'object' || settings.hooks === null) {
140
147
  settings.hooks = {};
141
148
  }
142
- // Configure hooks
143
- settings.hooks.PreToolUse = [{
144
- matcher: "*",
145
- hooks: [{
146
- type: "command",
147
- command: path.join(HOOKS_DIR, 'a24z-pre-hook.sh')
148
- }]
149
- }];
150
- settings.hooks.PostToolUse = [{
151
- matcher: "*",
152
- hooks: [{
153
- type: "command",
154
- command: path.join(HOOKS_DIR, 'a24z-post-hook.sh')
155
- }]
156
- }];
149
+ // Configure all A24Z hooks for comprehensive observability using "dumb" collectors
150
+ this.addOrUpdateHook(settings, 'PreToolUse', path.join(HOOKS_DIR, 'a24z-pre-hook.sh'));
151
+ this.addOrUpdateHook(settings, 'PostToolUse', path.join(HOOKS_DIR, 'a24z-post-hook.sh'));
152
+ this.addOrUpdateHook(settings, 'UserPromptSubmit', path.join(HOOKS_DIR, 'a24z-user-prompt-submit-hook.sh'));
153
+ this.addOrUpdateHook(settings, 'SessionStart', path.join(HOOKS_DIR, 'a24z-session-start-hook.sh'));
154
+ this.addOrUpdateHook(settings, 'SessionEnd', path.join(HOOKS_DIR, 'a24z-session-end-hook.sh'));
155
+ this.addOrUpdateHook(settings, 'SubagentStop', path.join(HOOKS_DIR, 'a24z-subagent-stop-hook.sh'));
156
+ this.addOrUpdateHook(settings, 'Notification', path.join(HOOKS_DIR, 'a24z-notification-hook.sh'));
157
+ this.addOrUpdateHook(settings, 'Stop', path.join(HOOKS_DIR, 'a24z-stop-hook.sh'));
158
+ this.addOrUpdateHook(settings, 'PreCompact', path.join(HOOKS_DIR, 'a24z-precompact-hook.sh'));
157
159
  // Create directory and write settings
158
160
  fs.mkdirSync(path.dirname(CLAUDE_SETTINGS_FILE), { recursive: true });
159
161
  fs.writeFileSync(CLAUDE_SETTINGS_FILE, JSON.stringify(settings, null, 2));
160
162
  }
163
+ // No binary helper shim; hooks will call `a24z hook` directly for transparency.
164
+ /**
165
+ * Merge-safe helper: adds our command without duplicating or overwriting others.
166
+ * - Creates the hook type array if missing
167
+ * - Adds a new entry with matcher "*" if our command is not present
168
+ * - De-duplicates exact command path if somehow repeated
169
+ */
170
+ addOrUpdateHook(settings, hookType, commandPath) {
171
+ if (!settings.hooks)
172
+ settings.hooks = {};
173
+ const existing = settings.hooks[hookType];
174
+ const newEntry = {
175
+ matcher: "*",
176
+ hooks: [{ type: "command", command: commandPath }]
177
+ };
178
+ if (!Array.isArray(existing)) {
179
+ settings.hooks[hookType] = [newEntry];
180
+ return;
181
+ }
182
+ const hasOurCommand = existing.some(e => e.hooks.some(h => typeof h.command === 'string' && h.command.includes('a24z-')));
183
+ if (!hasOurCommand) {
184
+ existing.push(newEntry);
185
+ return;
186
+ }
187
+ // Ensure no duplicates of exact command path
188
+ for (const entry of existing) {
189
+ const seen = new Set();
190
+ entry.hooks = entry.hooks.filter(h => {
191
+ if (typeof h.command !== 'string')
192
+ return true;
193
+ if (h.command !== commandPath)
194
+ return true;
195
+ if (seen.has(h.command))
196
+ return false;
197
+ seen.add(h.command);
198
+ return true;
199
+ });
200
+ }
201
+ }
161
202
  async login() {
162
203
  console.log(chalk.blue('🔐 Logging in to A24Z Observability...'));
163
204
  try {
@@ -198,8 +239,6 @@ class A24zCLI {
198
239
  spinner.succeed('Authentication successful!');
199
240
  // Step 4: Store tokens
200
241
  this.config.accessToken = tokens.access_token;
201
- this.config.userId = tokens.user?.id || null;
202
- this.config.organizationId = tokens.organization_id || null;
203
242
  this.saveConfig();
204
243
  // Reinstall hooks with updated auth
205
244
  await this.install();
@@ -207,9 +246,6 @@ class A24zCLI {
207
246
  if (tokens.user?.email) {
208
247
  console.log(chalk.white('👤 User:'), chalk.cyan(tokens.user.email));
209
248
  }
210
- if (this.config.organizationId) {
211
- console.log(chalk.white('🏢 Organization:'), chalk.cyan(this.config.organizationId));
212
- }
213
249
  console.log(chalk.green('\\nYour tool calls will now be associated with your organization.'));
214
250
  }
215
251
  catch (error) {
@@ -266,34 +302,63 @@ class A24zCLI {
266
302
  async uninstall() {
267
303
  const spinner = ora('Uninstalling A24Z hooks...').start();
268
304
  try {
269
- // Remove hook scripts
270
- const preHookPath = path.join(HOOKS_DIR, 'a24z-pre-hook.sh');
271
- const postHookPath = path.join(HOOKS_DIR, 'a24z-post-hook.sh');
272
- if (fs.existsSync(preHookPath))
273
- fs.unlinkSync(preHookPath);
274
- if (fs.existsSync(postHookPath))
275
- fs.unlinkSync(postHookPath);
276
- // Update Claude settings
305
+ // Remove all A24Z hook scripts
306
+ const hookFiles = [
307
+ 'a24z-pre-hook.sh',
308
+ 'a24z-post-hook.sh',
309
+ 'a24z-user-prompt-submit-hook.sh',
310
+ 'a24z-session-start-hook.sh',
311
+ 'a24z-session-end-hook.sh',
312
+ 'a24z-subagent-stop-hook.sh',
313
+ 'a24z-notification-hook.sh',
314
+ 'a24z-stop-hook.sh',
315
+ 'a24z-precompact-hook.sh'
316
+ ];
317
+ for (const hookFile of hookFiles) {
318
+ const hookPath = path.join(HOOKS_DIR, hookFile);
319
+ if (fs.existsSync(hookPath)) {
320
+ try {
321
+ fs.unlinkSync(hookPath);
322
+ }
323
+ catch (error) {
324
+ console.warn(chalk.yellow(`Warning: Could not remove ${hookFile}`));
325
+ }
326
+ }
327
+ }
328
+ // Update Claude settings: remove only our hooks, preserve all other user hooks/settings
277
329
  if (fs.existsSync(CLAUDE_SETTINGS_FILE)) {
278
330
  try {
279
- const settings = JSON.parse(fs.readFileSync(CLAUDE_SETTINGS_FILE, 'utf8'));
280
- if (settings.hooks) {
281
- // Remove our hooks but keep others
282
- if (settings.hooks.PreToolUse) {
283
- settings.hooks.PreToolUse = settings.hooks.PreToolUse.filter((hook) => !hook.hooks?.[0]?.command?.includes('a24z-pre-hook.sh'));
331
+ const parsed = JSON.parse(fs.readFileSync(CLAUDE_SETTINGS_FILE, 'utf8'));
332
+ if (parsed && typeof parsed === 'object') {
333
+ if (typeof parsed.hooks === 'object' && parsed.hooks !== null) {
334
+ const hookTypes = ['PreToolUse', 'PostToolUse', 'UserPromptSubmit', 'SessionStart', 'SessionEnd', 'SubagentStop', 'Notification', 'Stop', 'PreCompact'];
335
+ for (const hookType of hookTypes) {
336
+ const entries = parsed.hooks[hookType];
337
+ if (Array.isArray(entries)) {
338
+ // Remove our commands from each entry's hooks list
339
+ for (const entry of entries) {
340
+ if (Array.isArray(entry.hooks)) {
341
+ entry.hooks = entry.hooks.filter(h => {
342
+ if (typeof h.command !== 'string')
343
+ return true;
344
+ return !h.command.includes('a24z-');
345
+ });
346
+ }
347
+ }
348
+ // Remove entries that no longer have any hooks
349
+ const remaining = entries.filter(e => Array.isArray(e.hooks) && e.hooks.length > 0);
350
+ if (remaining.length > 0) {
351
+ parsed.hooks[hookType] = remaining;
352
+ }
353
+ else {
354
+ delete parsed.hooks[hookType];
355
+ }
356
+ }
357
+ }
358
+ // Keep hooks object even if empty to avoid surprising deletions
284
359
  }
285
- if (settings.hooks.PostToolUse) {
286
- settings.hooks.PostToolUse = settings.hooks.PostToolUse.filter((hook) => !hook.hooks?.[0]?.command?.includes('a24z-post-hook.sh'));
287
- }
288
- // Clean up empty arrays
289
- if (settings.hooks.PreToolUse?.length === 0)
290
- delete settings.hooks.PreToolUse;
291
- if (settings.hooks.PostToolUse?.length === 0)
292
- delete settings.hooks.PostToolUse;
293
- if (Object.keys(settings.hooks).length === 0)
294
- delete settings.hooks;
295
360
  }
296
- fs.writeFileSync(CLAUDE_SETTINGS_FILE, JSON.stringify(settings, null, 2));
361
+ fs.writeFileSync(CLAUDE_SETTINGS_FILE, JSON.stringify(parsed, null, 2));
297
362
  }
298
363
  catch (error) {
299
364
  console.warn(chalk.yellow('Warning: Could not update settings.json'));
@@ -314,25 +379,45 @@ class A24zCLI {
314
379
  }
315
380
  async status() {
316
381
  console.log(chalk.blue('📊 A24Z Observability Status\\n'));
317
- // Check installation
318
- const preHookExists = fs.existsSync(path.join(HOOKS_DIR, 'a24z-pre-hook.sh'));
319
- const postHookExists = fs.existsSync(path.join(HOOKS_DIR, 'a24z-post-hook.sh'));
382
+ // Check installation of all hook types
383
+ const hookChecks = [
384
+ { name: 'PreToolUse', file: 'a24z-pre-hook.sh' },
385
+ { name: 'PostToolUse', file: 'a24z-post-hook.sh' },
386
+ { name: 'UserPromptSubmit', file: 'a24z-user-prompt-submit-hook.sh' },
387
+ { name: 'SessionStart', file: 'a24z-session-start-hook.sh' },
388
+ { name: 'SessionEnd', file: 'a24z-session-end-hook.sh' },
389
+ { name: 'SubagentStop', file: 'a24z-subagent-stop-hook.sh' },
390
+ { name: 'Notification', file: 'a24z-notification-hook.sh' },
391
+ { name: 'Stop', file: 'a24z-stop-hook.sh' },
392
+ { name: 'PreCompact', file: 'a24z-precompact-hook.sh' }
393
+ ];
320
394
  const settingsExists = fs.existsSync(CLAUDE_SETTINGS_FILE);
321
- console.log(chalk.white('🔧 Installation Status:'));
322
- console.log(` • Pre-hook script: ${preHookExists ? chalk.green(' Installed') : chalk.red('❌ Not installed')}`);
323
- console.log(` • Post-hook script: ${postHookExists ? chalk.green('✅ Installed') : chalk.red('❌ Not installed')}`);
395
+ let installedHooks = 0;
396
+ console.log(chalk.white('🔧 Hook Installation Status:'));
397
+ for (const hook of hookChecks) {
398
+ const exists = fs.existsSync(path.join(HOOKS_DIR, hook.file));
399
+ if (exists)
400
+ installedHooks++;
401
+ console.log(` • ${hook.name}: ${exists ? chalk.green('✅ Installed') : chalk.red('❌ Not installed')}`);
402
+ }
403
+ console.log(`\\n • Total hooks installed: ${chalk.cyan(`${installedHooks}/9`)}`);
324
404
  console.log(` • Claude settings: ${settingsExists ? chalk.green('✅ Configured') : chalk.red('❌ Not configured')}`);
405
+ console.log(` • Collector type: ${chalk.cyan('Universal (auto-detecting)')}`);
406
+ console.log(` • Collector version: ${chalk.cyan('2.1-universal-enhanced')}`);
325
407
  if (this.config.installedAt) {
326
408
  console.log(` • Installed at: ${chalk.cyan(new Date(this.config.installedAt).toLocaleString())}`);
327
409
  }
410
+ // Show universal collector benefits
411
+ if (installedHooks > 0) {
412
+ console.log(chalk.white('\\n🎯 Universal Collector Features:'));
413
+ console.log(` • Auto-detects hook type from environment`);
414
+ console.log(` • Tool version detection (Claude Code, Cursor, VS Code)`);
415
+ console.log(` • Schema versioning support`);
416
+ console.log(` • Single codebase for all hooks (maintainable)`);
417
+ console.log(` • Enhanced/basic endpoint routing`);
418
+ }
328
419
  console.log(chalk.white('\\n🔐 Authentication Status:'));
329
420
  console.log(` • Logged in: ${this.config.accessToken ? chalk.green('✅ Yes') : chalk.red('❌ No')}`);
330
- if (this.config.userId) {
331
- console.log(` • User ID: ${chalk.cyan(this.config.userId)}`);
332
- }
333
- if (this.config.organizationId) {
334
- console.log(` • Organization: ${chalk.cyan(this.config.organizationId)}`);
335
- }
336
421
  console.log(chalk.white('\\n⚙️ Configuration:'));
337
422
  console.log(` • API URL: ${chalk.cyan(this.config.apiUrl)}`);
338
423
  console.log(` • Client ID: ${chalk.cyan(this.config.clientId)}`);
@@ -367,14 +452,110 @@ class A24zCLI {
367
452
  }
368
453
  }
369
454
  }
455
+ async hook(hookTypeArg) {
456
+ // Read stdin fully
457
+ const readStdin = async () => new Promise((resolve) => {
458
+ let data = '';
459
+ process.stdin.setEncoding('utf8');
460
+ process.stdin.on('data', (chunk) => { data += chunk; });
461
+ process.stdin.on('end', () => resolve(data));
462
+ setTimeout(() => resolve(data), 5000);
463
+ });
464
+ try {
465
+ const raw = await readStdin();
466
+ const hookType = hookTypeArg || process.env.CLAUDE_HOOK_EVENT_NAME || 'Unknown';
467
+ // Build environment snapshot
468
+ const safe = (v) => (v && v.length > 0 ? v : null);
469
+ const environment = {
470
+ CLAUDE_USER: safe(process.env.CLAUDE_USER),
471
+ CLAUDE_SESSION_ID: safe(process.env.CLAUDE_SESSION_ID),
472
+ CLAUDE_PROJECT_DIR: safe(process.env.CLAUDE_PROJECT_DIR),
473
+ CLAUDE_TRANSCRIPT_PATH: safe(process.env.CLAUDE_TRANSCRIPT_PATH),
474
+ CLAUDE_WORKING_DIR: safe(process.env.CLAUDE_WORKING_DIR),
475
+ CLAUDE_HOOK_EVENT_NAME: hookType,
476
+ CLAUDE_VERSION: safe(process.env.CLAUDE_VERSION),
477
+ CLAUDE_BUILD: safe(process.env.CLAUDE_BUILD),
478
+ PWD: safe(process.env.PWD),
479
+ USER: safe(process.env.USER),
480
+ HOME: safe(process.env.HOME),
481
+ HOSTNAME: safe(process.env.HOSTNAME),
482
+ SHELL: safe(process.env.SHELL),
483
+ LANG: safe(process.env.LANG),
484
+ TZ: safe(process.env.TZ),
485
+ TERM: safe(process.env.TERM),
486
+ NODE_VERSION: process.version,
487
+ captured_at: new Date().toISOString(),
488
+ };
489
+ const enhanced = typeof environment.CLAUDE_VERSION === 'string' && environment.CLAUDE_VERSION !== null;
490
+ const endpoint = `${this.config.apiUrl}/api/v1/hooks/ingest`; // Unified endpoint handles both enhanced and basic data
491
+ let rawInput = raw;
492
+ try {
493
+ rawInput = JSON.parse(raw);
494
+ }
495
+ catch { /* raw passthrough */ }
496
+ const payload = enhanced
497
+ ? {
498
+ source_tool: { name: 'claude-code', version: environment.CLAUDE_VERSION, build: environment.CLAUDE_BUILD },
499
+ hook_schema: { version: 'v1.0', format: 'anthropic_official', detected_at: new Date().toISOString() },
500
+ hook_type: hookType,
501
+ timestamp: new Date().toISOString(),
502
+ raw_input: rawInput,
503
+ environment,
504
+ collector_metadata: {
505
+ version: '2.1-cli-helper',
506
+ deployment_mode: 'cli_subcommand',
507
+ configuration_version: '1.0',
508
+ enhanced_features: ['thin_wrapper', 'env_snapshot'],
509
+ hook_type_detection_method: 'arg_or_env'
510
+ }
511
+ }
512
+ : {
513
+ hook_type: hookType,
514
+ timestamp: new Date().toISOString(),
515
+ raw_input: rawInput,
516
+ environment,
517
+ collector_version: '2.1-cli-basic'
518
+ };
519
+ const headers = { 'Content-Type': 'application/json' };
520
+ if (this.config.accessToken)
521
+ headers.Authorization = `Bearer ${this.config.accessToken}`;
522
+ await axios.post(endpoint, payload, { headers, timeout: 10000 });
523
+ }
524
+ catch (error) {
525
+ // Log to stderr but don't fail the hook
526
+ console.error('[a24z hook] Error:', error instanceof Error ? error.message : error);
527
+ }
528
+ finally {
529
+ // Always pass through stdin unchanged
530
+ process.stdin.resume();
531
+ }
532
+ }
370
533
  }
371
534
  // CLI setup
372
535
  const program = new Command();
373
536
  const cli = new A24zCLI();
537
+ /**
538
+ * Read CLI version from this package's package.json.
539
+ * Falls back to "0.0.0" if reading/parsing fails.
540
+ */
541
+ function getCliVersion() {
542
+ try {
543
+ const pkgPath = path.resolve(__dirname, "..", "package.json");
544
+ const raw = fs.readFileSync(pkgPath, "utf8");
545
+ const pkg = JSON.parse(raw);
546
+ if (typeof pkg.version === "string" && pkg.version.length > 0) {
547
+ return pkg.version;
548
+ }
549
+ }
550
+ catch {
551
+ // ignore and fall through
552
+ }
553
+ return "0.0.0";
554
+ }
374
555
  program
375
556
  .name('a24z')
376
557
  .description('Claude Code Observability CLI - Monitor and analyze your AI tool performance')
377
- .version('1.0.0');
558
+ .version(getCliVersion());
378
559
  program
379
560
  .command('install')
380
561
  .description('Install A24Z observability hooks for Claude Code')
@@ -404,6 +585,13 @@ program
404
585
  .action(async () => {
405
586
  await cli.uninstall();
406
587
  });
588
+ program
589
+ .command('hook')
590
+ .description('Internal: process a Claude hook payload from stdin and send to A24Z')
591
+ .option('--type <hookType>', 'Hook type (e.g., PreToolUse, PostToolUse)')
592
+ .action(async (options) => {
593
+ await cli.hook(options.type);
594
+ });
407
595
  // Parse command line arguments
408
596
  program.parse();
409
597
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "a24z",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "AI Agent Observability CLI - Monitor and analyze your AI tool performance",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -13,11 +13,6 @@
13
13
  "templates/",
14
14
  "README.md"
15
15
  ],
16
- "scripts": {
17
- "build": "tsc",
18
- "prepublishOnly": "npm run build",
19
- "test": "echo \"Error: no test specified\" && exit 1"
20
- },
21
16
  "keywords": [
22
17
  "claude",
23
18
  "ai",
@@ -48,9 +43,14 @@
48
43
  "devDependencies": {
49
44
  "@types/inquirer": "^9.0.7",
50
45
  "@types/node": "^20.10.0",
51
- "typescript": "^5.3.2"
46
+ "typescript": "^5.3.2",
47
+ "@repo/types": "1.0.0"
52
48
  },
53
49
  "engines": {
54
50
  "node": ">=16.0.0"
51
+ },
52
+ "scripts": {
53
+ "build": "tsc",
54
+ "test": "echo \"Error: no test specified\" && exit 1"
55
55
  }
56
- }
56
+ }
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env bash
2
+
3
+
4
+ set -euo pipefail
5
+
6
+ CMD="a24z hook"
7
+
8
+ # Derive hook type from env or script name
9
+ HOOK_NAME="$(basename "$0")"
10
+ HOOK_TYPE="${CLAUDE_HOOK_EVENT_NAME:-}"
11
+ if [ -z "$HOOK_TYPE" ]; then
12
+ case "$HOOK_NAME" in
13
+ *pre-hook*) HOOK_TYPE="PreToolUse" ;;
14
+ *post-hook*) HOOK_TYPE="PostToolUse" ;;
15
+ *user-prompt-submit*) HOOK_TYPE="UserPromptSubmit" ;;
16
+ *session-start*) HOOK_TYPE="SessionStart" ;;
17
+ *session-end*) HOOK_TYPE="SessionEnd" ;;
18
+ *subagent-stop*) HOOK_TYPE="SubagentStop" ;;
19
+ *notification*) HOOK_TYPE="Notification" ;;
20
+ *stop-hook*) HOOK_TYPE="Stop" ;;
21
+ *precompact*) HOOK_TYPE="PreCompact" ;;
22
+ *) HOOK_TYPE="Unknown" ;;
23
+ esac
24
+ fi
25
+
26
+ # Read stdin and pass through to CLI subcommand
27
+ STDIN_DATA=$(cat)
28
+
29
+ if command -v a24z >/dev/null 2>&1; then
30
+ printf "%s" "$STDIN_DATA" | a24z hook --type "$HOOK_TYPE" || true
31
+ else
32
+ echo "[a24z] CLI not found in PATH; passing through input" >&2
33
+ # If CLI not found, pass-through so Claude continues unaffected
34
+ printf "%s" "$STDIN_DATA"
35
+ fi
@@ -1,104 +0,0 @@
1
- #!/bin/bash
2
-
3
- # A24Z Claude Code Post-Hook Script
4
- # This script captures data after tool execution and sends it to A24Z Observability
5
-
6
- # Configuration
7
- OBSERVABILITY_URL="{{API_URL}}/api/hooks/post"
8
- LOG_FILE="$HOME/.claude/a24z.log"
9
- DEBUG_MODE="${DEBUG_HOOKS:-false}"
10
-
11
- # Ensure log directory exists
12
- mkdir -p "$(dirname "$LOG_FILE")"
13
-
14
- # Function for debug logging
15
- debug_log() {
16
- if [ "$DEBUG_MODE" = "true" ]; then
17
- echo "$(date '+%Y-%m-%d %H:%M:%S') [DEBUG] $1" >> "$LOG_FILE" 2>/dev/null
18
- fi
19
- }
20
-
21
- # Function for info logging
22
- info_log() {
23
- echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $1" >> "$LOG_FILE" 2>/dev/null
24
- }
25
-
26
- # Function for error logging
27
- error_log() {
28
- echo "$(date '+%Y-%m-%d %H:%M:%S') [ERROR] $1" >> "$LOG_FILE" 2>/dev/null
29
- }
30
-
31
- # Read input from Claude Code
32
- input=$(cat)
33
-
34
- # Validate input is not empty
35
- if [ -z "$input" ]; then
36
- error_log "Post-hook received empty input"
37
- exit 0
38
- fi
39
-
40
- debug_log "Post-hook received input: $input"
41
-
42
- # Extract tool information using jq
43
- tool_call_id=$(echo "$input" | jq -r '.tool_call_id // empty')
44
- tool_output=$(echo "$input" | jq -c '.tool_output // {}')
45
- success=$(echo "$input" | jq -r '.success // false')
46
- error_message=$(echo "$input" | jq -r '.error_message // empty')
47
- output_tokens=$(echo "$input" | jq -r '.output_tokens // empty')
48
-
49
- # Validate required fields
50
- if [ -z "$tool_call_id" ] || [ "$tool_call_id" = "null" ]; then
51
- error_log "No tool_call_id found in input"
52
- echo "$input" # Pass through unchanged
53
- exit 0
54
- fi
55
-
56
- # Convert success to boolean
57
- if [ "$success" = "true" ]; then
58
- success_bool=true
59
- else
60
- success_bool=false
61
- fi
62
-
63
- # Build JSON payload
64
- payload=$(jq -n \
65
- --arg tool_call_id "$tool_call_id" \
66
- --argjson tool_output "$tool_output" \
67
- --argjson success "$success_bool" \
68
- --arg error_message "$error_message" \
69
- --arg output_tokens "$output_tokens" \
70
- '{
71
- tool_call_id: $tool_call_id,
72
- tool_output: $tool_output,
73
- success: $success,
74
- error_message: (if $error_message != "" then $error_message else null end),
75
- output_tokens: (if $output_tokens != "" and $output_tokens != "null" then ($output_tokens | tonumber) else null end)
76
- }')
77
-
78
- # Prepare headers
79
- headers=(-H "Content-Type: application/json")
80
- if [ -n "{{ACCESS_TOKEN}}" ]; then
81
- headers+=(-H "Authorization: Bearer {{ACCESS_TOKEN}}")
82
- fi
83
-
84
- # Send data to A24Z observability
85
- response=$(curl -s -X POST "$OBSERVABILITY_URL" \
86
- "${headers[@]}" \
87
- -d "$payload" \
88
- -w "HTTP_STATUS:%{http_code}" 2>/dev/null)
89
-
90
- # Extract HTTP status and response body
91
- http_status=$(echo "$response" | grep -o "HTTP_STATUS:[0-9]*" | cut -d: -f2)
92
- response_body=$(echo "$response" | sed 's/HTTP_STATUS:[0-9]*$//')
93
-
94
- # Log the result
95
- if [ "$http_status" = "200" ]; then
96
- status=$(echo "$response_body" | jq -r '.data.status // empty')
97
- duration=$(echo "$response_body" | jq -r '.data.duration // empty')
98
- info_log "Post-hook sent successfully for $tool_call_id (Status: $status, Duration: ${duration}ms)"
99
- else
100
- error_log "Post-hook failed for $tool_call_id (HTTP $http_status): $response_body"
101
- fi
102
-
103
- # Always pass through the input unchanged
104
- echo "$input"
@@ -1,111 +0,0 @@
1
- #!/bin/bash
2
-
3
- # A24Z Claude Code Pre-Hook Script
4
- # This script captures data before tool execution and sends it to A24Z Observability
5
-
6
- # Configuration
7
- OBSERVABILITY_URL="{{API_URL}}/api/hooks/pre"
8
- LOG_FILE="$HOME/.claude/a24z.log"
9
- DEBUG_MODE="${DEBUG_HOOKS:-false}"
10
-
11
- # Ensure log directory exists
12
- mkdir -p "$(dirname "$LOG_FILE")"
13
-
14
- # Function for debug logging
15
- debug_log() {
16
- if [ "$DEBUG_MODE" = "true" ]; then
17
- echo "$(date '+%Y-%m-%d %H:%M:%S') [DEBUG] $1" >> "$LOG_FILE" 2>/dev/null
18
- fi
19
- }
20
-
21
- # Function for info logging
22
- info_log() {
23
- echo "$(date '+%Y-%m-%d %H:%M:%S') [INFO] $1" >> "$LOG_FILE" 2>/dev/null
24
- }
25
-
26
- # Function for error logging
27
- error_log() {
28
- echo "$(date '+%Y-%m-%d %H:%M:%S') [ERROR] $1" >> "$LOG_FILE" 2>/dev/null
29
- }
30
-
31
- # Read input from Claude Code
32
- input=$(cat)
33
-
34
- # Validate input is not empty
35
- if [ -z "$input" ]; then
36
- error_log "Pre-hook received empty input"
37
- exit 0
38
- fi
39
-
40
- debug_log "Pre-hook received input: $input"
41
-
42
- # Extract tool information using jq
43
- tool_name=$(echo "$input" | jq -r '.tool_name // empty')
44
- tool_input=$(echo "$input" | jq -c '.tool_input // {}')
45
- prompt=$(echo "$input" | jq -r '.prompt // empty')
46
- context=$(echo "$input" | jq -c '.context // {}')
47
- session_id=$(echo "$input" | jq -r '.session_id // empty')
48
-
49
- # Validate required fields
50
- if [ -z "$tool_name" ] || [ "$tool_name" = "null" ]; then
51
- error_log "No tool_name found in input"
52
- echo "$input" # Pass through unchanged
53
- exit 0
54
- fi
55
-
56
- # Build JSON payload
57
- payload=$(jq -n \
58
- --arg tool_name "$tool_name" \
59
- --argjson tool_input "$tool_input" \
60
- --arg prompt "$prompt" \
61
- --argjson context "$context" \
62
- --arg session_id "$session_id" \
63
- '{
64
- tool_name: $tool_name,
65
- tool_input: $tool_input,
66
- prompt: (if $prompt != "" then $prompt else null end),
67
- context: (if ($context | length) > 0 then $context else null end),
68
- session_id: (if $session_id != "" then $session_id else null end)
69
- }')
70
-
71
- # Prepare headers
72
- headers=(-H "Content-Type: application/json")
73
- if [ -n "{{ACCESS_TOKEN}}" ]; then
74
- headers+=(-H "Authorization: Bearer {{ACCESS_TOKEN}}")
75
- fi
76
-
77
- # Send data to A24Z observability
78
- response=$(curl -s -X POST "$OBSERVABILITY_URL" \
79
- "${headers[@]}" \
80
- -d "$payload" \
81
- -w "HTTP_STATUS:%{http_code}" 2>/dev/null)
82
-
83
- # Extract HTTP status and response body
84
- http_status=$(echo "$response" | grep -o "HTTP_STATUS:[0-9]*" | cut -d: -f2)
85
- response_body=$(echo "$response" | sed 's/HTTP_STATUS:[0-9]*$//')
86
-
87
- # Log the result
88
- if [ "$http_status" = "200" ]; then
89
- tool_call_id=$(echo "$response_body" | jq -r '.data.tool_call_id // empty')
90
- session_id=$(echo "$response_body" | jq -r '.data.session_id // empty')
91
- info_log "Pre-hook sent successfully for $tool_name (ID: $tool_call_id, Session: $session_id)"
92
-
93
- # Add tool_call_id and other metadata to the input for the post-hook
94
- enhanced_input=$(echo "$input" | jq \
95
- --arg tool_call_id "$tool_call_id" \
96
- --arg session_id "$session_id" \
97
- --arg observability_timestamp "$(date -u +%Y-%m-%dT%H:%M:%S.%3NZ)" \
98
- '. + {
99
- tool_call_id: $tool_call_id,
100
- session_id: $session_id,
101
- a24z_metadata: {
102
- timestamp: $observability_timestamp,
103
- hook_version: "2.0",
104
- source: "a24z-observability"
105
- }
106
- }')
107
- echo "$enhanced_input"
108
- else
109
- error_log "Pre-hook failed for $tool_name (HTTP $http_status): $response_body"
110
- echo "$input" # Pass through unchanged if API call fails
111
- fi