pm-orchestrator-runner 1.0.8 → 1.0.9

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,182 @@
1
+ /**
2
+ * Trace Pack - Minimal JSONL logging for session/task state transitions
3
+ *
4
+ * Per spec:
5
+ * - JSONL format (one JSON object per line)
6
+ * - Records: session_id, task_group_id, task_id, state transitions, verification results
7
+ * - Verify function for output format compliance
8
+ */
9
+ /**
10
+ * Trace entry types
11
+ */
12
+ export type TraceEventType = 'SESSION_START' | 'SESSION_END' | 'TASK_GROUP_START' | 'TASK_GROUP_END' | 'TASK_START' | 'TASK_STATE_CHANGE' | 'TASK_END' | 'EXECUTOR_CALL' | 'EXECUTOR_RESULT' | 'VERIFICATION_START' | 'VERIFICATION_RESULT' | 'ERROR' | 'WARNING';
13
+ /**
14
+ * Base trace entry structure
15
+ */
16
+ export interface TraceEntry {
17
+ /** ISO timestamp */
18
+ timestamp: string;
19
+ /** Event type */
20
+ event: TraceEventType;
21
+ /** Session identifier */
22
+ session_id: string;
23
+ /** Task group identifier (optional) */
24
+ task_group_id?: string;
25
+ /** Task identifier (optional) */
26
+ task_id?: string;
27
+ /** Previous state (for state transitions) */
28
+ from_state?: string;
29
+ /** New state (for state transitions) */
30
+ to_state?: string;
31
+ /** Additional data */
32
+ data?: Record<string, unknown>;
33
+ /** Verification result (for verification events) */
34
+ verification_result?: {
35
+ passed: boolean;
36
+ checks: Array<{
37
+ name: string;
38
+ passed: boolean;
39
+ message?: string;
40
+ }>;
41
+ };
42
+ /** Error information */
43
+ error?: {
44
+ message: string;
45
+ code?: string;
46
+ stack?: string;
47
+ };
48
+ }
49
+ /**
50
+ * Trace Pack configuration
51
+ */
52
+ export interface TracePackConfig {
53
+ /** Output directory for trace files */
54
+ outputDir: string;
55
+ /** Session ID */
56
+ sessionId: string;
57
+ /** Whether to buffer writes */
58
+ buffered?: boolean;
59
+ /** Max buffer size before flush */
60
+ maxBufferSize?: number;
61
+ }
62
+ /**
63
+ * Trace Pack - JSONL logger for session/task state transitions
64
+ */
65
+ export declare class TracePack {
66
+ private config;
67
+ private outputPath;
68
+ private buffer;
69
+ private writeStream;
70
+ constructor(config: TracePackConfig);
71
+ /**
72
+ * Get the output file path
73
+ */
74
+ getOutputPath(): string;
75
+ /**
76
+ * Log a trace entry
77
+ */
78
+ log(entry: Omit<TraceEntry, 'timestamp' | 'session_id'>): void;
79
+ /**
80
+ * Log session start
81
+ */
82
+ sessionStart(data?: Record<string, unknown>): void;
83
+ /**
84
+ * Log session end
85
+ */
86
+ sessionEnd(data?: Record<string, unknown>): void;
87
+ /**
88
+ * Log task group start
89
+ */
90
+ taskGroupStart(taskGroupId: string, data?: Record<string, unknown>): void;
91
+ /**
92
+ * Log task group end
93
+ */
94
+ taskGroupEnd(taskGroupId: string, data?: Record<string, unknown>): void;
95
+ /**
96
+ * Log task start
97
+ */
98
+ taskStart(taskGroupId: string, taskId: string, data?: Record<string, unknown>): void;
99
+ /**
100
+ * Log task state change
101
+ */
102
+ taskStateChange(taskGroupId: string, taskId: string, fromState: string, toState: string, data?: Record<string, unknown>): void;
103
+ /**
104
+ * Log task end
105
+ */
106
+ taskEnd(taskGroupId: string, taskId: string, finalState: string, data?: Record<string, unknown>): void;
107
+ /**
108
+ * Log executor call
109
+ */
110
+ executorCall(taskGroupId: string, taskId: string, data?: Record<string, unknown>): void;
111
+ /**
112
+ * Log executor result
113
+ */
114
+ executorResult(taskGroupId: string, taskId: string, status: string, data?: Record<string, unknown>): void;
115
+ /**
116
+ * Log verification start
117
+ */
118
+ verificationStart(taskGroupId: string, taskId: string, data?: Record<string, unknown>): void;
119
+ /**
120
+ * Log verification result
121
+ */
122
+ verificationResult(taskGroupId: string, taskId: string, passed: boolean, checks: Array<{
123
+ name: string;
124
+ passed: boolean;
125
+ message?: string;
126
+ }>, data?: Record<string, unknown>): void;
127
+ /**
128
+ * Log error
129
+ */
130
+ error(message: string, code?: string, taskGroupId?: string, taskId?: string): void;
131
+ /**
132
+ * Log warning
133
+ */
134
+ warning(message: string, taskGroupId?: string, taskId?: string): void;
135
+ /**
136
+ * Flush buffer to file
137
+ */
138
+ flush(): void;
139
+ /**
140
+ * Write single entry to file
141
+ */
142
+ private writeEntry;
143
+ /**
144
+ * Close the trace pack
145
+ */
146
+ close(): void;
147
+ }
148
+ /**
149
+ * Verify trace file format compliance
150
+ */
151
+ export interface VerifyResult {
152
+ valid: boolean;
153
+ entryCount: number;
154
+ errors: Array<{
155
+ line: number;
156
+ error: string;
157
+ }>;
158
+ warnings: Array<{
159
+ line: number;
160
+ warning: string;
161
+ }>;
162
+ summary: {
163
+ sessionStarts: number;
164
+ sessionEnds: number;
165
+ taskGroupStarts: number;
166
+ taskGroupEnds: number;
167
+ taskStarts: number;
168
+ taskEnds: number;
169
+ stateChanges: number;
170
+ verificationResults: number;
171
+ errors: number;
172
+ };
173
+ }
174
+ /**
175
+ * Verify a trace file for format compliance
176
+ */
177
+ export declare function verifyTraceFile(filePath: string): VerifyResult;
178
+ /**
179
+ * Read and parse a trace file
180
+ */
181
+ export declare function readTraceFile(filePath: string): TraceEntry[];
182
+ //# sourceMappingURL=trace-pack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-pack.d.ts","sourceRoot":"","sources":["../../src/trace/trace-pack.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH;;GAEG;AACH,MAAM,MAAM,cAAc,GACtB,eAAe,GACf,aAAa,GACb,kBAAkB,GAClB,gBAAgB,GAChB,YAAY,GACZ,mBAAmB,GACnB,UAAU,GACV,eAAe,GACf,iBAAiB,GACjB,oBAAoB,GACpB,qBAAqB,GACrB,OAAO,GACP,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,KAAK,EAAE,cAAc,CAAC;IACtB,yBAAyB;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,oDAAoD;IACpD,mBAAmB,CAAC,EAAE;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,OAAO,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC,CAAC;KACJ,CAAC;IACF,wBAAwB;IACxB,KAAK,CAAC,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,WAAW,CAA+B;gBAEtC,MAAM,EAAE,eAAe;IAoBnC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,YAAY,CAAC,GAAG,IAAI;IAiB9D;;OAEG;IACH,YAAY,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAOlD;;OAEG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQhD;;OAEG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQzE;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQvE;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASpF;;OAEG;IACH,eAAe,CACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;IAWP;;OAEG;IACH,OAAO,CACL,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;IAUP;;OAEG;IACH,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASvF;;OAEG;IACH,cAAc,CACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;IAUP;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS5F;;OAEG;IACH,kBAAkB,CAChB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,EAClE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI;IAUP;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IASlF;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IASrE;;OAEG;IACH,KAAK,IAAI,IAAI;IASb;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,KAAK,IAAI,IAAI;CAOd;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,QAAQ,EAAE,KAAK,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC,CAAC;IACH,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CA0I9D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAS5D"}
@@ -0,0 +1,407 @@
1
+ "use strict";
2
+ /**
3
+ * Trace Pack - Minimal JSONL logging for session/task state transitions
4
+ *
5
+ * Per spec:
6
+ * - JSONL format (one JSON object per line)
7
+ * - Records: session_id, task_group_id, task_id, state transitions, verification results
8
+ * - Verify function for output format compliance
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.TracePack = void 0;
45
+ exports.verifyTraceFile = verifyTraceFile;
46
+ exports.readTraceFile = readTraceFile;
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ /**
50
+ * Trace Pack - JSONL logger for session/task state transitions
51
+ */
52
+ class TracePack {
53
+ config;
54
+ outputPath;
55
+ buffer = [];
56
+ writeStream = null;
57
+ constructor(config) {
58
+ this.config = {
59
+ buffered: true,
60
+ maxBufferSize: 100,
61
+ ...config,
62
+ };
63
+ // Ensure output directory exists
64
+ if (!fs.existsSync(this.config.outputDir)) {
65
+ fs.mkdirSync(this.config.outputDir, { recursive: true });
66
+ }
67
+ // Create trace file path
68
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
69
+ this.outputPath = path.join(this.config.outputDir, 'trace-' + this.config.sessionId + '-' + timestamp + '.jsonl');
70
+ }
71
+ /**
72
+ * Get the output file path
73
+ */
74
+ getOutputPath() {
75
+ return this.outputPath;
76
+ }
77
+ /**
78
+ * Log a trace entry
79
+ */
80
+ log(entry) {
81
+ const fullEntry = {
82
+ timestamp: new Date().toISOString(),
83
+ session_id: this.config.sessionId,
84
+ ...entry,
85
+ };
86
+ if (this.config.buffered) {
87
+ this.buffer.push(fullEntry);
88
+ if (this.buffer.length >= (this.config.maxBufferSize || 100)) {
89
+ this.flush();
90
+ }
91
+ }
92
+ else {
93
+ this.writeEntry(fullEntry);
94
+ }
95
+ }
96
+ /**
97
+ * Log session start
98
+ */
99
+ sessionStart(data) {
100
+ this.log({
101
+ event: 'SESSION_START',
102
+ data,
103
+ });
104
+ }
105
+ /**
106
+ * Log session end
107
+ */
108
+ sessionEnd(data) {
109
+ this.log({
110
+ event: 'SESSION_END',
111
+ data,
112
+ });
113
+ this.flush();
114
+ }
115
+ /**
116
+ * Log task group start
117
+ */
118
+ taskGroupStart(taskGroupId, data) {
119
+ this.log({
120
+ event: 'TASK_GROUP_START',
121
+ task_group_id: taskGroupId,
122
+ data,
123
+ });
124
+ }
125
+ /**
126
+ * Log task group end
127
+ */
128
+ taskGroupEnd(taskGroupId, data) {
129
+ this.log({
130
+ event: 'TASK_GROUP_END',
131
+ task_group_id: taskGroupId,
132
+ data,
133
+ });
134
+ }
135
+ /**
136
+ * Log task start
137
+ */
138
+ taskStart(taskGroupId, taskId, data) {
139
+ this.log({
140
+ event: 'TASK_START',
141
+ task_group_id: taskGroupId,
142
+ task_id: taskId,
143
+ data,
144
+ });
145
+ }
146
+ /**
147
+ * Log task state change
148
+ */
149
+ taskStateChange(taskGroupId, taskId, fromState, toState, data) {
150
+ this.log({
151
+ event: 'TASK_STATE_CHANGE',
152
+ task_group_id: taskGroupId,
153
+ task_id: taskId,
154
+ from_state: fromState,
155
+ to_state: toState,
156
+ data,
157
+ });
158
+ }
159
+ /**
160
+ * Log task end
161
+ */
162
+ taskEnd(taskGroupId, taskId, finalState, data) {
163
+ this.log({
164
+ event: 'TASK_END',
165
+ task_group_id: taskGroupId,
166
+ task_id: taskId,
167
+ to_state: finalState,
168
+ data,
169
+ });
170
+ }
171
+ /**
172
+ * Log executor call
173
+ */
174
+ executorCall(taskGroupId, taskId, data) {
175
+ this.log({
176
+ event: 'EXECUTOR_CALL',
177
+ task_group_id: taskGroupId,
178
+ task_id: taskId,
179
+ data,
180
+ });
181
+ }
182
+ /**
183
+ * Log executor result
184
+ */
185
+ executorResult(taskGroupId, taskId, status, data) {
186
+ this.log({
187
+ event: 'EXECUTOR_RESULT',
188
+ task_group_id: taskGroupId,
189
+ task_id: taskId,
190
+ to_state: status,
191
+ data,
192
+ });
193
+ }
194
+ /**
195
+ * Log verification start
196
+ */
197
+ verificationStart(taskGroupId, taskId, data) {
198
+ this.log({
199
+ event: 'VERIFICATION_START',
200
+ task_group_id: taskGroupId,
201
+ task_id: taskId,
202
+ data,
203
+ });
204
+ }
205
+ /**
206
+ * Log verification result
207
+ */
208
+ verificationResult(taskGroupId, taskId, passed, checks, data) {
209
+ this.log({
210
+ event: 'VERIFICATION_RESULT',
211
+ task_group_id: taskGroupId,
212
+ task_id: taskId,
213
+ verification_result: { passed, checks },
214
+ data,
215
+ });
216
+ }
217
+ /**
218
+ * Log error
219
+ */
220
+ error(message, code, taskGroupId, taskId) {
221
+ this.log({
222
+ event: 'ERROR',
223
+ task_group_id: taskGroupId,
224
+ task_id: taskId,
225
+ error: { message, code },
226
+ });
227
+ }
228
+ /**
229
+ * Log warning
230
+ */
231
+ warning(message, taskGroupId, taskId) {
232
+ this.log({
233
+ event: 'WARNING',
234
+ task_group_id: taskGroupId,
235
+ task_id: taskId,
236
+ data: { message },
237
+ });
238
+ }
239
+ /**
240
+ * Flush buffer to file
241
+ */
242
+ flush() {
243
+ if (this.buffer.length === 0)
244
+ return;
245
+ const entries = this.buffer.splice(0, this.buffer.length);
246
+ for (const entry of entries) {
247
+ this.writeEntry(entry);
248
+ }
249
+ }
250
+ /**
251
+ * Write single entry to file
252
+ */
253
+ writeEntry(entry) {
254
+ const line = JSON.stringify(entry) + '\n';
255
+ fs.appendFileSync(this.outputPath, line, 'utf-8');
256
+ }
257
+ /**
258
+ * Close the trace pack
259
+ */
260
+ close() {
261
+ this.flush();
262
+ if (this.writeStream) {
263
+ this.writeStream.end();
264
+ this.writeStream = null;
265
+ }
266
+ }
267
+ }
268
+ exports.TracePack = TracePack;
269
+ /**
270
+ * Verify a trace file for format compliance
271
+ */
272
+ function verifyTraceFile(filePath) {
273
+ const result = {
274
+ valid: true,
275
+ entryCount: 0,
276
+ errors: [],
277
+ warnings: [],
278
+ summary: {
279
+ sessionStarts: 0,
280
+ sessionEnds: 0,
281
+ taskGroupStarts: 0,
282
+ taskGroupEnds: 0,
283
+ taskStarts: 0,
284
+ taskEnds: 0,
285
+ stateChanges: 0,
286
+ verificationResults: 0,
287
+ errors: 0,
288
+ },
289
+ };
290
+ if (!fs.existsSync(filePath)) {
291
+ result.valid = false;
292
+ result.errors.push({ line: 0, error: 'File does not exist' });
293
+ return result;
294
+ }
295
+ const content = fs.readFileSync(filePath, 'utf-8');
296
+ const lines = content.split('\n').filter((line) => line.trim().length > 0);
297
+ for (let i = 0; i < lines.length; i++) {
298
+ const lineNum = i + 1;
299
+ const line = lines[i];
300
+ try {
301
+ const entry = JSON.parse(line);
302
+ result.entryCount++;
303
+ // Validate required fields
304
+ if (!entry.timestamp) {
305
+ result.errors.push({ line: lineNum, error: 'Missing timestamp' });
306
+ result.valid = false;
307
+ }
308
+ if (!entry.event) {
309
+ result.errors.push({ line: lineNum, error: 'Missing event type' });
310
+ result.valid = false;
311
+ }
312
+ if (!entry.session_id) {
313
+ result.errors.push({ line: lineNum, error: 'Missing session_id' });
314
+ result.valid = false;
315
+ }
316
+ // Validate timestamp format
317
+ if (entry.timestamp && isNaN(Date.parse(entry.timestamp))) {
318
+ result.errors.push({ line: lineNum, error: 'Invalid timestamp format' });
319
+ result.valid = false;
320
+ }
321
+ // Count event types
322
+ switch (entry.event) {
323
+ case 'SESSION_START':
324
+ result.summary.sessionStarts++;
325
+ break;
326
+ case 'SESSION_END':
327
+ result.summary.sessionEnds++;
328
+ break;
329
+ case 'TASK_GROUP_START':
330
+ result.summary.taskGroupStarts++;
331
+ break;
332
+ case 'TASK_GROUP_END':
333
+ result.summary.taskGroupEnds++;
334
+ break;
335
+ case 'TASK_START':
336
+ result.summary.taskStarts++;
337
+ break;
338
+ case 'TASK_END':
339
+ result.summary.taskEnds++;
340
+ break;
341
+ case 'TASK_STATE_CHANGE':
342
+ result.summary.stateChanges++;
343
+ break;
344
+ case 'VERIFICATION_RESULT':
345
+ result.summary.verificationResults++;
346
+ break;
347
+ case 'ERROR':
348
+ result.summary.errors++;
349
+ break;
350
+ }
351
+ // Validate state change events have from_state and to_state
352
+ if (entry.event === 'TASK_STATE_CHANGE') {
353
+ if (!entry.from_state) {
354
+ result.warnings.push({ line: lineNum, warning: 'State change missing from_state' });
355
+ }
356
+ if (!entry.to_state) {
357
+ result.warnings.push({ line: lineNum, warning: 'State change missing to_state' });
358
+ }
359
+ }
360
+ // Validate verification result events have verification_result
361
+ if (entry.event === 'VERIFICATION_RESULT' && !entry.verification_result) {
362
+ result.warnings.push({ line: lineNum, warning: 'Verification result event missing verification_result' });
363
+ }
364
+ // Validate error events have error
365
+ if (entry.event === 'ERROR' && !entry.error) {
366
+ result.warnings.push({ line: lineNum, warning: 'Error event missing error details' });
367
+ }
368
+ }
369
+ catch (e) {
370
+ result.valid = false;
371
+ const errMsg = e.message;
372
+ result.errors.push({ line: lineNum, error: 'Invalid JSON: ' + errMsg });
373
+ }
374
+ }
375
+ // Check for balanced starts/ends
376
+ if (result.summary.sessionStarts !== result.summary.sessionEnds) {
377
+ result.warnings.push({
378
+ line: 0,
379
+ warning: 'Unbalanced sessions: ' + result.summary.sessionStarts + ' starts, ' + result.summary.sessionEnds + ' ends',
380
+ });
381
+ }
382
+ if (result.summary.taskGroupStarts !== result.summary.taskGroupEnds) {
383
+ result.warnings.push({
384
+ line: 0,
385
+ warning: 'Unbalanced task groups: ' + result.summary.taskGroupStarts + ' starts, ' + result.summary.taskGroupEnds + ' ends',
386
+ });
387
+ }
388
+ if (result.summary.taskStarts !== result.summary.taskEnds) {
389
+ result.warnings.push({
390
+ line: 0,
391
+ warning: 'Unbalanced tasks: ' + result.summary.taskStarts + ' starts, ' + result.summary.taskEnds + ' ends',
392
+ });
393
+ }
394
+ return result;
395
+ }
396
+ /**
397
+ * Read and parse a trace file
398
+ */
399
+ function readTraceFile(filePath) {
400
+ if (!fs.existsSync(filePath)) {
401
+ return [];
402
+ }
403
+ const content = fs.readFileSync(filePath, 'utf-8');
404
+ const lines = content.split('\n').filter((line) => line.trim().length > 0);
405
+ return lines.map((line) => JSON.parse(line));
406
+ }
407
+ //# sourceMappingURL=trace-pack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trace-pack.js","sourceRoot":"","sources":["../../src/trace/trace-pack.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "pm-orchestrator-runner",
3
- "version": "1.0.8",
3
+ "version": "1.0.9",
4
4
  "description": "CLI tool that enforces controlled execution of Claude Code through mandatory orchestration",
5
5
  "main": "dist/cli/index.js",
6
6
  "bin": {
7
- "pm-orchestrator": "dist/cli/index.js"
7
+ "pm": "dist/cli/index.js"
8
8
  },
9
9
  "files": [
10
10
  "dist",