pumuki-ast-hooks 5.6.9 → 5.6.10
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/package.json +1 -1
- package/scripts/hooks-system/.audit-reports/auto-recovery.log +5 -0
- package/scripts/hooks-system/.audit-reports/install-wizard.log +20 -0
- package/scripts/hooks-system/.audit_tmp/hook-metrics.jsonl +120 -0
- package/scripts/hooks-system/application/services/installation/CriticalDependenciesService.js +58 -0
- package/scripts/hooks-system/application/services/installation/InstallService.js +7 -34
- package/scripts/hooks-system/bin/__tests__/install.spec.js +46 -0
- package/scripts/hooks-system/infrastructure/watchdog/__tests__/.audit-reports/token-monitor.log +9 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pumuki-ast-hooks",
|
|
3
|
-
"version": "5.6.
|
|
3
|
+
"version": "5.6.10",
|
|
4
4
|
"description": "Enterprise-grade AST Intelligence System with multi-platform support (iOS, Android, Backend, Frontend) and Feature-First + DDD + Clean Architecture enforcement. Includes dynamic violations API for intelligent querying.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -3,3 +3,8 @@
|
|
|
3
3
|
{"timestamp":"2026-01-11T00:48:07.599Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
4
4
|
{"timestamp":"2026-01-11T14:18:31.035Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
5
5
|
{"timestamp":"2026-01-11T18:11:22.230Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
6
|
+
{"timestamp":"2026-01-11T18:41:52.124Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
7
|
+
{"timestamp":"2026-01-11T18:43:18.048Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
8
|
+
{"timestamp":"2026-01-11T18:44:21.682Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
9
|
+
{"timestamp":"2026-01-11T18:48:20.329Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
10
|
+
{"timestamp":"2026-01-11T18:54:50.282Z","level":"info","component":"AutoRecovery","event":"NotificationCenterService shutdown","data":{"totalEnqueued":0,"totalSent":0,"totalDeduplicated":0,"totalCooldownSkipped":0,"totalFailed":0,"totalRetries":0,"queueSize":0,"deduplication":{"size":0},"cooldowns":{"activeCooldowns":0}},"context":{}}
|
|
@@ -18,3 +18,23 @@
|
|
|
18
18
|
{"timestamp":"2026-01-11T18:11:22.141Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_CONFIG_EXISTS","data":{"configPath":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.hook-system/config.json"},"context":{}}
|
|
19
19
|
{"timestamp":"2026-01-11T18:11:22.141Z","level":"error","component":"InstallWizard","event":"INSTALL_WIZARD_SYMLINK_FAILED","data":{"error":"EEXIST: file already exists, symlink '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/scripts/hooks-system/bin/guard-supervisor.js' -> '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.git/hooks/guard-supervisor'"},"context":{}}
|
|
20
20
|
{"timestamp":"2026-01-11T18:11:22.141Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_COMPLETED","data":{},"context":{}}
|
|
21
|
+
{"timestamp":"2026-01-11T18:41:52.245Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_START","data":{"repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"},"context":{}}
|
|
22
|
+
{"timestamp":"2026-01-11T18:41:52.290Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_CONFIG_EXISTS","data":{"configPath":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.hook-system/config.json"},"context":{}}
|
|
23
|
+
{"timestamp":"2026-01-11T18:41:52.292Z","level":"error","component":"InstallWizard","event":"INSTALL_WIZARD_SYMLINK_FAILED","data":{"error":"EEXIST: file already exists, symlink '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/scripts/hooks-system/bin/guard-supervisor.js' -> '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.git/hooks/guard-supervisor'"},"context":{}}
|
|
24
|
+
{"timestamp":"2026-01-11T18:41:52.293Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_COMPLETED","data":{},"context":{}}
|
|
25
|
+
{"timestamp":"2026-01-11T18:43:18.193Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_START","data":{"repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"},"context":{}}
|
|
26
|
+
{"timestamp":"2026-01-11T18:43:18.213Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_CONFIG_EXISTS","data":{"configPath":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.hook-system/config.json"},"context":{}}
|
|
27
|
+
{"timestamp":"2026-01-11T18:43:18.214Z","level":"error","component":"InstallWizard","event":"INSTALL_WIZARD_SYMLINK_FAILED","data":{"error":"EEXIST: file already exists, symlink '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/scripts/hooks-system/bin/guard-supervisor.js' -> '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.git/hooks/guard-supervisor'"},"context":{}}
|
|
28
|
+
{"timestamp":"2026-01-11T18:43:18.214Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_COMPLETED","data":{},"context":{}}
|
|
29
|
+
{"timestamp":"2026-01-11T18:44:21.765Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_START","data":{"repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"},"context":{}}
|
|
30
|
+
{"timestamp":"2026-01-11T18:44:21.774Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_CONFIG_EXISTS","data":{"configPath":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.hook-system/config.json"},"context":{}}
|
|
31
|
+
{"timestamp":"2026-01-11T18:44:21.775Z","level":"error","component":"InstallWizard","event":"INSTALL_WIZARD_SYMLINK_FAILED","data":{"error":"EEXIST: file already exists, symlink '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/scripts/hooks-system/bin/guard-supervisor.js' -> '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.git/hooks/guard-supervisor'"},"context":{}}
|
|
32
|
+
{"timestamp":"2026-01-11T18:44:21.775Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_COMPLETED","data":{},"context":{}}
|
|
33
|
+
{"timestamp":"2026-01-11T18:48:20.805Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_START","data":{"repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"},"context":{}}
|
|
34
|
+
{"timestamp":"2026-01-11T18:48:20.823Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_CONFIG_EXISTS","data":{"configPath":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.hook-system/config.json"},"context":{}}
|
|
35
|
+
{"timestamp":"2026-01-11T18:48:20.824Z","level":"error","component":"InstallWizard","event":"INSTALL_WIZARD_SYMLINK_FAILED","data":{"error":"EEXIST: file already exists, symlink '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/scripts/hooks-system/bin/guard-supervisor.js' -> '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.git/hooks/guard-supervisor'"},"context":{}}
|
|
36
|
+
{"timestamp":"2026-01-11T18:48:20.825Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_COMPLETED","data":{},"context":{}}
|
|
37
|
+
{"timestamp":"2026-01-11T18:54:50.501Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_START","data":{"repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"},"context":{}}
|
|
38
|
+
{"timestamp":"2026-01-11T18:54:50.515Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_CONFIG_EXISTS","data":{"configPath":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.hook-system/config.json"},"context":{}}
|
|
39
|
+
{"timestamp":"2026-01-11T18:54:50.515Z","level":"error","component":"InstallWizard","event":"INSTALL_WIZARD_SYMLINK_FAILED","data":{"error":"EEXIST: file already exists, symlink '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/scripts/hooks-system/bin/guard-supervisor.js' -> '/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system/.git/hooks/guard-supervisor'"},"context":{}}
|
|
40
|
+
{"timestamp":"2026-01-11T18:54:50.515Z","level":"info","component":"InstallWizard","event":"INSTALL_WIZARD_COMPLETED","data":{},"context":{}}
|
|
@@ -350,3 +350,123 @@
|
|
|
350
350
|
{"timestamp":1768155082230,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
351
351
|
{"timestamp":1768155082230,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
352
352
|
{"timestamp":1768155082230,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
353
|
+
{"timestamp":1768156912122,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
354
|
+
{"timestamp":1768156912122,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
355
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
356
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
357
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
358
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
359
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
360
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
361
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
362
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
363
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
364
|
+
{"timestamp":1768156912123,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
365
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
366
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
367
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
368
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
369
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
370
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
371
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
372
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
373
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
374
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
375
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
376
|
+
{"timestamp":1768156912124,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
377
|
+
{"timestamp":1768156998043,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
378
|
+
{"timestamp":1768156998044,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
379
|
+
{"timestamp":1768156998044,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
380
|
+
{"timestamp":1768156998044,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
381
|
+
{"timestamp":1768156998045,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
382
|
+
{"timestamp":1768156998045,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
383
|
+
{"timestamp":1768156998045,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
384
|
+
{"timestamp":1768156998045,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
385
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
386
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
387
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
388
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
389
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
390
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
391
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
392
|
+
{"timestamp":1768156998046,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
393
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
394
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
395
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
396
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
397
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
398
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
399
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
400
|
+
{"timestamp":1768156998047,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
401
|
+
{"timestamp":1768157061679,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
402
|
+
{"timestamp":1768157061679,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
403
|
+
{"timestamp":1768157061680,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
404
|
+
{"timestamp":1768157061680,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
405
|
+
{"timestamp":1768157061680,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
406
|
+
{"timestamp":1768157061680,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
407
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
408
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
409
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
410
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
411
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
412
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
413
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
414
|
+
{"timestamp":1768157061681,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
415
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
416
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
417
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
418
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
419
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
420
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
421
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
422
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
423
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
424
|
+
{"timestamp":1768157061682,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
425
|
+
{"timestamp":1768157300325,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
426
|
+
{"timestamp":1768157300326,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
427
|
+
{"timestamp":1768157300326,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
428
|
+
{"timestamp":1768157300326,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
429
|
+
{"timestamp":1768157300326,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
430
|
+
{"timestamp":1768157300326,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
431
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
432
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
433
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
434
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
435
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
436
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
437
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
438
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
439
|
+
{"timestamp":1768157300327,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
440
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
441
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
442
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
443
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
444
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
445
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
446
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
447
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
448
|
+
{"timestamp":1768157300328,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
449
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
450
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
451
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
452
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
453
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
454
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
455
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
456
|
+
{"timestamp":1768157690280,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
457
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
458
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
459
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
460
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
461
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
462
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
463
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
464
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
465
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
466
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
467
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
468
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
469
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"started","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
470
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"started"}
|
|
471
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"ensure_dir","status":"success"}
|
|
472
|
+
{"timestamp":1768157690281,"hook":"audit_logger","operation":"constructor","status":"success","repoRoot":"/Users/juancarlosmerlosalbarracin/Developer/Projects/ast-intelligence-hooks/scripts/hooks-system"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
const path = require('path');
|
|
3
|
+
|
|
4
|
+
class CriticalDependenciesService {
|
|
5
|
+
static check({ targetRoot, logger, logWarning, logSuccess }) {
|
|
6
|
+
const packageJsonPath = path.join(targetRoot, 'package.json');
|
|
7
|
+
|
|
8
|
+
if (!fs.existsSync(packageJsonPath)) {
|
|
9
|
+
logWarning('package.json not found. Skipping dependency check.');
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const isResolvableFromTargetRoot = (name) => {
|
|
14
|
+
try {
|
|
15
|
+
require.resolve(name, { paths: [targetRoot] });
|
|
16
|
+
return true;
|
|
17
|
+
} catch {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
24
|
+
const allDeps = {
|
|
25
|
+
...packageJson.dependencies,
|
|
26
|
+
...packageJson.devDependencies
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const criticalDeps = ['ts-morph'];
|
|
30
|
+
const missingDeps = [];
|
|
31
|
+
|
|
32
|
+
for (const dep of criticalDeps) {
|
|
33
|
+
if (allDeps[dep]) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (isResolvableFromTargetRoot(dep)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
missingDeps.push(dep);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (missingDeps.length > 0) {
|
|
43
|
+
logWarning(`Missing critical dependencies: ${missingDeps.join(', ')}`);
|
|
44
|
+
logWarning('AST analysis may fail without these dependencies.');
|
|
45
|
+
logWarning(`Install with: npm install --save-dev ${missingDeps.join(' ')}`);
|
|
46
|
+
if (logger && typeof logger.warn === 'function') {
|
|
47
|
+
logger.warn('MISSING_CRITICAL_DEPENDENCIES', { missingDeps });
|
|
48
|
+
}
|
|
49
|
+
} else {
|
|
50
|
+
logSuccess('All critical dependencies present');
|
|
51
|
+
}
|
|
52
|
+
} catch (error) {
|
|
53
|
+
logWarning(`Failed to check dependencies: ${error.message}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
module.exports = CriticalDependenciesService;
|
|
@@ -7,6 +7,7 @@ const PlatformDetectorService = require('./PlatformDetectorService');
|
|
|
7
7
|
const FileSystemInstallerService = require('./FileSystemInstallerService');
|
|
8
8
|
const ConfigurationGeneratorService = require('./ConfigurationGeneratorService');
|
|
9
9
|
const IdeIntegrationService = require('./IdeIntegrationService');
|
|
10
|
+
const CriticalDependenciesService = require('./CriticalDependenciesService');
|
|
10
11
|
const UnifiedLogger = require('../logging/UnifiedLogger');
|
|
11
12
|
|
|
12
13
|
const COLORS = {
|
|
@@ -77,40 +78,12 @@ class InstallService {
|
|
|
77
78
|
}
|
|
78
79
|
|
|
79
80
|
checkCriticalDependencies() {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
try {
|
|
88
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
89
|
-
const allDeps = {
|
|
90
|
-
...packageJson.dependencies,
|
|
91
|
-
...packageJson.devDependencies
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
const criticalDeps = ['ts-morph'];
|
|
95
|
-
const missingDeps = [];
|
|
96
|
-
|
|
97
|
-
for (const dep of criticalDeps) {
|
|
98
|
-
if (!allDeps[dep]) {
|
|
99
|
-
missingDeps.push(dep);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (missingDeps.length > 0) {
|
|
104
|
-
this.logWarning(`Missing critical dependencies: ${missingDeps.join(', ')}`);
|
|
105
|
-
this.logWarning('AST analysis may fail without these dependencies.');
|
|
106
|
-
this.logWarning(`Install with: npm install --save-dev ${missingDeps.join(' ')}`);
|
|
107
|
-
this.logger.warn('MISSING_CRITICAL_DEPENDENCIES', { missingDeps });
|
|
108
|
-
} else {
|
|
109
|
-
this.logSuccess('All critical dependencies present');
|
|
110
|
-
}
|
|
111
|
-
} catch (error) {
|
|
112
|
-
this.logWarning(`Failed to check dependencies: ${error.message}`);
|
|
113
|
-
}
|
|
81
|
+
CriticalDependenciesService.check({
|
|
82
|
+
targetRoot: this.targetRoot,
|
|
83
|
+
logger: this.logger,
|
|
84
|
+
logWarning: (msg) => this.logWarning(msg),
|
|
85
|
+
logSuccess: (msg) => this.logSuccess(msg)
|
|
86
|
+
});
|
|
114
87
|
}
|
|
115
88
|
|
|
116
89
|
async run() {
|
|
@@ -92,3 +92,49 @@ describe('InstallService - cleanupDuplicateRules', () => {
|
|
|
92
92
|
expect(fs.existsSync(path.join(windsurfRules, 'windsurf.mdc'))).toBe(true);
|
|
93
93
|
});
|
|
94
94
|
});
|
|
95
|
+
|
|
96
|
+
describe('InstallService - checkCriticalDependencies', () => {
|
|
97
|
+
const fs = require('fs');
|
|
98
|
+
const os = require('os');
|
|
99
|
+
const path = require('path');
|
|
100
|
+
const InstallService = require('../../application/services/installation/InstallService');
|
|
101
|
+
|
|
102
|
+
let testRoot;
|
|
103
|
+
let service;
|
|
104
|
+
|
|
105
|
+
beforeEach(() => {
|
|
106
|
+
testRoot = fs.mkdtempSync(path.join(os.tmpdir(), 'ast-hooks-install-deps-'));
|
|
107
|
+
fs.writeFileSync(path.join(testRoot, 'package.json'), JSON.stringify({ name: 'test', version: '1.0.0' }, null, 2));
|
|
108
|
+
|
|
109
|
+
service = new InstallService();
|
|
110
|
+
service.targetRoot = testRoot;
|
|
111
|
+
service.logger = { warn: jest.fn(), info: jest.fn(), error: jest.fn(), debug: jest.fn() };
|
|
112
|
+
service.logWarning = jest.fn();
|
|
113
|
+
service.logSuccess = jest.fn();
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
afterEach(() => {
|
|
117
|
+
if (fs.existsSync(testRoot)) {
|
|
118
|
+
fs.rmSync(testRoot, { recursive: true, force: true });
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
it('should not warn when ts-morph is resolvable even if not declared', () => {
|
|
123
|
+
const tsMorphDir = path.join(testRoot, 'node_modules', 'ts-morph');
|
|
124
|
+
fs.mkdirSync(tsMorphDir, { recursive: true });
|
|
125
|
+
fs.writeFileSync(path.join(tsMorphDir, 'package.json'), JSON.stringify({ name: 'ts-morph', version: '999.0.0' }, null, 2));
|
|
126
|
+
fs.writeFileSync(path.join(tsMorphDir, 'index.js'), 'module.exports = {}');
|
|
127
|
+
|
|
128
|
+
service.checkCriticalDependencies();
|
|
129
|
+
|
|
130
|
+
expect(service.logSuccess).toHaveBeenCalledWith('All critical dependencies present');
|
|
131
|
+
expect(service.logWarning).not.toHaveBeenCalledWith(expect.stringContaining('Missing critical dependencies'));
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
it('should warn when ts-morph is not declared and not resolvable', () => {
|
|
135
|
+
service.checkCriticalDependencies();
|
|
136
|
+
|
|
137
|
+
expect(service.logWarning).toHaveBeenCalledWith(expect.stringContaining('Missing critical dependencies'));
|
|
138
|
+
expect(service.logger.warn).toHaveBeenCalledWith('MISSING_CRITICAL_DEPENDENCIES', { missingDeps: ['ts-morph'] });
|
|
139
|
+
});
|
|
140
|
+
});
|
package/scripts/hooks-system/infrastructure/watchdog/__tests__/.audit-reports/token-monitor.log
CHANGED
|
@@ -13,3 +13,12 @@
|
|
|
13
13
|
{"timestamp":"2026-01-11T18:11:25.198Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"ok","percentUsed":10,"tokensUsed":100000,"maxTokens":1000000,"source":"realtime","stale":false},"context":{"message":"Result level=ok percent=10% used=100000/1000000 source=realtime"}}
|
|
14
14
|
{"timestamp":"2026-01-11T18:11:25.199Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"warning","percentUsed":91,"tokensUsed":910000,"maxTokens":1000000,"source":"fallback","stale":false},"context":{"message":"Result level=warning percent=91% used=910000/1000000 source=fallback"}}
|
|
15
15
|
{"timestamp":"2026-01-11T18:11:25.199Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"critical","percentUsed":98,"tokensUsed":980000,"maxTokens":1000000,"source":"realtime","stale":true},"context":{"message":"Result level=critical percent=98% used=980000/1000000 source=realtime (stale)"}}
|
|
16
|
+
{"timestamp":"2026-01-11T18:44:26.804Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"ok","percentUsed":10,"tokensUsed":100000,"maxTokens":1000000,"source":"realtime","stale":false},"context":{"message":"Result level=ok percent=10% used=100000/1000000 source=realtime"}}
|
|
17
|
+
{"timestamp":"2026-01-11T18:44:26.808Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"warning","percentUsed":91,"tokensUsed":910000,"maxTokens":1000000,"source":"fallback","stale":false},"context":{"message":"Result level=warning percent=91% used=910000/1000000 source=fallback"}}
|
|
18
|
+
{"timestamp":"2026-01-11T18:44:26.808Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"critical","percentUsed":98,"tokensUsed":980000,"maxTokens":1000000,"source":"realtime","stale":true},"context":{"message":"Result level=critical percent=98% used=980000/1000000 source=realtime (stale)"}}
|
|
19
|
+
{"timestamp":"2026-01-11T18:48:25.806Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"ok","percentUsed":10,"tokensUsed":100000,"maxTokens":1000000,"source":"realtime","stale":false},"context":{"message":"Result level=ok percent=10% used=100000/1000000 source=realtime"}}
|
|
20
|
+
{"timestamp":"2026-01-11T18:48:25.810Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"warning","percentUsed":91,"tokensUsed":910000,"maxTokens":1000000,"source":"fallback","stale":false},"context":{"message":"Result level=warning percent=91% used=910000/1000000 source=fallback"}}
|
|
21
|
+
{"timestamp":"2026-01-11T18:48:25.811Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"critical","percentUsed":98,"tokensUsed":980000,"maxTokens":1000000,"source":"realtime","stale":true},"context":{"message":"Result level=critical percent=98% used=980000/1000000 source=realtime (stale)"}}
|
|
22
|
+
{"timestamp":"2026-01-11T18:54:53.862Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"ok","percentUsed":10,"tokensUsed":100000,"maxTokens":1000000,"source":"realtime","stale":false},"context":{"message":"Result level=ok percent=10% used=100000/1000000 source=realtime"}}
|
|
23
|
+
{"timestamp":"2026-01-11T18:54:53.871Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"warning","percentUsed":91,"tokensUsed":910000,"maxTokens":1000000,"source":"fallback","stale":false},"context":{"message":"Result level=warning percent=91% used=910000/1000000 source=fallback"}}
|
|
24
|
+
{"timestamp":"2026-01-11T18:54:53.873Z","level":"info","component":"TokenMonitor","event":"TOKEN_MONITOR_RESULT","data":{"level":"critical","percentUsed":98,"tokensUsed":980000,"maxTokens":1000000,"source":"realtime","stale":true},"context":{"message":"Result level=critical percent=98% used=980000/1000000 source=realtime (stale)"}}
|