@treeseed/dsh-chapters 0.1.0 → 0.1.2
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.md +196 -609
- package/docs/development.md +17 -0
- package/docs/verify.md +1 -0
- package/lib/engine-core.d.ts +0 -6
- package/lib/engine-core.js +33 -9
- package/lib/engine-core.js.map +1 -1
- package/lib/engine.js +12 -2
- package/lib/engine.js.map +1 -1
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -1,644 +1,231 @@
|
|
|
1
1
|
# dsh-chapters
|
|
2
2
|
|
|
3
|
-
A DeepSeek Harness plugin for
|
|
3
|
+
**A [DeepSeek Harness](https://www.deepseek.com) plugin for lossless context relief and a shared
|
|
4
|
+
project knowledge layer.** Published on npm as [`@treeseed/dsh-chapters`](https://www.npmjs.com/package/@treeseed/dsh-chapters);
|
|
5
|
+
source lives at [treeseed-ai/dsh-chapters](https://github.com/treeseed-ai/dsh-chapters).
|
|
4
6
|
|
|
5
|
-
When a long conversation gets expensive,
|
|
6
|
-
store and opens a **new session whose entire content is a Table of Contents** of that
|
|
7
|
-
model reloads any chapter on demand with the `read` tool. The original
|
|
8
|
-
|
|
7
|
+
When a long conversation gets expensive, dsh-chapters archives it as **verbatim Markdown chapters** in
|
|
8
|
+
a project store and opens a **new session whose entire content is a Table of Contents** of that
|
|
9
|
+
archive. The model reloads any chapter on demand with the ordinary `read` tool. The original
|
|
10
|
+
conversation is never rewritten, its prompt cache stays intact, and the index costs **zero model
|
|
11
|
+
tokens** — chapters are written from the session log (a file copy), not summarized by an LLM.
|
|
9
12
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
> **`dsh-chapters`**, which names the artifact and claims nothing false. Tools are `chapters_segment` and
|
|
14
|
-
> `chapters_continue`. The full reasoning, including the two candidates that lost, is in
|
|
15
|
-
> [docs/architecture.md](docs/architecture.md#naming). The one thing not yet renamed is the repository
|
|
16
|
-
> folder itself, which is cosmetic — see that section.
|
|
13
|
+
Archived knowledge is not stranded per-machine: link the store to a shared upstream — a **git pool**
|
|
14
|
+
or a **TreeDX** service — and every linked workspace gets a two-layer derived index, topic
|
|
15
|
+
vocabulary, cross-machine search (`chapters_search`), and a per-machine rules ledger.
|
|
17
16
|
|
|
18
17
|
---
|
|
19
18
|
|
|
20
|
-
##
|
|
19
|
+
## Purpose — what it fixes, and what it does not claim
|
|
21
20
|
|
|
22
|
-
The
|
|
23
|
-
The two problems that actually hurt, on local hardware with slow prefill:
|
|
21
|
+
The two things that actually hurt on long sessions, especially with local models and slow prefill:
|
|
24
22
|
|
|
25
|
-
1. **
|
|
26
|
-
|
|
27
|
-
2. **The
|
|
28
|
-
|
|
23
|
+
1. **Lossy memory.** A compaction summary drops the exact flag, the line number, the error text —
|
|
24
|
+
and leaves the model no handle to go get them back.
|
|
25
|
+
2. **The summarization tax.** Producing a summary prefills the whole history into one auxiliary
|
|
26
|
+
call — minutes of wall-clock on local hardware, *again every time the window fills*.
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
| 100K | **55 min** | 17 min | 3.5 min |
|
|
28
|
+
dsh-chapters removes the summarization step from the critical path entirely. Measured on a
|
|
29
|
+
32K-capped model: ~102 tokens of index where the equivalent transcript ran ~2,476, and zero
|
|
30
|
+
inference spent producing it.
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
**Be clear about what this does not buy you:** it is not cheaper caching. The continuation session
|
|
33
|
+
pays one cold prefill (system prompt + TOC + handoff note), the same cost class a post-compaction
|
|
34
|
+
request pays. What you gain instead is *verbatim* archive (a reload returns real text, not a
|
|
35
|
+
paraphrase), an *untouched* parent session that keeps its cache and stays usable, reversibility
|
|
36
|
+
(abandon the child, keep working in the parent), and branchable history.
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
equivalent transcript ran ~2,476.
|
|
41
|
-
|
|
42
|
-
> **The point is to make small models more capable, not merely longer-lived:** easily retrievable memory,
|
|
43
|
-
> no summarization tax, and a conversation that can keep going and going and going until the objective is
|
|
44
|
-
> actually finished.
|
|
45
|
-
|
|
46
|
-
Secondary, and still worth having: in-place compaction's other historical cost was breaking the prompt
|
|
47
|
-
cache —
|
|
48
|
-
|
|
49
|
-
1. **It breaks prompt caching from the cut point onward.** Modifying the prefix invalidates the
|
|
50
|
-
provider-side cache behind it; DSH's design minimizes this by keeping the header intact and
|
|
51
|
-
replacing only a span — but everything after the replacement refills. On hardware with slow prefill,
|
|
52
|
-
that refill is the cost.
|
|
53
|
-
2. **The model loses access to what was dropped.** DSH's compaction *shadows* surface nodes rather than
|
|
54
|
-
deleting the durable log, so the raw text is still recorded — but in any default composition the
|
|
55
|
-
agent can no longer see it and has no in-context handle to get it back. (Upstream ships an opt-in
|
|
56
|
-
package that gives a model raw event JSON for shadowed history; it costs five tool schemas in every
|
|
57
|
-
request, and JSON events are not a readable archive either way.) What survives in context is a
|
|
58
|
-
paraphrase it must trust.
|
|
59
|
-
|
|
60
|
-
This plugin never touches the current session. It archives the conversation verbatim to disk, then
|
|
61
|
-
starts a new session that carries only an index. Nothing is destroyed, and everything stays retrievable.
|
|
62
|
-
|
|
63
|
-
### Be clear about what this does not buy you
|
|
64
|
-
|
|
65
|
-
The new session still pays one cold prefill — its system prompt plus the TOC plus the handoff note —
|
|
66
|
-
which is at least the cost class a post-compaction request pays (a compaction keeps the header cached
|
|
67
|
-
and refills from the cut point; a continuation refills everything). **This is not marketed as cheaper
|
|
68
|
-
than compaction.** What it buys is different, and for the right workload better:
|
|
69
|
-
|
|
70
|
-
- the archive is **verbatim**, so reloading a chapter returns real text, not a summary of it
|
|
71
|
-
- the original session is **untouched**, keeping its cache and remaining usable as an ancestor
|
|
72
|
-
- the move is **reversible** — abandon the new session and keep working in the old one
|
|
73
|
-
- history can be **branched**, not just truncated
|
|
74
|
-
|
|
75
|
-
Built for people running local models in small windows (32K–128K), who depend on high cache hit rates
|
|
76
|
-
because prefill is slow, and who want relief that is inspectable rather than destructive.
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## How It Works
|
|
81
|
-
|
|
82
|
-
### `chapters_segment`
|
|
83
|
-
|
|
84
|
-
The agent calls `chapters_segment` on the current conversation. It proposes topic chapters as
|
|
85
|
-
**event-sequence ranges** plus a title and one-line summary each, along with the *archive ceiling* — the
|
|
86
|
-
last completed turn. The agent reviews and edits the proposal.
|
|
87
|
-
|
|
88
|
-
The model supplies only boundaries and labels, never archived text. That keeps the archive verbatim
|
|
89
|
-
rather than reconstructed from recall, and keeps one tool call within output-token limits no matter how
|
|
90
|
-
long the conversation is.
|
|
91
|
-
|
|
92
|
-
### `chapters_continue`
|
|
93
|
-
|
|
94
|
-
The agent — or the user, via a button once the UI trigger lands — calls `chapters_continue` with the
|
|
95
|
-
approved ranges and a handoff note. The tool:
|
|
96
|
-
|
|
97
|
-
1. **Reserves** chapter numbers and slugs in the chain registry, so a crash or retry cannot collide them
|
|
98
|
-
2. **Renders chapter bodies from the session log** at the given ranges, writing Markdown and recording a
|
|
99
|
-
content hash per file
|
|
100
|
-
3. **Defers oversized tool results** out of the chapter into content-addressed artifact files
|
|
101
|
-
4. **Builds a flat, chronological TOC** by walking the ancestor path — the plugin walks, the model reads
|
|
102
|
-
a list
|
|
103
|
-
5. **Preflights the context budget** and refuses with concrete numbers if the new session would start too
|
|
104
|
-
large
|
|
105
|
-
6. **Creates a new session** seeded with exactly one event: the TOC
|
|
106
|
-
7. **Returns** the new session id, store directory, archive ceiling, written paths, and hashes
|
|
107
|
-
|
|
108
|
-
The TOC is the new session's first message:
|
|
109
|
-
|
|
110
|
-
```markdown
|
|
111
|
-
## Conversation TOC
|
|
112
|
-
|
|
113
|
-
This session continues an earlier conversation. The chapters below hold its
|
|
114
|
-
history as Markdown. Use the `read` tool on a chapter path to reload one —
|
|
115
|
-
reloading costs context too, so read the bullet first and only open what you need.
|
|
116
|
-
|
|
117
|
-
### In flight
|
|
118
|
-
Refactoring the migration runner. `applyPending` is split; `resolveOrder` is not
|
|
119
|
-
touched yet. The failing test is `migrations.e2e` case 3.
|
|
120
|
-
Parent: 01HTZ6Q8K3 · Root: 01HTAB12CD7
|
|
121
|
-
|
|
122
|
-
### Chapters
|
|
123
|
-
1. [Project Setup](.dsh-chapters/01HTAB…/chapters/001-project-setup.md) — Repo scaffolding and dependency choices.
|
|
124
|
-
2. [Auth Debugging](.dsh-chapters/01HTAB…/chapters/002-auth-debugging.md) — Resolved CORS and token refresh issues.
|
|
125
|
-
3. [Database Schema](.dsh-chapters/01HTAB…/chapters/003-database-schema.md) — Designed the user table and migration.
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
"Chapters" is a flat numbered list in causal order, never a graph to explore — see
|
|
129
|
-
[Ancestry without traversal](#ancestry-without-traversal).
|
|
130
|
-
|
|
131
|
-
The "In flight" section exists because the turn that triggers a continuation is by construction not yet
|
|
132
|
-
archived: the ceiling is the last completed turn, so without a handoff note the most relevant context
|
|
133
|
-
would be the part that gets dropped.
|
|
134
|
-
|
|
135
|
-
### Chapters stay small: the model decides which tool results to carry
|
|
136
|
-
|
|
137
|
-
Long dumps — a `read` on a big file, a `bash` traceback — are most of a real conversation's tokens and
|
|
138
|
-
usually the least valuable thing to re-read. But "which ones matter" is a *semantic* judgement, not a size
|
|
139
|
-
question: a four-line compiler error is load-bearing and a four-hundred-line config `read` can be noise.
|
|
140
|
-
So the agent that lived the conversation decides, and the plugin does the arithmetic.
|
|
141
|
-
|
|
142
|
-
- The plugin enumerates the candidates — every tool result's `seq`, tool, and real size — so the model
|
|
143
|
-
never guesses at byte counts.
|
|
144
|
-
- The default defers large results and keeps trivial ones inline; **the model submits only exceptions**
|
|
145
|
-
(`toolResultOverrides: [{seq, inline}]`), so the judgement costs almost nothing in output.
|
|
146
|
-
- Invocations and arguments always stay inline — that is the "what was attempted" half of the record.
|
|
147
|
-
- The artifact file is written **either way**, so a wrong call is a context miss, never data loss. That
|
|
148
|
-
asymmetry is what makes it safe to hand this decision to a model.
|
|
149
|
-
|
|
150
|
-
```
|
|
151
|
-
**Assistant:** Let me check the migration order.
|
|
152
|
-
↳ tool: bash `npm run migrate -- --dry-run`
|
|
153
|
-
result: 41.2 KB, sha256 8f3a1c… → .dsh-chapters/01HTAB…/artifacts/8f/8f3a1c9d….txt
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
Artifacts are **content-addressed**, so the same 200-line file read ten times across a whole subtree is
|
|
157
|
-
stored once. Images and attachments take the same path, since Markdown cannot carry them.
|
|
158
|
-
|
|
159
|
-
The chapter files themselves are **Markdown with YAML frontmatter**, deliberately not XML: the consumer
|
|
160
|
-
is a model reading text, markup tokens are context tokens in a plugin whose purpose is bounding context,
|
|
161
|
-
and the session log plus the registry already hold the machine-readable structure. Frontmatter carries
|
|
162
|
-
`seqRange`, `session`, `root`, `sha256`, and `tokens`, so files stay queryable without a heavier format.
|
|
163
|
-
The reasoning, and the single condition that would reopen the question, are in
|
|
164
|
-
[docs/architecture.md](docs/architecture.md#file-format-markdown-with-frontmatter-not-xml).
|
|
165
|
-
|
|
166
|
-
### The impossible band: too big never means "try anyway"
|
|
167
|
-
|
|
168
|
-
A tool result at or above `toolResultArtifactTokens` (default 8000) is stored as a
|
|
169
|
-
content-addressed **artifact the moment it arrives** — before the next model request is
|
|
170
|
-
composed — and the context carries a reference stub instead: size, sha, path, and the
|
|
171
|
-
query instruction. The blob is prefilled zero times; the retention paradox (a newest node
|
|
172
|
-
too big to file) becomes unreachable by construction. The model works the artifact with
|
|
173
|
-
`chapters_artifact`: `toc` (heading map with line numbers — a 300-page book arrives with
|
|
174
|
-
its own contents), `search` (term hits as small blocks), `read` (exact line ranges). The
|
|
175
|
-
archive-time judgment above is unchanged for everything that genuinely fits.
|
|
176
|
-
|
|
177
|
-
### What "lossless" means here — precisely
|
|
178
|
-
|
|
179
|
-
Because oversized results are deferred, chapters are no longer self-contained, and the claim has to move
|
|
180
|
-
with the design:
|
|
181
|
-
|
|
182
|
-
> **Every byte of the conversation remains retrievable** — inline in its chapter, or by an exact path
|
|
183
|
-
> printed in it. Nothing is paraphrased, summarized, or dropped.
|
|
184
|
-
|
|
185
|
-
That is a weaker-sounding and *more true* statement than "the chapter contains everything." Note also
|
|
186
|
-
that tool **effects** (files written, commands run) survive only as their logged output. The parent
|
|
187
|
-
session remains the only complete record, which is why the TOC prints its id: consulting an ancestor
|
|
188
|
-
directly is the ultimate fallback.
|
|
189
|
-
|
|
190
|
-
---
|
|
191
|
-
|
|
192
|
-
## How The New Session Is Created
|
|
193
|
-
|
|
194
|
-
Worth reading before contributing, because it is the least obvious part of the design and the reason
|
|
195
|
-
there is a Phase 0.
|
|
196
|
-
|
|
197
|
-
DSH's fork operation seeds a child with the parent's history — `packages/api/session-controller/src/commands.ts:260`:
|
|
198
|
-
|
|
199
|
-
```ts
|
|
200
|
-
seed: source.events.slice(0, cut),
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
Using that would give the new session *all* of the parent's context plus the TOC. Context would grow at
|
|
204
|
-
every link instead of shrinking, and the plugin would compact nothing.
|
|
205
|
-
|
|
206
|
-
`seed` is optional (`packages/core/agent/src/index.ts:95`), so the plugin creates a session seeded with
|
|
207
|
-
one synthetic event and attaches it to the parent's workspace. That is what makes a bounded head real.
|
|
208
|
-
|
|
209
|
-
Two honest consequences:
|
|
210
|
-
|
|
211
|
-
- **Lineage lives in this plugin's registry, not in the kernel.** A synthetic-seed child is not a
|
|
212
|
-
fork-inherited session, so the web UI's branch graph shows it as an unrelated root. The chain and
|
|
213
|
-
manifest view are this plugin's responsibility.
|
|
214
|
-
- **It leans on kernel internals.** Workspace attachment and agent-preset composition are replicated
|
|
215
|
-
from the api-proxy fork handler, following the `dsh-session-fork` precedent, and must be re-verified
|
|
216
|
-
against each DSH upgrade.
|
|
217
|
-
|
|
218
|
-
---
|
|
219
|
-
|
|
220
|
-
## Ancestry Without Traversal
|
|
221
|
-
|
|
222
|
-
Continuing an older session twice makes history a tree. Asking an agent to navigate a tree is how agents
|
|
223
|
-
get lost, so **the model never does it**:
|
|
224
|
-
|
|
225
|
-
- **The plugin walks the ancestor path and emits a flat, numbered, chronological list.** Reading order
|
|
226
|
-
*is* causal order. At depth 10 or mid-branch, the agent sees an index and `read` paths — no graph, no
|
|
227
|
-
inference, no traversal.
|
|
228
|
-
- **The TOC is the only index.** It already lists every chapter on the path with its summary, and the
|
|
229
|
-
registry holds the machine-readable form. An earlier draft added a per-root `MANIFEST.md`; it was
|
|
230
|
-
dropped as a redundant, drift-prone duplicate whose size made reading it its own context cost.
|
|
231
|
-
- **Back-links are printed** — root session and parent session — so the trace is visible without being
|
|
232
|
-
reconstructed.
|
|
233
|
-
|
|
234
|
-
Chapters are keyed by **creating session** rather than a linear chain id, so sibling branches get
|
|
235
|
-
different correct TOCs and cannot collide on numbering.
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## Enrichment (P2)
|
|
240
|
-
|
|
241
|
-
Archived chapters are annotated asynchronously by a model — titles, summaries, semantic
|
|
242
|
-
topics — with per-field provenance chains (`generated:` in the frontmatter, newest-first).
|
|
243
|
-
The verbatim body is untouchable: the one sanctioned write path re-verifies the body hash
|
|
244
|
-
and refuses loudly on disagreement. The queue triggers are a config seam
|
|
245
|
-
(`enrichmentTrigger: afterPush | idle | both | manual`, idle default 60 s);
|
|
246
|
-
`/chapters-enrich run|model|report` is the manual surface, and an `enrichmentEnabled: false`
|
|
247
|
-
kill switch leaves a fully working, signatures-only corpus. Topic vocabulary merges
|
|
248
|
-
themselves from corpus statistics (shadow-by-default; `vocabApply: true` writes git-visible
|
|
249
|
-
curation entries), and adjacent legacy fragments cohere into one stitched search entry.
|
|
250
|
-
Detail: `docs/knowledge-repo.md` §6, §12.
|
|
251
|
-
|
|
252
|
-
## Rules (P3)
|
|
253
|
-
|
|
254
|
-
Rules are chapters of a different kind: `kind: rule` files with a category, proposed by
|
|
255
|
-
a human (`/chapters-rule add`) or by an agent (`chapters_rule_propose`), and rendered into
|
|
256
|
-
the continuation notice **verbatim only after a human approves them on that machine** —
|
|
257
|
-
approval is a per-machine curation fact, so a rule from another machine is searchable
|
|
258
|
-
everywhere but influential nowhere until each keyboard says so. The core block is budgeted
|
|
259
|
-
(`coreRulesBudgetTokens`): overflow refuses with per-rule numbers, never clips.
|
|
260
|
-
Detail: `docs/knowledge-repo.md` §7 (incl. the 2026-09-20 §15 amendment).
|
|
261
|
-
|
|
262
|
-
## Querying the knowledge base from the CLI
|
|
263
|
-
|
|
264
|
-
`dsh chapters` is a thin, **read-only** shell window over the same stores the model sees — for scripts,
|
|
265
|
-
and for a human checking the corpus with their own eyes. It runs in-process against the plugin's own
|
|
266
|
-
modules (no daemon, no second implementation), and lives in the DSH CLI:
|
|
267
|
-
|
|
268
|
-
```
|
|
269
|
-
dsh chapters status # what exists, and which store each layer came from
|
|
270
|
-
dsh chapters search "budget preflight" # ranked chapters/rules; [RULE approved] hits included
|
|
271
|
-
dsh chapters show 004-auth-debugging # a chapter's frontmatter, topics, and body (or --excerpt)
|
|
272
|
-
dsh chapters vocab # effective topic vocabulary + corpus coverage
|
|
273
|
-
```
|
|
274
|
-
|
|
275
|
-
Two properties are load-bearing, and tested as contract, not style:
|
|
276
|
-
|
|
277
|
-
- **It reads the same files, resolved the same way.** `--workspace` defaults to `$PWD` and each layer
|
|
278
|
-
falls back through the same chain the model uses (workspace store → knowledge mirror → profile store,
|
|
279
|
-
including the legacy `.dsh-knowledge.json` shape) — so the CLI cannot disagree with the plugin just
|
|
280
|
-
because it guessed a path. `--json` on every command (the `dsh` CLI's own `-j` flag) is for agents;
|
|
281
|
-
the default output is for humans.
|
|
282
|
-
- **It cannot write.** Zero mutations by construction: the modules it calls are read paths only, and a
|
|
283
|
-
test asserts every JSON key the commands emit (plus their nesting) against an allowlist of read-only
|
|
284
|
-
APIs. The plugin's public read surface is **frozen**: adding a write-capable call to it fails that
|
|
285
|
-
test, so the CLI stays an observer as the layer grows. What it prints is labelled by provenance —
|
|
286
|
-
`enriched by model` / `deterministic` — because a topic from the enrichment ladder is a different
|
|
287
|
-
kind of fact than a registered range.
|
|
288
|
-
|
|
289
|
-
## Querying the knowledge base from the CLI
|
|
290
|
-
|
|
291
|
-
`dsh chapters` is a thin, **read-only** shell window over the same stores the model sees — for scripts,
|
|
292
|
-
and for a human checking the corpus with their own eyes. It runs in-process against the plugin's own
|
|
293
|
-
modules (no daemon, no second implementation), and lives in the DSH CLI:
|
|
294
|
-
|
|
295
|
-
```
|
|
296
|
-
dsh chapters status # what exists, and which store each layer came from
|
|
297
|
-
dsh chapters search "budget preflight" # ranked chapters/rules; [RULE approved] hits included
|
|
298
|
-
dsh chapters show 004-auth-debugging # a chapter's frontmatter, topics, and body (or --excerpt)
|
|
299
|
-
dsh chapters vocab # effective topic vocabulary + corpus coverage
|
|
300
|
-
```
|
|
301
|
-
|
|
302
|
-
Two properties are load-bearing, and tested as contract, not style:
|
|
303
|
-
|
|
304
|
-
- **It reads the same files, resolved the same way.** `--workspace` defaults to `$PWD` and each layer
|
|
305
|
-
falls back through the same chain the model uses (workspace store → knowledge mirror → profile store,
|
|
306
|
-
including the legacy `.dsh-knowledge.json` shape) — so the CLI cannot disagree with the plugin just
|
|
307
|
-
because it guessed a path. `--json` on every command (the `dsh` CLI's own `-j` flag) is for agents;
|
|
308
|
-
the default output is for humans.
|
|
309
|
-
- **It cannot write.** Zero mutations by construction: the modules it calls are read paths only, and a
|
|
310
|
-
test asserts every JSON key the commands emit (plus their nesting) against an allowlist of read-only
|
|
311
|
-
APIs. The plugin's public read surface is **frozen**: adding a write-capable call to it fails that
|
|
312
|
-
test, so the CLI stays an observer as the layer grows. What it prints is labelled by provenance —
|
|
313
|
-
`enriched by model` / `deterministic` — because a topic from the enrichment ladder is a different
|
|
314
|
-
kind of fact than a registered range.
|
|
315
|
-
|
|
316
|
-
## Acceptance Testing
|
|
317
|
-
|
|
318
|
-
`npm test` covers unit + integration. The browser acceptance suite (7 specs, seven boot-pinned
|
|
319
|
-
projects) runs **off the model tape** by default: `npm run test:e2e:replay` replays recorded LLM
|
|
320
|
-
exchanges from `var/model-tape/` — seconds, deterministic, GPU-free (recorded usage fields keep
|
|
321
|
-
compaction thresholds firing at identical steps). `npm run test:e2e:record` distills the tapes
|
|
322
|
-
from the real Local model (once per scenario; also `npm run test:e2e` to run fully live), and
|
|
323
|
-
misses in replay mode fail LOUD with a journal, never silently. Details: docs/development.md.
|
|
38
|
+
**This is not a fork.** DSH's native fork copies the parent's log into the child; this plugin does
|
|
39
|
+
the opposite — it creates an *unseeded* session that cites an archive. The whole design discipline
|
|
40
|
+
traces back to that distinction.
|
|
324
41
|
|
|
325
42
|
## Architecture
|
|
326
43
|
|
|
327
44
|
```
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
│
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
│
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
├── cordis.patch.yml # mounts the plugin into a profile's bundle list
|
|
342
|
-
├── package.json
|
|
343
|
-
└── tsconfig.json
|
|
45
|
+
agent turn ──► chapters_segment ──► chapter ranges (the model picks ranges; never writes bodies)
|
|
46
|
+
│
|
|
47
|
+
chapters_continue(title, handoffNote, chapters[])
|
|
48
|
+
│
|
|
49
|
+
┌─────────────────────────────────┼──────────────────────────────┐
|
|
50
|
+
▼ ▼ ▼
|
|
51
|
+
render bodies from log defer oversized tool results preflight the budget
|
|
52
|
+
(verbatim, per range) to content-addressed TOC + note vs remainder
|
|
53
|
+
artifacts/ files │ │
|
|
54
|
+
└─────────────► chapter .md files ◄───────────────────────────────┘
|
|
55
|
+
│ refuse loudly if over budget
|
|
56
|
+
▼
|
|
57
|
+
new session seeded with ONE message: the cumulative Table of Contents
|
|
344
58
|
```
|
|
345
59
|
|
|
346
|
-
The
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
### Design constraint: measure, then refuse
|
|
388
|
-
|
|
389
|
-
The new session's *added* context is capped: the TOC plus the handoff note must fit a configured share
|
|
390
|
-
(default 25%) of the window **remaining after the system prompt and tool schemas**. This is checked
|
|
391
|
-
**before** creating the session, and exceeding it is **an error with numbers, not a truncation**. There is
|
|
392
|
-
deliberately no length cap on the handoff note — an over-long note fails this check, and clipping one
|
|
393
|
-
would reintroduce exactly the silent loss the plugin exists to avoid. Basing the cap on the remaining
|
|
394
|
-
space matters: a 32K model's header alone can occupy a quarter of the window, and a whole-window rule would
|
|
395
|
-
make every continuation impossible on precisely the hardware this plugin is for.
|
|
396
|
-
|
|
397
|
-
### Trigger model
|
|
398
|
-
|
|
399
|
-
**Manual is the MVP**: ask the agent to segment and continue. The user pays the continuation cost only
|
|
400
|
-
when they choose to.
|
|
401
|
-
|
|
402
|
-
**Pressure detection arrives in Phase 2, and acts in Phase 3.** Detection at `turn/end` reuses the same
|
|
403
|
-
budget machinery the preflight needs, so it is built early rather than last — but the automatic path only
|
|
404
|
-
*suggests* until Phase 3. It fires **only at turn boundaries, never mid-step**; `agent/pre-step` would
|
|
405
|
-
break the user's in-flight request. And since the archive ceiling is a completed `turn/end`, mid-turn cut
|
|
406
|
-
points are not merely unsafe — they are not representable.
|
|
407
|
-
|
|
408
|
-
---
|
|
409
|
-
|
|
410
|
-
## What Is Still Open
|
|
411
|
-
|
|
412
|
-
Each of these is a decision or an unmeasured claim, not an oversight. The Phase 0/0b gates that used to
|
|
413
|
-
live here were **answered by probe rounds 1-25** — unseeded-but-styled creation is durable, listed, and
|
|
414
|
-
resumable; creation schedules no turn (children sit until steered); the compaction seam runs a plugin
|
|
415
|
-
subclass end to end with zero summarization tokens; and E3 measured that a compaction halves the uncached
|
|
416
|
-
refill rather than cold-restarting the prompt.
|
|
417
|
-
|
|
418
|
-
- **Coexistence with `dsh-session-fork`.** Name-spaces are disjoint by inspection (domains
|
|
419
|
-
`dsh_chapters`/`dsh_session_fork`, tools `chapters_*`/`branch_*`, presets), but the boot-pair test came
|
|
420
|
-
back MOOT: the shipped example fails to boot against the installed host **on its own** (`webServer`
|
|
421
|
-
inject drift, rc.2-era code vs rc.1 host — attributed by booting it alone; r26). Re-run the pair-boot
|
|
422
|
-
on a version-matched host before making it a product claim; until then coexistence is assumed-neutral,
|
|
423
|
-
not proven.
|
|
424
|
-
- **Automatic continuation (Phase 3).** The pressure *suggestion* at `turn/end` and any autonomous
|
|
425
|
-
continue decision are unbuilt by design; the engine's own automatic compaction is the host's shipped
|
|
426
|
-
timing and needs nothing from us.
|
|
427
|
-
- **The index is bounded nowhere yet.** Chapter size is bounded; TOC length grows with depth, and
|
|
428
|
-
reloading chapters can re-trigger pressure in a loop. Bullet folding, a reload budget, and retention
|
|
429
|
-
for abandoned chains are Phase 4.
|
|
430
|
-
- **Integrity is detection, not proof.** Chapter files are writable Markdown replayed as the model's own
|
|
431
|
-
memory, so bodies are hashed and mismatches surfaced — but a writer that can also edit the registry
|
|
432
|
-
defeats it. Accidental drift and single-shot injection are caught; a determined tamperer is not.
|
|
433
|
-
|
|
434
|
-
## Shared Knowledge (P1, shipped)
|
|
435
|
-
|
|
436
|
-
Chapters are not just escape hatches — they are a corpus. Per project, a private git repository
|
|
437
|
-
(`.dsh-knowledge/` mirror, real transport via pure-JS isomorphic-git) carries the workspace's
|
|
438
|
-
knowledge between every harness pointed at the same remote:
|
|
439
|
-
|
|
440
|
-
- **Turn signatures** (paths/commands/terms — deterministic, zero tokens) are collected at every
|
|
441
|
-
`turn/end`; the fork/continue archive merges adjacent same-topic turns into one chapter and
|
|
442
|
-
splits on topic changes or the size cap (record §4).
|
|
443
|
-
- **Derived sharded index** + per-machine curation facts (`index/`, `edits/`) — rebuilt
|
|
444
|
-
deterministically from the corpus, never hand-edited state.
|
|
445
|
-
- **`chapters_search`** — the model (or you) query the whole project's chapter history; results
|
|
446
|
-
are paths readable with `read`.
|
|
447
|
-
- **Redaction** at the render chokepoint: credentials become stable `⟦redacted…⟧` markers before
|
|
448
|
-
anything is archived (pattern-based speed bump, documented as such).
|
|
449
|
-
- **Sync loop**: pull at new-session/fork, debounced push after archives, a file writer-lock, and
|
|
450
|
-
§5.3 degradation: unreachable remote ⇒ LOCAL-ONLY mode where publish/index/search keep working
|
|
451
|
-
and `/chapters-status` says so with the numbers. Divergence rebuilds the mirror (it is
|
|
452
|
-
transport — the workspace store is the truth).
|
|
453
|
-
|
|
454
|
-
Configure the upstream with `/chapters-link`:
|
|
60
|
+
The four rules the design never breaks:
|
|
61
|
+
|
|
62
|
+
- **Never rewrite the durable session log.** Append-only; nothing is edited or deleted, ever.
|
|
63
|
+
- **Never seed a continuation from the parent's events.** The child starts from one synthetic TOC
|
|
64
|
+
notice; history grows by citation, never by copying.
|
|
65
|
+
- **Never contribute to the shared system prompt.** Per-continuation notices only — enabling the
|
|
66
|
+
plugin changes what *your sessions* can do, not what every other session in the profile sees.
|
|
67
|
+
- **Never let the model author chapter bodies.** The model chooses ranges; the plugin renders the
|
|
68
|
+
text from the log. Model-typed "lossless" is the failure mode this design exists to avoid.
|
|
69
|
+
|
|
70
|
+
Supporting machinery, each with a chapter in [docs/architecture.md](docs/architecture.md):
|
|
71
|
+
|
|
72
|
+
- **Oversized tool results** (file reads, command output) are deferred to a content-addressed
|
|
73
|
+
`artifacts/` store and referenced from the chapter — the model can still pull them back via the
|
|
74
|
+
`chapters_artifact` tool (toc / search / read modes). Hence the honest guarantee: **every byte
|
|
75
|
+
remains retrievable**, not "every byte is in the chapter".
|
|
76
|
+
- **Continuation budget, not a handoff cap:** TOC + note must fit a share of the window *remaining
|
|
77
|
+
after the header*; over budget the plugin **refuses with the numbers** — it never clips a handoff
|
|
78
|
+
note.
|
|
79
|
+
- **Ancestry is a DAG, flattened for the model:** the child's notice lists every chapter on the
|
|
80
|
+
ancestor path chronologically, with explicit back-links. Reading order is causal order; the model
|
|
81
|
+
never traverses a graph.
|
|
82
|
+
- **The compaction seam:** when the `chapters` agent preset is mounted, in-place compaction (manual
|
|
83
|
+
`/compact` and automatic pressure) runs through the plugin's deterministic engine — the same
|
|
84
|
+
log-only, zero-summarization discipline inside a session rather than across sessions.
|
|
85
|
+
- **Enrichment (P2)**: after pushes, an idle/deferred ladder annotates archived chapters (topics,
|
|
86
|
+
summaries) — with validation before commit and a body-hash guard making enrichment the *only*
|
|
87
|
+
sanctioned mutation of a chapter file, and even that provenance-chained.
|
|
88
|
+
- **Rules (P3)**: a write-once ledger of proposed project rules; approval is a **per-machine
|
|
89
|
+
curation fact** (never a shared-file rewrite), and the active core rules ride verbatim into every
|
|
90
|
+
continuation notice within a budget that refuses rather than clips.
|
|
91
|
+
|
|
92
|
+
Storage map: chapter bodies and artifacts live **in the workspace** under `.dsh-chapters/<root>/…`
|
|
93
|
+
(so the `read` tool reaches them); ancestry, numbering and hashes live in the harness's durable
|
|
94
|
+
storage domain (`dsh_chapters`); your upstream credentials live under the **DSH home** with 0600
|
|
95
|
+
permissions — never inside the project directory, never committed, never pushed.
|
|
96
|
+
|
|
97
|
+
## Installation (users)
|
|
98
|
+
|
|
99
|
+
Node ≥ 24 and a DSH host you install plugins into. From npm:
|
|
455
100
|
|
|
456
101
|
```
|
|
457
|
-
|
|
458
|
-
/chapters-link ~/pools/proj-kb.git # local-path pool — no HTTP, no credentials
|
|
459
|
-
/chapters-link https://… <token> # network pool — token required (loopback exempt),
|
|
460
|
-
# stored 0600 under the DSH HOME, never here
|
|
102
|
+
dsh plugin add @treeseed/dsh-chapters
|
|
461
103
|
```
|
|
462
104
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
|
105
|
+
(or pin the version: `@treeseed/dsh-chapters@0.1.1`). Restart your `dsh web` afterwards so the
|
|
106
|
+
bundle, presets and client plane reload. What activating the plugin does:
|
|
107
|
+
|
|
108
|
+
- **Registers the model tools** (`chapters_segment`, `chapters_continue`, `chapters_fork`,
|
|
109
|
+
`chapters_search`, `chapters_artifact`, `chapters_rule_propose`) — available to agents.
|
|
110
|
+
- **Registers the composer commands** listed below — available to you.
|
|
111
|
+
- **Adds a "Fork with chapters" action** to every assistant message in the web UI.
|
|
112
|
+
- **Installs the `chapters` agent preset** into your DSH home at boot (`.agent-presets/`;
|
|
113
|
+
write-once — your edits are never clobbered). Pick it in the agent-preset menu to get the
|
|
114
|
+
chapter-form compaction engine; the plugin's own `fallbackPreset` covers children it creates.
|
|
115
|
+
|
|
116
|
+
Configure it from your profile's plugin entry. The **complete key reference with defaults is the
|
|
117
|
+
comment header of the shipped `cordis.patch.yml`** (`node_modules/@treeseed/dsh-chapters/cordis.patch.yml`)
|
|
118
|
+
— it mirrors the live config schema, which is enforced. The knobs users reach for most:
|
|
119
|
+
|
|
120
|
+
| Key | What it governs |
|
|
121
|
+
|---|---|
|
|
122
|
+
| `harnessId` | this machine's identity in the shared knowledge (author of edits, rule approvals) |
|
|
123
|
+
| `knowledgeRemote` | pre-bind an upstream at config time (else `/chapters-link`) |
|
|
124
|
+
| `syncDebounceMs` | how quickly archives push upstream (default 30000) |
|
|
125
|
+
| `enrichmentEnabled` / `enrichmentModel` | the P2 annotator (off = pure no-op) |
|
|
126
|
+
| `vocabApply` | shadow (default) vs git-visible topic-alias curation |
|
|
127
|
+
| `coreRulesBudgetTokens` / `rulesCoreBonus` | the rules block in notices and its search bonus |
|
|
128
|
+
| `toolResultDeferFloorTokens` | the archive-time inline/defer floor |
|
|
129
|
+
| `continuationBudgetRatio` | how much of the remaining window a continuation may add |
|
|
130
|
+
|
|
131
|
+
## Supported commands
|
|
132
|
+
|
|
133
|
+
Typed in the composer **inside a session** (a brand-new draft screen sends text as a message, not a
|
|
134
|
+
command — start the session first). Every command answers with honest numbers; nothing degrades
|
|
135
|
+
silently.
|
|
136
|
+
|
|
137
|
+
| Command | Meaning |
|
|
138
|
+
|---|---|
|
|
139
|
+
| `/chapters-link` | show the current upstream and mirror state |
|
|
140
|
+
| `/chapters-link <local-path>` | bind a shared local git repo (bare or worktree) — needs no credentials |
|
|
141
|
+
| `/chapters-link <https-url> <token>` | bind a networked git pool over smart-HTTP; token stored 0600 under the DSH home |
|
|
142
|
+
| `/chapters-link treedx+<url>/<repo> <token>` | bind a TreeDX service (token required — it is a bearer API) |
|
|
143
|
+
| `/chapters-status` | last sync with its steps: cloned / published n new / index / pushed, or the local-only reason |
|
|
144
|
+
| `/chapters-enrich run` \| `model <provider/model \| clear>` \| `report` | drive the enrichment ladder and choose its model (default: the conversation route) |
|
|
145
|
+
| `/chapters-rule add <category> <text>` \| `list [--all \| --proposed \| --category <c>]` \| `approve <id>` \| `revoke <id>` | the rules ledger; approve/revoke are per-machine facts |
|
|
146
|
+
| `/compact` (host command) | with the `chapters` preset mounted, this routes through the deterministic chapter engine |
|
|
147
|
+
|
|
148
|
+
The agent-side tools you'll see in transcripts: **`chapters_segment`** (propose archive ranges),
|
|
149
|
+
**`chapters_continue`** (open the TOC-seeded continuation), **`chapters_fork`** (same machinery,
|
|
150
|
+
mid-conversation branch), **`chapters_search`** (query the shared index), **`chapters_artifact`**
|
|
151
|
+
(retrieve deferred tool results), **`chapters_rule_propose`** (submit a rule candidate). The
|
|
152
|
+
**Fork with chapters** button on an assistant message performs the archive-and-continue in one
|
|
153
|
+
click and switches the UI to the new session.
|
|
154
|
+
|
|
155
|
+
## Backend providers
|
|
156
|
+
|
|
157
|
+
Transport is a **provider seam** (design record: [docs/knowledge-repo.md](docs/knowledge-repo.md) §15;
|
|
158
|
+
contract: [docs/provider.md](docs/provider.md)): six verbs — clone/pull/push/commit/list/fetch — and
|
|
159
|
+
two shipped backends. Search, rules and the index all read the materialized **mirror**; they are
|
|
160
|
+
identical under either provider.
|
|
161
|
+
|
|
162
|
+
| | **`git` (default)** | **`treedx`** |
|
|
479
163
|
|---|---|---|
|
|
480
|
-
|
|
|
481
|
-
|
|
|
482
|
-
|
|
|
483
|
-
|
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
**Do not port from** its `squash*` files or `vendor/compact.ts` — those rewrite spans, the operation this
|
|
487
|
-
plugin forbids — and do not imitate `src/prompt.ts`, per the header constraint above.
|
|
488
|
-
|
|
489
|
-
---
|
|
490
|
-
|
|
491
|
-
## Planning
|
|
492
|
-
|
|
493
|
-
Scoped so the cache-critical path is proven before anything is built on it, with the budget and pressure
|
|
494
|
-
machinery moved early because automatic continuation depends on it.
|
|
495
|
-
|
|
496
|
-
**Phase 0 — Prove the premise.** Package skeleton and one trivial tool. Then the load-bearing question:
|
|
497
|
-
can a plugin create a session seeded with a single synthetic event that is durable, sidebar-listed,
|
|
498
|
-
resumable after restart, and materially *smaller* in tokens than its parent? Settle the name, the test
|
|
499
|
-
harness, and the `dsh-session-fork` coexistence question here.
|
|
500
|
-
*If the child is not durable and listed, the design does not work and later phases should not be funded.*
|
|
501
|
-
|
|
502
|
-
**Phase 1 — Render, cite, and bound.** `chapters_continue` with validated event ranges; bodies rendered
|
|
503
|
-
from the log; artifact deferral with content-addressed dedup; registry with ancestry, numbering, and
|
|
504
|
-
hashes; flat ancestor-path TOC with handoff note and back-links; the budget preflight with
|
|
505
|
-
concrete refusal numbers; atomic ordering and idempotent retry. Manual trigger only.
|
|
164
|
+
| Address form | `https://…/pool.git` (+ token) or a local path | `treedx+<url>/<repo>` (+ bearer token) |
|
|
165
|
+
| Transport | git smart-HTTP via isomorphic-git; plain repositories, browsable with any git client | TreeDX service API: workspace → overlay writes → commit, lease-managed |
|
|
166
|
+
| Credentials | per-project token in the DSH home (0600); local paths need none | bearer token, same home treatment |
|
|
167
|
+
| Contention | push rejected → ff-pull retry → divergence routes through **rebuild-from-the-store** | lease contention maps onto the same rejected→pull→diverged ladder |
|
|
168
|
+
| Mirror memory | cloned mirror directory under the workspace store | `.treedx-state.json` remembers the served head |
|
|
169
|
+
| Layout on the wire | identical: `chapters/`, `artifacts/`, `rules/`, derived `index/`, `collections/`, `topics/vocabulary.json` | identical (the service stores the same tree) |
|
|
506
170
|
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
171
|
+
Shared honesty rules both backends implement (measured, pinned by tests): every sync-path failure
|
|
172
|
+
**degrades to `local-only` with the reason**, never a silent loss — the mirror stays current and the
|
|
173
|
+
push lands when the remote returns; an unreachable-vs-auth-rejected distinction survives into the
|
|
174
|
+
status; divergence resolves by rebuilding from the store (the store is the truth, transport is
|
|
175
|
+
expendable); corpus listings page to the end. `kind` defaults to `git` for every record written
|
|
176
|
+
before providers existed — upgrading is zero migration.
|
|
510
177
|
|
|
511
|
-
|
|
512
|
-
preflight. Never mid-step.
|
|
178
|
+
## Development process
|
|
513
179
|
|
|
514
|
-
|
|
515
|
-
a reload budget in the TOC preamble; artifact refcounting and a retention/prune command.
|
|
180
|
+
Everything runs from a clone with plain **npm** (this is a single package, not a monorepo):
|
|
516
181
|
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
---
|
|
525
|
-
|
|
526
|
-
## Development
|
|
527
|
-
|
|
528
|
-
### Prerequisites
|
|
529
|
-
|
|
530
|
-
- A working DeepSeek Harness installation
|
|
531
|
-
- The four reference repositories cloned into `examples/`
|
|
532
|
-
|
|
533
|
-
### Installing for development
|
|
182
|
+
```
|
|
183
|
+
npm ci
|
|
184
|
+
npm run typecheck && npm run build
|
|
185
|
+
npm test # unit + integration
|
|
186
|
+
npm run coverage:ci # c8 gate: ≥85% statements/branches/functions/lines
|
|
187
|
+
```
|
|
534
188
|
|
|
535
|
-
The
|
|
536
|
-
|
|
537
|
-
`docs/development.md` — this repo's development runs inside a harness that must not be restarted):
|
|
189
|
+
The browser acceptance suite runs against **model tapes** — recorded LLM exchanges replayed by a
|
|
190
|
+
local proxy, so it needs no model, no key and no GPU, and passes or fails *loudly* on a miss:
|
|
538
191
|
|
|
539
|
-
```bash
|
|
540
|
-
npm run build # emits lib/ from src/
|
|
541
|
-
scripts/dsh-scratch.sh --home .dshdev2 plugin --profile web add "link:$(pwd)"
|
|
542
|
-
scripts/dsh-scratch.sh --home .dshdev2 web --port 0 --no-open # disposable instance, its own port/token
|
|
543
192
|
```
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
`scripts/bootstrap-dev-profile.sh` then boot `.dshdev-local`. Restarts inside one scratch home
|
|
549
|
-
are free; anything that could touch `~/.dsh` is the bug the wrapper exists to make impossible.
|
|
550
|
-
|
|
551
|
-
> **Manual-testing home: `.dshdev-local` (the Local-Qwen @64K target), never `.dshdev`.** The `.dshdev` profile carries
|
|
552
|
-
> `dsh-chapters-probe`, whose rounds are one-shot boot experiments that end in `process.exit` by design
|
|
553
|
-
> — leaving it mounted kills an interactive server seconds after the URL prints (a live boot that
|
|
554
|
-
> answered HTTP 401-with-token-page after 20s once the probe was removed; `scripts/dsh-scratch.sh
|
|
555
|
-
> --home .dshdev2 plugin --profile web remove dsh-chapters-probe` is the fix if it reappears).
|
|
556
|
-
|
|
557
|
-
> A bundle `add` alone does not activate the plugin: bundle layers compose at boot, so a restart is
|
|
558
|
-
> required after any change. A restart also recomposes every session's header and resets cache state
|
|
559
|
-
> profile-wide, so cache measurements only mean something within one process generation.
|
|
560
|
-
|
|
561
|
-
### Trying it out
|
|
562
|
-
|
|
563
|
-
1. In a **Chapters-preset** session, hold several exchanges across a couple of topics, including one
|
|
564
|
-
tool call with a long result.
|
|
565
|
-
2. Ask the agent to call `chapters_segment`. Review the returned ceiling, the real tool-result sizes,
|
|
566
|
-
and the chapters already in the registry; ask for ranges and titles you want.
|
|
567
|
-
3. Ask it to call `chapters_continue` with the approved ranges and a handoff note. An over-budget notice
|
|
568
|
-
must come back as a refusal WITH numbers, not a clipped note.
|
|
569
|
-
4. Switch to the new session (titled, listed). Its first message is the flat TOC, and it should feel
|
|
570
|
-
empty apart from that.
|
|
571
|
-
5. Ask it to `read` a chapter path, then follow one artifact reference, and confirm both return real
|
|
572
|
-
text — this is the reachability check; existence proves nothing.
|
|
573
|
-
6. Separately: in a long enough Chapters session let pre-step pressure compact, confirm a chapter file
|
|
574
|
-
lands beside the durable `compaction/summary` (provider `dsh-chapters`, no `usage`), and `read` the
|
|
575
|
-
chapter from INSIDE the compacted session — that is the engine path earning its name.
|
|
576
|
-
|
|
577
|
-
### Verifying a build
|
|
578
|
-
|
|
579
|
-
`docs/verify.md` has the full 20-step procedure with what to record. The three that decide whether the
|
|
580
|
-
design works at all:
|
|
581
|
-
|
|
582
|
-
1. **The new session's token count is materially smaller than the parent's.** Check this first — every
|
|
583
|
-
other assertion can pass while this one fails silently, and a failure here means the child was seeded
|
|
584
|
-
from the log
|
|
585
|
-
2. **The parent's cache hit rate is unaffected** — continue the parent and confirm
|
|
586
|
-
`usage.cacheReadTokens` on the next step, within one process generation
|
|
587
|
-
3. **The new session builds a stable cache on its second turn** — `usage.cacheReadTokens` is high
|
|
588
|
-
|
|
589
|
-
Plus the correctness set: install and tool listing; TOC as the child's first message; the child listed in
|
|
590
|
-
the sidebar and resumable after restart; `read` reachability of chapters (not mere existence); artifact
|
|
591
|
-
deferral resolves; a second continuation still lists the first's chapters; branching one ancestor twice
|
|
592
|
-
yields two correct non-colliding TOCs; kill mid-continuation and retry leaves no orphan citation and no
|
|
593
|
-
duplicate number; overlapping or gapped ranges are refused; an over-budget handoff note is refused with
|
|
594
|
-
numbers rather than clipped; a hand-edited chapter is flagged from its hash; missing `ctx.fs` degrades to
|
|
595
|
-
a clean refusal.
|
|
596
|
-
|
|
597
|
-
### Removing the plugin
|
|
598
|
-
|
|
599
|
-
```bash
|
|
600
|
-
scripts/dsh-scratch.sh --home .dshdev2 plugin --profile web remove dsh-chapters
|
|
601
|
-
rm -rf .dshdev2/.agent-presets/chapters # the installed preset; user-editable, left on purpose otherwise
|
|
193
|
+
npm ci --prefix dev/dsh-host-lock # the pinned, hermetic DSH host for e2e boots
|
|
194
|
+
export PATH="$PWD/dev/dsh-host-lock/node_modules/.bin:$PATH"
|
|
195
|
+
npm run test:e2e:replay # all seven segments, ~6 min
|
|
196
|
+
bash scripts/bootstrap-dev-profile.sh --home .dshdev-local # scratch dev home, built via npm
|
|
602
197
|
```
|
|
603
198
|
|
|
604
|
-
|
|
199
|
+
Tapes live in `tests/fixtures/model-tape/<project>/`; `E2E_MODEL=record` distills them against a
|
|
200
|
+
local llama.cpp endpoint (dev-only — CI never touches the model). When **product prompts change**
|
|
201
|
+
(persona, tool descriptions, notice text, thresholds) re-record the affected projects; documentation
|
|
202
|
+
edits are free. Agent-facing rules (the four invariants, the tape discipline, the coverage ledgers)
|
|
203
|
+
live in [AGENTS.md](AGENTS.md); the workflow loop in [docs/development.md](docs/development.md);
|
|
204
|
+
verification checklists in [docs/verify.md](docs/verify.md). Hosted CI
|
|
205
|
+
(`.github/workflows/ci.yml`) runs the gate plus the full tape-replay chain on every push;
|
|
206
|
+
releases publish automatically from a bare-semver tag via **npm trusted publishing (OIDC)** with
|
|
207
|
+
provenance attestations — no deploy secrets.
|
|
605
208
|
|
|
606
209
|
## Contributing
|
|
607
210
|
|
|
608
|
-
|
|
609
|
-
`
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
- **
|
|
615
|
-
-
|
|
616
|
-
|
|
617
|
-
- **
|
|
618
|
-
|
|
619
|
-
- **Never
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
- **Call `next()` in waterfall listeners** unless deliberately short-circuiting, and document why.
|
|
630
|
-
- **Put tunable parameters in config.** If `cordis.yml` can change it, it does not belong in code.
|
|
631
|
-
|
|
632
|
-
### Reporting a bug
|
|
633
|
-
|
|
634
|
-
Include parent, child, and root session ids, the store directory, the archive ceiling, the chapter paths
|
|
635
|
-
and any artifact references, and `usage.cacheReadTokens` for the parent's steps immediately before and
|
|
636
|
-
after plus the child's first two steps — noting **which process generation** each was taken in. Above all,
|
|
637
|
-
include the **first-request token counts of both sessions**: a silently re-seeded child is the most
|
|
638
|
-
damaging regression, and that number is what catches it.
|
|
639
|
-
|
|
640
|
-
---
|
|
641
|
-
|
|
642
|
-
## License
|
|
643
|
-
|
|
644
|
-
Apache 2.0
|
|
211
|
+
- **Start with an issue** for anything that changes behavior; the design record in
|
|
212
|
+
`docs/knowledge-repo.md` explains *why* things are shaped as they are, and amendments are human
|
|
213
|
+
decisions recorded in git.
|
|
214
|
+
- **Keep the four invariants inviolable** (never rewrite the log; never seed from the parent's
|
|
215
|
+
events; never touch the shared system prompt; never let the model author bodies). A PR that
|
|
216
|
+
trades one of these for convenience will be closed, not merged.
|
|
217
|
+
- **CI defines "done"**: deterministic suite green, coverage gate green, and — if your change moves
|
|
218
|
+
a model-visible prompt — the tape-replay chain re-recorded and green. Refuse-with-numbers beats
|
|
219
|
+
silent fallback everywhere in this codebase; follow that doctrine in new code too.
|
|
220
|
+
- **Test what you touch, and say how**: measured claims (this README's numbers are measured),
|
|
221
|
+
cited failure modes, no speculative generality.
|
|
222
|
+
- **Never commit credentials** or machine paths into fixtures; tokens belong to the DSH home only.
|
|
223
|
+
- Releases are maintainer-driven: bump `version`, land to `main`, push the tag — CI publishes.
|
|
224
|
+
|
|
225
|
+
License: see [LICENSE](LICENSE) (Copyright 2026 Fractal Synapse Labs).
|
|
226
|
+
|
|
227
|
+
> **On the name.** The package ships as `@treeseed/dsh-chapters` (npm scope `treeseed`; the GitHub
|
|
228
|
+
> org is `treeseed-ai`). Earlier candidates — `dsh-chapter-fork`, anything with "compact" — were
|
|
229
|
+
> rejected because they claimed something false: in DSH, *fork* means copying the parent's history,
|
|
230
|
+
> the one operation this plugin must never perform. The name names the artifact instead. Reasoning:
|
|
231
|
+
> [docs/architecture.md § Naming](docs/architecture.md#naming).
|
package/docs/development.md
CHANGED
|
@@ -140,6 +140,23 @@ Re-record discipline (learned the hard way 2026-09-22/23):
|
|
|
140
140
|
the deterministic + live ledgers own that transport).
|
|
141
141
|
Both ledgers together are the coverage claim; neither alone is honest.
|
|
142
142
|
|
|
143
|
+
### Release status (measured 2026-09-25)
|
|
144
|
+
|
|
145
|
+
`@treeseed/dsh-chapters@0.1.0` is LIVE on npmjs.org — published manually from
|
|
146
|
+
the CI-verified tag (`npm publish --access public --provenance=false`; the
|
|
147
|
+
registry shasum matches the CI tree byte-for-byte, install-smoke green).
|
|
148
|
+
Manual because the Production environment's NPM_TOKEN cannot CREATE a
|
|
149
|
+
package it is not scoped to (E404 = granular-token scope limitation, not a
|
|
150
|
+
secret problem) — and that whole class of auth is now gone: **CI publishes
|
|
151
|
+
run on npm TRUSTED PUBLISHING (OIDC)**. release.yml carries no token;
|
|
152
|
+
setup-node gets `registry-url` but never a `token:` (any `_authToken` in an
|
|
153
|
+
npmrc overrides the OIDC path), `id-token: write` is the credential, and the
|
|
154
|
+
npm side must register this package's Trusted Publisher as: repo
|
|
155
|
+
`treeseed-ai/dsh-chapters`, branch `main`, workflow `release.yml`,
|
|
156
|
+
environment `Production`. Prerelease versions publish under a matching
|
|
157
|
+
dist-tag so 'latest' stays stable. `0.1.1` is the first OIDC + provenance
|
|
158
|
+
ship; `0.1.0` itself carries no attestation.
|
|
159
|
+
|
|
143
160
|
### Hosted CI (`.github/workflows/`, wired + dress-rehearsed 2026-09-23)
|
|
144
161
|
|
|
145
162
|
- **`ci.yml`** — two jobs. `test`: `npm ci` (all deps public on
|
package/docs/verify.md
CHANGED
|
@@ -159,6 +159,7 @@ that still need a running chapter engine:
|
|
|
159
159
|
| E3 | Header cache across a compaction — **CLOSED by r23 (measured, per-machine)** | cloud: `cacheReadTokens` held at **7,424 on both post-replacement turns** while uncached refill fell 13,658 → ~7,000. Local llama.cpp (r28-era probes): reuses NOTHING across a head replacement (0 cached) but steady-state turns cost only the new content. **Never quote one machine's number for the other.** |
|
|
160
160
|
| E2E-TAPE | Acceptance without the GPU | `test:e2e:replay` serves every model turn from `var/model-tape/<project>` (isolated per boot) (proxy smoke: exact + prefix hit, loud 503 miss with journal). Usage fields ride the tape, so the token meter and compaction thresholds fire at identical steps under replay. Tapes are committed test DATA under `tests/fixtures/model-tape/` (the rest of `var/` stays ignored) — CI replays them via `scripts/ci-replay.sh` with no local model; regenerate via `test:e2e:record` (local GPU) when PRODUCT prompts change. The local model remains the distiller and ultimate witness. STATUS 2026-09-23: pipeline current (escape/whitespace classes, volatile rules incl. HOSTPORT-BLIND + derived-count collapses for `(N est tokens)` and host-injected char counts, tool bytes matched out); SIX-project replay chain (suite, fanout, heavy, arrival, enrich, rules). Doc-edit cost is honest, not free: the delimiter mask keeps AGENTS/skill bytes out of ordinary matching, but the harness's own checkpoint summary embeds the doc as model-visible prose in the compaction scenarios, so `heavy`/`fanout` re-record after an AGENTS.md change (finalize docs, THEN distill). The e2e is the integration witness that the deterministic layers cannot replace — it found two real product bugs (the enrich body-hash anchor mismatch and the missing host-plane route) that had been invisible behind the host logger |
|
|
161
161
|
| E9 | P2 enrichment + vocabulary, two-machine grade | `node --test tests/integration/two-machine-enrich.test.ts` + `--project=enrich` tape replay | **green 2026-09-20** — enriched frontmatter/provenance cross the pool byte-exact; B honors A’s aliases and dedupes its own vocab pass; caught+fixed r37 (modifications invisible to commits). Four-project replay chain green, 0 misses |
|
|
162
|
+
| CACHE | **Cache hit rates rise over time; nothing poisons the prefix silently** | Three nets, all born of the 2026-09-25 machine deep-dive (user report: "hit rates FALL over time"). The decoded truth — timeline first, because the first attribution got it wrong twice: a parent session's provider cacheRead rode 11,386→29,656 (hit .997) for seven warm requests, then COLLAPSED to a pinned 9,613 at request seq 78 — BEFORE any compaction event (those land at seq 105). Cause: KV-CAPACITY EVICTION — parent + three fan-out children + a live agent session sharing one 65,536-token llama.cpp pool (total_slots 1 per /props); prefix lookup kept doing exactly its job, returning the shared 9,613-token header for every divergent chain. The engine's pressure compaction then fired CORRECTLY at the meter's number (~66,700 ≥ 0.9×64,000) — the meter is provider baseline + 4-chars/token estimate of content added since the last request, so its trigger point is invisible in provider usage numbers (29,656 looked early; it was not). After the children quiesced the parent RE-WARMED (req 121: read 21,969, hit .97). **Deterministic net 1**: `tape-prefix-stability.test.ts` — every mid-chain tape request must extend its predecessor byte-for-byte (only the two documented replacement points may break a chain); message mutation mid-session — the general cache-poison class — fails this ledger with the offending entry; all seven projects pass. **Deterministic net 2**: `context-hygiene.test.ts` — no context-window literal may ship in src/ or presets/, no preset may pin a window key: the threshold math (floor(configured window × ratio)) can only follow adapter config. **Physical net** (opt-in, live): `npm run test:e2e:cache` serial — asserts the warm curve (no collapse <50% of best cacheRead, ≥50% of prompt growth landing cached, final hit ≥0.90, no compaction in-window; full ledger on failure; first run: 0%→99.7% monotonic). `E2E_CACHE_CONCURRENCY=N` adds N-1 live tenant chains firing per round — VALIDATED at CONCUR=3 (17.6 min): the probe chain still finished hit 0.997 with zero tenant errors, while the interleaved tenants showed the textbook capacity signature the user's log had (cacheRead pinned at 9,617, hit ~0.50 when their turns alternated on the single slot, recovering to 0.998 the moment they got two contiguous turns). Proves the collapse is capacity/interleaving, not the plugin: the same server, same slot, a chain left alone still warms to .997; pass measures this server holding N warm chains, pinned-header/queue-starvation measures the capacity cliff; run it while your own agent sessions are few, and read the ledger SHAPE (collapse-and-stay vs flat-pin vs dip-and-recover) before believing any single attribution | Host-capacity epilogue (2026-09-26, measured on the dev box): single-slot llama.cpp pins interleaved chains to the shared-prefix LCP (9,617 tokens in every experiment); unified KV (--kv-unified, auto slots) crashed b10920 on hybrid-GDN models (Qwen3-Next class; llama.cpp #23210/#21401) — RETESTED WINNING on b11176 (2026-09-27): contention probe CONCUR=3 passed, every chain at 0.997-0.998 with tails restoring one turn after a collision, zero crashes; keep auto slots (1), never force N_PARALLEL>1, re-run scripts/prefix-swap-test.mjs + the contention probe after any image upgrade — one trap measured: LLAMA_ARG_CTX_CHECKPOINTS=0 looks like a saving (upstream invalidates them for the recurrent layers) but on b10920 it deletes ALL cross-request prefix reuse (cached_tokens flat 0); keep the default 32 |
|
|
162
163
|
| E2E | The fork BUTTON, browser journey | **green (2026-09-19, 7 specs / three projects — suite@0.75-of-32K + heavy@0.5-floor-off + arrival@0.9-floor-500 — on port-keyed throwaway homes)**: specs CREATE their sessions through the UI ('New session' + one real Local-model turn; turn-complete = the session's OWN `turn/end` in its own log — the global registry count false-passed twice and was retired). Fixture-free by design after the R29-era rows aged out of the 90-session sidebar. The suite also caught the 'Internal Testing Notice' focus trap and the re-link origin bug (see FINDINGS). |
|
|
163
164
|
| E10 | P3 rules lifecycle (record §7) | unit (status resolution, budget refusal, golden absent-notice bytes) + transport (three machines over a real pool) + e2e `rules` project replay | proposed everywhere by default; per-machine core facts; verbatim in the child's OWN log after UI approve; overflow refuses with per-rule numbers — **green 2026-09-20 at unit/transport grade** (three machines over a real pool; exit criterion covered); the `rules` browser scenario parked out of the default chain pending the r39 diagnosis — evidence-preservation first |
|
|
164
165
|
| E2E-EDGE | Oversized turn handled gracefully | **green in the heavy project (captures 5.3–13.2m; run 11: 5 crossings, 27.8m; 6.0m suite pass)**: one browser turn reads 700KB range-by-range and crosses the threshold 5×: every mid-turn compaction commits (provider `dsh-chapters`, zero usage), every shadowed seq is chapter-covered, the pre-compaction marker survives in the transcript, the turn completes, and the follow-up turn answers — fork row reappears after settle (observed). The model's plan erosion under heavy trims is the fork's motivation; FINDINGS records it. |
|
package/lib/engine-core.d.ts
CHANGED
|
@@ -191,12 +191,6 @@ plot?: string | null): {
|
|
|
191
191
|
* model itself and carried forward across every in-place checkpoint.
|
|
192
192
|
*/
|
|
193
193
|
export declare const PLOT_MARKER = "PLOT:";
|
|
194
|
-
/**
|
|
195
|
-
* Latest plot paragraph in the region about to be shadowed. Assistant text
|
|
196
|
-
* wins; a PLOT carried in an earlier checkpoint (user-role, plugin-sourced)
|
|
197
|
-
* is the fallback, so the thread survives repeatedly shadowed chains.
|
|
198
|
-
* Returns the paragraph text WITHOUT the marker line, capped at maxChars.
|
|
199
|
-
*/
|
|
200
194
|
export declare function extractPlot(messages: readonly EngineMessage[], maxChars?: number): string | null;
|
|
201
195
|
/**
|
|
202
196
|
* Post-commit: render the chapter body for one compaction from the durable
|
package/lib/engine-core.js
CHANGED
|
@@ -292,22 +292,46 @@ export const PLOT_MARKER = 'PLOT:';
|
|
|
292
292
|
* wins; a PLOT carried in an earlier checkpoint (user-role, plugin-sourced)
|
|
293
293
|
* is the fallback, so the thread survives repeatedly shadowed chains.
|
|
294
294
|
* Returns the paragraph text WITHOUT the marker line, capped at maxChars.
|
|
295
|
+
*
|
|
296
|
+
* Shaped by the 2026-09-25 real-world audit (treeseed's first four-session
|
|
297
|
+
* run): ALL EIGHT checkpoints carried a "plot" that was actually the persona
|
|
298
|
+
* suffix's own instruction text — `...end each reply with one line beginning
|
|
299
|
+
* 'PLOT:' (max 60 words — objective...)`. A raw substring scan matched that
|
|
300
|
+
* quoted marker, and because the result was non-null it also SUPPRESSED the
|
|
301
|
+
* bounded elicited fallback: every session silently inherited boilerplate
|
|
302
|
+
* instead of a plot. Extraction now honors the contract the marker lives in:
|
|
303
|
+
* - the marker must START a line ("one line beginning 'PLOT:'" —
|
|
304
|
+
* mid-sentence quotes are instructions, not plots);
|
|
305
|
+
* - system-role messages never yield a plot (invariant 4's cousin: the
|
|
306
|
+
* MODEL authors plots; the prompt only asks for them);
|
|
307
|
+
* - bodies echoing the instruction template are rejected (belt and braces
|
|
308
|
+
* for historical sessions where such text already rides in user
|
|
309
|
+
* messages).
|
|
310
|
+
* A null result now genuinely means "no plot authored" — which is exactly
|
|
311
|
+
* when the bounded elicited fallback must run.
|
|
295
312
|
*/
|
|
313
|
+
const PLOT_LINE = /^[ \t]*PLOT:[ \t]*([^\n]*)/gm;
|
|
314
|
+
const PLOT_TEMPLATE_ECHO = /max \d+ words|carries this plot forward|revise it on your next plot line/i;
|
|
296
315
|
export function extractPlot(messages, maxChars = 900) {
|
|
297
316
|
const scan = (roleWanted) => {
|
|
298
317
|
for (let i = messages.length - 1; i >= 0; i--) {
|
|
299
318
|
const m = messages[i];
|
|
300
|
-
if (
|
|
301
|
-
continue;
|
|
302
|
-
const text = messageText(messages[i]);
|
|
303
|
-
const at = text.lastIndexOf(PLOT_MARKER);
|
|
304
|
-
if (at === -1)
|
|
319
|
+
if (m.role === 'system')
|
|
305
320
|
continue;
|
|
306
|
-
|
|
307
|
-
const para = rest.split(/\n\s*\n/)[0].trim();
|
|
308
|
-
if (para.length === 0)
|
|
321
|
+
if (roleWanted === 'assistant' && m.role !== 'assistant')
|
|
309
322
|
continue;
|
|
310
|
-
|
|
323
|
+
const text = messageText(messages[i]);
|
|
324
|
+
let found = null;
|
|
325
|
+
for (const line of text.matchAll(PLOT_LINE)) {
|
|
326
|
+
const body = (line[1] ?? '').trim();
|
|
327
|
+
if (body.length === 0)
|
|
328
|
+
continue;
|
|
329
|
+
if (PLOT_TEMPLATE_ECHO.test(body))
|
|
330
|
+
continue;
|
|
331
|
+
found = body;
|
|
332
|
+
}
|
|
333
|
+
if (found !== null)
|
|
334
|
+
return found.length > maxChars ? found.slice(0, maxChars) + '…' : found;
|
|
311
335
|
}
|
|
312
336
|
return null;
|
|
313
337
|
};
|
package/lib/engine-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine-core.js","sourceRoot":"","sources":["../src/engine-core.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine-core.js","sourceRoot":"","sources":["../src/engine-core.ts"],"names":[],"mappings":"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"}
|
package/lib/engine.js
CHANGED
|
@@ -17,6 +17,7 @@ import { appendFileSync } from 'node:fs';
|
|
|
17
17
|
import z from '@deepseek-ai/schemastery';
|
|
18
18
|
import { CHAPTERS_PROVIDER, DETERMINISTIC_MODEL, buildFinalizedChapters, findOpenCompactionId, planSummarize, reconstructShadowedSeqs, scanChaptersSummaries, } from "./engine-core.js";
|
|
19
19
|
import { composeChapters } from "./compose.js";
|
|
20
|
+
import { stripReminderSpans } from "./injections.js";
|
|
20
21
|
import { BlockAssembler, createUserMessage } from '@deepseek-ai/dsh-llm';
|
|
21
22
|
import { applyArrivalStubs } from "./arrival.js";
|
|
22
23
|
import { extractPlot } from "./engine-core.js";
|
|
@@ -404,11 +405,20 @@ export class ChaptersCompactionEngine extends BasicCompactionEngine {
|
|
|
404
405
|
async #elicitPlot(agent, input, signal) {
|
|
405
406
|
try {
|
|
406
407
|
const session = agent.session;
|
|
407
|
-
// tail-heavy flattening: the plan lives in what the model said RECENTLY
|
|
408
|
+
// tail-heavy flattening: the plan lives in what the model said RECENTLY.
|
|
409
|
+
// Host-injected spans are screened OUT of the excerpt (stripReminderSpans
|
|
410
|
+
// — the same 'project state, not conversation' screen the chapter
|
|
411
|
+
// renderer uses). The excerpt is the only model-visible text on this
|
|
412
|
+
// path, so injections left in would make the elicited-plot request
|
|
413
|
+
// machine-dependent: measured on hosted CI 2026-09-26, where the
|
|
414
|
+
// runner's live excerpt carried a workspace-instructions span my
|
|
415
|
+
// recording region had not, the recorded exchanges 503'd, and heavy
|
|
416
|
+
// died mid-chain.
|
|
408
417
|
let flat = '';
|
|
409
418
|
for (let i = input.messages.length - 1; i >= 0 && flat.length < 8000; i--) {
|
|
410
419
|
const m = input.messages[i];
|
|
411
|
-
const
|
|
420
|
+
const raw = (m.content ?? []).filter((b) => b.type === 'text').map((b) => b.text ?? '').join(' ');
|
|
421
|
+
const text = stripReminderSpans(raw).text.slice(0, 1200);
|
|
412
422
|
if (text.length > 0)
|
|
413
423
|
flat = `${m.role ?? '?'}: ${text}\n${flat}`;
|
|
414
424
|
}
|
package/lib/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKhD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAIxC,OAAO,CAAC,MAAM,0BAA0B,CAAA;AACxC,OAAO,EACL,iBAAiB,EAAE,mBAAmB,EAAyB,sBAAsB,EACrF,oBAAoB,EAAE,aAAa,EAAE,uBAAuB,EAAE,qBAAqB,GAEpF,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAA2B,MAAM,cAAc,CAAA;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAE9C,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AAEjG,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAA2B,MAAM,YAAY,CAAA;AACvG,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAqB,MAAM,kBAAkB,CAAA;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AA8B3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAIrC;IACC,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,0EAA0E;IAC1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAA;IAC/C,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,IAAK,KAA2B,EAAE,IAAI,KAAK,UAAU;gBAAE,OAAM;YAC7D,MAAM,EAAE,GAAI,OAAuC,EAAE,EAAE,CAAA;YACvD,MAAM,MAAM,GAAI,OAA8E,EAAE,cAAc,EAAE,EAAE,CAAA;YAClH,IAAI,EAAE,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAM;YACpD,MAAM,MAAM,GAAI,KAA0B,CAAC,GAAG,CAAA;YAC9C,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAM;YAChC,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YACvC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAM;YAC7B,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YAC3B,MAAM,GAAG,GAAG,GAAkB,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC3B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;YACrE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAC3B,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxD,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;YACpB,KAAK,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI;gBAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAiD;IACzF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,IAAK,KAA2B,EAAE,IAAI,KAAK,YAAY;gBAAE,OAAM;YAC/D,MAAM,EAAE,GAAI,OAAuC,EAAE,EAAE,CAAA;YACvD,MAAM,GAAG,GAAI,OAAqD,EAAE,MAAM,EAAE,GAAG,CAAA;YAC/E,IAAI,EAAE,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,OAAM;YACnE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACd,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAED,MAAM,OAAO,wBAAyB,SAAQ,qBAAqB;IACjE,gFAAgF;IAChF,yEAAyE;IACzE,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,eAAe,CAAC,CAAA;IAElE,MAAM,CAAU,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;QAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;QACjC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,6EAA6E;QAC7E,sEAAsE;QACtE,mEAAmE;QACnE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;YAC1B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;YACvB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,qBAAqB,EAAE,CAAC,CAAC,MAAM,EAAE;YACjC,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE;YAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QACjB,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC7B,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7C,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACrD,0EAA0E;QAC1E,0EAA0E;QAC1E,+CAA+C;QAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QACvC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACrD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACxD,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QACnE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QACvC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7C,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1D,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QACxC,qEAAqE;QACrE,wDAAwD;QACxD,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QACjE,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;QAClE,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACxD,uBAAuB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;KACjE,CAAC,CAAA;IAEe,cAAc,CAAc;IACrC,YAAY,GAAuC,IAAI,CAAA;IAE/D,YAAY,GAAY,EAAE,SAA4B,EAAE;QACtD,0EAA0E;QAC1E,4EAA4E;QAC5E,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,EACJ,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EACjE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,wBAAwB,EAAE,YAAY,EACpF,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,kBAAkB,EAC3F,UAAU,EAAE,UAAU,EAAE,eAAe,EACvC,oBAAoB,EAAE,yBAAyB,EAAE,kBAAkB,EAAE,uBAAuB,EAC5F,GAAG,UAAU,EACd,GAAG,MAAM,CAAA;QACV,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QACtB,2EAA2E;QAC3E,0EAA0E;QAC1E,wEAAwE;QACxE,6CAA6C;QAC7C,gBAAgB,CAAC,oBAAoB,CAAC;YACpC,cAAc,EAAE,oBAAoB,IAAI,KAAK;YAC7C,mBAAmB,EAAE,yBAAyB,IAAI,GAAG;YACrD,YAAY,EAAE,kBAAkB,IAAI,CAAC;YACrC,iBAAiB,EAAE,uBAAuB,IAAI,IAAI;SACnD,CAAC,CAAC,CAAA;QACH,IAAI,CAAC,cAAc,GAAG;YACpB,iBAAiB,EAAE,iBAAiB,IAAI,eAAe;YACvD,kBAAkB,EAAE,kBAAkB,IAAI,IAAI;YAC9C,0BAA0B,EAAE,0BAA0B,IAAI,GAAG;YAC7D,cAAc,EAAE,cAAc,IAAI,GAAG;YACrC,YAAY,EAAE,YAAY,IAAI,IAAI;YAClC,wBAAwB,EAAE,wBAAwB,IAAI,IAAI;YAC1D,YAAY,EAAE,YAAY,IAAI,IAAI;SACnC,CAAA;QACD,IAAI,CAAC,cAAc,GAAG,cAAc,IAAI,KAAK,CAAA;QAC7C,IAAI,CAAC,QAAQ,GAAG,EAAE,KAAK,EAAE,UAAU,IAAI,KAAK,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,EAAE,UAAU,EAAE,eAAe,IAAI,GAAG,EAAE,CAAA;QAC1G,IAAI,CAAC,SAAS,GAAG;YACf,OAAO,EAAE,iBAAiB,IAAI,IAAI;YAClC,KAAK,EAAE,eAAe,IAAI,EAAE;YAC5B,OAAO,EAAE,CAAC,iBAAiB,IAAI,MAAM,CAA6C;YAClF,MAAM,EAAE,gBAAgB,IAAI,KAAK;YACjC,QAAQ,EAAE,kBAAkB,IAAI,CAAC;SAClC,CAAA;QACD,IAAI,CAAC,oBAAoB,EAAE,CAAA;QAC3B,IAAI,CAAC,uBAAuB,EAAE,CAAA;QAC9B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,wEAAwE,CAAC,CAAA;IAC9F,CAAC;IAED;;;;;;OAMG;IACH;mEAC+D;IACvD,cAAc,GAAG,KAAK,CAAA;IACtB,QAAQ,GAA0D,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;IAC7G,SAAS,GACf,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAA;IACpE,aAAa,GAAiC,IAAI,CAAA;IAClD,OAAO,GAAkB,IAAI,CAAA;IAC7B,SAAS,GAA+C,IAAI,CAAA;IAC5D,gBAAgB,GAAsD,IAAI,CAAA;IAClF,UAAU;QACR,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC;YAC7E,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB;YAChD,QAAQ,EAAE,iBAAiB;YAC3B,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,qEAAqE;YACrE,sCAAsC;YACtC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC;YAC7D,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,UAAU,CAAC;YAChG,cAAc,EAAE,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC;YACxG,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,oEAAoE;YACpE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;gBACtB,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE;oBAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;YACzH,CAAC;SACF,CAAC,CAAC,CAAA;QACH,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED;;;uEAGmE;IACnE,OAAO;QACL,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC;YACzE,KAAK;YACL,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS;YACpC,MAAM,EAAE,IAAI,CAAC,SAAS;YACtB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC7B,MAAM,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,CAAA;gBACjC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;gBAChG,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;YAChD,CAAC;YACD,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;YACvC,SAAS,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA,CAAC,CAAC,EAAE;YAC1H,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzD,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC;SAC3D,CAAC,CAAC,CAAA;QACH,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAA0C,EAAE,SAAiB,EAAE,MAAoB,EAAE,SAAkB;QACxI,MAAM,GAAG,GAAI,IAAI,CAAC,GAA+E,CAAC,GAAG,CAAA;QACrG,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QACpD,MAAM,SAAS,GAAG,IAAI,cAAc,EAAE,CAAA;QACtC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK;YAC5C,QAAQ,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;YAChI,SAAS;YACT,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,EAAE,YAAY;YACrB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC5C,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,KAAc,CAAC,CAAA;QAClC,OAAQ,SAAS,CAAC,MAAM,EAAyC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtI,CAAC;IAED;gFAC4E;IAC5E,aAAa,CAAC,KAAc;QAC1B,IAAI,CAAC;YACH,MAAM,OAAO,GAAI,KAAsD,CAAC,OAAO,CAAA;YAC/E,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAM;YACjC,MAAM,GAAG,GAAI,OAAoD,CAAC,MAAM,EAAE,GAAG,CAAA;YAC7E,IAAI,GAAG,KAAK,SAAS;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAA;YACzC,MAAM,GAAG,GAAI,OAAmG,CAAC,aAAa,EAAE,EAAE,EAAE,MAAM,CAAA;YAC1I,IAAI,GAAG,EAAE,QAAQ,KAAK,SAAS,IAAI,GAAG,EAAE,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAA;YAC1H,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAChF,CAAC;QAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;IAC3C,CAAC;IAED,6EAA6E;IAC7E,uBAAuB;QACrB,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,yBAAyB,CAAC;gBACrD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;aAC7D,CAAC,CAAC,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACP,oEAAoE;QACtE,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,qBAAqB,CAAC;gBACjD,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;gBACzB,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,2CAA2C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA,CAAC,CAAC;gBACzG,WAAW,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;oBACvB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,yCAAyC,EAAE,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,MAAM,WAAW,GAAG,CAAC,IAAI,cAAc,CAAC,CAAA;gBACvJ,CAAC;aACF,CAAC,CAAC,CAAA;QACL,CAAC;QAAC,MAAM,CAAC;YACP,uEAAuE;YACvE,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED;4FACwF;IAChF,KAAK;QACX,IAAI,CAAC,YAAY,KAAK,CAAC,KAAK,IAAI,EAAE;YAChC,MAAM,EAAE,GAAI,IAAI,CAAC,GAC2E,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAA;YACnH,IAAI,EAAE,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAA;YAChG,OAAO,mBAAmB,CAAC,EAAW,CAAC,CAAA;QACzC,CAAC,CAAC,EAAE,CAAA;QACJ,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IAED,mFAAmF;IAEhE,KAAK,CAAC,SAAS,CAChC,KAAyB,EACzB,KAAc,EACd,OAAqB;QAErB,MAAM,OAAO,GAAI,KAAoC,CAAC,OAAO,CAAA;QAC7D,MAAM,GAAG,GAAI,OAAoD,CAAC,MAAM,EAAE,GAAG,IAAI,IAAI,CAAA;QACrF,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;QAEzC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,sEAAsE;YACtE,sEAAsE;YACtE,qEAAqE;YACrE,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,CAAC,QAAQ,CAAC,MAAM,gDAAgD,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC;gBAClN,QAAQ,EAAE,GAAG,iBAAiB,WAAW;gBACzC,KAAK,EAAE,mBAAmB;aAC3B,CAAA;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QAEzC,0EAA0E;QAC1E,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,yEAAyE;QACzE,yCAAyC;QACzC,IAAI,WAAW,GAAmC,IAAI,CAAA;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YACpD,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAE,CAAA;gBAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAA;gBACtC,MAAM,UAAU,GAAG,IAAI;qBACpB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;qBAClC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAkC,CAAA;gBAC9F,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;oBAClF,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc;oBAClD,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,YAAY;iBAC/C,CAAC,CAAA;gBACF,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,MAAM,GAAG,GAAmB,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAA;oBAClD,oEAAoE;oBACpE,mEAAmE;oBACnE,uCAAuC;oBACvC,IAAI,GAAG,CAAC,CAAC,CAAE,CAAC,QAAQ,GAAG,SAAS;wBAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAA;oBAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;oBAC9B,IAAI,GAAG,CAAC,OAAO,CAAE,CAAC,MAAM,GAAG,OAAO;wBAAE,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,OAAO,CAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAA;oBACxF,WAAW,GAAG,GAAG,CAAA;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,6DAA6D,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxG,CAAC;QAED,sEAAsE;QACtE,0EAA0E;QAC1E,yEAAyE;QACzE,wEAAwE;QACxE,wEAAwE;QACxE,mBAAmB;QACnB,IAAI,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACtC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,YAAY;YAAE,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;QAE3G,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QACxH,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE;YACrC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC3G,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC,CAAA;QACF,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA,CAAC,4DAA4D;QAChG,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAA;IACrH,CAAC;IAED,oGAAoG;IAEpG;;;;;;;OAOG;IACH,KAAK,CAAC,WAAW,CAAC,KAAc,EAAE,KAAyB,EAAE,MAAoB;QAC/E,IAAI,CAAC;YACH,MAAM,OAAO,GAAI,KAAqD,CAAC,OAAO,CAAA;YAC9E,wEAAwE;YACxE,IAAI,IAAI,GAAG,EAAE,CAAA;YACb,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC1E,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAoE,CAAA;gBAC9F,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBACjH,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBAAE,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,GAAG,KAAK,IAAI,KAAK,IAAI,EAAE,CAAA;YAClE,CAAC;YACD,MAAM,WAAW,GAAG,4SAA4S,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;YACpV,2EAA2E;YAC3E,wEAAwE;YACxE,qEAAqE;YACrE,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YAChD,MAAM,MAAM,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAA;YACpC,MAAM,GAAG,GAAI,IAAgG,CAAC,MAAM,IAAI,EAAE,CAAA;YAC1H,MAAM,MAAM,GAAG,CAAC,OAAO,GAAG,CAAC,qBAAqB,KAAK,QAAQ,IAAI,GAAG,CAAC,qBAAqB,KAAK,EAAE;mBAC5F,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,IAAI,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC;gBAC/E,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;YACjF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACpH,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAA;YAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;YACjF,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;YAChC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO,IAAI,CAAA;YAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAA;YAC3D,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAY;QACxB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAwE,CAAA;QAC9F,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,EAAE,GAAG,CAAA;QAC/B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;YAAE,OAAM;QAC3C,MAAM,KAAK,GAAI,IAAI,CAAC,GAA+E,CAAC,UAAU,CAAA;QAC9G,IAAI,KAAK,KAAK,SAAS;YAAE,OAAM;QAC/B,MAAM,CAAC,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE;YACzC,GAAG;YACH,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB;YAChD,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,wBAAwB;YACzD,QAAQ,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;SACnD,CAAC,CAAA;QACF,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,4CAA4C,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9G,CAAC;IAEQ,KAAK,CAAC,eAAe,CAC5B,KAAY,EAAE,OAA0B,EAAE,MAAmB;QAE7D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACzB,yEAAyE;QACzE,4EAA4E;QAC5E,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAEQ,KAAK,CAAC,UAAU,CACvB,KAAY,EAAE,MAAmB,EAAE,eAA2B;QAE9D,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QACzB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QACzB,IAAI,MAA+B,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;YAClC,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAA;QACvD,OAAO,MAAM,CAAA;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB,CAAC,KAAY;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAmC,CAAA;QACzD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAA;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,wDAAwD,OAAO,CAAC,EAAE,MAAM,MAAM,CAAE,KAAe,EAAE,KAAK,IAAI,KAAK,CAAC,EAAE,CAAA;YAClI,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,CAAA;YAChC,sEAAsE;YACtE,wEAAwE;YACxE,8EAA8E;YAC9E,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;YACnD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC;oBACH,cAAc,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,IAAI,CAAC,CAAA;gBACpE,CAAC;gBAAC,MAAM,CAAC,CAAC,kDAAkD,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,uBAAuB,CAAC,OAAsB;QAClD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAA;QACpC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACzC,KAAK,MAAM,KAAK,IAAI,qBAAqB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC;gBAAE,SAAQ;YACpD,MAAM,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;QACjF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,OAAsB,EACtB,KAAoB,EACpB,YAAoB,EACpB,YAA+B;QAE/B,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;QACzC,IAAI,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC;YAAE,OAAM;QAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,CAAC,cAAc,YAAY,EAAE,CAAC,CAAA;QAChE,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6CAA6C,YAAY,2CAA2C,CAAC,CAAA;QACvH,CAAC;QACD,MAAM,GAAG,GAAI,OAAoD,CAAC,MAAM,EAAE,GAAG,CAAA;QAC7E,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAA;QAEnG,MAAM,YAAY,GAAG,sBAAsB,CAAC,OAAO,EAAE,YAAY,EAAE;YACjE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzG,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;QAEvB,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;YAC/B,EAAE;YACF,SAAS,EAAE,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB;YAChD,aAAa,EAAE,KAAK,CAAC,WAAW;YAChC,QAAQ,EAAE,YAAY;YACtB,SAAS,EAAE,cAAc,YAAY,EAAE;SACxC,CAAC,CAAA;QACF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC,MAAM,EAAE,CAAC;YACjD,qEAAqE;YACrE,sEAAsE;YACtE,MAAM,IAAI,KAAK,CAAC,sCAAsC,YAAY,KAAK,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACrG,CAAC;QACD,uEAAuE;QACvE,uEAAuE;QACvE,iCAAiC;QACjC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAA;QACrF,IAAI,IAAI,GAAiB,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACvD,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;QACjD,MAAM,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;QACjC,6DAA6D;QAC7D,MAAM,MAAM,GAAI,OAAoD,CAAC,MAAM,EAAE,GAAG,CAAA;QAChF,IAAI,MAAM,KAAK,SAAS;YAAE,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAC7H,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;;AAGH,eAAe,wBAAwB,CAAA"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@treeseed/dsh-chapters",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "dsh plugin: verbatim chapter archive + zero-token index for small-context models",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -52,7 +52,8 @@
|
|
|
52
52
|
"test:e2e:replay": "E2E_MODEL=replay npm run test:e2e",
|
|
53
53
|
"coverage:e2e": "E2E_COVERAGE=1 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright npm run test:e2e:replay && node scripts/e2e-coverage.mjs",
|
|
54
54
|
"coverage": "node --test --experimental-test-coverage tests/unit/*.test.ts tests/integration/*.test.ts",
|
|
55
|
-
"coverage:ci": "c8 --check-coverage --statements 85 --branches 85 --functions 85 --lines 85 --reporter=text-summary --reporter=json-summary --report-dir var/coverage node --test tests/unit/*.test.ts tests/integration/*.test.ts"
|
|
55
|
+
"coverage:ci": "c8 --check-coverage --statements 85 --branches 85 --functions 85 --lines 85 --reporter=text-summary --reporter=json-summary --report-dir var/coverage node --test tests/unit/*.test.ts tests/integration/*.test.ts",
|
|
56
|
+
"test:e2e:cache": "E2E_PORT=41739 PLAYWRIGHT_BROWSERS_PATH=$PWD/var/ms-playwright playwright test -c tests/e2e/playwright.config.ts --project=cache"
|
|
56
57
|
},
|
|
57
58
|
"peerDependencies": {
|
|
58
59
|
"@deepseek-ai/cordis": "^4.0.0",
|