@principles/pd-cli 1.112.0 → 1.114.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.
- package/dist/commands/__tests__/run-rulehost-flag-wiring.test.d.ts +24 -0
- package/dist/commands/__tests__/run-rulehost-flag-wiring.test.d.ts.map +1 -0
- package/dist/commands/__tests__/run-rulehost-flag-wiring.test.js +223 -0
- package/dist/commands/__tests__/run-rulehost-flag-wiring.test.js.map +1 -0
- package/dist/commands/runtime-activation.d.ts +37 -0
- package/dist/commands/runtime-activation.d.ts.map +1 -1
- package/dist/commands/runtime-activation.js +416 -2
- package/dist/commands/runtime-activation.js.map +1 -1
- package/dist/commands/runtime-internalization-run-rulehost.d.ts +23 -0
- package/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -0
- package/dist/commands/runtime-internalization-run-rulehost.js +364 -0
- package/dist/commands/runtime-internalization-run-rulehost.js.map +1 -0
- package/dist/index.js +56 -1
- package/dist/index.js.map +1 -1
- package/dist/services/demo-rule-compiler.d.ts +24 -0
- package/dist/services/demo-rule-compiler.d.ts.map +1 -0
- package/dist/services/demo-rule-compiler.js +53 -0
- package/dist/services/demo-rule-compiler.js.map +1 -0
- package/dist/services/rulehost-pipeline-runner.d.ts +132 -0
- package/dist/services/rulehost-pipeline-runner.d.ts.map +1 -0
- package/dist/services/rulehost-pipeline-runner.js +376 -0
- package/dist/services/rulehost-pipeline-runner.js.map +1 -0
- package/package.json +1 -1
- package/scripts/llm-dogfood.ts +419 -0
- package/src/commands/__tests__/run-rulehost-flag-wiring.test.ts +280 -0
- package/src/commands/runtime-activation.ts +459 -1
- package/src/commands/runtime-internalization-run-rulehost.ts +417 -0
- package/src/index.ts +60 -1
- package/src/services/demo-rule-compiler.ts +71 -0
- package/src/services/rulehost-pipeline-runner.ts +638 -0
- package/tests/commands/cli-command-tree.test.ts +14 -0
- package/tests/commands/runtime-activation.test.ts +553 -1
- package/tests/e2e/cross-package-acceptance.test.ts +549 -0
- package/tests/services/rulehost-pipeline-e2e.test.ts +477 -0
- package/tests/services/rulehost-pipeline-runner.test.ts +525 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as path from 'path';
|
|
2
|
-
import { RuntimeStateManager, ActivationDispatcher, PromptWriter, DeferArchiveWriter, SqliteActivationStateStore, SqliteApprovalQueueStore, } from '@principles/core/runtime-v2';
|
|
2
|
+
import { RuntimeStateManager, ActivationDispatcher, PromptWriter, DeferArchiveWriter, RuleHostWriter, createProductionGateDeps, SqliteActivationStateStore, SqliteApprovalQueueStore, SqlitePIArtifactStore, isArtifactRevisionOf, } from '@principles/core/runtime-v2';
|
|
3
3
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
4
4
|
function mapRolloutDecision(reviewDecision) {
|
|
5
5
|
if (!reviewDecision)
|
|
@@ -124,7 +124,16 @@ export async function handleRuntimeActivationDispatch(opts) {
|
|
|
124
124
|
};
|
|
125
125
|
const activationStateStore = new SqliteActivationStateStore(stateManager.connection);
|
|
126
126
|
const approvalQueueStore = new SqliteApprovalQueueStore(stateManager.connection);
|
|
127
|
-
|
|
127
|
+
// Wire all three MVP-Core writers, including RuleHostWriter for code_tool_hook.
|
|
128
|
+
// PRI-408: fixes P0 breakpoint where code_tool_hook channel could not activate.
|
|
129
|
+
const dispatcher = new ActivationDispatcher(artifactReadModel, activationStateStore, {
|
|
130
|
+
writers: [
|
|
131
|
+
new PromptWriter(),
|
|
132
|
+
new RuleHostWriter({ gateDeps: createProductionGateDeps() }),
|
|
133
|
+
new DeferArchiveWriter(),
|
|
134
|
+
],
|
|
135
|
+
approvalQueueStore,
|
|
136
|
+
});
|
|
128
137
|
const result = await dispatcher.dispatch({
|
|
129
138
|
artifactId: opts.artifactId,
|
|
130
139
|
channel,
|
|
@@ -147,4 +156,409 @@ export async function handleRuntimeActivationDispatch(opts) {
|
|
|
147
156
|
await stateManager.close();
|
|
148
157
|
}
|
|
149
158
|
}
|
|
159
|
+
export async function handleRuntimeActivationDeactivate(opts) {
|
|
160
|
+
if (!opts.activationId) {
|
|
161
|
+
const result = {
|
|
162
|
+
ok: false,
|
|
163
|
+
activationId: '',
|
|
164
|
+
reason: 'activation_id_required',
|
|
165
|
+
nextAction: 'Provide --activation-id <id> from `pd runtime activation list`',
|
|
166
|
+
};
|
|
167
|
+
if (opts.json) {
|
|
168
|
+
console.log(JSON.stringify(result, null, 2));
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
console.error(`Error: --activation-id is required`);
|
|
172
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
173
|
+
}
|
|
174
|
+
process.exitCode = 1;
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
const workspaceDir = opts.workspace ? path.resolve(opts.workspace) : resolveWorkspaceDir();
|
|
178
|
+
const stateManager = new RuntimeStateManager({ workspaceDir });
|
|
179
|
+
try {
|
|
180
|
+
await stateManager.initialize();
|
|
181
|
+
const activationStateStore = new SqliteActivationStateStore(stateManager.connection);
|
|
182
|
+
const deactivatedAt = new Date().toISOString();
|
|
183
|
+
// Idempotent deactivate: returns false if already deactivated or not found.
|
|
184
|
+
// Both cases are safe to call repeatedly (Contract E: rollback must be idempotent).
|
|
185
|
+
const success = await activationStateStore.deactivateActivation(opts.activationId, deactivatedAt);
|
|
186
|
+
const result = success
|
|
187
|
+
? { ok: true, activationId: opts.activationId, deactivatedAt }
|
|
188
|
+
: {
|
|
189
|
+
ok: false,
|
|
190
|
+
activationId: opts.activationId,
|
|
191
|
+
reason: 'not_found_or_already_deactivated',
|
|
192
|
+
nextAction: 'Check activation ID with `pd runtime activation list`, or it may already be deactivated',
|
|
193
|
+
};
|
|
194
|
+
if (opts.json) {
|
|
195
|
+
// Strict JSON mode: exactly one parseable JSON object on stdout
|
|
196
|
+
console.log(JSON.stringify(result, null, 2));
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
if (success) {
|
|
200
|
+
console.log(`Deactivated: ${opts.activationId}`);
|
|
201
|
+
console.log(` deactivatedAt: ${deactivatedAt}`);
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
console.log(`Not deactivated: ${opts.activationId}`);
|
|
205
|
+
console.log(` reason: ${result.reason}`);
|
|
206
|
+
console.log(` nextAction: ${result.nextAction}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (!success) {
|
|
210
|
+
process.exitCode = 1;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch (err) {
|
|
214
|
+
// P2 #5: initialize/DB exceptions must not break --json contract.
|
|
215
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
216
|
+
const result = {
|
|
217
|
+
ok: false,
|
|
218
|
+
activationId: opts.activationId,
|
|
219
|
+
reason: `initialize_failed: ${errMsg}`,
|
|
220
|
+
nextAction: 'Check workspace directory and DB integrity. Try `pd runtime diagnostics`.',
|
|
221
|
+
};
|
|
222
|
+
if (opts.json) {
|
|
223
|
+
console.log(JSON.stringify(result, null, 2));
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
console.error(`Error: ${result.reason}`);
|
|
227
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
228
|
+
}
|
|
229
|
+
process.exitCode = 1;
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
await stateManager.close();
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
export async function handleRuntimeActivationList(opts) {
|
|
236
|
+
// P2 #5 fix: fail loud on invalid channel instead of silently listing all.
|
|
237
|
+
const VALID_CHANNELS = new Set(['prompt', 'code_tool_hook', undefined]);
|
|
238
|
+
if (opts.channel !== undefined && !VALID_CHANNELS.has(opts.channel)) {
|
|
239
|
+
const result = {
|
|
240
|
+
ok: false,
|
|
241
|
+
reason: `invalid_channel: ${opts.channel}`,
|
|
242
|
+
nextAction: 'Use one of: prompt, code_tool_hook, or omit --channel to list all',
|
|
243
|
+
};
|
|
244
|
+
if (opts.json) {
|
|
245
|
+
console.log(JSON.stringify(result, null, 2));
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
console.error(`Error: invalid channel "${opts.channel}"`);
|
|
249
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
250
|
+
}
|
|
251
|
+
process.exitCode = 1;
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
const workspaceDir = opts.workspace ? path.resolve(opts.workspace) : resolveWorkspaceDir();
|
|
255
|
+
const stateManager = new RuntimeStateManager({ workspaceDir });
|
|
256
|
+
try {
|
|
257
|
+
await stateManager.initialize();
|
|
258
|
+
const activationStateStore = new SqliteActivationStateStore(stateManager.connection);
|
|
259
|
+
// P2 #5 fix: pass includeDeactivated to the store so channel-specific queries
|
|
260
|
+
// also return deactivated records when requested. Previously the SQL hardcoded
|
|
261
|
+
// `WHERE deactivated_at IS NULL`, making --include-deactivated a no-op for
|
|
262
|
+
// channel-filtered queries.
|
|
263
|
+
let records;
|
|
264
|
+
if (opts.channel === 'prompt') {
|
|
265
|
+
records = await activationStateStore.listPromptActivations(opts.includeDeactivated ?? false);
|
|
266
|
+
}
|
|
267
|
+
else if (opts.channel === 'code_tool_hook') {
|
|
268
|
+
records = await activationStateStore.listCodeToolHookActivations(opts.includeDeactivated ?? false);
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
records = await activationStateStore.listAllActivations();
|
|
272
|
+
}
|
|
273
|
+
// For listAllActivations, still apply the includeDeactivated filter at the
|
|
274
|
+
// caller level since listAllActivations() does not take the parameter.
|
|
275
|
+
const filtered = opts.includeDeactivated
|
|
276
|
+
? records
|
|
277
|
+
: records.filter(r => r.deactivatedAt === null);
|
|
278
|
+
if (opts.json) {
|
|
279
|
+
// Strict JSON mode: exactly one parseable JSON object on stdout
|
|
280
|
+
console.log(JSON.stringify({ activations: filtered }, null, 2));
|
|
281
|
+
}
|
|
282
|
+
else {
|
|
283
|
+
if (filtered.length === 0) {
|
|
284
|
+
console.log('No active activations found.');
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
for (const r of filtered) {
|
|
288
|
+
const status = r.deactivatedAt ? `[DEACTIVATED ${r.deactivatedAt}]` : '[ACTIVE]';
|
|
289
|
+
console.log(`${status} ${r.activationId}`);
|
|
290
|
+
console.log(` artifactId: ${r.artifactId}`);
|
|
291
|
+
console.log(` channel: ${r.channel}`);
|
|
292
|
+
console.log(` action: ${r.action}`);
|
|
293
|
+
console.log(` targetRef: ${r.targetRef}`);
|
|
294
|
+
console.log(` activatedAt: ${r.activatedAt}`);
|
|
295
|
+
console.log('');
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
catch (err) {
|
|
301
|
+
// P2 #5: initialize/DB exceptions must not break --json contract.
|
|
302
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
303
|
+
const result = {
|
|
304
|
+
ok: false,
|
|
305
|
+
reason: `initialize_failed: ${errMsg}`,
|
|
306
|
+
nextAction: 'Check workspace directory and DB integrity. Try `pd runtime diagnostics`.',
|
|
307
|
+
};
|
|
308
|
+
if (opts.json) {
|
|
309
|
+
console.log(JSON.stringify(result, null, 2));
|
|
310
|
+
}
|
|
311
|
+
else {
|
|
312
|
+
console.error(`Error: ${result.reason}`);
|
|
313
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
314
|
+
}
|
|
315
|
+
process.exitCode = 1;
|
|
316
|
+
}
|
|
317
|
+
finally {
|
|
318
|
+
await stateManager.close();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
export async function handleRuntimeActivationEdit(opts) {
|
|
322
|
+
if (!opts.approvalId) {
|
|
323
|
+
const result = {
|
|
324
|
+
ok: false,
|
|
325
|
+
reason: 'approval_id_required',
|
|
326
|
+
nextAction: 'Provide --approval-id <id> from Console approvals page',
|
|
327
|
+
};
|
|
328
|
+
if (opts.json) {
|
|
329
|
+
console.log(JSON.stringify(result, null, 2));
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
console.error('Error: --approval-id is required');
|
|
333
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
334
|
+
}
|
|
335
|
+
process.exitCode = 1;
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
if (!opts.newArtifactId) {
|
|
339
|
+
const result = {
|
|
340
|
+
ok: false,
|
|
341
|
+
reason: 'new_artifact_id_required',
|
|
342
|
+
nextAction: 'Create a new artifact first (e.g. via pd candidate intake), then pass its ID with --new-artifact-id',
|
|
343
|
+
};
|
|
344
|
+
if (opts.json) {
|
|
345
|
+
console.log(JSON.stringify(result, null, 2));
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
console.error('Error: --new-artifact-id is required');
|
|
349
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
350
|
+
}
|
|
351
|
+
process.exitCode = 1;
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
if (!opts.editReason) {
|
|
355
|
+
const result = {
|
|
356
|
+
ok: false,
|
|
357
|
+
reason: 'edit_reason_required',
|
|
358
|
+
nextAction: 'Provide --edit-reason explaining why the artifact is being revised',
|
|
359
|
+
};
|
|
360
|
+
if (opts.json) {
|
|
361
|
+
console.log(JSON.stringify(result, null, 2));
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
console.error('Error: --edit-reason is required');
|
|
365
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
366
|
+
}
|
|
367
|
+
process.exitCode = 1;
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
const workspaceDir = opts.workspace ? path.resolve(opts.workspace) : resolveWorkspaceDir();
|
|
371
|
+
const stateManager = new RuntimeStateManager({ workspaceDir });
|
|
372
|
+
try {
|
|
373
|
+
await stateManager.initialize();
|
|
374
|
+
const approvalStore = new SqliteApprovalQueueStore(stateManager.connection);
|
|
375
|
+
const artifactStore = new SqlitePIArtifactStore(stateManager.connection);
|
|
376
|
+
const now = new Date().toISOString();
|
|
377
|
+
// P1 #2: validate the new artifact before swapping the approval pointer.
|
|
378
|
+
// The new artifact must exist, be validated, and have lineage consistent
|
|
379
|
+
// with the original approval's artifact (same sourceTaskId).
|
|
380
|
+
const existingApproval = await approvalStore.getById(opts.approvalId);
|
|
381
|
+
if (!existingApproval) {
|
|
382
|
+
const result = {
|
|
383
|
+
ok: false,
|
|
384
|
+
approvalId: opts.approvalId,
|
|
385
|
+
reason: 'not_found',
|
|
386
|
+
nextAction: 'Check the approval ID on Console approvals page',
|
|
387
|
+
};
|
|
388
|
+
if (opts.json) {
|
|
389
|
+
console.log(JSON.stringify(result, null, 2));
|
|
390
|
+
}
|
|
391
|
+
else {
|
|
392
|
+
console.error(`Edit refused: ${result.reason}`);
|
|
393
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
394
|
+
}
|
|
395
|
+
process.exitCode = 1;
|
|
396
|
+
await stateManager.close();
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
if (existingApproval.status !== 'pending') {
|
|
400
|
+
const result = {
|
|
401
|
+
ok: false,
|
|
402
|
+
approvalId: opts.approvalId,
|
|
403
|
+
reason: 'already_decided',
|
|
404
|
+
nextAction: `Approval is already decided (status: ${existingApproval.status}). Only pending approvals can be edited.`,
|
|
405
|
+
};
|
|
406
|
+
if (opts.json) {
|
|
407
|
+
console.log(JSON.stringify(result, null, 2));
|
|
408
|
+
}
|
|
409
|
+
else {
|
|
410
|
+
console.error(`Edit refused: ${result.reason}`);
|
|
411
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
412
|
+
}
|
|
413
|
+
process.exitCode = 1;
|
|
414
|
+
await stateManager.close();
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
417
|
+
const newArtifact = await artifactStore.getArtifactById(opts.newArtifactId);
|
|
418
|
+
if (!newArtifact) {
|
|
419
|
+
const result = {
|
|
420
|
+
ok: false,
|
|
421
|
+
approvalId: opts.approvalId,
|
|
422
|
+
reason: 'artifact_not_found',
|
|
423
|
+
nextAction: `Artifact ${opts.newArtifactId} does not exist. Create it first via pd candidate intake.`,
|
|
424
|
+
};
|
|
425
|
+
if (opts.json) {
|
|
426
|
+
console.log(JSON.stringify(result, null, 2));
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
console.error(`Edit refused: ${result.reason}`);
|
|
430
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
431
|
+
}
|
|
432
|
+
process.exitCode = 1;
|
|
433
|
+
await stateManager.close();
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
if (newArtifact.validationStatus !== 'validated') {
|
|
437
|
+
const result = {
|
|
438
|
+
ok: false,
|
|
439
|
+
approvalId: opts.approvalId,
|
|
440
|
+
reason: `artifact_not_validated: ${newArtifact.validationStatus}`,
|
|
441
|
+
nextAction: `Artifact ${opts.newArtifactId} has validationStatus '${newArtifact.validationStatus}'. Run the production gate to validate it first.`,
|
|
442
|
+
};
|
|
443
|
+
if (opts.json) {
|
|
444
|
+
console.log(JSON.stringify(result, null, 2));
|
|
445
|
+
}
|
|
446
|
+
else {
|
|
447
|
+
console.error(`Edit refused: ${result.reason}`);
|
|
448
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
449
|
+
}
|
|
450
|
+
process.exitCode = 1;
|
|
451
|
+
await stateManager.close();
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
const originalArtifact = await artifactStore.getArtifactById(existingApproval.artifactId);
|
|
455
|
+
if (!originalArtifact || !isArtifactRevisionOf(newArtifact, originalArtifact)) {
|
|
456
|
+
const result = {
|
|
457
|
+
ok: false,
|
|
458
|
+
approvalId: opts.approvalId,
|
|
459
|
+
reason: 'artifact_lineage_mismatch',
|
|
460
|
+
nextAction: originalArtifact
|
|
461
|
+
? `Artifact ${opts.newArtifactId} must reference ${originalArtifact.artifactId} or its source principle.`
|
|
462
|
+
: `Original artifact ${existingApproval.artifactId} is missing; restore it before editing this approval.`,
|
|
463
|
+
};
|
|
464
|
+
if (opts.json) {
|
|
465
|
+
console.log(JSON.stringify(result, null, 2));
|
|
466
|
+
}
|
|
467
|
+
else {
|
|
468
|
+
console.error(`Edit refused: ${result.reason}`);
|
|
469
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
470
|
+
}
|
|
471
|
+
process.exitCode = 1;
|
|
472
|
+
await stateManager.close();
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
let editResult;
|
|
476
|
+
try {
|
|
477
|
+
editResult = await approvalStore.edit({
|
|
478
|
+
approvalId: opts.approvalId,
|
|
479
|
+
editedBy: 'operator',
|
|
480
|
+
newArtifactId: opts.newArtifactId,
|
|
481
|
+
editReason: opts.editReason,
|
|
482
|
+
now,
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
catch (err) {
|
|
486
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
487
|
+
const result = {
|
|
488
|
+
ok: false,
|
|
489
|
+
approvalId: opts.approvalId,
|
|
490
|
+
reason: `edit_failed: ${errMsg}`,
|
|
491
|
+
nextAction: 'Check workspace DB integrity and that the approval + new artifact exist',
|
|
492
|
+
};
|
|
493
|
+
if (opts.json) {
|
|
494
|
+
console.log(JSON.stringify(result, null, 2));
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
console.error(`Edit failed: ${result.reason}`);
|
|
498
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
499
|
+
}
|
|
500
|
+
process.exitCode = 1;
|
|
501
|
+
return;
|
|
502
|
+
}
|
|
503
|
+
if (!editResult.ok) {
|
|
504
|
+
const result = {
|
|
505
|
+
ok: false,
|
|
506
|
+
approvalId: opts.approvalId,
|
|
507
|
+
reason: editResult.error,
|
|
508
|
+
nextAction: editResult.error === 'not_found'
|
|
509
|
+
? 'Check the approval ID on Console approvals page'
|
|
510
|
+
: `Approval is already decided (status: ${editResult.status ?? 'unknown'}). Only pending approvals can be edited.`,
|
|
511
|
+
};
|
|
512
|
+
if (opts.json) {
|
|
513
|
+
console.log(JSON.stringify(result, null, 2));
|
|
514
|
+
}
|
|
515
|
+
else {
|
|
516
|
+
console.error(`Edit refused: ${result.reason}`);
|
|
517
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
518
|
+
}
|
|
519
|
+
process.exitCode = 1;
|
|
520
|
+
return;
|
|
521
|
+
}
|
|
522
|
+
const result = {
|
|
523
|
+
ok: true,
|
|
524
|
+
approvalId: editResult.record.approvalId,
|
|
525
|
+
newArtifactId: editResult.record.artifactId,
|
|
526
|
+
previousArtifactId: editResult.record.previousArtifactId ?? undefined,
|
|
527
|
+
editedAt: editResult.record.editedAt ?? now,
|
|
528
|
+
};
|
|
529
|
+
if (opts.json) {
|
|
530
|
+
console.log(JSON.stringify(result, null, 2));
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
console.log(`Approval edited: ${result.approvalId}`);
|
|
534
|
+
console.log(` newArtifactId: ${result.newArtifactId}`);
|
|
535
|
+
if (result.previousArtifactId) {
|
|
536
|
+
console.log(` previousArtifactId: ${result.previousArtifactId}`);
|
|
537
|
+
}
|
|
538
|
+
console.log(` editedAt: ${result.editedAt}`);
|
|
539
|
+
console.log('Next action: review the new artifact, then approve via Console or `pd runtime activation dispatch`');
|
|
540
|
+
}
|
|
541
|
+
}
|
|
542
|
+
catch (err) {
|
|
543
|
+
// P2 #5: initialize/DB exceptions must not break --json contract.
|
|
544
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
545
|
+
const result = {
|
|
546
|
+
ok: false,
|
|
547
|
+
approvalId: opts.approvalId,
|
|
548
|
+
reason: `initialize_failed: ${errMsg}`,
|
|
549
|
+
nextAction: 'Check workspace directory and DB integrity. Try `pd runtime diagnostics`.',
|
|
550
|
+
};
|
|
551
|
+
if (opts.json) {
|
|
552
|
+
console.log(JSON.stringify(result, null, 2));
|
|
553
|
+
}
|
|
554
|
+
else {
|
|
555
|
+
console.error(`Error: ${result.reason}`);
|
|
556
|
+
console.error(`Next action: ${result.nextAction}`);
|
|
557
|
+
}
|
|
558
|
+
process.exitCode = 1;
|
|
559
|
+
}
|
|
560
|
+
finally {
|
|
561
|
+
await stateManager.close();
|
|
562
|
+
}
|
|
563
|
+
}
|
|
150
564
|
//# sourceMappingURL=runtime-activation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-activation.js","sourceRoot":"","sources":["../../src/commands/runtime-activation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-activation.js","sourceRoot":"","sources":["../../src/commands/runtime-activation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
export interface RunRuleHostOptions {
|
|
3
|
+
workspace?: string;
|
|
4
|
+
painId: string;
|
|
5
|
+
channel?: string;
|
|
6
|
+
maxRounds?: number;
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
json?: boolean;
|
|
9
|
+
/** Dry-run mode (default). Validates inputs + config, reports capability status, does NOT run the pipeline. */
|
|
10
|
+
dryRun?: boolean;
|
|
11
|
+
/** Confirm mutation — actually run the pipeline. Mutually exclusive with --dry-run. */
|
|
12
|
+
confirm?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function handleRunRuleHost(opts: RunRuleHostOptions): Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* Register the `pd runtime internalization run-rulehost` subcommand.
|
|
17
|
+
*
|
|
18
|
+
* Single source of truth for both production (`index.ts`) and parser tests.
|
|
19
|
+
* Extracted so parser-level tests can exercise the real flag wiring without
|
|
20
|
+
* triggering `program.parse()` at module load (CLI gate rule 7).
|
|
21
|
+
*/
|
|
22
|
+
export declare function registerRunRuleHostCommand(internalizationCmd: Command): Command;
|
|
23
|
+
//# sourceMappingURL=runtime-internalization-run-rulehost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-internalization-run-rulehost.d.ts","sourceRoot":"","sources":["../../src/commands/runtime-internalization-run-rulehost.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBzC,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,+GAA+G;IAC/G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uFAAuF;IACvF,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAyMD,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0I/E;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAe/E"}
|