# shared Code used both by the training pipeline (to build training/eval data) and by the [daemon](../daemon) at inference time. Keeping one copy is what guarantees the model sees exactly the prompt format it was trained on. - [`prompt.ts`](prompt.ts): FIM prompt layout (`spm`/`psm`), the repo-level header, KV-cache-friendly prefix truncation, and post-processing (suffix-overlap trimming, single-line detection). No dependencies. - [`symbols.ts`](symbols.ts): "symbols available at the cursor" context from the TypeScript language service (imported signatures, repo-local types, optional member completions) and the missing-`this.` detection. Pinned to `typescript@5.9.3` and `@vue/compiler-sfc@3.5.43`: the output format is part of the model's training distribution, so upgrade only together with re-checking parity. - [`symbol-lang.ts`](symbol-lang.ts): language-id mapping (dependency-free, so the daemon's main bundle stays small).