@treeseed/dsh-chapters 0.1.15 → 0.1.17
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/cordis.patch.yml +30 -7
- package/docs/backlog.md +72 -0
- package/docs/contract.md +99 -6
- package/docs/development.md +28 -1
- package/docs/plans-carriage.md +1 -1
- package/docs/verify.md +1 -0
- package/lib/index.d.ts +57 -0
- package/lib/index.js +210 -27
- package/lib/index.js.map +1 -1
- package/lib/preset.d.ts +191 -0
- package/lib/preset.js +282 -0
- package/lib/preset.js.map +1 -0
- package/package.json +1 -3
- package/presets/chapters/agent.cordis.yml +0 -272
- package/presets/chapters/preset.yml +0 -3
- package/presets/probe-roots/agent.cordis.yml +0 -11
- package/presets/probe-roots/preset.yml +0 -3
package/lib/index.js
CHANGED
|
@@ -4,9 +4,13 @@
|
|
|
4
4
|
* decision in the pure modules (docs/development.md § L0).
|
|
5
5
|
*
|
|
6
6
|
* Responsibilities:
|
|
7
|
-
* 1.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* 1. Make the `chapters` preset EXIST in the host's preset roster, and say loudly
|
|
8
|
+
* when it does not. Hosts before 0.2.0 are NOT supported: a preset is an
|
|
9
|
+
* `@deepseek-ai/dsh-agent-preset` declaration row, and this plugin registers
|
|
10
|
+
* that row at activation through the host's own `agentPresets.register()`
|
|
11
|
+
* (`src/preset.ts`). The old `$DSH_HOME/.agent-presets/` directory copy is
|
|
12
|
+
* gone — no 0.2.x host reads it, and shipping the row as a patch layer instead
|
|
13
|
+
* breaks the boot of every pre-0.1.7 host (measured; docs/contract.md).
|
|
10
14
|
* 2. Open the dsh_chapters storage domain and register chapters_segment /
|
|
11
15
|
* chapters_continue (src/tools.ts adapts them to the pure core).
|
|
12
16
|
* 3. Witness/dev diagnostics.
|
|
@@ -17,15 +21,15 @@
|
|
|
17
21
|
* - Config uses schemastery (default import) — plain specs are for tool
|
|
18
22
|
* parameters, zod for domain records; never mix.
|
|
19
23
|
*/
|
|
20
|
-
import { writeFileSync
|
|
24
|
+
import { writeFileSync } from 'node:fs';
|
|
21
25
|
import { dirname, join } from 'node:path';
|
|
22
26
|
import { hostname } from 'node:os';
|
|
23
27
|
import { fileURLToPath } from 'node:url';
|
|
24
28
|
import Schema from '@deepseek-ai/schemastery';
|
|
25
|
-
import { dshHomePath } from '@deepseek-ai/dsh-home-paths';
|
|
26
29
|
import { appendChapters, reserve } from "./registry.js";
|
|
27
30
|
import { acquireChapterStore, makeDomainStore } from "./store.js";
|
|
28
31
|
import { registerChaptersTools } from "./tools.js";
|
|
32
|
+
import { CHAPTERS_PRESET_ID, registerChaptersPreset, inventoryEntry, unusableRows } from "./preset.js";
|
|
29
33
|
import { registerHostCommands } from "./commands.js";
|
|
30
34
|
import { createEnrichWiring } from "./enrich-wire.js";
|
|
31
35
|
import { rulesCommand } from "./rules-commands.js";
|
|
@@ -38,6 +42,10 @@ export const Config = Schema.object({
|
|
|
38
42
|
// The preset is how the engine reaches real sessions (preset realm mount);
|
|
39
43
|
// turning this off means opting into manual preset authoring instead.
|
|
40
44
|
installChaptersPreset: Schema.boolean().default(true),
|
|
45
|
+
// The engine row of the registered preset (docs/host-compaction-seam.md). This is the
|
|
46
|
+
// one row config that used to live in a preset YAML a human edited in the home; with
|
|
47
|
+
// the row registered from code it belongs to THIS config, so a profile patch retunes it.
|
|
48
|
+
compactionThresholdRatio: Schema.number().default(0.9),
|
|
41
49
|
artifactStoreRoot: Schema.string().default('.dsh-chapters'),
|
|
42
50
|
chapterTokenTarget: Schema.number().default(8000),
|
|
43
51
|
toolResultDeferFloorTokens: Schema.number().default(200),
|
|
@@ -97,9 +105,42 @@ export const name = '@treeseed/dsh-chapters';
|
|
|
97
105
|
export const inject = ['storageDomain', 'tools', 'agents', 'llm', 'sessionProjections'];
|
|
98
106
|
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
99
107
|
const PKG_ROOT = join(HERE, '..');
|
|
108
|
+
/** Registrations this module owns for the life of the process. The registry hands back an
|
|
109
|
+
* unregister disposer, and holding it — never calling it — is the point: a disposer wired
|
|
110
|
+
* through `ctx.effect` runs when the apply fiber's activation completes, which un-registered
|
|
111
|
+
* the preset the instant it had been registered (measured: `register()` reported success
|
|
112
|
+
* while the roster came back without `chapters`). The same apply-fiber trap bit the storage
|
|
113
|
+
* domain in r35. */
|
|
114
|
+
const heldDisposers = [];
|
|
100
115
|
export async function apply(ctx, config) {
|
|
101
|
-
|
|
102
|
-
|
|
116
|
+
// § Preset delivery. A host whose `agentPresets` exposes `register()` composes presets
|
|
117
|
+
// from declaration rows; one that does not is older than 0.2.0 and is NOT supported.
|
|
118
|
+
// The answer comes from the service's shape, never from a version string.
|
|
119
|
+
const registry = ctx.get?.('agentPresets');
|
|
120
|
+
const registers = typeof registry?.register === 'function';
|
|
121
|
+
let registerOutcome;
|
|
122
|
+
if (!config.installChaptersPreset)
|
|
123
|
+
registerOutcome = { state: 'disabled' };
|
|
124
|
+
else if (!registers)
|
|
125
|
+
registerOutcome = { state: 'unsupported' };
|
|
126
|
+
else {
|
|
127
|
+
try {
|
|
128
|
+
registerOutcome = (await registerChaptersPreset(registry, {
|
|
129
|
+
resolvable: resolvableFromThisPackage,
|
|
130
|
+
thresholdRatio: config.compactionThresholdRatio,
|
|
131
|
+
// NOT ctx.effect(): a cleanup registered on the apply fiber fires when THAT fiber's
|
|
132
|
+
// activation completes, and the registry's disposer un-registers the preset — measured
|
|
133
|
+
// on 0.2.0-rc.2, where `register()` reported success while the roster came back
|
|
134
|
+
// WITHOUT `chapters`. Same apply-fiber trap r35 caught for the storage domain.
|
|
135
|
+
dispose: (disposer) => { heldDisposers.push(disposer); },
|
|
136
|
+
})).outcome;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
// Nothing here may take the plugin down: tools and commands register below, and a
|
|
140
|
+
// session with no chapters tools is still useful.
|
|
141
|
+
registerOutcome = { state: 'failed', reason: String(error?.message ?? error) };
|
|
142
|
+
}
|
|
143
|
+
}
|
|
103
144
|
let domain;
|
|
104
145
|
try {
|
|
105
146
|
const storageDomain = ctx.get?.('storageDomain');
|
|
@@ -219,11 +260,38 @@ export async function apply(ctx, config) {
|
|
|
219
260
|
ctx.logger?.warn?.(message);
|
|
220
261
|
console.error(message);
|
|
221
262
|
}
|
|
222
|
-
|
|
263
|
+
// Honest status, because the settings surface reads "enabled and running" either way.
|
|
264
|
+
// "mounted" is not "the preset exists": a session's preset id is durable state, so an
|
|
265
|
+
// absent or broken preset means every chapters session refuses to OPEN while its log
|
|
266
|
+
// sits there intact — a user-visible failure with nothing in the UI to explain it.
|
|
267
|
+
const presetNote = registerOutcome.state === 'registered' ? 'delivery: registered the chapters preset declaration row'
|
|
268
|
+
: registerOutcome.state === 'pruned' ? `delivery: registered the chapters preset (${registerOutcome.dropped.length} row(s) this host cannot resolve, dropped)`
|
|
269
|
+
: registerOutcome.state === 'already-declared' ? 'delivery: preset declared by another patch layer (kept, not re-registered)'
|
|
270
|
+
: registerOutcome.state === 'disabled' ? 'delivery: OFF (config.installChaptersPreset=false; preset authoring is yours)'
|
|
271
|
+
: registerOutcome.state === 'unsupported' ? 'delivery: REFUSED — this host predates preset declaration rows (< 0.2.0)'
|
|
272
|
+
: `delivery: FAILED (${registerOutcome.reason})`;
|
|
273
|
+
const unhealthy = registerOutcome.state === 'failed'
|
|
274
|
+
|| (registerOutcome.state === 'unsupported' && config.installChaptersPreset === true);
|
|
275
|
+
const mountMsg = `dsh-chapters: mounted (tools registered; ${presetNote})`;
|
|
276
|
+
if (unhealthy)
|
|
277
|
+
ctx.logger?.warn?.(`${mountMsg} — UNHEALTHY: sessions choosing the chapters preset will not compose`);
|
|
278
|
+
else
|
|
279
|
+
ctx.logger?.info?.(mountMsg);
|
|
280
|
+
// File presence is NOT preset existence (§ Preset delivery): the roster is the only
|
|
281
|
+
// evidence. It must be asked AFTER activation — the registry re-audits a mount by
|
|
282
|
+
// awaiting the settled loader tree, and a caller "must not run inside a Host row's
|
|
283
|
+
// own activation, which the settlement would wait on" — hence this deferred check,
|
|
284
|
+
// which also catches a registration that mounted but could not activate. One check
|
|
285
|
+
// per boot, reused by the dev witness.
|
|
223
286
|
const marker = process.env.DSH_CHAPTERS_WITNESS;
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
setTimeout(() => {
|
|
287
|
+
let roster;
|
|
288
|
+
const rosterCheck = () => roster ??= reportPresetRoster(ctx, config.fallbackPreset, registerOutcome);
|
|
289
|
+
setTimeout(() => {
|
|
290
|
+
void rosterCheck().then((verdict) => {
|
|
291
|
+
if (marker !== undefined)
|
|
292
|
+
void witness(ctx, marker, domain, verdict, registerOutcome);
|
|
293
|
+
});
|
|
294
|
+
}, 500).unref?.();
|
|
227
295
|
}
|
|
228
296
|
/**
|
|
229
297
|
* The §5 sync loop for the host plane. Auto-link (when `knowledgeRemote` is
|
|
@@ -275,32 +343,147 @@ export function createScheduler(store, domain, config, debounceOverride, onSyncD
|
|
|
275
343
|
collectionsFor: makeCollectionsReader(store.sessions.bind(store), config.artifactStoreRoot),
|
|
276
344
|
});
|
|
277
345
|
}
|
|
278
|
-
// ---------------------------------------------------------------- preset
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
346
|
+
// ---------------------------------------------------------------- preset delivery
|
|
347
|
+
/**
|
|
348
|
+
* Why delivery is a `register()` call and not a file, in one incident: hosts from
|
|
349
|
+
* 0.1.7-alpha.1 stopped reading `$DSH_HOME/.agent-presets/` — a preset is an
|
|
350
|
+
* `@deepseek-ai/dsh-agent-preset` declaration row — while the plugin kept copying,
|
|
351
|
+
* kept logging that it had mounted, and the preset was simply GONE. That is worse
|
|
352
|
+
* than a crash, because `resume` resolves the preset id recorded in the session's
|
|
353
|
+
* own log and throws `agent-preset/not-found`, so every chapters session became
|
|
354
|
+
* unopenable while its durable log sat there intact and uncorrupted.
|
|
355
|
+
*
|
|
356
|
+
* Shipping the row as a patch layer instead is what a reader will reach for, and it
|
|
357
|
+
* is a boot-breaking choice on the hosts this plugin used to support: `dsh.bundle.patch`
|
|
358
|
+
* as an array throws `ERR_INVALID_ARG_TYPE` at legacy `dsh-app-boot/lib/index.js:853`,
|
|
359
|
+
* an unresolvable row aborts a legacy plugin tree, and `disabled: !!js` cannot gate the
|
|
360
|
+
* row because the Loader evaluates `disabled` before any service is mounted (all three
|
|
361
|
+
* measured). Support floor is 0.2.0 now, so the row is registered here through the
|
|
362
|
+
* host's own `agentPresets.register()` — the same call its declaration-row plugin makes.
|
|
363
|
+
*/
|
|
364
|
+
/**
|
|
365
|
+
* Whether a row's module can be imported from THIS package's resolution family.
|
|
366
|
+
*
|
|
367
|
+
* The preset mount resolves its rows from the registry's context, which shares this Node
|
|
368
|
+
* resolution root; a false answer here means a row that would activate as failed — and one
|
|
369
|
+
* failed row makes the whole preset `broken`, which is worse than a missing tool.
|
|
370
|
+
*
|
|
371
|
+
* Never throws: an unresolvable specifier is the answer. Two limits of the probe are the
|
|
372
|
+
* host's own, not ours to paper over: a RELATIVE specifier resolves without touching the
|
|
373
|
+
* filesystem (Node answers the URL, not existence), so a file-URL row would always be
|
|
374
|
+
* reported resolvable; and a name that resolves is not yet a name that ACTIVATES — a plugin
|
|
375
|
+
* that rejects its config throws later, which is what the roster line reports as
|
|
376
|
+
* `DECLARED BUT BROKEN`. Subpath exports are the useful case, and they are the ones a host
|
|
377
|
+
* rename eats first: `@scope/pkg/no-longer-exported` answers `ERR_PACKAGE_PATH_NOT_EXPORTED`.
|
|
378
|
+
*/
|
|
379
|
+
export function resolvableFromThisPackage(specifier) {
|
|
380
|
+
if (specifier.startsWith('.') || specifier.startsWith('/') || specifier.startsWith('file:'))
|
|
381
|
+
return true;
|
|
288
382
|
try {
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
383
|
+
import.meta.resolve(specifier);
|
|
384
|
+
return true;
|
|
385
|
+
}
|
|
386
|
+
catch {
|
|
387
|
+
return false;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
/** Ask the host which presets exist. Tolerates both shapes the service has
|
|
391
|
+
* offered: the bare row array (`list()`) and the remote envelope (`{presets}`). */
|
|
392
|
+
export async function readRosterVerdict(presets, presetId) {
|
|
393
|
+
if (presets?.list === undefined)
|
|
394
|
+
return { state: 'unknown', error: 'agentPresets service absent' };
|
|
395
|
+
try {
|
|
396
|
+
const raw = await presets.list();
|
|
397
|
+
const rows = ((Array.isArray(raw) ? raw : raw?.presets) ?? []);
|
|
398
|
+
const mine = rows.find((r) => r?.id === presetId);
|
|
399
|
+
if (mine === undefined)
|
|
400
|
+
return { state: 'absent', rows: rows.map((r) => String(r?.id ?? '?')).sort() };
|
|
401
|
+
const broken = mine.broken;
|
|
402
|
+
return typeof broken === 'string' && broken !== '' ? { state: 'present', broken } : { state: 'present' };
|
|
292
403
|
}
|
|
293
404
|
catch (error) {
|
|
294
|
-
|
|
405
|
+
return { state: 'unknown', error: String(error?.message ?? error) };
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
/** The remedy, in the two shapes an absent preset can have on a supported host. */
|
|
409
|
+
export function rosterRemediation(presetId, outcome) {
|
|
410
|
+
if (outcome.state === 'disabled') {
|
|
411
|
+
return `config.installChaptersPreset=false, so this plugin did not register "${presetId}" — declare it yourself, `
|
|
412
|
+
+ 'or turn the config back on and restart';
|
|
413
|
+
}
|
|
414
|
+
if (outcome.state === 'unsupported') {
|
|
415
|
+
return 'this host predates preset declaration rows (< 0.2.0) and is not supported by this plugin — the chapters '
|
|
416
|
+
+ 'tools and commands still work, but no `chapters` preset can exist here; upgrade @deepseek-ai/dsh';
|
|
417
|
+
}
|
|
418
|
+
return `this plugin registers "${presetId}" itself at activation, so an absent preset means that call did not `
|
|
419
|
+
+ 'happen or was refused — read the mount line above for "delivery:" and the failure arm it names';
|
|
420
|
+
}
|
|
421
|
+
/** Deferred boot check: one truthful line about the preset, plus the verdict for the witness.
|
|
422
|
+
* Exported so the four arms of that line are tested without booting a host — the line IS the
|
|
423
|
+
* health signal a user reads, and an untested health signal is how the silent case survived. */
|
|
424
|
+
export async function reportPresetRoster(ctx, presetId, outcome) {
|
|
425
|
+
const presets = ctx.get?.('agentPresets');
|
|
426
|
+
const verdict = await readRosterVerdict(presets, presetId);
|
|
427
|
+
const line = (message, warn) => {
|
|
428
|
+
if (warn) {
|
|
429
|
+
ctx.logger?.warn?.(message);
|
|
430
|
+
console.error(message);
|
|
431
|
+
}
|
|
432
|
+
else
|
|
433
|
+
ctx.logger?.info?.(message);
|
|
434
|
+
};
|
|
435
|
+
if (verdict.state === 'present' && verdict.broken === undefined) {
|
|
436
|
+
line(`dsh-chapters: preset "${presetId}" is in the host roster — chapter-form compaction and continuations will compose`, false);
|
|
437
|
+
}
|
|
438
|
+
else if (verdict.state === 'present') {
|
|
439
|
+
line(`dsh-chapters: preset "${presetId}" is DECLARED BUT BROKEN — ${verdict.broken} — sessions choosing it will not compose. `
|
|
440
|
+
+ 'A preset row whose child plugin no longer resolves fails here; the plugin drops rows this host cannot import, '
|
|
441
|
+
+ 'so this line means a package that resolves but will not activate — re-anchor src/preset.ts against this host.', true);
|
|
295
442
|
}
|
|
443
|
+
else if (verdict.state === 'absent') {
|
|
444
|
+
line(`dsh-chapters: UNHEALTHY — preset "${presetId}" is NOT in the host roster (roster: ${verdict.rows.join(', ') || 'empty'}). `
|
|
445
|
+
+ `Every session whose log records it will refuse to open with agent-preset/not-found — the logs are intact; the composition is missing. `
|
|
446
|
+
+ `Remedy: ${rosterRemediation(presetId, outcome)}`, true);
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
line(`dsh-chapters: could not verify the preset roster (${verdict.error}) — treat chapter-form compaction as unconfirmed`, true);
|
|
450
|
+
}
|
|
451
|
+
return verdict;
|
|
296
452
|
}
|
|
297
453
|
// ---------------------------------------------------------------- dev witness
|
|
298
|
-
async function witness(ctx, marker, preopened) {
|
|
454
|
+
async function witness(ctx, marker, preopened, roster, register) {
|
|
299
455
|
const WITNESS_SESSION = 'dsh-chapters-witness';
|
|
300
456
|
const out = { at: new Date().toISOString() };
|
|
301
457
|
try {
|
|
302
458
|
out.storageDomainPresent = ctx.get?.('storageDomain') !== undefined;
|
|
303
|
-
|
|
459
|
+
// What this host's preset mechanism IS, and what the roster says about the
|
|
460
|
+
// chapters preset. These two lines are the difference between "the preset files
|
|
461
|
+
// are installed" (true, and meaningless on a declaration-row host) and "the
|
|
462
|
+
// preset exists" — the only thing a session cares about.
|
|
463
|
+
out.registryRegisters = typeof ctx.get?.('agentPresets')?.register === 'function';
|
|
464
|
+
out.presetRegister = register?.state ?? 'not-attempted';
|
|
465
|
+
if (register?.state === 'pruned')
|
|
466
|
+
out.presetDroppedRows = register.dropped;
|
|
467
|
+
if (register?.state === 'failed')
|
|
468
|
+
out.presetRegisterError = register.reason;
|
|
469
|
+
out.presetRoster = roster?.state ?? 'not-checked';
|
|
470
|
+
// The roster says a preset is declared; the inventory says whether its rows are
|
|
471
|
+
// actually active. A row that resolves but will not activate leaves the preset on
|
|
472
|
+
// the menu and unusable, and only this distinction names it.
|
|
473
|
+
const invRaw = await ctx.get?.('agentPresets')?.compositionInventory?.()?.catch?.(() => undefined);
|
|
474
|
+
const inv = inventoryEntry(invRaw, CHAPTERS_PRESET_ID);
|
|
475
|
+
if (inv !== undefined) {
|
|
476
|
+
out.presetInventoryRows = (inv.rows ?? []).length;
|
|
477
|
+
out.presetUnusableRows = unusableRows(inv);
|
|
478
|
+
if (inv.broken !== undefined)
|
|
479
|
+
out.presetInventoryBroken = inv.broken;
|
|
480
|
+
}
|
|
481
|
+
if (roster?.state === 'absent')
|
|
482
|
+
out.presetRosterRows = roster.rows;
|
|
483
|
+
if (roster?.state === 'present' && roster.broken !== undefined)
|
|
484
|
+
out.presetRosterBroken = roster.broken;
|
|
485
|
+
if (roster?.state === 'unknown')
|
|
486
|
+
out.presetRosterError = roster.error;
|
|
304
487
|
const storageDomain = ctx.get?.('storageDomain');
|
|
305
488
|
const store = preopened !== undefined ? makeDomainStore(preopened) : (await acquireChapterStore(storageDomain)).store;
|
|
306
489
|
const prior = await store.get(WITNESS_SESSION);
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/preset.d.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The `chapters` agent preset: its composition, and the ONLY sanctioned way this
|
|
3
|
+
* plugin makes a preset EXIST on a host that composes presets from declaration
|
|
4
|
+
* rows (>= 0.1.7-alpha.1; "Nothing reads $DSH_HOME/.agent-presets any more").
|
|
5
|
+
*
|
|
6
|
+
* WHY THIS FILE IS CODE AND NOT A SHIPPED PATCH LAYER
|
|
7
|
+
* ---------------------------------------------------
|
|
8
|
+
* The host's idiom is a `@deepseek-ai/dsh-agent-preset` row carried by a bundle
|
|
9
|
+
* patch layer, listed in `package.json` `dsh.bundle.patch`. Shipping that row as
|
|
10
|
+
* a SECOND layer means `dsh.bundle.patch` becomes an ARRAY, and both halves of
|
|
11
|
+
* that are fatal on a pre-0.1.7 host — measured on the pinned e2e closure
|
|
12
|
+
* (0.1.5-rc.1), not reasoned about:
|
|
13
|
+
*
|
|
14
|
+
* - array `patch`: `TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must
|
|
15
|
+
* be of type string. Received an instance of Array` at
|
|
16
|
+
* `dsh-app-boot/lib/index.js:853` (`join(packageDir, declared)`) — the host
|
|
17
|
+
* never boots.
|
|
18
|
+
* - the row itself, in ANY layer a legacy host reads:
|
|
19
|
+
* `dsh: plugin tree failed to load: ... failed to import loader entry
|
|
20
|
+
* preset-chapters (@deepseek-ai/dsh-agent-preset): Cannot find package` — a
|
|
21
|
+
* legacy host's plugin tree aborts the boot on one unresolvable row.
|
|
22
|
+
* - gating it with `disabled: !!js get('agentPresets')?.register === undefined`
|
|
23
|
+
* does not work either: the Loader evaluates `disabled` BEFORE services are
|
|
24
|
+
* mounted, so the expression is truthy on a 0.2.x host too and the row never
|
|
25
|
+
* registers (measured: `preset-v2 … failed to import`, roster without it).
|
|
26
|
+
*
|
|
27
|
+
* Registering through `ctx.get('agentPresets').register(definition)` is the same
|
|
28
|
+
* call the host's own declaration-row plugin makes
|
|
29
|
+
* (`dsh-agent-preset/lib/index.js`: `[Service.init]` → `this.ctx.agentPresets.register(this.config)`),
|
|
30
|
+
* made from a row that resolves on EVERY host: this package. The tradeoff is
|
|
31
|
+
* honest and stated in docs/contract.md: the composition is not visible in a
|
|
32
|
+
* patch-layer dump, so the roster (not a file) is the evidence — which is the
|
|
33
|
+
* rule this module enforces anyway.
|
|
34
|
+
*
|
|
35
|
+
* WHY ROWS ARE PRUNED AGAINST THE INSTALLED HOST
|
|
36
|
+
* ----------------------------------------------
|
|
37
|
+
* The host's standard plugin list is not stable across the versions this package
|
|
38
|
+
* must serve. Measured against published `@deepseek-ai/dsh-web-app` presets:
|
|
39
|
+
* 0.2.0-rc.1/rc.2 lack `dsh-time-context` and `dsh-tool-schedule`;
|
|
40
|
+
* `dsh-tool-schedule` is not published at 0.2.0-rc.x AT ALL (first real version
|
|
41
|
+
* 0.2.1-alpha.1), and `dsh-plugin-market` exists only at 0.2.1-alpha.4. One
|
|
42
|
+
* unresolvable row does not degrade: `mountPreset` throws on any failed row, the
|
|
43
|
+
* registry stores it as `record.broken`, and `retain()` then refuses with
|
|
44
|
+
* `agent-preset/invalid` — every session choosing `chapters` stops composing,
|
|
45
|
+
* while its durable log sits there intact. So a row whose package does not
|
|
46
|
+
* resolve is DROPPED here and reported, instead of taking the preset down.
|
|
47
|
+
*
|
|
48
|
+
* @module dsh-chapters/src/preset
|
|
49
|
+
*/
|
|
50
|
+
/** One mounted plugin row of a preset composition (the Loader's own shape).
|
|
51
|
+
* A group row carries its children in `config`; an ordinary row carries a
|
|
52
|
+
* config map — the Loader accepts both under the same key. */
|
|
53
|
+
export interface PresetRow {
|
|
54
|
+
id: string;
|
|
55
|
+
name: string;
|
|
56
|
+
config?: Record<string, unknown> | PresetRow[];
|
|
57
|
+
disabled?: boolean;
|
|
58
|
+
group?: boolean;
|
|
59
|
+
isolate?: Record<string, boolean>;
|
|
60
|
+
}
|
|
61
|
+
/** The `AgentPreset` Config the host registers (`dsh-agent-preset/lib/index.js:13-20`). */
|
|
62
|
+
export interface PresetDefinition {
|
|
63
|
+
id: string;
|
|
64
|
+
name: string;
|
|
65
|
+
description: string;
|
|
66
|
+
order: number;
|
|
67
|
+
plugins: PresetRow[];
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* WHY THE DELEGATION ROWS CARRY NO `toolFilter`, although the host's own alpha.1/alpha.2
|
|
71
|
+
* list denied `schedule_*` there.
|
|
72
|
+
*
|
|
73
|
+
* Measured on a real 0.2.1-alpha.4 boot: `tool-subagent` does NOT strip an unknown key —
|
|
74
|
+
* it rejects the removed one outright, and the WHOLE preset goes broken:
|
|
75
|
+
* `tool-subagent: toolFilter is no longer supported; configure persona and tool plugins
|
|
76
|
+
* in an Agent Preset and select it with agentPreset (spawn only)`
|
|
77
|
+
* while the same composition on 0.2.0-rc.2 (which still accepts `toolFilter`) mounts. So a
|
|
78
|
+
* key that one supported host accepts and the next one THROWS on is worse than dropping it:
|
|
79
|
+
* the deny list protected nothing on rc.2 (no schedule tools exist there at all) and would
|
|
80
|
+
* break every chapters session on the alpha. The general rule this incident writes down:
|
|
81
|
+
* carry only config keys EVERY supported host accepts, and let the roster line — not a
|
|
82
|
+
* file on disk — be the evidence that the composition is usable.
|
|
83
|
+
*/
|
|
84
|
+
/**
|
|
85
|
+
* The chapters preset: the host's standard coding-agent composition with EXACTLY
|
|
86
|
+
* four deltas, each one a product decision of ours.
|
|
87
|
+
*
|
|
88
|
+
* 1. `compaction-basic` → `@treeseed/dsh-chapters/engine` (thresholdRatio 0.9):
|
|
89
|
+
* the zero-inference `summarize()` — chapters from the log, no model tokens.
|
|
90
|
+
* 2. `tool-result-pruner.thresholdChars` 8192 → 1000000, deliberately dormant:
|
|
91
|
+
* chapters defer oversized results at ARCHIVE time (verbatim bodies +
|
|
92
|
+
* artifact references), never in-surface, where a prune is a prefix cliff on
|
|
93
|
+
* local hardware.
|
|
94
|
+
* 3. the persona gains the PLOT: suffix (plot carriage through in-place
|
|
95
|
+
* checkpoints) and keeps no `{{cwd}}` (see PLOT_SUFFIX).
|
|
96
|
+
* 4. `tool-ralph` mounted ENABLED — the bounded goal loop the continuation
|
|
97
|
+
* children run. The host ships it disabled; enabling it here is ours.
|
|
98
|
+
*
|
|
99
|
+
* @param platform the platform the shell-gated rows are decided against; a
|
|
100
|
+
* parameter so the rows are testable on any machine.
|
|
101
|
+
*/
|
|
102
|
+
export declare function chaptersPresetRows(platform?: NodeJS.Platform, thresholdRatio?: number): PresetRow[];
|
|
103
|
+
/** The preset identity. `config.id` is DURABLE STATE: every continuation child's
|
|
104
|
+
* log records it as `agent-preset/selected`, so renaming it orphans those
|
|
105
|
+
* sessions (`agent-preset/not-found` on open). */
|
|
106
|
+
export declare const CHAPTERS_PRESET_ID = "chapters";
|
|
107
|
+
export declare function chaptersPresetDefinition(platform?: NodeJS.Platform, thresholdRatio?: number): PresetDefinition;
|
|
108
|
+
/** A row whose own module cannot be imported would activate as failed, and one
|
|
109
|
+
* failed row makes the WHOLE preset broken (`mountPreset` throws) — so it is
|
|
110
|
+
* dropped, with the reason, instead of taking every chapters session down.
|
|
111
|
+
*
|
|
112
|
+
* The probe is asked with the row's FULL specifier, so a package that exists but
|
|
113
|
+
* no longer exports the subpath (`.../tools`, `.../list-agents`) is caught too —
|
|
114
|
+
* those are the renames that eat presets.
|
|
115
|
+
*
|
|
116
|
+
* @param rows the composition, groups included.
|
|
117
|
+
* @param resolvable asked with each row's module specifier. MUST NOT throw.
|
|
118
|
+
*/
|
|
119
|
+
export declare function pruneResolvableRows(rows: PresetRow[], resolvable: (specifier: string) => boolean): {
|
|
120
|
+
kept: PresetRow[];
|
|
121
|
+
dropped: string[];
|
|
122
|
+
};
|
|
123
|
+
/** What registering a preset can end up as. Every arm has its own log line and
|
|
124
|
+
* its own remedy, because the silent case is the one that cost a human hours. */
|
|
125
|
+
export type RegisterOutcome = {
|
|
126
|
+
state: 'registered';
|
|
127
|
+
}
|
|
128
|
+
/** config.installChaptersPreset=false: the operator owns the preset, we do not register. */
|
|
129
|
+
| {
|
|
130
|
+
state: 'disabled';
|
|
131
|
+
} | {
|
|
132
|
+
state: 'already-declared';
|
|
133
|
+
} | {
|
|
134
|
+
state: 'pruned';
|
|
135
|
+
dropped: string[];
|
|
136
|
+
} | {
|
|
137
|
+
state: 'unsupported';
|
|
138
|
+
} | {
|
|
139
|
+
state: 'failed';
|
|
140
|
+
reason: string;
|
|
141
|
+
};
|
|
142
|
+
/** The narrow surface of `ctx.get('agentPresets')` this module uses. */
|
|
143
|
+
export interface PresetRegistryLike {
|
|
144
|
+
register?: (definition: PresetDefinition) => Promise<() => Promise<void>>;
|
|
145
|
+
list?: () => Promise<unknown>;
|
|
146
|
+
/** Host-side inventory of every declared preset and its mounted rows —
|
|
147
|
+
* `compositionInventory()` in `@deepseek-ai/dsh-agent-preset-registry`. */
|
|
148
|
+
compositionInventory?: () => Promise<unknown>;
|
|
149
|
+
}
|
|
150
|
+
/** One mounted row of a live preset composition, as the host's own inventory reports it.
|
|
151
|
+
* `fiberState` is the Loader's state for that row; an enabled row that is not `active`
|
|
152
|
+
* cannot serve a session, and the roster's `broken` flag reports that only for the whole
|
|
153
|
+
* mount — which is why the witness asks for the rows too. */
|
|
154
|
+
export interface InventoryRow {
|
|
155
|
+
entryId?: string;
|
|
156
|
+
moduleName?: string;
|
|
157
|
+
enabled?: boolean;
|
|
158
|
+
fiberState?: string;
|
|
159
|
+
}
|
|
160
|
+
/** One preset's entry in a `compositionInventory()` response. */
|
|
161
|
+
export interface InventoryEntry {
|
|
162
|
+
id?: string;
|
|
163
|
+
broken?: string;
|
|
164
|
+
rows?: InventoryRow[];
|
|
165
|
+
}
|
|
166
|
+
/** Find one preset in an inventory response, tolerating a missing or odd shape. */
|
|
167
|
+
export declare function inventoryEntry(raw: unknown, presetId: string): InventoryEntry | undefined;
|
|
168
|
+
/** Enabled rows of one preset that are not active. A row `pending` a host service can
|
|
169
|
+
* still activate later, so this is reported apart from `broken`, never as a refusal. */
|
|
170
|
+
export declare function unusableRows(entry: InventoryEntry | undefined): string[];
|
|
171
|
+
/**
|
|
172
|
+
* Make the `chapters` preset exist on a host that composes presets from
|
|
173
|
+
* declaration rows, and say what happened.
|
|
174
|
+
*
|
|
175
|
+
* @param presets the host's `agentPresets` service, or undefined on a host that
|
|
176
|
+
* has no preset registry at all (then the legacy directory copy is the
|
|
177
|
+
* delivery, and this returns 'unsupported').
|
|
178
|
+
* @param dispose owner for the disposer the registry hands back — registering
|
|
179
|
+
* without it would leave a standing preset mount after unmount.
|
|
180
|
+
*/
|
|
181
|
+
export declare function registerChaptersPreset(presets: PresetRegistryLike | undefined, opts: {
|
|
182
|
+
resolvable: (specifier: string) => boolean;
|
|
183
|
+
platform?: NodeJS.Platform;
|
|
184
|
+
/** Engine pressure threshold for the realm row; the host plane's
|
|
185
|
+
* `config.compactionThresholdRatio` is what feeds it (no hardcoded tunables). */
|
|
186
|
+
thresholdRatio?: number;
|
|
187
|
+
dispose: (disposer: () => Promise<void>) => void;
|
|
188
|
+
}): Promise<{
|
|
189
|
+
outcome: RegisterOutcome;
|
|
190
|
+
definition: PresetDefinition;
|
|
191
|
+
}>;
|