kiokuko-dsh 0.2.37 → 0.2.39
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/README.ja.md +28 -0
- package/README.ko.md +26 -0
- package/README.md +28 -0
- package/README.zh-CN.md +26 -0
- package/dist/client.cjs +97 -5
- package/dist/client.d.ts.map +1 -1
- package/dist/dsh/answer-review/contracts.js +1 -1
- package/dist/dsh/answer-review/contracts.js.map +1 -1
- package/dist/dsh/completion-report.d.ts +29 -1
- package/dist/dsh/completion-report.d.ts.map +1 -1
- package/dist/dsh/completion-report.js +58 -14
- package/dist/dsh/completion-report.js.map +1 -1
- package/dist/dsh/config.d.ts +12 -0
- package/dist/dsh/config.d.ts.map +1 -1
- package/dist/dsh/config.js +3 -0
- package/dist/dsh/config.js.map +1 -1
- package/dist/dsh/core/host.d.ts +12 -0
- package/dist/dsh/core/host.d.ts.map +1 -1
- package/dist/dsh/core/host.js +8 -4
- package/dist/dsh/core/host.js.map +1 -1
- package/dist/dsh/core/index.d.ts +32 -0
- package/dist/dsh/core/index.d.ts.map +1 -1
- package/dist/dsh/decisions/diagnostics.d.ts +4 -3
- package/dist/dsh/decisions/diagnostics.d.ts.map +1 -1
- package/dist/dsh/decisions/diagnostics.js +2 -2
- package/dist/dsh/decisions/diagnostics.js.map +1 -1
- package/dist/dsh/decisions/host.d.ts.map +1 -1
- package/dist/dsh/decisions/host.js +5 -0
- package/dist/dsh/decisions/host.js.map +1 -1
- package/dist/dsh/decisions/intent-assessment.d.ts +24 -3
- package/dist/dsh/decisions/intent-assessment.d.ts.map +1 -1
- package/dist/dsh/decisions/intent-assessment.js +36 -10
- package/dist/dsh/decisions/intent-assessment.js.map +1 -1
- package/dist/dsh/decisions/openai.d.ts.map +1 -1
- package/dist/dsh/decisions/openai.js +3 -0
- package/dist/dsh/decisions/openai.js.map +1 -1
- package/dist/dsh/decisions/service.d.ts +2 -0
- package/dist/dsh/decisions/service.d.ts.map +1 -1
- package/dist/dsh/decisions/service.js +9 -0
- package/dist/dsh/decisions/service.js.map +1 -1
- package/dist/dsh/guardrail/contracts.d.ts +1 -1
- package/dist/dsh/guardrail/contracts.d.ts.map +1 -1
- package/dist/dsh/guardrail/evidence.d.ts.map +1 -1
- package/dist/dsh/guardrail/evidence.js +4 -0
- package/dist/dsh/guardrail/evidence.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts +2 -0
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +9 -5
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/index.d.ts +10 -2
- package/dist/dsh/index.d.ts.map +1 -1
- package/dist/dsh/index.js +6 -3
- package/dist/dsh/index.js.map +1 -1
- package/dist/dsh/lisp/host-tool-dispatch.d.ts +2 -0
- package/dist/dsh/lisp/host-tool-dispatch.d.ts.map +1 -1
- package/dist/dsh/lisp/host-tool-dispatch.js +9 -1
- package/dist/dsh/lisp/host-tool-dispatch.js.map +1 -1
- package/dist/dsh/lisp/http.d.ts.map +1 -1
- package/dist/dsh/lisp/http.js +13 -1
- package/dist/dsh/lisp/http.js.map +1 -1
- package/dist/dsh/lisp/manager.d.ts +4 -0
- package/dist/dsh/lisp/manager.d.ts.map +1 -1
- package/dist/dsh/lisp/manager.js +35 -9
- package/dist/dsh/lisp/manager.js.map +1 -1
- package/dist/dsh/lisp/native-stop-receipt.d.ts +25 -0
- package/dist/dsh/lisp/native-stop-receipt.d.ts.map +1 -0
- package/dist/dsh/lisp/native-stop-receipt.js +22 -0
- package/dist/dsh/lisp/native-stop-receipt.js.map +1 -0
- package/dist/dsh/lisp/proposal-batch.d.ts.map +1 -1
- package/dist/dsh/lisp/proposal-batch.js +2 -1
- package/dist/dsh/lisp/proposal-batch.js.map +1 -1
- package/dist/dsh/lisp/sandbox.d.ts +1 -0
- package/dist/dsh/lisp/sandbox.d.ts.map +1 -1
- package/dist/dsh/lisp/sandbox.js +2 -2
- package/dist/dsh/lisp/sandbox.js.map +1 -1
- package/dist/dsh/lisp/status-text.d.ts +34 -0
- package/dist/dsh/lisp/status-text.d.ts.map +1 -0
- package/dist/dsh/lisp/status-text.js +65 -0
- package/dist/dsh/lisp/status-text.js.map +1 -0
- package/dist/dsh/lisp/surface.d.ts.map +1 -1
- package/dist/dsh/lisp/surface.js +44 -10
- package/dist/dsh/lisp/surface.js.map +1 -1
- package/dist/dsh/live-config.d.ts +49 -0
- package/dist/dsh/live-config.d.ts.map +1 -0
- package/dist/dsh/live-config.js +77 -0
- package/dist/dsh/live-config.js.map +1 -0
- package/dist/dsh/managed-file-deployment.d.ts +6 -0
- package/dist/dsh/managed-file-deployment.d.ts.map +1 -1
- package/dist/dsh/managed-file-deployment.js +17 -1
- package/dist/dsh/managed-file-deployment.js.map +1 -1
- package/dist/dsh/managed-operation-journal.d.ts +5 -1
- package/dist/dsh/managed-operation-journal.d.ts.map +1 -1
- package/dist/dsh/managed-operation-journal.js +17 -4
- package/dist/dsh/managed-operation-journal.js.map +1 -1
- package/dist/dsh/on-demand-intake.d.ts +21 -4
- package/dist/dsh/on-demand-intake.d.ts.map +1 -1
- package/dist/dsh/on-demand-intake.js +167 -55
- package/dist/dsh/on-demand-intake.js.map +1 -1
- package/dist/dsh/setup.d.ts.map +1 -1
- package/dist/dsh/setup.js +8 -2
- package/dist/dsh/setup.js.map +1 -1
- package/dist/dsh/startup-defaults-settings.d.ts +20 -0
- package/dist/dsh/startup-defaults-settings.d.ts.map +1 -0
- package/dist/dsh/startup-defaults-settings.js +27 -0
- package/dist/dsh/startup-defaults-settings.js.map +1 -0
- package/dist/dsh/startup-defaults.d.ts +41 -0
- package/dist/dsh/startup-defaults.d.ts.map +1 -0
- package/dist/dsh/startup-defaults.js +29 -0
- package/dist/dsh/startup-defaults.js.map +1 -0
- package/dist/dsh/task-startup.d.ts +7 -0
- package/dist/dsh/task-startup.d.ts.map +1 -1
- package/dist/dsh/task-startup.js +30 -9
- package/dist/dsh/task-startup.js.map +1 -1
- package/dist/enno-oduno/verifier.d.ts.map +1 -1
- package/dist/enno-oduno/verifier.js +5 -1
- package/dist/enno-oduno/verifier.js.map +1 -1
- package/dist/locale/en.json +1 -1
- package/dist/locale/ja.json +1 -1
- package/dist/locale/ko.json +1 -1
- package/dist/locale/zh-CN.json +1 -1
- package/docs/README.ja.md +1 -0
- package/docs/README.md +1 -0
- package/docs/answer-review.md +8 -0
- package/docs/lisp.md +45 -4
- package/docs/micro-judge.md +1 -1
- package/docs/on-demand-intake.md +2 -0
- package/docs/typed-decisions.md +13 -3
- package/lisp/supervisor.mjs +90 -9
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-defaults.d.ts","sourceRoot":"","sources":["../../src/dsh/startup-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAmB,kBAAkB,EAAE,sBAAsB,EAAwC,MAAM,gCAAgC,CAAA;AAElJ,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;AAErD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;EAA+B,CAAA;AAC7D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,qBAAqB;;;;;;;;;;;kBAKvB,CAAA;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEnE,iFAAiF;AACjF,eAAO,MAAM,wBAAwB,2BAA2B,CAAA;AAChE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,IAAI,WAAW,CAAA;IACvB,IAAI,IAAI,WAAW,CAAA;CACpB;AAED,8EAA8E;AAC9E,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAEjF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { isDefaultOption, startupOptionLabel, stripRecommendedSuffix } from './startup-defaults-settings.js';
|
|
3
|
+
export { startupOptionLabel, stripRecommendedSuffix };
|
|
4
|
+
/**
|
|
5
|
+
* `ask` keeps the per-task startup card without a preset. `on`/`off` preselect
|
|
6
|
+
* that side of the card and become the answer when no question service exists.
|
|
7
|
+
* A default never grants execution authority: it only selects an offered answer.
|
|
8
|
+
*/
|
|
9
|
+
export const StartupModeSchema = z.enum(['ask', 'on', 'off']);
|
|
10
|
+
export const StartupDefaultsConfig = z.object({
|
|
11
|
+
/** Default for typed decisions in the startup card. */
|
|
12
|
+
decision: StartupModeSchema.default('ask'),
|
|
13
|
+
/** Default for Lisp in the startup card. */
|
|
14
|
+
lisp: StartupModeSchema.default('ask'),
|
|
15
|
+
}).strict();
|
|
16
|
+
/** Profile-level service carrying the live defaults; absent on a plain parse. */
|
|
17
|
+
export const STARTUP_DEFAULTS_SERVICE = 'kiokukoStartupDefaults';
|
|
18
|
+
/** Whether the card option at this index expresses the configured default. */
|
|
19
|
+
export function isStartupDefault(defaults, index) {
|
|
20
|
+
return isDefaultOption(defaults.decision, defaults.lisp, index);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Answer used when no question service is available. `ask` preserves the
|
|
24
|
+
* caller's existing behaviour instead of inventing a preference.
|
|
25
|
+
*/
|
|
26
|
+
export function applyStartupDefault(mode, fallback) {
|
|
27
|
+
return mode === 'ask' ? fallback : mode === 'on';
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=startup-defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-defaults.js","sourceRoot":"","sources":["../../src/dsh/startup-defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,EAAwC,MAAM,gCAAgC,CAAA;AAElJ,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,CAAA;AAErD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;AAG7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,uDAAuD;IACvD,QAAQ,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1C,4CAA4C;IAC5C,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC,MAAM,EAAE,CAAA;AAGX,iFAAiF;AACjF,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB,CAAA;AAMhE,8EAA8E;AAC9E,MAAM,UAAU,gBAAgB,CAAC,QAAyB,EAAE,KAAa;IACvE,OAAO,eAAe,CAAC,QAAQ,CAAC,QAA4B,EAAE,QAAQ,CAAC,IAAwB,EAAE,KAAK,CAAC,CAAA;AACzG,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAiB,EAAE,QAAiB;IACtE,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAA;AAClD,CAAC"}
|
|
@@ -2,6 +2,7 @@ import type { DshUserQuestions } from './intake-questions.js';
|
|
|
2
2
|
import { type DecisionConfiguration } from './decisions/config.js';
|
|
3
3
|
import type { DecisionService } from './decisions/service.js';
|
|
4
4
|
import type { LispCodingInput, LispCodingService } from './lisp/coding-choice.js';
|
|
5
|
+
import { type StartupDefaults } from './startup-defaults.js';
|
|
5
6
|
export type TaskStartupChoice = NonNullable<DecisionConfiguration['startup']>;
|
|
6
7
|
export declare const TASK_STARTUP_OPTIONS: readonly ["decision ON / Lisp ON", "decision ON / Lisp OFF", "decision OFF / Lisp ON", "decision OFF / Lisp OFF", "取消・作業を保持"];
|
|
7
8
|
export declare function parseTaskStartupAnswer(response: unknown, questionId: string): TaskStartupChoice | undefined;
|
|
@@ -15,9 +16,15 @@ export declare class TaskStartup {
|
|
|
15
16
|
questions?: DshUserQuestions;
|
|
16
17
|
root(agent: LispCodingInput['agent']): string;
|
|
17
18
|
lisp(): LispCodingService | undefined;
|
|
19
|
+
/** Configured preselection for the card; absent marks no option. */
|
|
20
|
+
defaults?(): StartupDefaults;
|
|
18
21
|
});
|
|
19
22
|
prepare(input: LispCodingInput & {
|
|
20
23
|
sessionId: string;
|
|
24
|
+
clarificationFrom?: {
|
|
25
|
+
turn: number;
|
|
26
|
+
task: string;
|
|
27
|
+
};
|
|
21
28
|
}): Promise<void>;
|
|
22
29
|
private choose;
|
|
23
30
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-startup.d.ts","sourceRoot":"","sources":["../../src/dsh/task-startup.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"task-startup.d.ts","sourceRoot":"","sources":["../../src/dsh/task-startup.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AACjF,OAAO,EAAqF,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAE/I,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAA;AAC7E,eAAO,MAAM,oBAAoB,+HAGvB,CAAA;AAGV,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAc3G;AAKD,kHAAkH;AAClH,qBAAa,WAAW;IAGV,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8F;IACrH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAmE;gBAC3D,IAAI,EAAE;QACjC,SAAS,EAAE,eAAe,CAAC;QAAC,SAAS,CAAC,EAAE,gBAAgB,CAAA;QACxD,IAAI,CAAC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,MAAM,CAAA;QAC7C,IAAI,IAAI,iBAAiB,GAAG,SAAS,CAAA;QACrC,oEAAoE;QACpE,QAAQ,CAAC,IAAI,eAAe,CAAA;KAC7B;IACD,OAAO,CAAC,KAAK,EAAE,eAAe,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAgB5G,MAAM;CAyErB"}
|
package/dist/dsh/task-startup.js
CHANGED
|
@@ -5,10 +5,13 @@ import { codingContinuation } from './coding-workflow/intent.js';
|
|
|
5
5
|
import { dshTurnRequestId } from './intake-profile-resolver.js';
|
|
6
6
|
import { ExecutionSelectionPending } from './execution-pending.js';
|
|
7
7
|
import { selectedDecisionSettings } from './decisions/config.js';
|
|
8
|
+
import { applyStartupDefault, isStartupDefault, startupOptionLabel, stripRecommendedSuffix } from './startup-defaults.js';
|
|
8
9
|
export const TASK_STARTUP_OPTIONS = [
|
|
9
10
|
'decision ON / Lisp ON', 'decision ON / Lisp OFF',
|
|
10
11
|
'decision OFF / Lisp ON', 'decision OFF / Lisp OFF', '取消・作業を保持',
|
|
11
12
|
];
|
|
13
|
+
/** Index of the cancel option; each earlier index encodes one ON/OFF pair. */
|
|
14
|
+
const CANCEL_INDEX = 4;
|
|
12
15
|
export function parseTaskStartupAnswer(response, questionId) {
|
|
13
16
|
const answers = response?.answers;
|
|
14
17
|
if (!Array.isArray(answers) || answers.length !== 1 || answers[0]?.id !== questionId)
|
|
@@ -19,9 +22,12 @@ export function parseTaskStartupAnswer(response, questionId) {
|
|
|
19
22
|
return undefined;
|
|
20
23
|
if (!a.selected.length && !a.custom?.trim())
|
|
21
24
|
return { decision: false, lisp: false, cancelled: true };
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
+
// The Web UI appends the preset marker for its recommendation; it is presentation only.
|
|
26
|
+
const text = stripRecommendedSuffix(a.custom?.trim() || a.selected[0]);
|
|
27
|
+
const index = /^[1-5]$/.test(text)
|
|
28
|
+
? Number(text) - 1
|
|
29
|
+
: TASK_STARTUP_OPTIONS.indexOf(text);
|
|
30
|
+
return index < 0 ? undefined : index === CANCEL_INDEX ? { decision: false, lisp: false, cancelled: true }
|
|
25
31
|
: { decision: index < 2, lisp: index % 2 === 0 };
|
|
26
32
|
}
|
|
27
33
|
function continuation(task) {
|
|
@@ -66,8 +72,14 @@ export class TaskStartup {
|
|
|
66
72
|
let receipt = await decisions.readStartup(key);
|
|
67
73
|
if (!receipt?.startup) {
|
|
68
74
|
const configured = await decisions.startupConfiguration();
|
|
69
|
-
|
|
70
|
-
|
|
75
|
+
// Only the intake's native-answer path supplies this exact original key.
|
|
76
|
+
// Reuse its immutable mode binding, not the latest unrelated session task.
|
|
77
|
+
const from = input.clarificationFrom;
|
|
78
|
+
const prior = from && Number.isSafeInteger(from.turn) && from.turn >= 1 && from.turn < input.turn
|
|
79
|
+
? await decisions.readStartup(`${prefix}${String(from.turn).padStart(16, '0')}:${canonicalContentHash(from.task)}`)
|
|
80
|
+
: undefined;
|
|
81
|
+
const config = await decisions.readStartup(requestId) ?? prior ?? configured;
|
|
82
|
+
let choice = prior?.startup ?? configured.startup;
|
|
71
83
|
if (!choice && continuation(input.task)) {
|
|
72
84
|
const previous = this.last.get(prefix);
|
|
73
85
|
const rows = previous && previous.id < before ? [previous] : await decisions.startupBefore(prefix, before);
|
|
@@ -79,11 +91,15 @@ export class TaskStartup {
|
|
|
79
91
|
choice = { ...choice, lisp: manual.choice === 'yes' };
|
|
80
92
|
}
|
|
81
93
|
}
|
|
94
|
+
const defaults = this.host.defaults?.() ?? { decision: 'ask', lisp: 'ask' };
|
|
95
|
+
const options = TASK_STARTUP_OPTIONS.map((label, index) => ({
|
|
96
|
+
label: startupOptionLabel(label, index < CANCEL_INDEX && isStartupDefault(defaults, index)),
|
|
97
|
+
}));
|
|
82
98
|
if (!choice && this.host.questions) {
|
|
83
99
|
const response = await abortable(this.host.questions.ask({ agent: input.agent, signal: input.signal, questions: [{
|
|
84
100
|
id: key, header: 'Kiokuko · 作業開始', question: 'この作業で decision と Lisp を使いますか?',
|
|
85
|
-
detail:
|
|
86
|
-
options
|
|
101
|
+
detail: `既定の選択を付けただけです。この作業では自由に変更できます。decision: ${config.provider} / ${selectedDecisionSettings(config)?.model ?? '未設定'}。未認証時に他へ切り替えません。Lisp の通常の権限・承認・Stop は維持します。取消・Skip は作業を保持して中止します。`,
|
|
102
|
+
options,
|
|
87
103
|
}] }), input.signal).catch(error => {
|
|
88
104
|
if (error?.code === 'ASK_CANCELLED' && !input.signal.aborted)
|
|
89
105
|
return { answers: [{ id: key, selected: [] }] };
|
|
@@ -94,9 +110,14 @@ export class TaskStartup {
|
|
|
94
110
|
throw new ExecutionSelectionPending('Invalid decision/Lisp startup answer; no work started');
|
|
95
111
|
}
|
|
96
112
|
if (!choice) {
|
|
97
|
-
// Headless
|
|
113
|
+
// Headless cannot ask: the configured default decides, and an explicit
|
|
114
|
+
// manual Lisp preference still wins because it was a human command.
|
|
98
115
|
// Module availability never implicitly turns Lisp on.
|
|
99
|
-
|
|
116
|
+
const manual = await lisp?.manualSelected?.(input.agent) === true;
|
|
117
|
+
choice = config.startup ?? {
|
|
118
|
+
decision: applyStartupDefault(defaults.decision, config.mode !== 'off'),
|
|
119
|
+
lisp: applyStartupDefault(defaults.lisp, manual),
|
|
120
|
+
};
|
|
100
121
|
}
|
|
101
122
|
current();
|
|
102
123
|
receipt = await decisions.bindStartup(key, choice, input.signal, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-startup.js","sourceRoot":"","sources":["../../src/dsh/task-startup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAElE,OAAO,EAAE,wBAAwB,EAA8B,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"task-startup.js","sourceRoot":"","sources":["../../src/dsh/task-startup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/enno-oduno/verifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAA4B,MAAM,oBAAoB,CAAC;AAMrE,OAAO,EAAE,sBAAsB,EAA8C,MAAM,uBAAuB,CAAC;AAE3G,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMlE,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACxD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACjC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE;gBAA5B,OAAO,GAAE,iBAAiB,EAAO;CAIvD;AAkFD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,oBAAyB,GACtC,OAAO,CAAC,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"verifier.d.ts","sourceRoot":"","sources":["../../src/enno-oduno/verifier.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAA4B,MAAM,oBAAoB,CAAC;AAMrE,OAAO,EAAE,sBAAsB,EAA8C,MAAM,uBAAuB,CAAC;AAE3G,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAMlE,MAAM,WAAW,oBAAoB;IACnC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,OAAO,sBAAsB,CAAC;CACxD;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IACjC,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE;gBAA5B,OAAO,GAAE,iBAAiB,EAAO;CAIvD;AAkFD,wBAAsB,WAAW,CAC/B,WAAW,EAAE,YAAY,EACzB,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,oBAAyB,GACtC,OAAO,CAAC,iBAAiB,CAAC,CA0I5B;AAED,wBAAsB,YAAY,CAChC,SAAS,EAAE,SAAS,YAAY,EAAE,EAClC,cAAc,EAAE,MAAM,EACtB,YAAY,GAAE,oBAAyB,GACtC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAe9B"}
|
|
@@ -122,7 +122,7 @@ export async function runVerifier(rawVerifier, repositoryRoot, dependencies = {}
|
|
|
122
122
|
const tails = { stdout: '', stderr: '' };
|
|
123
123
|
const observeSkip = (lane, chunk) => {
|
|
124
124
|
const value = tails[lane] + chunk.toString();
|
|
125
|
-
if (/(?:# SKIP|\b[1-9]\d* (?:skipped|pending)\b|# (?:skipped|todo) [1-9])/iu.test(value))
|
|
125
|
+
if (/(?:# SKIP(?=\s)|\b[1-9]\d* (?:skipped|pending)\b|# (?:skipped|todo) [1-9])/iu.test(value))
|
|
126
126
|
skipped = true;
|
|
127
127
|
tails[lane] = value.slice(-256);
|
|
128
128
|
};
|
|
@@ -220,6 +220,10 @@ export async function runVerifier(rawVerifier, repositoryRoot, dependencies = {}
|
|
|
220
220
|
settle({ status: 'spawn_failed', exitCode: null, signal: null });
|
|
221
221
|
});
|
|
222
222
|
child.once('close', (code, signal) => {
|
|
223
|
+
// EOF completes a directive token; a chunk ending in '# SKIP' alone
|
|
224
|
+
// must not misclassify the next chunk's 'ped 0' summary.
|
|
225
|
+
observeSkip('stdout', '\n');
|
|
226
|
+
observeSkip('stderr', '\n');
|
|
223
227
|
if (!timedOut)
|
|
224
228
|
tryKill('SIGTERM');
|
|
225
229
|
settle({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/enno-oduno/verifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"verifier.js","sourceRoot":"","sources":["../../src/enno-oduno/verifier.ts"],"names":[],"mappings":"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"}
|
package/dist/locale/en.json
CHANGED
package/dist/locale/ja.json
CHANGED
package/dist/locale/ko.json
CHANGED
package/dist/locale/zh-CN.json
CHANGED
package/docs/README.ja.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
目的別に参照してください。
|
|
4
4
|
|
|
5
|
+
- [Lisp と判定の既定値](../README.ja.md#startup-defaults) — 作業開始カードの既定の回答と判定providerの設定。
|
|
5
6
|
- [OpenAI Decisionsの設定](../README.ja.md#openai-decisions-setup) — APIキーの保存先・自動再読・優先順位・判定providerの切替。[詳細な設定(英語)](typed-decisions.md#openai-credentials)。
|
|
6
7
|
- [導入ガイド](getting-started.ja.md) — DeepSeek Harness Pluginの導入と実行。
|
|
7
8
|
- [基本概念](concepts.ja.md) — RAG、記憶のライフサイクル、Project/Ecosystem/Global、Akinator。
|
package/docs/README.md
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Choose a guide by what you need to do:
|
|
4
4
|
|
|
5
|
+
- [Startup defaults for Lisp and decisions](../README.md#startup-defaults) — preselect the per-task card answer and set the decision provider.
|
|
5
6
|
- [OpenAI Decisions setup](../README.md#openai-decisions-setup) — API key, credential file paths, automatic reload, precedence and provider switching; [detailed configuration](typed-decisions.md#openai-credentials).
|
|
6
7
|
- [Getting started](getting-started.md) — install and run the DeepSeek Harness plugin.
|
|
7
8
|
- [Concepts](concepts.md) — RAG, memory lifecycle, Project/Ecosystem/Global scopes, and Akinator.
|
package/docs/answer-review.md
CHANGED
|
@@ -18,6 +18,14 @@ answerReview:
|
|
|
18
18
|
|
|
19
19
|
Layaの通常v1 workerは内部の入力切り詰めとモデルfingerprintを確認できません。結果は `unverified_v1` の見直し候補です。strict workerは全質問のpreflightが通ってから評価します。Jev/Nimbleでもスコアや受理は正しさの保証ではありません。分類器の出していない問題説明は生成せず、該当項目と回答・根拠のイベント参照だけを再検討の手掛かりとして渡します。
|
|
20
20
|
|
|
21
|
+
## 実測・説明・未検証範囲の境界
|
|
22
|
+
|
|
23
|
+
環境制約が失敗原因という説明や「別環境では通る見込み」は推定であり、観測された合格とは別です。型検査・buildの成功も、テスト合格や稼働中アプリへの反映の証明にはなりません。通常回答のverificationレビューにはこの区別を指示していますが、分類器への助言であり、自由文を機械的に修正・禁止する保証ではありません。根拠不足は引き続き棄権です。
|
|
24
|
+
|
|
25
|
+
Ennoの最終回答欠落時に生成するhost完了報告では、`completion-verification-v1` の射影が記録済みverifier・必須チェックとの一致・鮮度・終了状態・TAPの失敗/取消を評価します。失敗は `failed`、記録や必須チェックの不足・skip・陳腐化は `unverified` として残し、作業状態がcompletedでも合格へ置き換えません。モデル由来の作業説明や原因の推定は、未検証の説明欄に分け、検証結果の計算には使用しません。別環境と稼働中runtimeは記録されたチェックの範囲外として未検証です。
|
|
26
|
+
|
|
27
|
+
後から実測した合格は、その新しい記録のチェックだけを更新します。過去の報告や未測定範囲を成功へ書き換えず、報告の生成自体もtask状態を変更しません。このhost報告は通常の非空なモデル最終回答を置換しません。自由文の全ケースやモデルの原因判断の正確さを保証する機能ではありません。
|
|
28
|
+
|
|
21
29
|
## 継続と終了
|
|
22
30
|
|
|
23
31
|
`assistant/message` と正常な `turn/end` が揃った後、非同期workerが評価します。終了フックで推論を待ちません。評価中はrunの終了確定を保留します。失敗・タイムアウト・棄権では元の回答で終了します。
|
package/docs/lisp.md
CHANGED
|
@@ -282,6 +282,45 @@ remain available when the AI loop is stopped:
|
|
|
282
282
|
/kioku-lisp recover
|
|
283
283
|
```
|
|
284
284
|
|
|
285
|
+
The default `status` view shows counts and up to three unresolved Lisp operations
|
|
286
|
+
and three unresolved external operations, each with its exact `diagnostics` command.
|
|
287
|
+
Successful operation IDs stay in `/kioku-lisp status --json`; ordinary status does
|
|
288
|
+
not print the full history. Reading either view never starts or recovers a worker.
|
|
289
|
+
|
|
290
|
+
An owned file proposal rejected by the host before dispatch is `NOT_APPLIED`,
|
|
291
|
+
not an unknown mutation. The Lisp generation and its definitions remain usable;
|
|
292
|
+
the host's preparation and permission checks still apply to any later attempt.
|
|
293
|
+
An error after dispatch, even with identical text, remains `UNKNOWN`.
|
|
294
|
+
|
|
295
|
+
`RECONCILIATION_REQUIRED` means external effects still lack a verifiable receipt.
|
|
296
|
+
Inspect `/kioku-lisp diagnostics OPERATION_ID` and the original host evidence.
|
|
297
|
+
A SIGTERM or job settlement message alone is not proof that the process and its
|
|
298
|
+
resources stopped. No interrupted command is automatically retried.
|
|
299
|
+
|
|
300
|
+
Restarting Lisp cannot clear an unknown external operation, and neither can
|
|
301
|
+
`recover` or `abandon`. While one remains, every later effect is refused. After
|
|
302
|
+
inspecting the original receipt, end only the operations you have confirmed are
|
|
303
|
+
harmless; the recorded text is the human evidence, not an observed result:
|
|
304
|
+
|
|
305
|
+
```text
|
|
306
|
+
/kioku-lisp abandon-managed OPERATION_ID
|
|
307
|
+
/kioku-lisp recover
|
|
308
|
+
```
|
|
309
|
+
|
|
310
|
+
`abandon-managed` accepts only `unknown` operations, requires the inspection
|
|
311
|
+
evidence, and records no success or failure outcome. It never re-executes the
|
|
312
|
+
command and never reverts an effect, so operations whose effects you cannot
|
|
313
|
+
verify must stay open until you resolve them yourself. The Lisp control beside
|
|
314
|
+
the session input offers the same action for the listed operations, and a scope
|
|
315
|
+
containing an abandoned operation cannot later be used as protocol test evidence.
|
|
316
|
+
|
|
317
|
+
A host that supplies versioned Bash termination receipts can reconcile an exact
|
|
318
|
+
original native child as `cancelled-confirmed` after observing its managed range
|
|
319
|
+
empty. The plugin checks the child/root call, agent, session and exact dispatched
|
|
320
|
+
working directory. The Lisp timeout or cancellation stays an error, and prior
|
|
321
|
+
command effects remain. Older hosts, missing receipts and mismatched identities
|
|
322
|
+
remain unresolved; text, SIGTERM and job settlement cannot substitute for proof.
|
|
323
|
+
|
|
285
324
|
In ordinary development conversations, `recover` starts a fresh worker after a
|
|
286
325
|
timeout, output limit or Stop, including between turns. It needs no task setup;
|
|
287
326
|
old turn permissions remain expired, and definitions/heap values are discarded.
|
|
@@ -430,9 +469,10 @@ The legacy lisp.approvalMode ask/auto configuration and profile commands remain
|
|
|
430
469
|
Use kioku_read/write/edit/remove/exec/result for observed work. Host receipts distinguish actual process outcome, source-bound verification and saving status. Lisp/model passed fields are advisory. Saving can be retried without repeating development effects; after restart an interrupted process remains unknown. See [owned execution](owned-execution.md).
|
|
431
470
|
<!-- /kiokuko:runtime -->
|
|
432
471
|
|
|
433
|
-
Pinned DSH stores
|
|
434
|
-
the host-owned profile identity. Current DSH exposes `lisp.approvalMode
|
|
435
|
-
|
|
472
|
+
Pinned DSH stores the approval setting in the native `kiokuko-lisp` namespace, keyed by
|
|
473
|
+
the host-owned profile identity. Current DSH exposes `lisp.approvalMode`, the
|
|
474
|
+
`startupDefaults` pair and `typedDecisions.provider` together through the native
|
|
475
|
+
`kiokuko-dsh` configuration form, and saves the profile patch. This
|
|
436
476
|
compatibility difference does not change the controls or scope. No separate
|
|
437
477
|
preference file or database migration is used.
|
|
438
478
|
|
|
@@ -530,6 +570,7 @@ Clean installation and platform status: [code intelligence setup](code-intellige
|
|
|
530
570
|
|
|
531
571
|
## Coding task choice and recovery
|
|
532
572
|
|
|
533
|
-
For a new coding task, `coding_workflow` first defines and displays the Goal, implementation items and observable conditions. The host then asks whether to use Lisp. Configuration alone never implies yes; an explicit manual session ON is reused as the selected route.
|
|
573
|
+
For a new coding task, `coding_workflow` first defines and displays the Goal, implementation items and observable conditions. The host then asks whether to use Lisp. Configuration alone never implies yes; an explicit manual session ON is reused as the selected route.
|
|
574
|
+
`startupDefaults.lisp` (default `ask`) only preselects the Lisp answer on the task-startup card, which stays editable; a saved answer still wins. The default never enables the module or satisfies a yes: a missing runtime or failed startup remains the same recoverable blocker. Closing the question leaves it pending and `coding_workflow next` reopens the same question. Explicit continuation after a host restart restores the task choice; a new task or material scope change asks again. A saved yes followed by startup failure remains a visible blocker; recover the runtime or explicitly change the task route with `/kioku-lisp disable`. No uses ordinary tools and still requires fresh item checks followed by a final user-entry Goal check. Lisp evaluation success alone is insufficient: bind `task_completion` and collect actual host process evidence. See [coding workflow](coding-workflow.md).
|
|
534
575
|
|
|
535
576
|
Live opt-in condition/restart recovery: see [bounded recovery](lisp-recovery.md).
|
package/docs/micro-judge.md
CHANGED
|
@@ -6,7 +6,7 @@ The experimental `crates/micro-judge` program propagates finite domains and uses
|
|
|
6
6
|
|
|
7
7
|
The host builds a typed relation graph over exact message identities/digests, current task/Goal revisions, candidate proposal-set membership, proposal revisions/digests, legal current task operation membership and the independent semantic observation. Strings are interned to opaque integer identities. Boolean unknown has domain `[0,1]`; integer values cannot stand in for Boolean values. Intermediate variables link the relations, so the executable performs propagation and MRV search. These observations cannot grant execution. Existing native ownership, lease, revision, scope, permission, cancellation and admission checks remain required.
|
|
8
8
|
|
|
9
|
-
A complete entailed relation graph can pass the advisory comparison.
|
|
9
|
+
A complete entailed relation graph can pass the advisory comparison. Semantic contradiction and source inconsistency remain blocking. An auxiliary abstention asks the user instead of silently accepting a main-model interpretation. A native affirmative answer to the exact current request can satisfy the confirmation requirement for new/same-scope work, without adopting proposals or changing lifecycle state. The private receipt is bound to the same agent/session, original source set, exact answer bytes, candidate classification and task/Goal/proposal revisions; it is not serialized into model-controllable tool arguments and is not restored after restart. The native finite checker still proves the current source identities and revisions. The assessment records `user_confirmed` (diagnostic reason `assessment_user_confirmed`), retaining `semantic: insufficient` and all original checks; it does not invent independent semantic support. OpenAI semantic refusals are unavailable, not recoverable abstentions. Host scope, ownership, admission and native permissions remain authoritative. A matching actual UI answer is validated against the same agent/session/question and unchanged context, becomes a fresh native user message/source identity, and is reinterpreted. Its exact text labels the latest explicit revision and its scope; unrelated constraints remain applicable. Wrong-question, replaced/stale context, cancellation and repeat replies cannot create new source authority. Ordinary explanatory answers and native evidence gathering bypass this execution assessment. It operates on resolved candidates; unknown optional intake metadata cannot become a new execution prerequisite. Explicit `typedDecisions.mode=off` retains the pre-existing native authority path and records `assessment_disabled`/`not_run`, with no solver verdict or new grant. An enabled assessment that is unavailable is never converted into that disabled state or a successful comparison. Unowned ordinary native tools keep the existing native-policy path; this assessment currently applies to prepared/owned request intent, not arbitrary shell effects or a new command parser.
|
|
10
10
|
|
|
11
11
|
Unavailable provider/artifact, timeout, malformed or mismatched output and incomplete/resource-limited search produce `assessment_unavailable`; no successful comparison or execution grant is inferred. Infrastructure failure is reported, not presented as a semantic question that a human answer could repair. Semantic-match and detector events share the existing intake diagnostic lineage and record bounded input/output digests, executable hash, version, duration, completeness, verdict or finite unavailable reason. Raw request/answer text is not copied into diagnostics.
|
|
12
12
|
|
package/docs/on-demand-intake.md
CHANGED
|
@@ -37,6 +37,8 @@ The host supplies bounded references to current human input, the active Goal and
|
|
|
37
37
|
{"taskType":"research","requestIntent":{"relation":"new","action":"research","evidenceRefs":["<current-host-reference>"]}}
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
An auxiliary semantic abstention asks the user about the current target, operation and constraints; it is neither permission nor a contradiction. For a concrete new/same-scope request, the native question quotes the unchanged request and offers explicit confirmation or correction. Only the affirmative native selection binds a private, session-local receipt to the exact source, answer bytes, candidate and current task/Goal/proposal revisions. After the answer is recaptured, the same candidate can record `user_confirmed` while the provider remains `insufficient`; the finite source checks and all existing admission/native permissions still run. Empty answers, dismissal, foreign or edited answers, changed scope and restart cannot recreate that receipt. Model-written approval fields or quoted answers cannot create it. Corrections are queued as native user input for fresh interpretation, not mapped to automatic permission. Proposal adoption, scope expansion, lifecycle operations, unknown targets and contradictions cannot use this confirmation shortcut.
|
|
41
|
+
|
|
40
42
|
The guidance separates mandatory `requiredReferences` (current message and active identity/revisions) from optional per-proposal `evidenceRef` values. Include only proposals the current request actually adopts or references; unrelated proposals are not implicit approvals. Unknown or stale references remain errors.
|
|
41
43
|
|
|
42
44
|
An abstention on the optional `taskOperation` question preserves independently resolved relation/action/scope and records `task_operation_unresolved`; it does not start, resume or complete a task. The main model can resolve that diagnostic with the exact current references. Pending/terminal state, stale leases, scope changes and native permissions still use their existing checks. Uncertain proposal references and unknown action/target still require resolution. A change also requires an explicit implementation or document scope at Core, adapter and on-demand preparation boundaries, including when taskOperation is omitted, none, or uncertain; a legacy task-type hint cannot supply that scope. Core also preserves the prior task at the next-turn admission boundary while required change scope remains unresolved. Explanation or inspection accompanying an explicit edit is classified as change without dropping the other requested work or prohibitions. This prompt rule is not evidence of live model accuracy.
|
package/docs/typed-decisions.md
CHANGED
|
@@ -28,6 +28,11 @@ Laya accept Choice only and return `DECISION_UNSUPPORTED` before inference for
|
|
|
28
28
|
other kinds. The separate Lisp `kioku.typesafe:evaluate` API retains its own
|
|
29
29
|
wire contract.
|
|
30
30
|
|
|
31
|
+
The configured provider (`typedDecisions.provider`, default `typesafe`) is the default
|
|
32
|
+
for new requests whenever this project has no saved selection. `/kioku-decisions use`
|
|
33
|
+
still saves an explicit project selection, which the configured default never
|
|
34
|
+
overwrites; `use default` returns to it.
|
|
35
|
+
|
|
31
36
|
Switch backends in DSH without a restart:
|
|
32
37
|
|
|
33
38
|
```text
|
|
@@ -136,11 +141,16 @@ is not evidence of a successful API call; use the command probe to verify access
|
|
|
136
141
|
The normal startup card offers the four decision/Lisp ON/OFF combinations and Cancel
|
|
137
142
|
in one question before model tool assembly. It uses the currently selected backend,
|
|
138
143
|
shown in the card; selection does not prove authentication or successful inference.
|
|
144
|
+
`startupDefaults.decision` and `startupDefaults.lisp` (default `ask`) mark one of those
|
|
145
|
+
options as the preset; the native question UI preselects a label ending in
|
|
146
|
+
` (Recommended)`, so the card still opens editable. A preset grants no authority.
|
|
139
147
|
Immutable existing decision bindings also retain the task choice, without granting
|
|
140
148
|
tool or file authority. The same request and explicit continuation reuse the choice;
|
|
141
|
-
an unrelated new request asks again. Cancel/Skip starts no task. Headless operation
|
|
142
|
-
|
|
143
|
-
|
|
149
|
+
an unrelated new request asks again. Cancel/Skip starts no task. Headless operation with `ask` keeps the
|
|
150
|
+
configured decision mode and explicit manual Lisp preference; `on`/`off` supply that
|
|
151
|
+
answer instead. An explicit
|
|
152
|
+
`typedDecisions.startup: { decision: true, lisp: true }` config selects both and
|
|
153
|
+
outranks the startup defaults for binding.
|
|
144
154
|
Runtime failures retain the choice and permit explicit recovery without a new question.
|
|
145
155
|
|
|
146
156
|
Semantic-comparison diagnostics retain only the known criterion names
|
package/lisp/supervisor.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
// Trusted host helper, never evaluated inside Lisp. stdin is a parent-liveness
|
|
2
2
|
// pipe. It stays outside the worker sandbox so arbitrary Lisp cannot disable it.
|
|
3
|
-
import { spawn } from 'node:child_process'
|
|
4
|
-
import { openSync, closeSync, writeSync } from 'node:fs'
|
|
3
|
+
import { spawn, execFileSync } from 'node:child_process'
|
|
4
|
+
import { openSync, closeSync, writeSync, readFileSync } from 'node:fs'
|
|
5
5
|
import { claimRepository } from './repository-owner.mjs'
|
|
6
|
+
import { processIdentity, sameProcess } from './process-identity.mjs'
|
|
6
7
|
const launch = JSON.parse(process.argv[2])
|
|
7
8
|
let repositoryLease
|
|
8
9
|
if (launch.repositoryRoot) {
|
|
@@ -13,8 +14,60 @@ if (launch.repositoryRoot) {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
let child, closing = false, terminationSent = false
|
|
17
|
+
let namespace, terminal, finishTimer, ownershipError = false
|
|
18
|
+
// Pending promises and SQLite leases do not keep Node alive after stdin EOF
|
|
19
|
+
// and monitor exit. Keep unconfirmed ownership visible to the host watchdog.
|
|
20
|
+
const namespaceLifetime = launch.namespaceInfo ? setInterval(() => {}, 60000) : undefined
|
|
21
|
+
const unconfirmed = message => {
|
|
22
|
+
if (!ownershipError) console.error(`LISP_STOP_UNCONFIRMED: ${message}`)
|
|
23
|
+
ownershipError = true
|
|
24
|
+
}
|
|
25
|
+
const reportRuntime = pid => {
|
|
26
|
+
if (!repositoryLease) return
|
|
27
|
+
try {
|
|
28
|
+
const identity = repositoryLease.recordRuntime(pid)
|
|
29
|
+
writeSync(4, JSON.stringify({ type: 'runtime', pid, identity })+'\n')
|
|
30
|
+
} catch {
|
|
31
|
+
try { writeSync(4, JSON.stringify({ type: 'error', code: 'REPOSITORY_LOCK_FAILED' })+'\n') } finally { stop() }
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const parentPid = pid => process.platform === 'linux'
|
|
35
|
+
? Number(readFileSync(`/proc/${pid}/stat`, 'utf8').replace(/^.*\) /, '').split(' ')[1])
|
|
36
|
+
: Number(execFileSync('/bin/ps', ['-p', String(pid), '-o', 'ppid='], { encoding: 'utf8', timeout: 1000, stdio: ['ignore', 'pipe', 'ignore'] }).trim())
|
|
37
|
+
const finish = () => {
|
|
38
|
+
if (!terminal) return
|
|
39
|
+
if (launch.namespaceInfo) {
|
|
40
|
+
if (!namespace) return // Missing ownership evidence never confirms Stop.
|
|
41
|
+
try {
|
|
42
|
+
if (sameProcess(namespace.pid, namespace.identity)) {
|
|
43
|
+
finishTimer ??= setTimeout(() => { finishTimer = undefined; finish() }, 10)
|
|
44
|
+
return
|
|
45
|
+
}
|
|
46
|
+
} catch { unconfirmed('cannot confirm sandbox child termination'); return }
|
|
47
|
+
}
|
|
48
|
+
clearTimeout(finishTimer)
|
|
49
|
+
clearInterval(namespaceLifetime)
|
|
50
|
+
repositoryLease?.close()
|
|
51
|
+
process.exit(terminal.signal ? 128 : terminal.code ?? 70)
|
|
52
|
+
}
|
|
16
53
|
const kill = () => {
|
|
17
54
|
if (!child?.pid || terminationSent) return
|
|
55
|
+
if (launch.namespaceInfo) {
|
|
56
|
+
// bwrap's monitor can fork before its namespace init installs PDEATHSIG.
|
|
57
|
+
// Keep the monitor alive until its private info pipe identifies that child.
|
|
58
|
+
if (!namespace) return
|
|
59
|
+
try {
|
|
60
|
+
if (sameProcess(namespace.pid, namespace.identity)) {
|
|
61
|
+
if (!namespace.identity || processIdentity(namespace.pid) !== namespace.identity) throw new Error('identity unavailable')
|
|
62
|
+
process.kill(namespace.pid, 'SIGKILL')
|
|
63
|
+
}
|
|
64
|
+
terminationSent = true
|
|
65
|
+
} catch (error) {
|
|
66
|
+
if (error.code === 'ESRCH') terminationSent = true
|
|
67
|
+
else unconfirmed('sandbox child termination was not authorized or its identity changed')
|
|
68
|
+
}
|
|
69
|
+
return
|
|
70
|
+
}
|
|
18
71
|
try {
|
|
19
72
|
if (launch.group && child?.pid) process.kill(-child.pid, 'SIGKILL')
|
|
20
73
|
else child.kill('SIGKILL')
|
|
@@ -33,22 +86,50 @@ process.stdin.resume()
|
|
|
33
86
|
const filter = launch.seccompPath ? openSync(launch.seccompPath, 'r') : undefined
|
|
34
87
|
const stdio = ['ignore', 'inherit', 'inherit', launch.protocol ? 3 : 'ignore']
|
|
35
88
|
if (filter !== undefined) stdio.push(filter)
|
|
89
|
+
if (launch.namespaceInfo) {
|
|
90
|
+
while (stdio.length < 5) stdio.push('ignore')
|
|
91
|
+
stdio.push('pipe')
|
|
92
|
+
}
|
|
36
93
|
child = spawn(launch.command, launch.args, { cwd: launch.cwd, env: launch.env, stdio, detached: !!launch.group })
|
|
37
94
|
if (filter !== undefined) closeSync(filter)
|
|
95
|
+
if (launch.namespaceInfo) {
|
|
96
|
+
let info = '', excessive = false
|
|
97
|
+
child.stdio[5].on('data', chunk => {
|
|
98
|
+
if (excessive) return
|
|
99
|
+
info += chunk.toString()
|
|
100
|
+
if (Buffer.byteLength(info) > 16384) { excessive = true; unconfirmed('invalid sandbox ownership report') }
|
|
101
|
+
})
|
|
102
|
+
child.stdio[5].once('error', () => unconfirmed('sandbox ownership channel failed'))
|
|
103
|
+
child.stdio[5].once('end', () => {
|
|
104
|
+
try {
|
|
105
|
+
if (excessive) return
|
|
106
|
+
const pid = JSON.parse(info)['child-pid']
|
|
107
|
+
if (!Number.isSafeInteger(pid) || pid < 1 || pid === child.pid || pid === process.pid) throw new Error('invalid pid')
|
|
108
|
+
const identity = processIdentity(pid)
|
|
109
|
+
// The channel is private to bwrap and closed before guest execution.
|
|
110
|
+
// Check kernel parentage while its monitor is alive, then retain the
|
|
111
|
+
// birth fingerprint so a later orphan or PID reuse cannot change scope.
|
|
112
|
+
if (sameProcess(pid, identity) && (!identity || parentPid(pid) !== child.pid)) throw new Error('not an owned child')
|
|
113
|
+
namespace = { pid, identity }
|
|
114
|
+
// A dead bwrap monitor cannot donate a still-live namespace runtime.
|
|
115
|
+
reportRuntime(pid)
|
|
116
|
+
if (closing) kill()
|
|
117
|
+
finish()
|
|
118
|
+
} catch { unconfirmed('invalid or unowned sandbox child report') }
|
|
119
|
+
})
|
|
120
|
+
}
|
|
38
121
|
// Stream one JSON object: older readers still consume the complete terminal
|
|
39
122
|
// object, while current readers observe the prefix only after actual spawn.
|
|
40
123
|
child.once('spawn',()=>{
|
|
41
|
-
if(launch.
|
|
42
|
-
try{const identity=repositoryLease.recordRuntime(child.pid);writeSync(4,JSON.stringify({type:'runtime',pid:child.pid,identity})+'\n')}
|
|
43
|
-
catch{try{writeSync(4,JSON.stringify({type:'error',code:'REPOSITORY_LOCK_FAILED'})+'\n')}finally{stop()}}
|
|
44
|
-
}
|
|
124
|
+
if (!launch.namespaceInfo) reportRuntime(child.pid)
|
|
45
125
|
if(launch.report){try{writeSync(4,'{"processStarted":true,')}catch{/* host already stopped */}}
|
|
46
126
|
})
|
|
47
127
|
child.once('error', error => { process.stderr.write(`LISP_LAUNCH_ERROR: ${error.message}\n`); process.exit(70) })
|
|
48
128
|
child.once('exit', (code, signal) => {
|
|
49
129
|
if(launch.report){try{writeSync(4,JSON.stringify({exitCode:code,signal}).slice(1)+'\n')}catch{/* host already stopped */}}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
130
|
+
terminal = { code, signal }
|
|
131
|
+
if (launch.namespaceInfo) stop()
|
|
132
|
+
else if (launch.group) kill()
|
|
133
|
+
finish()
|
|
53
134
|
})
|
|
54
135
|
if (closing) kill()
|