@principles/pd-cli 1.73.1 → 1.74.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,102 +0,0 @@
1
- import * as path from 'path';
2
- import { RuntimeStateManager, InternalizationQueueReadModel, evaluateIdleTriggerDecision, resolveIdleTriggerConfig, } from '@principles/core/runtime-v2';
3
- import { resolveWorkspaceDir } from '../resolve-workspace.js';
4
- function formatTextOutput(result) {
5
- const lines = [];
6
- lines.push(`IdleTrigger: ${result.decision}`);
7
- lines.push(` reason: ${result.reason}`);
8
- lines.push(` idleForMs: ${result.idleForMs}`);
9
- lines.push(` jitterMs: ${result.jitterMs}`);
10
- lines.push(` nextEligibleAt: ${result.nextEligibleAt}`);
11
- lines.push(` queue: ready=${result.queue.readyCount} pending=${result.queue.pendingCount} retryWait=${result.queue.retryWaitCount}`);
12
- return lines.join('\n');
13
- }
14
- function isValidPositiveInt(value) {
15
- return value !== undefined && Number.isFinite(value) && value > 0;
16
- }
17
- async function findLastActivityAt(stateManager) {
18
- try {
19
- const tasks = await stateManager.listTasks({});
20
- if (tasks.length === 0)
21
- return { ts: null, error: null };
22
- let latest = null;
23
- for (const task of tasks) {
24
- const ts = task.updatedAt ?? task.createdAt;
25
- if (ts && (!latest || ts > latest)) {
26
- latest = ts;
27
- }
28
- }
29
- return { ts: latest, error: null };
30
- }
31
- catch (err) {
32
- const msg = err instanceof Error ? err.message : String(err);
33
- return { ts: null, error: msg };
34
- }
35
- }
36
- export async function handleRuntimeIdleTriggerEvaluate(opts) {
37
- const workspaceDir = opts.workspace ? path.resolve(opts.workspace) : resolveWorkspaceDir();
38
- const configOverrides = {};
39
- if (opts.enabled !== undefined)
40
- configOverrides.enabled = opts.enabled;
41
- if (isValidPositiveInt(opts.idleThresholdMs))
42
- configOverrides.idleThresholdMs = opts.idleThresholdMs;
43
- if (isValidPositiveInt(opts.jitterMaxMs))
44
- configOverrides.jitterMaxMs = opts.jitterMaxMs;
45
- if (isValidPositiveInt(opts.activityCooldownMs))
46
- configOverrides.activityCooldownMs = opts.activityCooldownMs;
47
- const config = resolveIdleTriggerConfig(configOverrides);
48
- const jitterSeed = opts.jitterSeed ?? `idle-trigger-${Date.now()}`;
49
- const stateManager = new RuntimeStateManager({ workspaceDir });
50
- await stateManager.initialize();
51
- try {
52
- const queueReadModel = new InternalizationQueueReadModel(stateManager);
53
- const snapshot = await queueReadModel.getSnapshot();
54
- const { ts: lastActivityAt, error: activityError } = await findLastActivityAt(stateManager);
55
- if (activityError) {
56
- const result = {
57
- decision: 'skip',
58
- reason: `activity_read_failed: ${activityError}`,
59
- idleForMs: 0,
60
- jitterMs: 0,
61
- nextEligibleAt: new Date().toISOString(),
62
- queue: {
63
- readyCount: snapshot.readyTasks.length,
64
- pendingCount: snapshot.pendingCount,
65
- retryWaitCount: snapshot.retryWaitCount,
66
- },
67
- };
68
- if (opts.json) {
69
- console.log(JSON.stringify(result, null, 2));
70
- }
71
- else {
72
- console.log(formatTextOutput(result));
73
- }
74
- process.exitCode = 1;
75
- return;
76
- }
77
- const result = evaluateIdleTriggerDecision({
78
- lastActivityAt,
79
- queue: {
80
- readyCount: snapshot.readyTasks.length,
81
- pendingCount: snapshot.pendingCount,
82
- retryWaitCount: snapshot.retryWaitCount,
83
- },
84
- config,
85
- jitterSeed,
86
- now: new Date().toISOString(),
87
- });
88
- if (opts.json) {
89
- console.log(JSON.stringify(result, null, 2));
90
- }
91
- else {
92
- console.log(formatTextOutput(result));
93
- }
94
- if (result.decision === 'skip') {
95
- process.exitCode = 1;
96
- }
97
- }
98
- finally {
99
- await stateManager.close();
100
- }
101
- }
102
- //# sourceMappingURL=runtime-idle-trigger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime-idle-trigger.js","sourceRoot":"","sources":["../../src/commands/runtime-idle-trigger.ts"],"names":[],"mappings":"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"}