@claudetree/core 0.3.1 → 0.4.1

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.
@@ -5,4 +5,5 @@ export * from './websocket/index.js';
5
5
  export * from './github/index.js';
6
6
  export * from './slack/index.js';
7
7
  export * from './logger/index.js';
8
+ export * from './validation/index.js';
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infra/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/infra/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -5,4 +5,5 @@ export * from './websocket/index.js';
5
5
  export * from './github/index.js';
6
6
  export * from './slack/index.js';
7
7
  export * from './logger/index.js';
8
+ export * from './validation/index.js';
8
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infra/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/infra/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,64 @@
1
+ import type { ValidationGate, GateResult } from '@claudetree/shared';
2
+ export interface GateRunOptions {
3
+ /** Working directory to run the command in */
4
+ cwd: string;
5
+ /** Maximum retries for this gate */
6
+ maxRetries: number;
7
+ /** Timeout per gate execution in ms */
8
+ timeout?: number;
9
+ }
10
+ export interface ValidationRunResult {
11
+ /** All gate results */
12
+ results: GateResult[];
13
+ /** Whether all required gates passed */
14
+ allPassed: boolean;
15
+ /** Total execution time in ms */
16
+ totalTime: number;
17
+ }
18
+ /**
19
+ * Runs validation gates with retry support
20
+ */
21
+ export declare class ValidationGateRunner {
22
+ private defaultTimeout;
23
+ /**
24
+ * Run a single gate with retries
25
+ */
26
+ runGate(gate: ValidationGate, options: GateRunOptions): Promise<GateResult>;
27
+ /**
28
+ * Run all gates in sequence
29
+ */
30
+ runAll(gates: ValidationGate[], options: GateRunOptions): Promise<ValidationRunResult>;
31
+ /**
32
+ * Run gates with auto-retry on failure
33
+ * Returns when all gates pass or max retries exceeded
34
+ */
35
+ runWithAutoRetry(gates: ValidationGate[], options: GateRunOptions & {
36
+ onRetry?: (attempt: number, failedGate: string) => void;
37
+ }): Promise<ValidationRunResult>;
38
+ private truncateOutput;
39
+ }
40
+ /**
41
+ * Default validation gates for different project types
42
+ */
43
+ export declare const DEFAULT_GATES: {
44
+ node: {
45
+ name: string;
46
+ command: string;
47
+ required: boolean;
48
+ }[];
49
+ pnpm: {
50
+ name: string;
51
+ command: string;
52
+ required: boolean;
53
+ }[];
54
+ python: {
55
+ name: string;
56
+ command: string;
57
+ required: boolean;
58
+ }[];
59
+ };
60
+ /**
61
+ * Detect project type and return appropriate gates
62
+ */
63
+ export declare function detectProjectGates(_cwd: string): ValidationGate[];
64
+ //# sourceMappingURL=ValidationGateRunner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationGateRunner.d.ts","sourceRoot":"","sources":["../../../src/infra/validation/ValidationGateRunner.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAQrE,MAAM,WAAW,cAAc;IAC7B,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,oCAAoC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,uBAAuB;IACvB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,cAAc,CAAiB;IAEvC;;OAEG;IACG,OAAO,CACX,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;IAyCtB;;OAEG;IACG,MAAM,CACV,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,mBAAmB,CAAC;IAuB/B;;;OAGG;IACG,gBAAgB,CACpB,KAAK,EAAE,cAAc,EAAE,EACvB,OAAO,EAAE,cAAc,GAAG;QAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,GACpF,OAAO,CAAC,mBAAmB,CAAC;IAkB/B,OAAO,CAAC,cAAc;CAMvB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;CAkBzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,EAAE,CAGjE"}
@@ -0,0 +1,125 @@
1
+ import { exec } from 'node:child_process';
2
+ import { promisify } from 'node:util';
3
+ import { createLogger } from '../logger/index.js';
4
+ const execAsync = promisify(exec);
5
+ const logger = createLogger('validation');
6
+ const MAX_OUTPUT_LENGTH = 1000;
7
+ /**
8
+ * Runs validation gates with retry support
9
+ */
10
+ export class ValidationGateRunner {
11
+ defaultTimeout = 5 * 60 * 1000; // 5 minutes per gate
12
+ /**
13
+ * Run a single gate with retries
14
+ */
15
+ async runGate(gate, options) {
16
+ let attempts = 0;
17
+ let lastOutput = '';
18
+ let passed = false;
19
+ while (attempts < options.maxRetries && !passed) {
20
+ attempts++;
21
+ logger.info('Running gate %s (attempt %d/%d)', gate.name, attempts, options.maxRetries);
22
+ try {
23
+ const { stdout, stderr } = await execAsync(gate.command, {
24
+ cwd: options.cwd,
25
+ timeout: options.timeout ?? this.defaultTimeout,
26
+ maxBuffer: 10 * 1024 * 1024, // 10MB
27
+ });
28
+ lastOutput = this.truncateOutput(stdout + stderr);
29
+ passed = true;
30
+ logger.info('Gate %s passed', gate.name);
31
+ }
32
+ catch (error) {
33
+ const execError = error;
34
+ lastOutput = this.truncateOutput((execError.stdout ?? '') + (execError.stderr ?? '') || execError.message || 'Unknown error');
35
+ logger.error('Gate %s failed: %s', gate.name, lastOutput.slice(0, 200));
36
+ if (attempts < options.maxRetries) {
37
+ logger.info('Retrying gate %s...', gate.name);
38
+ }
39
+ }
40
+ }
41
+ return {
42
+ gateName: gate.name,
43
+ passed,
44
+ attempts,
45
+ output: lastOutput,
46
+ completedAt: new Date(),
47
+ };
48
+ }
49
+ /**
50
+ * Run all gates in sequence
51
+ */
52
+ async runAll(gates, options) {
53
+ const startTime = Date.now();
54
+ const results = [];
55
+ let allPassed = true;
56
+ for (const gate of gates) {
57
+ const result = await this.runGate(gate, options);
58
+ results.push(result);
59
+ if (!result.passed && gate.required) {
60
+ allPassed = false;
61
+ logger.error('Required gate %s failed, stopping validation', gate.name);
62
+ break;
63
+ }
64
+ }
65
+ return {
66
+ results,
67
+ allPassed,
68
+ totalTime: Date.now() - startTime,
69
+ };
70
+ }
71
+ /**
72
+ * Run gates with auto-retry on failure
73
+ * Returns when all gates pass or max retries exceeded
74
+ */
75
+ async runWithAutoRetry(gates, options) {
76
+ let overallAttempts = 0;
77
+ let result;
78
+ do {
79
+ overallAttempts++;
80
+ result = await this.runAll(gates, options);
81
+ if (!result.allPassed && overallAttempts < options.maxRetries) {
82
+ const failedGate = result.results.find(r => !r.passed)?.gateName ?? 'unknown';
83
+ options.onRetry?.(overallAttempts, failedGate);
84
+ logger.info('Validation failed, retrying (attempt %d/%d)', overallAttempts + 1, options.maxRetries);
85
+ }
86
+ } while (!result.allPassed && overallAttempts < options.maxRetries);
87
+ return result;
88
+ }
89
+ truncateOutput(output) {
90
+ if (output.length <= MAX_OUTPUT_LENGTH) {
91
+ return output;
92
+ }
93
+ return output.slice(0, MAX_OUTPUT_LENGTH) + '\n... (truncated)';
94
+ }
95
+ }
96
+ /**
97
+ * Default validation gates for different project types
98
+ */
99
+ export const DEFAULT_GATES = {
100
+ node: [
101
+ { name: 'install', command: 'npm ci', required: true },
102
+ { name: 'test', command: 'npm test', required: true },
103
+ { name: 'type', command: 'npx tsc --noEmit', required: true },
104
+ { name: 'lint', command: 'npm run lint', required: false },
105
+ ],
106
+ pnpm: [
107
+ { name: 'install', command: 'pnpm install --frozen-lockfile', required: true },
108
+ { name: 'test', command: 'pnpm test:run', required: true },
109
+ { name: 'type', command: 'pnpm -r exec tsc --noEmit', required: true },
110
+ { name: 'lint', command: 'pnpm lint', required: false },
111
+ ],
112
+ python: [
113
+ { name: 'test', command: 'pytest', required: true },
114
+ { name: 'type', command: 'mypy .', required: false },
115
+ { name: 'lint', command: 'ruff check .', required: false },
116
+ ],
117
+ };
118
+ /**
119
+ * Detect project type and return appropriate gates
120
+ */
121
+ export function detectProjectGates(_cwd) {
122
+ // For now, default to pnpm (can be enhanced to detect package manager)
123
+ return DEFAULT_GATES.pnpm;
124
+ }
125
+ //# sourceMappingURL=ValidationGateRunner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationGateRunner.js","sourceRoot":"","sources":["../../../src/infra/validation/ValidationGateRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAClC,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAE1C,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAoB/B;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACvB,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,qBAAqB;IAE7D;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,IAAoB,EACpB,OAAuB;QAEvB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,MAAM,GAAG,KAAK,CAAC;QAEnB,OAAO,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,CAAC,MAAM,EAAE,CAAC;YAChD,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YAExF,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;oBACvD,GAAG,EAAE,OAAO,CAAC,GAAG;oBAChB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,cAAc;oBAC/C,SAAS,EAAE,EAAE,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO;iBACrC,CAAC,CAAC;gBAEH,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;gBAClD,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,SAAS,GAAG,KAA+D,CAAC;gBAClF,UAAU,GAAG,IAAI,CAAC,cAAc,CAC9B,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,SAAS,CAAC,OAAO,IAAI,eAAe,CAC5F,CAAC;gBACF,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;gBAExE,IAAI,QAAQ,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,IAAI;YACnB,MAAM;YACN,QAAQ;YACR,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,IAAI,IAAI,EAAE;SACxB,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,KAAuB,EACvB,OAAuB;QAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,IAAI,SAAS,GAAG,IAAI,CAAC;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAErB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpC,SAAS,GAAG,KAAK,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,8CAA8C,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO;YACP,SAAS;YACT,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CACpB,KAAuB,EACvB,OAAqF;QAErF,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,MAA2B,CAAC;QAEhC,GAAG,CAAC;YACF,eAAe,EAAE,CAAC;YAClB,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAE3C,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;gBAC9D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,IAAI,SAAS,CAAC;gBAC9E,OAAO,CAAC,OAAO,EAAE,CAAC,eAAe,EAAE,UAAU,CAAC,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,6CAA6C,EAAE,eAAe,GAAG,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACtG,CAAC;QACH,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,IAAI,eAAe,GAAG,OAAO,CAAC,UAAU,EAAE;QAEpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,MAAc;QACnC,IAAI,MAAM,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;IAClE,CAAC;CACF;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE;QACrD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC3D;IACD,IAAI,EAAE;QACJ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,gCAAgC,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC9E,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1D,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2BAA2B,EAAE,QAAQ,EAAE,IAAI,EAAE;QACtE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxD;IACD,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACnD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;QACpD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC3D;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,uEAAuE;IACvE,OAAO,aAAa,CAAC,IAAI,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ValidationGateRunner, DEFAULT_GATES, detectProjectGates, type GateRunOptions, type ValidationRunResult, } from './ValidationGateRunner.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/infra/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,mBAAmB,GACzB,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { ValidationGateRunner, DEFAULT_GATES, detectProjectGates, } from './ValidationGateRunner.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/infra/validation/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,kBAAkB,GAGnB,MAAM,2BAA2B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
2
  import { WebSocket } from 'ws';
3
3
  import { WebSocketBroadcaster } from './WebSocketServer.js';
4
4
  describe('WebSocketBroadcaster', () => {
@@ -33,8 +33,6 @@ describe('WebSocketBroadcaster', () => {
33
33
  });
34
34
  };
35
35
  beforeEach(() => {
36
- vi.spyOn(console, 'log').mockImplementation(() => { });
37
- vi.spyOn(console, 'error').mockImplementation(() => { });
38
36
  testPort = getAvailablePort();
39
37
  });
40
38
  afterEach(async () => {
@@ -42,13 +40,12 @@ describe('WebSocketBroadcaster', () => {
42
40
  broadcaster.close();
43
41
  await new Promise((resolve) => setTimeout(resolve, 50));
44
42
  }
45
- vi.restoreAllMocks();
46
43
  });
47
44
  describe('constructor', () => {
48
45
  it('should create a WebSocket server on the specified port', () => {
49
46
  broadcaster = new WebSocketBroadcaster(testPort);
50
47
  expect(broadcaster).toBeDefined();
51
- expect(console.log).toHaveBeenCalledWith(`WebSocket server listening on port ${testPort}`);
48
+ expect(broadcaster.clientCount).toBe(0);
52
49
  });
53
50
  it('should start with zero clients', () => {
54
51
  broadcaster = new WebSocketBroadcaster(testPort);
@@ -84,11 +81,12 @@ describe('WebSocketBroadcaster', () => {
84
81
  waitForClose(client3),
85
82
  ]);
86
83
  });
87
- it('should log client connection', async () => {
84
+ it('should accept client connection', async () => {
88
85
  broadcaster = new WebSocketBroadcaster(testPort);
89
86
  const client = new WebSocket(`ws://localhost:${testPort}`);
90
87
  await waitForConnection(client);
91
- expect(console.log).toHaveBeenCalledWith('WebSocket client connected (1 total)');
88
+ expect(client.readyState).toBe(WebSocket.OPEN);
89
+ expect(broadcaster.clientCount).toBe(1);
92
90
  client.close();
93
91
  await waitForClose(client);
94
92
  });
@@ -104,14 +102,15 @@ describe('WebSocketBroadcaster', () => {
104
102
  await new Promise((resolve) => setTimeout(resolve, 50));
105
103
  expect(broadcaster.clientCount).toBe(0);
106
104
  });
107
- it('should log client disconnection', async () => {
105
+ it('should handle client disconnection', async () => {
108
106
  broadcaster = new WebSocketBroadcaster(testPort);
109
107
  const client = new WebSocket(`ws://localhost:${testPort}`);
110
108
  await waitForConnection(client);
109
+ expect(broadcaster.clientCount).toBe(1);
111
110
  client.close();
112
111
  await waitForClose(client);
113
112
  await new Promise((resolve) => setTimeout(resolve, 50));
114
- expect(console.log).toHaveBeenCalledWith('WebSocket client disconnected (0 total)');
113
+ expect(broadcaster.clientCount).toBe(0);
115
114
  });
116
115
  });
117
116
  describe('broadcast', () => {
@@ -205,7 +204,8 @@ describe('WebSocketBroadcaster', () => {
205
204
  const wss = broadcaster.wss;
206
205
  wss.emit('error', new Error('Server error'));
207
206
  }).not.toThrow();
208
- expect(console.error).toHaveBeenCalledWith('WebSocket server error:', 'Server error');
207
+ // Server should still be functional after error
208
+ expect(broadcaster.clientCount).toBe(0);
209
209
  });
210
210
  it('should skip closed clients during broadcast', async () => {
211
211
  broadcaster = new WebSocketBroadcaster(testPort);
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketServer.test.js","sourceRoot":"","sources":["../../../src/infra/websocket/WebSocketServer.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketServer.test.js","sourceRoot":"","sources":["../../../src/infra/websocket/WebSocketServer.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudetree/core",
3
- "version": "0.3.1",
3
+ "version": "0.4.1",
4
4
  "description": "Core domain and infrastructure for claudetree",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -27,7 +27,7 @@
27
27
  "execa": "^9.5.0",
28
28
  "octokit": "^4.1.0",
29
29
  "ws": "^8.18.0",
30
- "@claudetree/shared": "0.3.1"
30
+ "@claudetree/shared": "0.4.1"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@types/debug": "^4.1.12",