kiokuko-dsh 0.1.40 → 0.1.42
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/PERMISSIONS.md +5 -0
- package/dist/dsh/index.d.ts.map +1 -1
- package/dist/dsh/index.js +10 -1
- package/dist/dsh/index.js.map +1 -1
- package/dist/dsh/session-history-compatibility.d.ts.map +1 -1
- package/dist/dsh/session-history-compatibility.js +46 -20
- package/dist/dsh/session-history-compatibility.js.map +1 -1
- package/docs/session-history-repair.md +20 -1
- package/package.json +2 -2
- package/scripts/repair-continuation-source.mjs +2 -34
- package/scripts/session-history-codec.d.mts +2 -0
- package/scripts/session-history-codec.mjs +44 -1
package/PERMISSIONS.md
CHANGED
|
@@ -17,6 +17,11 @@ Kiokuko operation.
|
|
|
17
17
|
in a disposable local directory, and replaces the source atomically. It
|
|
18
18
|
reports failed IDs without exposing message contents; invalid or unrelated
|
|
19
19
|
records remain errors. The same check applies when a chat is opened later.
|
|
20
|
+
- For v0 histories, normalizes Kiokuko continuation sources and diagnostic
|
|
21
|
+
stack fields in supported abort causes, validates the native migration in
|
|
22
|
+
isolation, and publishes a new v3 generation under the same native lease.
|
|
23
|
+
Retains the original v0 file and an identical `.bak`; never overwrites an
|
|
24
|
+
existing successor or reconstructs missing turn-ending events.
|
|
20
25
|
- Does not rewrite host configuration or repository instruction files.
|
|
21
26
|
Repository identity, run identity, lease, revision, and integrity mismatches
|
|
22
27
|
fail closed.
|
package/dist/dsh/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dsh/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,iEAAiE;AACjE,eAAO,MAAM,IAAI,gBAAgB,CAAA;AAEjC,0DAA0D;AAC1D,eAAO,MAAM,MAAM,aAAc,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,cAAc,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AAEzC,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAOhG;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dsh/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,IAAI,SAAS,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAI9C,iEAAiE;AACjE,eAAO,MAAM,IAAI,gBAAgB,CAAA;AAEjC,0DAA0D;AAC1D,eAAO,MAAM,MAAM,aAAc,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,YAAY,EAAE,SAAS,EAAE,CAAA;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,mBAAmB,kBAAkB,CAAA;AACrC,mBAAmB,cAAc,CAAA;AACjC,cAAc,yBAAyB,CAAA;AACvC,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AAEzC,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAOhG;AAED;;;;;GAKG;AACH,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAK1E;AA8ED,mBAAmB,iBAAiB,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAE9C,cAAc,kCAAkC,CAAA"}
|
package/dist/dsh/index.js
CHANGED
|
@@ -45,10 +45,19 @@ export function mountDshRuntime(ctx, runtime) {
|
|
|
45
45
|
* the bundled provider and SOUL prompt without a second plugin.
|
|
46
46
|
*/
|
|
47
47
|
export async function apply(ctx, config) {
|
|
48
|
+
try {
|
|
49
|
+
await startDshPlugin(ctx, config);
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
console.error('[kiokuko-dsh] [crit] Plugin startup failed:', error instanceof Error ? error.message : String(error));
|
|
53
|
+
throw error;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
async function startDshPlugin(ctx, config) {
|
|
48
57
|
const resolvedConfig = Config.parse(config);
|
|
49
58
|
if (!resolvedConfig.enabled)
|
|
50
59
|
return;
|
|
51
|
-
console.info('[kiokuko-dsh] plugin loaded');
|
|
60
|
+
console.info('[kiokuko-dsh] [info] plugin loaded');
|
|
52
61
|
await ctx.effect(async () => {
|
|
53
62
|
const host = ctx.get(KIOKUKO_DSH_HOST_SERVICE, false);
|
|
54
63
|
if (host !== undefined) {
|
package/dist/dsh/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsh/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAE/D,OAAO,EAAE,MAAM,EAA4B,MAAM,aAAa,CAAA;AAE9D,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAA2B,MAAM,kBAAkB,CAAA;AACzG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAExD,iEAAiE;AACjE,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAA;AAEjC,0DAA0D;AAC1D,MAAM,CAAC,MAAM,MAAM,GAAG,EAAW,CAAA;AAEjC,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,cAAc,yBAAyB,CAAA;AAEvC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,+BAA+B,CAAA;AAC7C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,2BAA2B,CAAA;AAEzC,yEAAyE;AACzE,MAAM,UAAU,eAAe,CAAC,GAAY,EAAE,OAAmB;IAC/D,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QAC3B,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACrB,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;QACvB,CAAC,CAAA;IACH,CAAC,EAAE,qBAAqB,CAAC,CAAA;AAC3B,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CAAC,GAAY,EAAE,MAAiB;IACzD,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IAC3C,IAAI,CAAC,cAAc,CAAC,OAAO;QAAE,OAAM;IAEnC,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dsh/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-history-compatibility.d.ts","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"session-history-compatibility.d.ts","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA2B7C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC3D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CACnC;AA4KD,yFAAyF;AACzF,wBAAgB,gCAAgC,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,KAAK,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAAC,IAAI,IAAI,IAAI,CAAC;IAAC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAkD9I"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Context } from '@deepseek-ai/cordis';
|
|
2
2
|
import { constants } from 'node:fs';
|
|
3
|
-
import { lstat, mkdtemp, open, readFile, realpath, rename, rm } from 'node:fs/promises';
|
|
3
|
+
import { link, lstat, mkdtemp, open, readFile, realpath, rename, rm } from 'node:fs/promises';
|
|
4
4
|
import { tmpdir } from 'node:os';
|
|
5
5
|
import { basename, dirname, join } from 'node:path';
|
|
6
6
|
import { randomUUID } from 'node:crypto';
|
|
7
7
|
import { canonicalJson } from '../serialization/validate.js';
|
|
8
|
-
import { decodeSessionLog, encodeSessionLog, parseJsonl, repairInformationalRecord } from '../../scripts/session-history-codec.mjs';
|
|
8
|
+
import { decodeSessionLog, encodeSessionLog, parseJsonl, repairInformationalRecord, repairContinuationRecord, repairLegacyAbortRecord } from '../../scripts/session-history-codec.mjs';
|
|
9
9
|
const MAX_COMPRESSED_BYTES = 64 * 1024 * 1024;
|
|
10
10
|
const MAX_EXPANDED_BYTES = 256 * 1024 * 1024;
|
|
11
11
|
const ownership = Symbol.for('kiokuko-dsh.session-history-compatibility.v1');
|
|
@@ -20,10 +20,10 @@ function refusalPath(error) {
|
|
|
20
20
|
const refusal = error;
|
|
21
21
|
return refusal?.name === 'SessionFormatUnsupportedError' && refusal.location?.kind === 'jsonl'
|
|
22
22
|
&& typeof refusal.location.path === 'string'
|
|
23
|
-
&& ['session.v3.jsonl.zstd', 'session.v3.jsonl'].includes(basename(refusal.location.path)) ? refusal.location.path : undefined;
|
|
23
|
+
&& ['session.jsonl.zstd', 'session.jsonl', 'session.v3.jsonl.zstd', 'session.v3.jsonl'].includes(basename(refusal.location.path)) ? refusal.location.path : undefined;
|
|
24
24
|
}
|
|
25
25
|
/** Validate with the running backend implementation, including its current codec and identity checks. */
|
|
26
|
-
async function validateCandidate(backend, header, candidate, compression, signal) {
|
|
26
|
+
async function validateCandidate(backend, header, candidate, compression, version, signal) {
|
|
27
27
|
const root = await mkdtemp(join(tmpdir(), 'kiokuko-history-validation-'));
|
|
28
28
|
const scope = new Context();
|
|
29
29
|
const implementation = Object.getPrototypeOf(backend).constructor;
|
|
@@ -39,7 +39,10 @@ async function validateCandidate(backend, header, candidate, compression, signal
|
|
|
39
39
|
const path = await validator.resolveCurrentLog(header.id, signal);
|
|
40
40
|
if (!path)
|
|
41
41
|
throw new Error('Native history validator did not materialize its header');
|
|
42
|
-
const
|
|
42
|
+
const inputPath = version === 0 ? join(dirname(path), basename(path).replace('.v3.', '.')) : path;
|
|
43
|
+
if (version === 0)
|
|
44
|
+
await rm(path);
|
|
45
|
+
const file = await open(inputPath, version === 0 ? 'wx' : 'w');
|
|
43
46
|
try {
|
|
44
47
|
await file.writeFile(candidate);
|
|
45
48
|
await file.sync();
|
|
@@ -47,12 +50,19 @@ async function validateCandidate(backend, header, candidate, compression, signal
|
|
|
47
50
|
finally {
|
|
48
51
|
await file.close();
|
|
49
52
|
}
|
|
53
|
+
if (version === 0) {
|
|
54
|
+
// Let this exact native implementation migrate and publish the candidate
|
|
55
|
+
// in isolation. No private format catalog or reconstructed events.
|
|
56
|
+
const migrated = await validator.open(header.id, 'write', signal ? { signal } : undefined);
|
|
57
|
+
await migrated.close();
|
|
58
|
+
}
|
|
50
59
|
const restored = await validator.readStoredLog(path, header.id, signal);
|
|
51
60
|
if (restored.tornTruncateTo !== undefined || restored.recoveredTail?.length) {
|
|
52
61
|
throw new Error('Legacy history compatibility cannot discard a damaged tail');
|
|
53
62
|
}
|
|
54
63
|
if (canonicalJson(restored.meta) !== canonicalJson(header))
|
|
55
64
|
throw new Error('Legacy history header changed during validation');
|
|
65
|
+
return version === 0 ? await readFile(path) : candidate;
|
|
56
66
|
}
|
|
57
67
|
finally {
|
|
58
68
|
try {
|
|
@@ -87,16 +97,23 @@ async function retainBackup(path, original, mode) {
|
|
|
87
97
|
await file.close();
|
|
88
98
|
}
|
|
89
99
|
}
|
|
90
|
-
/**
|
|
100
|
+
/** Repair the exact rejected artifact under DSH's lock; historical v0 sources stay immutable. */
|
|
91
101
|
async function repairHistory(backend, id, rejectedPath, signal) {
|
|
92
102
|
signal?.throwIfAborted();
|
|
93
|
-
const
|
|
94
|
-
if (path !== rejectedPath || !['session.v3.jsonl.zstd', 'session.v3.jsonl'].includes(basename(path))) {
|
|
95
|
-
throw new Error('Legacy compatibility requires the exact native v3 session artifact');
|
|
96
|
-
}
|
|
103
|
+
const version = ['session.jsonl', 'session.jsonl.zstd'].includes(basename(rejectedPath)) ? 0 : 3;
|
|
97
104
|
const snapshot = await backend.stat(id, signal ? { signal } : undefined);
|
|
98
105
|
if (!snapshot || snapshot.header.id !== id || snapshot.header.version !== 3)
|
|
99
106
|
throw new Error('Legacy session identity mismatch');
|
|
107
|
+
if (version === 0 && snapshot.revision === undefined)
|
|
108
|
+
throw new Error('Legacy source revision is unavailable');
|
|
109
|
+
const current = await backend.resolveCurrentLog(id, signal);
|
|
110
|
+
const location = version === 0 ? backend.locate?.(snapshot.header) : undefined;
|
|
111
|
+
const target = version === 0 && location?.kind === 'jsonl' ? location.path : current;
|
|
112
|
+
if (!target || !['session.v3.jsonl', 'session.v3.jsonl.zstd'].includes(basename(target)))
|
|
113
|
+
throw new Error('Native current-generation location is unavailable');
|
|
114
|
+
const path = version === 0 ? join(dirname(target), basename(target).replace('.v3.', '.')) : target;
|
|
115
|
+
if (path !== rejectedPath || (version === 0 && current !== undefined))
|
|
116
|
+
throw new Error('Legacy compatibility requires the exact native source artifact');
|
|
100
117
|
const lease = await backend.acquireWriteLease(snapshot.header);
|
|
101
118
|
try {
|
|
102
119
|
signal?.throwIfAborted();
|
|
@@ -111,13 +128,14 @@ async function repairHistory(backend, id, rejectedPath, signal) {
|
|
|
111
128
|
const compressed = path.endsWith('.zstd');
|
|
112
129
|
const parsed = parseJsonl(compressed ? decodeSessionLog(original, MAX_EXPANDED_BYTES) : original);
|
|
113
130
|
const physicalHeader = parsed.records[0];
|
|
114
|
-
if (physicalHeader?.type !== 'session' || physicalHeader.id !== id || physicalHeader.version !==
|
|
131
|
+
if (physicalHeader?.type !== 'session' || physicalHeader.id !== id || physicalHeader.version !== version)
|
|
115
132
|
throw new Error('Legacy physical header mismatch');
|
|
116
133
|
let changed = false;
|
|
117
134
|
const lines = parsed.records.map((record, index) => {
|
|
118
135
|
if (index === 0)
|
|
119
136
|
return parsed.lines[index];
|
|
120
|
-
const
|
|
137
|
+
const informational = repairInformationalRecord(record);
|
|
138
|
+
const compatible = version === 0 ? repairLegacyAbortRecord(repairContinuationRecord(informational)) : informational;
|
|
121
139
|
if (compatible === record)
|
|
122
140
|
return parsed.lines[index];
|
|
123
141
|
changed = true;
|
|
@@ -125,11 +143,13 @@ async function repairHistory(backend, id, rejectedPath, signal) {
|
|
|
125
143
|
});
|
|
126
144
|
if (!changed)
|
|
127
145
|
return false;
|
|
146
|
+
console.info(`[kiokuko-dsh] [info] Repairing history for ${JSON.stringify(id)}`);
|
|
128
147
|
const plaintext = Buffer.from(`${lines.join('\n')}\n`);
|
|
129
|
-
const candidate = compressed ? encodeSessionLog(plaintext) : plaintext;
|
|
130
|
-
await validateCandidate(backend, snapshot.header, candidate, compressed ? 'zstd' : 'none', signal);
|
|
148
|
+
const candidate = await validateCandidate(backend, snapshot.header, compressed ? encodeSessionLog(plaintext) : plaintext, compressed ? 'zstd' : 'none', version, signal);
|
|
131
149
|
signal?.throwIfAborted();
|
|
132
|
-
if (await backend.resolveCurrentLog(id, signal) !==
|
|
150
|
+
if (await backend.resolveCurrentLog(id, signal) !== current
|
|
151
|
+
|| (version === 0 && (await backend.stat(id, signal ? { signal } : undefined))?.revision !== snapshot.revision)
|
|
152
|
+
|| await realpath(dirname(path)) !== parent
|
|
133
153
|
|| !(await readFile(path)).equals(original))
|
|
134
154
|
throw new Error('Legacy history changed before replacement');
|
|
135
155
|
await retainBackup(path, original, status.mode & 0o777);
|
|
@@ -148,7 +168,12 @@ async function repairHistory(backend, id, rejectedPath, signal) {
|
|
|
148
168
|
if (current.ino !== status.ino || current.dev !== status.dev || await realpath(dirname(path)) !== parent
|
|
149
169
|
|| !(await readFile(path)).equals(original))
|
|
150
170
|
throw new Error('Legacy history changed while staging compatibility update');
|
|
151
|
-
|
|
171
|
+
// Publish a new generation without replacing the historical source or
|
|
172
|
+
// overwriting a concurrently created successor.
|
|
173
|
+
if (version === 0)
|
|
174
|
+
await link(temporary, target);
|
|
175
|
+
else
|
|
176
|
+
await rename(temporary, path);
|
|
152
177
|
if (process.platform !== 'win32') {
|
|
153
178
|
const directory = await open(dirname(path), 'r');
|
|
154
179
|
try {
|
|
@@ -162,6 +187,7 @@ async function repairHistory(backend, id, rejectedPath, signal) {
|
|
|
162
187
|
finally {
|
|
163
188
|
await rm(temporary, { force: true });
|
|
164
189
|
}
|
|
190
|
+
console.info(`[kiokuko-dsh] [info] Repaired history for ${JSON.stringify(id)}`);
|
|
165
191
|
return true;
|
|
166
192
|
}
|
|
167
193
|
finally {
|
|
@@ -172,7 +198,7 @@ async function repairHistory(backend, id, rejectedPath, signal) {
|
|
|
172
198
|
async function checkStoredSessionIds(backend, repairedIds, signal) {
|
|
173
199
|
const result = { supported: true, listed: 0, checked: 0, repaired: 0, failed: 0, cancelled: false,
|
|
174
200
|
failures: [], enumerationError: undefined };
|
|
175
|
-
console.info('[kiokuko-dsh] Checking stored session IDs');
|
|
201
|
+
console.info('[kiokuko-dsh] [info] Checking stored session IDs');
|
|
176
202
|
try {
|
|
177
203
|
const snapshots = await backend.list({ signal: AbortSignal.any([signal, AbortSignal.timeout(60_000)]) });
|
|
178
204
|
const ids = [...new Set(snapshots.map(snapshot => snapshot.header.id))];
|
|
@@ -203,11 +229,11 @@ async function checkStoredSessionIds(backend, repairedIds, signal) {
|
|
|
203
229
|
result.enumerationError = error instanceof Error ? error.message : String(error);
|
|
204
230
|
}
|
|
205
231
|
result.cancelled = signal.aborted;
|
|
206
|
-
console.info(`[kiokuko-dsh] Session ID check: ${result.checked}/${result.listed} checked, ${result.repaired} repaired, ${result.failed} failed${result.cancelled ? ', cancelled' : ''}`);
|
|
232
|
+
console.info(`[kiokuko-dsh] [info] Session ID check: ${result.checked}/${result.listed} checked, ${result.repaired} repaired, ${result.failed} failed${result.cancelled ? ', cancelled' : ''}`);
|
|
207
233
|
if (result.enumerationError)
|
|
208
|
-
console.
|
|
234
|
+
console.error('[kiokuko-dsh] [error] Session ID enumeration failed:', result.enumerationError);
|
|
209
235
|
for (const failure of result.failures)
|
|
210
|
-
console.warn(`[kiokuko-dsh] Session ID check failed for ${JSON.stringify(failure.id)}: ${failure.error}`);
|
|
236
|
+
console.warn(`[kiokuko-dsh] [warn] Session ID check failed for ${JSON.stringify(failure.id)}: ${failure.error}`);
|
|
211
237
|
const { enumerationError, ...summary } = result;
|
|
212
238
|
return { ...summary, ...(enumerationError === undefined ? {} : { enumerationError }) };
|
|
213
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-history-compatibility.js","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-history-compatibility.js","sourceRoot":"","sources":["../../src/dsh/session-history-compatibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,25 @@ Affected v3 chats have the five historical informational types below marked
|
|
|
18
18
|
ignorable before users need to open them individually. The startup log reports
|
|
19
19
|
checked/repaired/failed counts and the IDs of failures (up to 20 diagnostics).
|
|
20
20
|
A failed history does not prevent the remaining IDs from being checked.
|
|
21
|
+
Output labels distinguish `[info]` progress and summaries, `[warn]` individual
|
|
22
|
+
histories left unrepaired, `[error]` failure to enumerate the session store,
|
|
23
|
+
and `[crit]` failure to start the Kiokuko plugin. A session warning means DSH
|
|
24
|
+
can continue running, but that session still failed validation.
|
|
25
|
+
No manual repair command or separate setup step is required. The installed
|
|
26
|
+
bundle loads the public plugin entrypoint, which mounts the compatibility
|
|
27
|
+
adapter and starts the scan automatically. The adapter uses that profile's
|
|
28
|
+
native session store, format implementation, and write leases; npm installation
|
|
29
|
+
hooks do not provide those running services.
|
|
30
|
+
|
|
31
|
+
For historical v0 logs, the checker also normalizes Kiokuko's old
|
|
32
|
+
`continuation` / `loop-recovery` message sources and serialized diagnostic
|
|
33
|
+
stacks in supported abort causes. It runs the complete native migration in
|
|
34
|
+
isolation, validates the resulting v3 history, then publishes that new
|
|
35
|
+
generation under DSH's write lease. The original v0 file remains unchanged,
|
|
36
|
+
with a byte-for-byte `.bak`; existing successors are never overwritten.
|
|
37
|
+
The log distinguishes `Repairing history` from `Repaired history`. Missing
|
|
38
|
+
turn-ending events and unrelated invalid records remain explicit failures;
|
|
39
|
+
the checker does not invent completed turns or discard messages.
|
|
21
40
|
|
|
22
41
|
Opening or resuming a chat also retries DSH's normal reader through the same
|
|
23
42
|
compatibility adapter, covering sessions added after the startup check. New
|
|
@@ -30,7 +49,7 @@ the complete candidate with the running JSONL backend, retains an identical
|
|
|
30
49
|
`.bak`, and replaces the file atomically. Event bodies, sequence numbers,
|
|
31
50
|
timestamps and fork boundaries are preserved. It refuses active writers,
|
|
32
51
|
conflicting backups, symbolic-link artifacts, damaged logs and unrelated
|
|
33
|
-
required event types. Automatic repair
|
|
52
|
+
required event types. Automatic repair accepts v0 and v3 JSONL/Zstandard files
|
|
34
53
|
up to 64 MiB on disk and 256 MiB expanded. Startup enumeration has a 60-second
|
|
35
54
|
deadline and each session check a 30-second deadline. Unloading Kiokuko cancels
|
|
36
55
|
and drains its startup check, restores the native reader, and waits for any
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiokuko-dsh",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.42",
|
|
4
4
|
"description": "Kiokuko plugin for DeepSeek Harness",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"Configured Kiokuko database and pre-migration backups",
|
|
88
88
|
"DSH run, lease, receipt, retrieval, Deep inputs/artifacts/budgets/reports, post-completion memory-finalization, and embedding state inside that database",
|
|
89
89
|
".orca/runs and .orca/exports inside verified session workspaces, or the configured Kiokuko data directory",
|
|
90
|
-
"Legacy
|
|
90
|
+
"Legacy history compatibility under DSH's native write lease: exact rejected v3 file or validated new v3 generation from retained v0, identical .bak, and disposable validation artifacts"
|
|
91
91
|
],
|
|
92
92
|
"commands": [
|
|
93
93
|
"Restricted repository-relative verifier and backup subprocesses when explicitly requested"
|
|
@@ -13,42 +13,10 @@ import {
|
|
|
13
13
|
} from 'node:fs'
|
|
14
14
|
import { dirname, extname, join, resolve } from 'node:path'
|
|
15
15
|
import { fileURLToPath, pathToFileURL } from 'node:url'
|
|
16
|
-
import { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord } from './session-history-codec.mjs'
|
|
17
|
-
|
|
18
|
-
const CONTINUATION_FORMS = new Set(['continuation', 'loop-recovery'])
|
|
19
|
-
|
|
20
|
-
function objectRecord(value) {
|
|
21
|
-
return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : undefined
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
function repairedSource(value) {
|
|
25
|
-
const source = objectRecord(value)
|
|
26
|
-
if (source?.kind !== 'plugin' || source.plugin !== 'kiokuko-dsh') return undefined
|
|
27
|
-
if (!Object.hasOwn(source, 'deliveryId') && !CONTINUATION_FORMS.has(source.form)) return undefined
|
|
28
|
-
const repaired = { ...source, form: 'instructions' }
|
|
29
|
-
delete repaired.deliveryId
|
|
30
|
-
return repaired
|
|
31
|
-
}
|
|
16
|
+
import { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord, repairContinuationRecord } from './session-history-codec.mjs'
|
|
32
17
|
|
|
33
18
|
function repairRecord(value) {
|
|
34
|
-
|
|
35
|
-
const data = objectRecord(record?.data)
|
|
36
|
-
const informational = repairInformationalRecord(value)
|
|
37
|
-
if (informational !== value) return informational
|
|
38
|
-
if (record?.type === 'user/message') {
|
|
39
|
-
const source = repairedSource(data?.source)
|
|
40
|
-
return source === undefined ? value : { ...record, data: { ...data, source } }
|
|
41
|
-
}
|
|
42
|
-
if (record?.type !== 'agent/inbox/spliced' || !Array.isArray(data?.inserted)) return value
|
|
43
|
-
let changed = false
|
|
44
|
-
const inserted = data.inserted.map((candidate) => {
|
|
45
|
-
const message = objectRecord(candidate)
|
|
46
|
-
const source = repairedSource(message?.source)
|
|
47
|
-
if (source === undefined) return candidate
|
|
48
|
-
changed = true
|
|
49
|
-
return { ...message, source }
|
|
50
|
-
})
|
|
51
|
-
return changed ? { ...record, data: { ...data, inserted } } : value
|
|
19
|
+
return repairContinuationRecord(repairInformationalRecord(value))
|
|
52
20
|
}
|
|
53
21
|
|
|
54
22
|
function validateCatalog(catalog, records) {
|
|
@@ -2,3 +2,5 @@ export function decodeSessionLog(buffer: Buffer, maxOutputLength?: number): Buff
|
|
|
2
2
|
export function parseJsonl(plaintext: Buffer): { lines: string[]; records: unknown[] }
|
|
3
3
|
export function encodeSessionLog(plaintext: Buffer): Buffer
|
|
4
4
|
export function repairInformationalRecord(value: unknown): unknown
|
|
5
|
+
export function repairContinuationRecord(value: unknown): unknown
|
|
6
|
+
export function repairLegacyAbortRecord(value: unknown): unknown
|
|
@@ -118,4 +118,47 @@ function repairInformationalRecord(value) {
|
|
|
118
118
|
return record.ignorable === true ? value : { ...record, ignorable: true }
|
|
119
119
|
}
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
function objectRecord(value) {
|
|
122
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value) ? value : undefined
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
function repairContinuationSource(value) {
|
|
126
|
+
const source = objectRecord(value)
|
|
127
|
+
if (source?.kind !== 'plugin' || source.plugin !== 'kiokuko-dsh') return undefined
|
|
128
|
+
if (!Object.hasOwn(source, 'deliveryId') && !['continuation', 'loop-recovery'].includes(source.form)) return undefined
|
|
129
|
+
if (Object.hasOwn(source, 'deliveryId') && typeof source.deliveryId !== 'string') return undefined
|
|
130
|
+
if (source.form !== undefined && !['instructions', 'continuation', 'loop-recovery'].includes(source.form)) return undefined
|
|
131
|
+
const repaired = { ...source, form: 'instructions' }
|
|
132
|
+
delete repaired.deliveryId
|
|
133
|
+
return repaired
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** Normalize only Kiokuko's historical continuation source representation. */
|
|
137
|
+
function repairContinuationRecord(value) {
|
|
138
|
+
const record = objectRecord(value), data = objectRecord(record?.data)
|
|
139
|
+
if (record?.type === 'user/message') {
|
|
140
|
+
const source = repairContinuationSource(data?.source)
|
|
141
|
+
return source === undefined ? value : { ...record, data: { ...data, source } }
|
|
142
|
+
}
|
|
143
|
+
if (record?.type !== 'agent/inbox/spliced' || !Array.isArray(data?.inserted)) return value
|
|
144
|
+
let changed = false
|
|
145
|
+
const inserted = data.inserted.map(candidate => {
|
|
146
|
+
const message = objectRecord(candidate), source = repairContinuationSource(message?.source)
|
|
147
|
+
if (source === undefined) return candidate
|
|
148
|
+
changed = true
|
|
149
|
+
return { ...message, source }
|
|
150
|
+
})
|
|
151
|
+
return changed ? { ...record, data: { ...data, inserted } } : value
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/** A serialized stack is diagnostic metadata; retain the original abort cause. */
|
|
155
|
+
function repairLegacyAbortRecord(value) {
|
|
156
|
+
const record = objectRecord(value), data = objectRecord(record?.data)
|
|
157
|
+
const reason = objectRecord(data?.reason), cause = objectRecord(reason?.reason)
|
|
158
|
+
if (record?.type !== 'turn/end' || reason?.kind !== 'aborted' || typeof cause?.stack !== 'string'
|
|
159
|
+
|| !['user', 'parent', 'disposed', 'legacy', 'hook'].includes(cause.kind)) return value
|
|
160
|
+
const { stack: _stack, ...compatibleCause } = cause
|
|
161
|
+
return { ...record, data: { ...data, reason: { ...reason, reason: compatibleCause } } }
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
export { decodeSessionLog, parseJsonl, encodeSessionLog, repairInformationalRecord, repairContinuationRecord, repairLegacyAbortRecord }
|