@zeitzeuge/node 0.1.0

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.
@@ -0,0 +1,68 @@
1
+ /**
2
+ * TypeScript types for the zeitzeuge Node.js test runner integration.
3
+ */
4
+ export type { SourceCategory, TestFileTiming, CorrelatedProfile, CpuProfileSummary, HotFunction, CallerFrame, CallTreeNode, ScriptTimeSummary, PerformanceMetrics, } from '@zeitzeuge/utils';
5
+ /** Options for the zeitzeuge Node.js test runner integration. */
6
+ export interface ZeitZeugeNodeTestOptions {
7
+ /** Enable/disable the integration. Default: true */
8
+ enabled?: boolean;
9
+ /** Path for the Markdown report. Default: 'zeitzeuge-report.md' */
10
+ output?: string;
11
+ /** Directory for temporary .cpuprofile files. Default: '.zeitzeuge-profiles' */
12
+ profileDir?: string;
13
+ /** Also enable V8 heap profiling via `--heap-prof`. Default: false */
14
+ heapProf?: boolean;
15
+ /** Run Deep Agent analysis after tests finish. Default: true */
16
+ analyzeOnFinish?: boolean;
17
+ /** Enable debug logging. Default: false */
18
+ verbose?: boolean;
19
+ /** Project root directory. Default: process.cwd() */
20
+ projectRoot?: string;
21
+ }
22
+ /** Re-export V8 profile types from the vitest package for shared parsing. */
23
+ export interface V8CpuProfile {
24
+ nodes: V8CpuProfileNode[];
25
+ startTime: number;
26
+ endTime: number;
27
+ samples: number[];
28
+ timeDeltas: number[];
29
+ }
30
+ export interface V8CpuProfileNode {
31
+ id: number;
32
+ callFrame: {
33
+ functionName: string;
34
+ scriptId: string;
35
+ url: string;
36
+ lineNumber: number;
37
+ columnNumber: number;
38
+ };
39
+ hitCount: number;
40
+ children?: number[];
41
+ positionTicks?: Array<{
42
+ line: number;
43
+ ticks: number;
44
+ }>;
45
+ }
46
+ export interface V8HeapProfile {
47
+ head: V8HeapProfileNode;
48
+ startTime?: number;
49
+ endTime?: number;
50
+ samples: V8HeapProfileSample[];
51
+ }
52
+ export interface V8HeapProfileSample {
53
+ size: number;
54
+ nodeId: number;
55
+ ordinal?: number;
56
+ }
57
+ export interface V8HeapProfileNode {
58
+ id: number;
59
+ callFrame: {
60
+ functionName: string;
61
+ scriptId: string;
62
+ url: string;
63
+ lineNumber: number;
64
+ columnNumber: number;
65
+ };
66
+ children?: V8HeapProfileNode[];
67
+ }
68
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,YAAY,EACV,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,KAAK,CAAC;QACpB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE;QACT,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAChC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Workspace builder — re-exports from @zeitzeuge/utils.
3
+ */
4
+ export { createTestWorkspace as createNodeTestWorkspace, mergeHotFunctions, type TestWorkspaceResult as NodeTestWorkspaceResult, } from '@zeitzeuge/utils';
5
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,mBAAmB,IAAI,uBAAuB,EAC9C,iBAAiB,EACjB,KAAK,mBAAmB,IAAI,uBAAuB,GACpD,MAAM,kBAAkB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@zeitzeuge/node",
3
+ "version": "0.1.0",
4
+ "description": "Node.js test runner integration for performance analysis powered by zeitzeuge.",
5
+ "keywords": [
6
+ "analysis",
7
+ "node-test",
8
+ "performance",
9
+ "test-runner",
10
+ "zeitzeuge"
11
+ ],
12
+ "homepage": "https://github.com/christian-bromann/zeitzeuge",
13
+ "license": "MIT",
14
+ "author": "Christian Bromann <christian@bromann.dev>",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "https://github.com/christian-bromann/zeitzeuge.git"
18
+ },
19
+ "files": [
20
+ "dist",
21
+ "reporter.mjs"
22
+ ],
23
+ "type": "module",
24
+ "module": "src/index.ts",
25
+ "types": "./dist/index.d.ts",
26
+ "exports": {
27
+ ".": {
28
+ "types": "./dist/index.d.ts",
29
+ "default": "./dist/index.js"
30
+ },
31
+ "./reporter": {
32
+ "types": "./dist/reporter.d.ts",
33
+ "default": "./dist/reporter.js"
34
+ }
35
+ },
36
+ "scripts": {
37
+ "build:js": "bun build.ts",
38
+ "build:types": "bunx tsc -p tsconfig.build.json",
39
+ "build": "bun run build:js && bun run build:types",
40
+ "test": "bun test"
41
+ },
42
+ "dependencies": {
43
+ "@langchain/core": "^1.1.27",
44
+ "@langchain/node-vfs": "^0.1.2",
45
+ "chalk": "^5.6.2",
46
+ "deepagents": "^1.8.0",
47
+ "langchain": "^1.2.26",
48
+ "ora": "^9.3.0",
49
+ "picocolors": "^1.1.1",
50
+ "zod": "^4.3.6"
51
+ },
52
+ "devDependencies": {
53
+ "@types/bun": "latest",
54
+ "@types/node": ">=25",
55
+ "@zeitzeuge/utils": "workspace:*",
56
+ "typescript": "^5"
57
+ },
58
+ "peerDependencies": {
59
+ "@langchain/anthropic": "^1.3.18",
60
+ "@langchain/openai": "^1.2.8"
61
+ },
62
+ "peerDependenciesMeta": {
63
+ "@langchain/anthropic": {
64
+ "optional": true
65
+ },
66
+ "@langchain/openai": {
67
+ "optional": true
68
+ }
69
+ },
70
+ "engines": {
71
+ "node": ">=22"
72
+ }
73
+ }