@principles/pd-cli 1.158.7 → 1.159.1
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/codex-worker.d.ts.map +1 -1
- package/dist/commands/codex-worker.js +6 -11
- package/dist/commands/codex-worker.js.map +1 -1
- package/dist/commands/pain-recall.d.ts +30 -0
- package/dist/commands/pain-recall.d.ts.map +1 -0
- package/dist/commands/pain-recall.js +155 -0
- package/dist/commands/pain-recall.js.map +1 -0
- package/dist/commands/workbuddy-worker.d.ts.map +1 -1
- package/dist/commands/workbuddy-worker.js +6 -11
- package/dist/commands/workbuddy-worker.js.map +1 -1
- package/dist/commands/worker-drain.d.ts +7 -0
- package/dist/commands/worker-drain.d.ts.map +1 -0
- package/dist/commands/worker-drain.js +51 -0
- package/dist/commands/worker-drain.js.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/services/pain-recall.d.ts +113 -0
- package/dist/services/pain-recall.d.ts.map +1 -0
- package/dist/services/pain-recall.js +444 -0
- package/dist/services/pain-recall.js.map +1 -0
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-worker.d.ts","sourceRoot":"","sources":["../../src/commands/codex-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"codex-worker.d.ts","sourceRoot":"","sources":["../../src/commands/codex-worker.ts"],"names":[],"mappings":"AA8BA,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,wBAAwB,GAAG,QAAQ,GAAG,UAAU,CAAC;IACjE,2BAA2B,EAAE,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAwGD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsDlF;;AAED,kEAAkE"}
|
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
* - cli-6: paused/degraded modes carry reason + nextAction.
|
|
20
20
|
*/
|
|
21
21
|
import fs from 'node:fs';
|
|
22
|
+
import { createWorkerDrain } from './worker-drain.js';
|
|
22
23
|
import os from 'node:os';
|
|
23
24
|
import path from 'node:path';
|
|
24
25
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
@@ -161,14 +162,9 @@ export async function handleCodexWorker(options) {
|
|
|
161
162
|
return;
|
|
162
163
|
}
|
|
163
164
|
const interval = typeof options.intervalMs === 'number' && options.intervalMs >= 1000 ? options.intervalMs : DEFAULT_INTERVAL_MS;
|
|
164
|
-
|
|
165
|
-
const onSignal = () => {
|
|
166
|
-
stopped = true;
|
|
167
|
-
};
|
|
168
|
-
process.on('SIGINT', onSignal);
|
|
169
|
-
process.on('SIGTERM', onSignal);
|
|
165
|
+
const drain = createWorkerDrain();
|
|
170
166
|
try {
|
|
171
|
-
while (!stopped) {
|
|
167
|
+
while (!drain.stopped) {
|
|
172
168
|
// PRI-655: one escaping cycle exception must not kill the daemon —
|
|
173
169
|
// runCodexWorkspaceWorkerCycle reports component failures as degraded
|
|
174
170
|
// results, but anything it still throws would propagate out of this
|
|
@@ -183,14 +179,13 @@ export async function handleCodexWorker(options) {
|
|
|
183
179
|
console.error(`[PD:CodexWorker] cycle failed: ${message}`);
|
|
184
180
|
console.error(` continuing in ${interval}ms. Investigate: pd codex worker --status --workspace "${workspace}"`);
|
|
185
181
|
}
|
|
186
|
-
if (stopped)
|
|
182
|
+
if (drain.stopped)
|
|
187
183
|
break;
|
|
188
|
-
await
|
|
184
|
+
await drain.wait(interval);
|
|
189
185
|
}
|
|
190
186
|
}
|
|
191
187
|
finally {
|
|
192
|
-
|
|
193
|
-
process.off('SIGTERM', onSignal);
|
|
188
|
+
drain.dispose();
|
|
194
189
|
}
|
|
195
190
|
}
|
|
196
191
|
/** SPEC §15 worker mode, evaluated without executing anything. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-worker.js","sourceRoot":"","sources":["../../src/commands/codex-worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex-worker.js","sourceRoot":"","sources":["../../src/commands/codex-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pd pain recall command — SPEC-PD-PAIN-RECALL-CLI-001.
|
|
3
|
+
*
|
|
4
|
+
* On-demand, read-only recall of the historical pains that a principle
|
|
5
|
+
* verifiably derives from. Parameter errors use the shared JSON error
|
|
6
|
+
* envelope; domain outcomes (ok / no_matches / partial / *_not_found /
|
|
7
|
+
* source_*) use the versioned pain-recall result contract with a non-zero
|
|
8
|
+
* exit code only when the query could not be answered.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* pd pain recall --principle-id <id> [--pain-id <id>] [--context <text>] [--limit 1-10] [--json]
|
|
12
|
+
*/
|
|
13
|
+
export interface PainRecallOptions {
|
|
14
|
+
principleId?: string;
|
|
15
|
+
painId?: string;
|
|
16
|
+
context?: string;
|
|
17
|
+
limit?: number;
|
|
18
|
+
workspace?: string;
|
|
19
|
+
json?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Strict --limit parser (SPEC §3.3): only a complete base-10 integer is
|
|
23
|
+
* accepted; anything else becomes NaN so the handler's integer/range check
|
|
24
|
+
* rejects it. Deliberately single-argument — Commander passes the previous
|
|
25
|
+
* option value as the parser's second argument, which `parseInt` would
|
|
26
|
+
* silently treat as a radix on repeated flags.
|
|
27
|
+
*/
|
|
28
|
+
export declare function parsePainRecallLimit(value: string): number;
|
|
29
|
+
export declare function handlePainRecall(opts: PainRecallOptions): Promise<void>;
|
|
30
|
+
//# sourceMappingURL=pain-recall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall.d.ts","sourceRoot":"","sources":["../../src/commands/pain-recall.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAaD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1D;AA8BD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0F7E"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* pd pain recall command — SPEC-PD-PAIN-RECALL-CLI-001.
|
|
3
|
+
*
|
|
4
|
+
* On-demand, read-only recall of the historical pains that a principle
|
|
5
|
+
* verifiably derives from. Parameter errors use the shared JSON error
|
|
6
|
+
* envelope; domain outcomes (ok / no_matches / partial / *_not_found /
|
|
7
|
+
* source_*) use the versioned pain-recall result contract with a non-zero
|
|
8
|
+
* exit code only when the query could not be answered.
|
|
9
|
+
*
|
|
10
|
+
* Usage:
|
|
11
|
+
* pd pain recall --principle-id <id> [--pain-id <id>] [--context <text>] [--limit 1-10] [--json]
|
|
12
|
+
*/
|
|
13
|
+
import * as path from 'path';
|
|
14
|
+
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
15
|
+
import { recallPains, PAIN_RECALL_DEFAULT_LIMIT, PAIN_RECALL_MIN_LIMIT, PAIN_RECALL_MAX_LIMIT, } from '../services/pain-recall.js';
|
|
16
|
+
function fail(input) {
|
|
17
|
+
const { message, reason, nextAction, json } = input;
|
|
18
|
+
if (json) {
|
|
19
|
+
console.log(JSON.stringify({ status: 'failed', reason, message, nextAction }, null, 2));
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
console.error('Error: ' + message);
|
|
23
|
+
console.error('Next: ' + nextAction);
|
|
24
|
+
}
|
|
25
|
+
process.exit(1);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Strict --limit parser (SPEC §3.3): only a complete base-10 integer is
|
|
29
|
+
* accepted; anything else becomes NaN so the handler's integer/range check
|
|
30
|
+
* rejects it. Deliberately single-argument — Commander passes the previous
|
|
31
|
+
* option value as the parser's second argument, which `parseInt` would
|
|
32
|
+
* silently treat as a radix on repeated flags.
|
|
33
|
+
*/
|
|
34
|
+
export function parsePainRecallLimit(value) {
|
|
35
|
+
const trimmed = value.trim();
|
|
36
|
+
return /^\d+$/.test(trimmed) ? Number(trimmed) : Number.NaN;
|
|
37
|
+
}
|
|
38
|
+
function printHuman(result) {
|
|
39
|
+
const p = result.principle;
|
|
40
|
+
console.log(`Principle: ${p.canonicalId ?? p.requestedId} (${p.identityStatus})`);
|
|
41
|
+
if (p.text)
|
|
42
|
+
console.log(`Text: ${p.text}`);
|
|
43
|
+
console.log(`Status: ${result.status}${result.statusDetail ? ` (${result.statusDetail})` : ''}`);
|
|
44
|
+
console.log(`Sources: ledger=${result.sources.ledger} trajectory=${result.sources.trajectoryDb} state=${result.sources.stateDb}`);
|
|
45
|
+
console.log('─'.repeat(96));
|
|
46
|
+
for (const entry of result.results) {
|
|
47
|
+
console.log(` ${entry.pain.occurredAt ?? '-'} ${entry.pain.source ?? '-'} host=${entry.pain.host}`);
|
|
48
|
+
console.log(` id: ${entry.painId} | association: ${entry.association.type} (${entry.association.confidence})`);
|
|
49
|
+
if (entry.pain.reason)
|
|
50
|
+
console.log(` reason: ${entry.pain.reason}`);
|
|
51
|
+
if (entry.pain.text)
|
|
52
|
+
console.log(` text: ${entry.pain.text}`);
|
|
53
|
+
for (const diagnosis of entry.diagnoses) {
|
|
54
|
+
console.log(` diagnosis: ${diagnosis.diagnosisId} [${diagnosis.category}] ${diagnosis.rootCause} (not an owner statement)`);
|
|
55
|
+
}
|
|
56
|
+
if (entry.correctionEvidence) {
|
|
57
|
+
console.log(` correction: ${entry.correctionEvidence.text}${entry.correctionEvidence.classification ? ` [${entry.correctionEvidence.classification}]` : ''}`);
|
|
58
|
+
}
|
|
59
|
+
console.log(` availability: pain=${entry.availability.painEvent} diagnoses=${entry.availability.diagnoses} correction=${entry.availability.correctionEvidence}`);
|
|
60
|
+
}
|
|
61
|
+
console.log('─'.repeat(96));
|
|
62
|
+
console.log(`Returned ${result.summary.returned} of ${result.summary.availableCandidates} associated pain(s)${result.summary.truncated ? ' (truncated)' : ''}.`);
|
|
63
|
+
for (const item of result.unresolvedAssociations) {
|
|
64
|
+
const who = item.painId !== undefined ? `pain ${item.painId}` : `candidate ${item.candidateId}`;
|
|
65
|
+
console.error(`WARN: unresolved association: ${who}: ${item.reason}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
export async function handlePainRecall(opts) {
|
|
69
|
+
const json = opts.json === true;
|
|
70
|
+
const principleId = typeof opts.principleId === 'string' ? opts.principleId.trim() : '';
|
|
71
|
+
if (principleId.length === 0) {
|
|
72
|
+
fail({
|
|
73
|
+
message: '--principle-id <id> is required and must be a non-empty canonical ledger principle id',
|
|
74
|
+
reason: 'principle_id_required',
|
|
75
|
+
nextAction: 'Pass the principle\'s canonical ledger id (a UUID), e.g. pd pain recall --principle-id <uuid> --json.',
|
|
76
|
+
json,
|
|
77
|
+
});
|
|
78
|
+
return; // guard: test stubs of process.exit continue execution
|
|
79
|
+
}
|
|
80
|
+
let limit = PAIN_RECALL_DEFAULT_LIMIT;
|
|
81
|
+
if (opts.limit !== undefined) {
|
|
82
|
+
if (!Number.isInteger(opts.limit) || opts.limit < PAIN_RECALL_MIN_LIMIT || opts.limit > PAIN_RECALL_MAX_LIMIT) {
|
|
83
|
+
fail({
|
|
84
|
+
message: `invalid limit: limit must be an integer between ${PAIN_RECALL_MIN_LIMIT} and ${PAIN_RECALL_MAX_LIMIT}, got ${opts.limit}`,
|
|
85
|
+
reason: 'invalid_limit',
|
|
86
|
+
nextAction: `Pass --limit with a valid integer (${PAIN_RECALL_MIN_LIMIT}-${PAIN_RECALL_MAX_LIMIT}).`,
|
|
87
|
+
json,
|
|
88
|
+
});
|
|
89
|
+
return; // guard: test stubs of process.exit continue execution
|
|
90
|
+
}
|
|
91
|
+
({ limit } = opts);
|
|
92
|
+
}
|
|
93
|
+
let painId;
|
|
94
|
+
if (opts.painId !== undefined) {
|
|
95
|
+
const trimmed = typeof opts.painId === 'string' ? opts.painId.trim() : '';
|
|
96
|
+
if (trimmed.length === 0) {
|
|
97
|
+
fail({
|
|
98
|
+
message: 'invalid pain id: --pain-id must be a non-empty pain id',
|
|
99
|
+
reason: 'invalid_pain_id',
|
|
100
|
+
nextAction: 'Pass a non-empty --pain-id or omit the flag.',
|
|
101
|
+
json,
|
|
102
|
+
});
|
|
103
|
+
return; // guard: test stubs of process.exit continue execution
|
|
104
|
+
}
|
|
105
|
+
painId = trimmed;
|
|
106
|
+
}
|
|
107
|
+
let workspaceDir;
|
|
108
|
+
try {
|
|
109
|
+
workspaceDir = opts.workspace ? path.resolve(opts.workspace) : resolveWorkspaceDir();
|
|
110
|
+
}
|
|
111
|
+
catch (err) {
|
|
112
|
+
// resolveWorkspaceDir throws when no workspace can be determined (no
|
|
113
|
+
// --workspace, no PD_WORKSPACE_DIR, no config default, or an unparseable
|
|
114
|
+
// config) — surface it through the standard envelope instead of letting a
|
|
115
|
+
// raw exception escape --json mode (SPEC §4.4).
|
|
116
|
+
fail({
|
|
117
|
+
message: `workspace resolution failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
118
|
+
reason: 'workspace_unresolved',
|
|
119
|
+
nextAction: 'Pass --workspace <path>, set PD_WORKSPACE_DIR, or add workspace.default to .pd/config.yaml.',
|
|
120
|
+
json,
|
|
121
|
+
});
|
|
122
|
+
return; // guard: test stubs of process.exit continue execution
|
|
123
|
+
}
|
|
124
|
+
let result;
|
|
125
|
+
try {
|
|
126
|
+
result = await recallPains(workspaceDir, {
|
|
127
|
+
requestedPrincipleId: principleId,
|
|
128
|
+
...(painId !== undefined ? { painId } : {}),
|
|
129
|
+
...(typeof opts.context === 'string' && opts.context.trim().length > 0 ? { context: opts.context } : {}),
|
|
130
|
+
limit,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
catch (err) {
|
|
134
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
135
|
+
fail({
|
|
136
|
+
message: `pain recall failed: ${message}`,
|
|
137
|
+
reason: 'recall_failed',
|
|
138
|
+
nextAction: 'Check the workspace state (pd health --json) and retry; this command never mutates state.',
|
|
139
|
+
json,
|
|
140
|
+
});
|
|
141
|
+
return; // guard: test stubs of process.exit continue execution
|
|
142
|
+
}
|
|
143
|
+
if (json) {
|
|
144
|
+
console.log(JSON.stringify(result, null, 2));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
printHuman(result);
|
|
148
|
+
}
|
|
149
|
+
// Domain failures that could not answer the query exit non-zero; ok /
|
|
150
|
+
// no_matches / partial are successful reads (0).
|
|
151
|
+
if (result.status !== 'ok' && result.status !== 'no_matches' && result.status !== 'partial') {
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=pain-recall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pain-recall.js","sourceRoot":"","sources":["../../src/commands/pain-recall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbuddy-worker.d.ts","sourceRoot":"","sources":["../../src/commands/workbuddy-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"workbuddy-worker.d.ts","sourceRoot":"","sources":["../../src/commands/workbuddy-worker.ts"],"names":[],"mappings":"AAkCA,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,GAAG,wBAAwB,GAAG,QAAQ,GAAG,UAAU,CAAC;IACjE,2BAA2B,EAAE,OAAO,CAAC;IACrC,WAAW,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,KAAK,GAAG,cAAc,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAChF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA8ED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyD1F"}
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
* - cli-6: paused/degraded modes carry reason + nextAction.
|
|
21
21
|
*/
|
|
22
22
|
import fs from 'node:fs';
|
|
23
|
+
import { createWorkerDrain } from './worker-drain.js';
|
|
23
24
|
import os from 'node:os';
|
|
24
25
|
import path from 'node:path';
|
|
25
26
|
import { resolveWorkspaceDir } from '../resolve-workspace.js';
|
|
@@ -143,14 +144,9 @@ export async function handleWorkbuddyWorker(options) {
|
|
|
143
144
|
return;
|
|
144
145
|
}
|
|
145
146
|
const interval = typeof options.intervalMs === 'number' && options.intervalMs >= 1000 ? options.intervalMs : DEFAULT_INTERVAL_MS;
|
|
146
|
-
|
|
147
|
-
const onSignal = () => {
|
|
148
|
-
stopped = true;
|
|
149
|
-
};
|
|
150
|
-
process.on('SIGINT', onSignal);
|
|
151
|
-
process.on('SIGTERM', onSignal);
|
|
147
|
+
const drain = createWorkerDrain();
|
|
152
148
|
try {
|
|
153
|
-
while (!stopped) {
|
|
149
|
+
while (!drain.stopped) {
|
|
154
150
|
// One escaping cycle exception must not kill the daemon (same
|
|
155
151
|
// PRI-655 discipline as the Codex worker): report, keep looping.
|
|
156
152
|
try {
|
|
@@ -162,14 +158,13 @@ export async function handleWorkbuddyWorker(options) {
|
|
|
162
158
|
console.error(`[PD:WorkbuddyWorker] cycle failed: ${message}`);
|
|
163
159
|
console.error(` continuing in ${interval}ms. Investigate: pd workbuddy worker --status --workspace "${workspace}"`);
|
|
164
160
|
}
|
|
165
|
-
if (stopped)
|
|
161
|
+
if (drain.stopped)
|
|
166
162
|
break;
|
|
167
|
-
await
|
|
163
|
+
await drain.wait(interval);
|
|
168
164
|
}
|
|
169
165
|
}
|
|
170
166
|
finally {
|
|
171
|
-
|
|
172
|
-
process.off('SIGTERM', onSignal);
|
|
167
|
+
drain.dispose();
|
|
173
168
|
}
|
|
174
169
|
}
|
|
175
170
|
//# sourceMappingURL=workbuddy-worker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workbuddy-worker.js","sourceRoot":"","sources":["../../src/commands/workbuddy-worker.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"workbuddy-worker.js","sourceRoot":"","sources":["../../src/commands/workbuddy-worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Private Companion IPC. Stops between cycles; never interrupts an active cycle. */
|
|
2
|
+
export declare function createWorkerDrain(): {
|
|
3
|
+
readonly stopped: boolean;
|
|
4
|
+
wait(interval: number): Promise<void>;
|
|
5
|
+
dispose(): void;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=worker-drain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-drain.d.ts","sourceRoot":"","sources":["../../src/commands/worker-drain.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,wBAAgB,iBAAiB;aAqBzB,OAAO,EAAI,OAAO;IAChB,IAAI,WAAW,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3C,OAAO,IAAI,IAAI;EAQlB"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/** Private Companion IPC. Stops between cycles; never interrupts an active cycle. */
|
|
2
|
+
export function createWorkerDrain() {
|
|
3
|
+
let stopped = false;
|
|
4
|
+
let wake;
|
|
5
|
+
const stop = () => { stopped = true; wake?.(); };
|
|
6
|
+
const onMessage = (value) => {
|
|
7
|
+
if (value !== null && typeof value === 'object'
|
|
8
|
+
&& Object.hasOwn(value, 'type') && Reflect.get(value, 'type') === 'pd.worker.drain.v1')
|
|
9
|
+
stop();
|
|
10
|
+
};
|
|
11
|
+
process.on('SIGINT', stop);
|
|
12
|
+
process.on('SIGTERM', stop);
|
|
13
|
+
// Other hosts (including test runners) also use Node IPC; they do not opt
|
|
14
|
+
// into Companion's private lifecycle protocol.
|
|
15
|
+
const managedIpc = process.env.PD_COMPANION_WORKER_IPC === '1';
|
|
16
|
+
if (managedIpc && process.send !== undefined) {
|
|
17
|
+
process.on('message', onMessage);
|
|
18
|
+
const reportUnavailable = () => { console.error('[PD:Worker] drain IPC unavailable; safely restart Companion after the current cycle.'); };
|
|
19
|
+
try {
|
|
20
|
+
process.send({ type: 'pd.worker.drain-ready.v1' }, (error) => { if (error !== null)
|
|
21
|
+
reportUnavailable(); });
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
reportUnavailable();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
get stopped() { return stopped; },
|
|
29
|
+
async wait(interval) {
|
|
30
|
+
if (stopped)
|
|
31
|
+
return;
|
|
32
|
+
await new Promise((resolve) => {
|
|
33
|
+
let timer;
|
|
34
|
+
const done = () => { clearTimeout(timer); wake = undefined; resolve(); };
|
|
35
|
+
timer = setTimeout(done, interval);
|
|
36
|
+
wake = done;
|
|
37
|
+
if (stopped)
|
|
38
|
+
done();
|
|
39
|
+
});
|
|
40
|
+
},
|
|
41
|
+
dispose() {
|
|
42
|
+
process.off('SIGINT', stop);
|
|
43
|
+
process.off('SIGTERM', stop);
|
|
44
|
+
process.off('message', onMessage);
|
|
45
|
+
// An open IPC channel must not keep a drained CLI alive.
|
|
46
|
+
if (managedIpc && process.send !== undefined && process.connected)
|
|
47
|
+
process.disconnect?.();
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=worker-drain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-drain.js","sourceRoot":"","sources":["../../src/commands/worker-drain.ts"],"names":[],"mappings":"AAAA,qFAAqF;AACrF,MAAM,UAAU,iBAAiB;IAC/B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,IAA8B,CAAC;IACnC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GAAG,CAAC,KAAc,EAAQ,EAAE;QACzC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;eAC1C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,oBAAoB;YAAE,IAAI,EAAE,CAAC;IACnG,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC3B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC5B,0EAA0E;IAC1E,+CAA+C;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,KAAK,GAAG,CAAC;IAC/D,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACjC,MAAM,iBAAiB,GAAG,GAAS,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC,CAAC,CAAC,CAAC;QACjJ,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,KAAK,IAAI;gBAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9G,CAAC;QAAC,MAAM,CAAC;YAAC,iBAAiB,EAAE,CAAC;QAAC,CAAC;IAClC,CAAC;IACD,OAAO;QACL,IAAI,OAAO,KAAc,OAAO,OAAO,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,QAAgB;YACzB,IAAI,OAAO;gBAAE,OAAO;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,KAAoC,CAAC;gBACzC,MAAM,IAAI,GAAG,GAAS,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC/E,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;gBACnC,IAAI,GAAG,IAAI,CAAC;gBACZ,IAAI,OAAO;oBAAE,IAAI,EAAE,CAAC;YACtB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClC,yDAAyD;YACzD,IAAI,UAAU,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,SAAS;gBAAE,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QAC5F,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
import { Command, Option } from 'commander';
|
|
9
9
|
import { handlePainRecord } from './commands/pain-record.js';
|
|
10
10
|
import { registerPainRetryCommand } from './commands/pain-retry.js';
|
|
11
|
+
import { handlePainRecall, parsePainRecallLimit } from './commands/pain-recall.js';
|
|
11
12
|
import { handlePainEvidence } from './commands/pain-evidence.js';
|
|
12
13
|
import { handlePainList } from './commands/pain-list.js';
|
|
13
14
|
import { handleSamplesList } from './commands/samples-list.js';
|
|
@@ -140,6 +141,26 @@ painCmd
|
|
|
140
141
|
.action(async (opts) => {
|
|
141
142
|
await handlePainEvidence(opts);
|
|
142
143
|
});
|
|
144
|
+
// SPEC-PD-PAIN-RECALL-CLI-001: on-demand, read-only recall of the historical
|
|
145
|
+
// pains a principle verifiably derives from. Uses .option() (not
|
|
146
|
+
// .requiredOption()) so missing-flag errors produce structured JSON via the
|
|
147
|
+
// handler (same convention as activation edit, P2 #5).
|
|
148
|
+
painCmd
|
|
149
|
+
.command('recall')
|
|
150
|
+
.description('Recall historical pains verifiably associated with a principle (read-only)')
|
|
151
|
+
.option('--principle-id <id>', 'Canonical ledger principle id (required)')
|
|
152
|
+
.option('--pain-id <id>', 'Filter to one pain within this principle\'s verified associations')
|
|
153
|
+
.option('--context <text>', 'Current question — deterministic local re-ranking only, never creates associations')
|
|
154
|
+
// Strict integer parser (SPEC §3.3): non-integers become NaN and are
|
|
155
|
+
// rejected by the handler; never `parseInt` — Commander passes the previous
|
|
156
|
+
// option value as the parser's second argument, which parseInt would treat
|
|
157
|
+
// as a radix on repeated flags.
|
|
158
|
+
.option('-l, --limit <n>', 'Max results (default 3, 1-10)', parsePainRecallLimit)
|
|
159
|
+
.option('-w, --workspace <path>', 'Workspace directory')
|
|
160
|
+
.option('--json', 'Output raw JSON')
|
|
161
|
+
.action(async (opts) => {
|
|
162
|
+
await handlePainRecall(opts);
|
|
163
|
+
});
|
|
143
164
|
const samplesCmd = program
|
|
144
165
|
.command('samples', { hidden: true })
|
|
145
166
|
.description('Correction sample management');
|