Phase 0: - Synced latest live-status.js from workspace (9928 bytes) - Fixed 43 lint issues: empty catch blocks, console statements - Added pino dependency - Created src/tool-labels.json with all known tool mappings - make check passes Phase 1 (Core Components): - src/config.js: env-var config with validation, throws on missing required vars - src/logger.js: pino singleton with child loggers, level validation - src/circuit-breaker.js: CLOSED/OPEN/HALF_OPEN state machine with callbacks - src/tool-labels.js: exact/prefix/regex tool->label resolver with external override - src/status-box.js: Mattermost post manager (keepAlive, throttle, retry, circuit breaker) - src/status-formatter.js: pure SessionState->text formatter (nested, compact) - src/health.js: HTTP health endpoint + metrics - src/status-watcher.js: JSONL file watcher (inotify, compaction detection, idle detection) Tests: - test/unit/config.test.js: 7 tests - test/unit/circuit-breaker.test.js: 12 tests - test/unit/logger.test.js: 5 tests - test/unit/status-formatter.test.js: 20 tests - test/unit/tool-labels.test.js: 15 tests All 59 unit tests pass. make check clean.
25 lines
367 B
Makefile
25 lines
367 B
Makefile
export NODE_ENV := development
|
|
export NODE_PATH := /usr/local/lib/node_modules
|
|
|
|
.PHONY: check install test lint fmt fmt-check secret-scan
|
|
|
|
check: install lint fmt-check secret-scan test
|
|
|
|
install:
|
|
npm install
|
|
|
|
test:
|
|
node --test test/unit/*.test.js
|
|
|
|
lint:
|
|
eslint .
|
|
|
|
fmt:
|
|
prettier --write .
|
|
|
|
fmt-check:
|
|
prettier --check .
|
|
|
|
secret-scan:
|
|
bash tools/secret-scan.sh .
|