@principles/pd-cli 1.94.0 → 1.95.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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-record.d.ts","sourceRoot":"","sources":["../../src/commands/pain-record.ts"],"names":[],"mappings":"AAmBA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"pain-record.d.ts","sourceRoot":"","sources":["../../src/commands/pain-record.ts"],"names":[],"mappings":"AAmBA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CA8LzE"}
|
|
@@ -144,12 +144,22 @@ export async function handlePainRecord(opts) {
|
|
|
144
144
|
if (result.message)
|
|
145
145
|
console.error(` Details: ${result.message}`);
|
|
146
146
|
process.exit(1);
|
|
147
|
+
return;
|
|
147
148
|
}
|
|
148
149
|
}
|
|
149
150
|
if (opts.json) {
|
|
150
|
-
|
|
151
|
-
|
|
151
|
+
const out = { ...result };
|
|
152
|
+
// Ensure nextAction is present for actionable states
|
|
153
|
+
if (out.status === 'submitted') {
|
|
154
|
+
if (!out.nextAction) {
|
|
155
|
+
out.nextAction = `pd diagnose run --task-id ${out.taskId} --workspace "${workspaceDir}"`;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
console.log(JSON.stringify(out, null, 2));
|
|
159
|
+
if (result.status !== 'succeeded' && result.status !== 'skipped' && result.status !== 'retried' && result.status !== 'submitted') {
|
|
152
160
|
process.exit(1);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
153
163
|
}
|
|
154
164
|
else {
|
|
155
165
|
if (result.status === 'succeeded') {
|
|
@@ -178,7 +188,7 @@ export async function handlePainRecord(opts) {
|
|
|
178
188
|
console.log(` Pain ID: ${result.painId}`);
|
|
179
189
|
console.log(` Task ID: ${result.taskId}`);
|
|
180
190
|
console.log(` Status: submitted`);
|
|
181
|
-
console.log(` Next action: pd task
|
|
191
|
+
console.log(` Next action: pd diagnose run --task-id ${result.taskId} --workspace "${workspaceDir}"`);
|
|
182
192
|
if (result.latencyMs !== undefined)
|
|
183
193
|
console.log(` Submit latency: ${result.latencyMs}ms`);
|
|
184
194
|
}
|
|
@@ -195,6 +205,7 @@ export async function handlePainRecord(opts) {
|
|
|
195
205
|
else {
|
|
196
206
|
console.error('[FAIL] Pain signal failed:', result.message);
|
|
197
207
|
process.exit(1);
|
|
208
|
+
return;
|
|
198
209
|
}
|
|
199
210
|
}
|
|
200
211
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pain-record.js","sourceRoot":"","sources":["../../src/commands/pain-record.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"pain-record.js","sourceRoot":"","sources":["../../src/commands/pain-record.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -163,12 +163,23 @@ export async function handlePainRecord(opts: RecordOptions): Promise<void> {
|
|
|
163
163
|
|
|
164
164
|
if (result.message) console.error(` Details: ${result.message}`);
|
|
165
165
|
process.exit(1);
|
|
166
|
+
return;
|
|
166
167
|
}
|
|
167
168
|
}
|
|
168
169
|
|
|
169
170
|
if (opts.json) {
|
|
170
|
-
|
|
171
|
-
|
|
171
|
+
const out = { ...result };
|
|
172
|
+
// Ensure nextAction is present for actionable states
|
|
173
|
+
if (out.status === 'submitted') {
|
|
174
|
+
if (!out.nextAction) {
|
|
175
|
+
out.nextAction = `pd diagnose run --task-id ${out.taskId} --workspace "${workspaceDir}"`;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
console.log(JSON.stringify(out, null, 2));
|
|
179
|
+
if (result.status !== 'succeeded' && result.status !== 'skipped' && result.status !== 'retried' && result.status !== 'submitted') {
|
|
180
|
+
process.exit(1);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
172
183
|
} else {
|
|
173
184
|
if (result.status === 'succeeded') {
|
|
174
185
|
console.log('[OK] Pain signal recorded via PainToPrincipleService');
|
|
@@ -190,7 +201,7 @@ export async function handlePainRecord(opts: RecordOptions): Promise<void> {
|
|
|
190
201
|
console.log(` Pain ID: ${result.painId}`);
|
|
191
202
|
console.log(` Task ID: ${result.taskId}`);
|
|
192
203
|
console.log(` Status: submitted`);
|
|
193
|
-
console.log(` Next action: pd task
|
|
204
|
+
console.log(` Next action: pd diagnose run --task-id ${result.taskId} --workspace "${workspaceDir}"`);
|
|
194
205
|
if (result.latencyMs !== undefined) console.log(` Submit latency: ${result.latencyMs}ms`);
|
|
195
206
|
} else if (result.status === 'skipped') {
|
|
196
207
|
console.log(`[SKIP] Task already in progress: ${result.message ?? 'unknown'}`);
|
|
@@ -203,6 +214,7 @@ export async function handlePainRecord(opts: RecordOptions): Promise<void> {
|
|
|
203
214
|
} else {
|
|
204
215
|
console.error('[FAIL] Pain signal failed:', result.message);
|
|
205
216
|
process.exit(1);
|
|
217
|
+
return;
|
|
206
218
|
}
|
|
207
219
|
}
|
|
208
220
|
}
|
|
@@ -155,7 +155,7 @@ describe('pd pain record async mode (PRI-369)', () => {
|
|
|
155
155
|
const allOutput = logSpy.mock.calls.map(c => c.join(' ')).join(' ');
|
|
156
156
|
expect(allOutput).toContain('[SUBMITTED]');
|
|
157
157
|
expect(allOutput).toContain('submitted');
|
|
158
|
-
expect(allOutput).toContain('pd task
|
|
158
|
+
expect(allOutput).toContain('Next action: pd diagnose run --task-id');
|
|
159
159
|
expect(exitSpy).not.toHaveBeenCalledWith(1);
|
|
160
160
|
|
|
161
161
|
logSpy.mockRestore();
|
|
@@ -240,4 +240,79 @@ describe('pd pain record async mode (PRI-369)', () => {
|
|
|
240
240
|
logSpy.mockRestore();
|
|
241
241
|
exitSpy.mockRestore();
|
|
242
242
|
});
|
|
243
|
+
|
|
244
|
+
// 7. Stubbed process.exit(1) does not cause side effects in JSON mode
|
|
245
|
+
it('stubbed process.exit(1) in JSON mode does not execute else branch', async () => {
|
|
246
|
+
mockRecordPainResult = {
|
|
247
|
+
status: 'failed',
|
|
248
|
+
painId: 'manual_123_abc',
|
|
249
|
+
taskId: 'diagnosis_manual_123_abc',
|
|
250
|
+
candidateIds: ['c1'],
|
|
251
|
+
ledgerEntryIds: ['l1'],
|
|
252
|
+
observabilityWarnings: [],
|
|
253
|
+
failureCategory: 'runtime_unavailable' as FailureCategory,
|
|
254
|
+
latencyMs: 5,
|
|
255
|
+
message: 'Task creation failed',
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
const logSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
|
|
259
|
+
const errorSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
|
|
260
|
+
const exitSpy = mockProcessExit();
|
|
261
|
+
|
|
262
|
+
await handlePainRecord({ reason: 'test pain', json: true });
|
|
263
|
+
|
|
264
|
+
// Verify JSON output was printed
|
|
265
|
+
expect(logSpy).toHaveBeenCalledTimes(1);
|
|
266
|
+
const jsonOutput = JSON.parse(logSpy.mock.calls[0][0]);
|
|
267
|
+
expect(jsonOutput.status).toBe('failed');
|
|
268
|
+
expect(jsonOutput.candidateIds).toEqual(['c1']);
|
|
269
|
+
|
|
270
|
+
// Verify process.exit(1) was called
|
|
271
|
+
expect(exitSpy).toHaveBeenCalledWith(1);
|
|
272
|
+
|
|
273
|
+
// Verify else branch was NOT executed (no error.log for [FAIL] message)
|
|
274
|
+
expect(errorSpy).not.toHaveBeenCalled();
|
|
275
|
+
|
|
276
|
+
logSpy.mockRestore();
|
|
277
|
+
errorSpy.mockRestore();
|
|
278
|
+
exitSpy.mockRestore();
|
|
279
|
+
});
|
|
280
|
+
|
|
281
|
+
// 8. Stubbed process.exit(1) does not cause side effects in text mode
|
|
282
|
+
it('stubbed process.exit(1) in text mode stops after error message', async () => {
|
|
283
|
+
mockRecordPainResult = {
|
|
284
|
+
status: 'failed',
|
|
285
|
+
painId: 'manual_123_abc',
|
|
286
|
+
taskId: 'diagnosis_manual_123_abc',
|
|
287
|
+
candidateIds: ['c1'],
|
|
288
|
+
ledgerEntryIds: ['l1'],
|
|
289
|
+
observabilityWarnings: [],
|
|
290
|
+
failureCategory: 'runtime_unavailable' as FailureCategory,
|
|
291
|
+
latencyMs: 5,
|
|
292
|
+
message: 'Test failure message',
|
|
293
|
+
};
|
|
294
|
+
|
|
295
|
+
const errorSpy = vi.spyOn(console, 'error').mockImplementation(() => {});
|
|
296
|
+
const logSpy = vi.spyOn(console, 'log').mockImplementation(() => {});
|
|
297
|
+
const exitSpy = mockProcessExit();
|
|
298
|
+
|
|
299
|
+
await handlePainRecord({ reason: 'test pain' }); // Not json mode
|
|
300
|
+
|
|
301
|
+
// Verify [FAIL] error message was printed
|
|
302
|
+
expect(errorSpy).toHaveBeenCalledWith('[FAIL] Pain signal failed:', 'Test failure message');
|
|
303
|
+
|
|
304
|
+
// Verify process.exit(1) was called
|
|
305
|
+
expect(exitSpy).toHaveBeenCalledWith(1);
|
|
306
|
+
|
|
307
|
+
// Verify no success/submitted/skip/retry messages were printed after exit
|
|
308
|
+
const allLogMessages = logSpy.mock.calls.flat();
|
|
309
|
+
const forbiddenPatterns = ['[OK]', '[SUBMITTED]', '[SKIP]', '[RETRY]'];
|
|
310
|
+
for (const pattern of forbiddenPatterns) {
|
|
311
|
+
expect(allLogMessages).not.toEqual(expect.stringContaining(pattern));
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
logSpy.mockRestore();
|
|
315
|
+
errorSpy.mockRestore();
|
|
316
|
+
exitSpy.mockRestore();
|
|
317
|
+
});
|
|
243
318
|
});
|