@treeseed/dsh-chapters 0.1.16 → 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/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. Install the `chapters` preset into `$DSH_HOME/.agent-presets/` on boot
8
- * (write-if-missing; user edits are never overwritten). Profile `!!js` has
9
- * no `require` (measured r20), so copying is the delivery mechanism.
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, mkdirSync, existsSync, cpSync, readdirSync } from 'node:fs';
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,10 +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
- let presetReport;
102
- if (config.installChaptersPreset)
103
- presetReport = installChaptersPreset(join(PKG_ROOT, 'presets', PRESET_ID), dshHomePath(USER_PRESET_DIR, PRESET_ID), ctx.logger);
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
+ }
104
144
  let domain;
105
145
  try {
106
146
  const storageDomain = ctx.get?.('storageDomain');
@@ -220,21 +260,38 @@ export async function apply(ctx, config) {
220
260
  ctx.logger?.warn?.(message);
221
261
  console.error(message);
222
262
  }
223
- // Honest status, because the settings surface reads "enabled and running" either way:
224
- // a plugin whose only compaction engine failed to install is NOT healthy, and a log line
225
- // that says "mounted" is what made the partial-preset case take a human hours to find.
226
- const presetNote = presetReport === undefined ? 'preset install disabled' : `preset: ${presetReport.status}`;
227
- const unhealthy = presetReport !== undefined && presetReport.status === 'failed'
228
- && config.installChaptersPreset === true;
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);
229
275
  const mountMsg = `dsh-chapters: mounted (tools registered; ${presetNote})`;
230
276
  if (unhealthy)
231
277
  ctx.logger?.warn?.(`${mountMsg} — UNHEALTHY: sessions choosing the chapters preset will not compose`);
232
278
  else
233
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.
234
286
  const marker = process.env.DSH_CHAPTERS_WITNESS;
235
- if (marker === undefined)
236
- return;
237
- setTimeout(() => { witness(ctx, marker, domain); }, 500).unref?.();
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?.();
238
295
  }
239
296
  /**
240
297
  * The §5 sync loop for the host plane. Auto-link (when `knowledgeRemote` is
@@ -286,109 +343,147 @@ export function createScheduler(store, domain, config, debounceOverride, onSyncD
286
343
  collectionsFor: makeCollectionsReader(store.sessions.bind(store), config.artifactStoreRoot),
287
344
  });
288
345
  }
289
- // ---------------------------------------------------------------- preset install
290
- const PRESET_ID = 'chapters';
291
- const USER_PRESET_DIR = '.agent-presets'; // kernel constant: presets/agent-presets/src/discovery.ts
346
+ // ---------------------------------------------------------------- preset delivery
292
347
  /**
293
- * Every file under a directory, as sorted relative paths (forward slashes).
294
- * A missing root is empty; anything else that goes wrong (a FILE sitting where a
295
- * directory should be, an unreadable home) THROWS, and the caller turns that into a
296
- * reported `failed` — the first version of this helper swallowed those, which is the
297
- * same silent-unhealthy shape the whole function exists to remove.
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.
298
363
  */
299
- function fileList(root) {
300
- if (!existsSync(root))
301
- return [];
302
- const out = [];
303
- const walk = (dir, rel) => {
304
- for (const e of readdirSync(dir, { withFileTypes: true })) {
305
- const r = rel === '' ? e.name : `${rel}/${e.name}`;
306
- if (e.isDirectory())
307
- walk(join(dir, e.name), r);
308
- else
309
- out.push(r);
310
- }
311
- };
312
- walk(root, '');
313
- return out.sort();
314
- }
315
364
  /**
316
- * Install the `chapters` preset into the user preset directory, and — the part that
317
- * used to be missing — tell the truth about what happened.
318
- *
319
- * The never-clobber rule exists because the installed copy is user-owned: the user may
320
- * have edited `agent.cordis.yml` to retune the compaction row. But the OLD guard tested
321
- * for `preset.yml` ALONE, and the preset is really two files — `agent.cordis.yml` is the
322
- * one that names the engine realm row. So a partially wiped home (an interrupted
323
- * uninstall/reinstall is what triggered this) left a preset directory that passed the
324
- * guard forever: the installer returned early on every boot, the preset could not mount,
325
- * and the plugin still logged that it had mounted. Sessions that had chosen the preset
326
- * then looked corrupted, while their logs and data were untouched — the break was in
327
- * composition, which is invisible if the report lies.
365
+ * Whether a row's module can be imported from THIS package's resolution family.
328
366
  *
329
- * The repair is therefore *additive*: missing shipped files are restored, files the user
330
- * already has are never overwritten. That keeps the user's edits intact AND makes a
331
- * half-deleted preset self-healing, because restoring a missing file is not clobbering
332
- * anything.
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.
333
370
  *
334
- * Exported for testing with real temp directories; `srcDir`/`dstDir` are parameters so no
335
- * test has to touch the developer's DSH home.
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`.
336
378
  */
337
- export function installChaptersPreset(srcDir, dstDir, log, userPresetRoot = dirname(dstDir)) {
338
- // `missing` is declared OUTSIDE the try because the catch reports it: an install that
339
- // died halfway should still say which files were outstanding when it failed.
340
- let missing = [];
379
+ export function resolvableFromThisPackage(specifier) {
380
+ if (specifier.startsWith('.') || specifier.startsWith('/') || specifier.startsWith('file:'))
381
+ return true;
341
382
  try {
342
- const shipped = fileList(srcDir);
343
- if (!shipped.includes('preset.yml'))
344
- return { status: 'no-source', missing: [], dstDir };
345
- const present = new Set(fileList(dstDir));
346
- missing = shipped.filter((f) => !present.has(f));
347
- const doCopy = (files) => {
348
- mkdirSync(userPresetRoot, { recursive: true });
349
- for (const f of files) {
350
- const to = join(dstDir, f);
351
- mkdirSync(dirname(to), { recursive: true });
352
- cpSync(join(srcDir, f), to);
353
- }
354
- };
355
- if (present.size === 0) {
356
- doCopy(shipped);
357
- log?.info?.(`dsh-chapters: installed the "${PRESET_ID}" preset to ${dstDir} — pick it in the preset menu for chapter-form compaction (standard keeps LLM summaries)`);
358
- return { status: 'installed', missing: [], dstDir };
359
- }
360
- if (missing.length > 0) {
361
- doCopy(missing);
362
- const msg = `dsh-chapters: preset at ${dstDir} was INCOMPLETE (missing ${missing.join(', ')}) — restored the missing file(s); files you already had were left alone. A preset without agent.cordis.yml cannot mount the chapter engine, which is why sessions choosing it failed to compose.`;
363
- if (log?.warn !== undefined)
364
- log.warn(msg);
365
- else
366
- log?.info?.(msg);
367
- return { status: 'repaired', missing, dstDir };
368
- }
369
- return { status: 'complete', missing: [], dstDir };
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' };
370
403
  }
371
404
  catch (error) {
372
- const detail = String(error?.message ?? error);
373
- log?.warn?.(`dsh-chapters: preset install FAILED (${detail}) — chapter-form compaction will NOT be available until this is fixed`);
374
- return { status: 'failed', missing, dstDir, error: detail };
405
+ return { state: 'unknown', error: String(error?.message ?? error) };
375
406
  }
376
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);
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;
452
+ }
377
453
  // ---------------------------------------------------------------- dev witness
378
- async function witness(ctx, marker, preopened) {
454
+ async function witness(ctx, marker, preopened, roster, register) {
379
455
  const WITNESS_SESSION = 'dsh-chapters-witness';
380
456
  const out = { at: new Date().toISOString() };
381
457
  try {
382
458
  out.storageDomainPresent = ctx.get?.('storageDomain') !== undefined;
383
- // Was: "does preset.yml exist". That is the SAME one-file blindness that hid the
384
- // partial preset, in the very diagnostic a user reaches for when this breaks — so
385
- // the witness now reports the completeness verdict and the missing list.
386
- const presetDst = dshHomePath(USER_PRESET_DIR, PRESET_ID);
387
- const presetShipped = fileList(join(PKG_ROOT, 'presets', PRESET_ID));
388
- const presetPresent = new Set(existsSync(presetDst) ? fileList(presetDst) : []);
389
- out.presetsInstalled = presetPresent.has('preset.yml');
390
- out.presetComplete = presetShipped.length > 0 && presetShipped.every((f) => presetPresent.has(f));
391
- out.presetMissing = presetShipped.filter((f) => !presetPresent.has(f));
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;
392
487
  const storageDomain = ctx.get?.('storageDomain');
393
488
  const store = preopened !== undefined ? makeDomainStore(preopened) : (await acquireChapterStore(storageDomain)).store;
394
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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"}