@poco-ai/agentero-dsh-host 0.0.0-stage → 0.1.0

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.
Files changed (67) hide show
  1. package/lib/bookmarks-write.d.ts +24 -0
  2. package/lib/bookmarks-write.js +181 -0
  3. package/lib/bookmarks-write.js.map +1 -0
  4. package/lib/catalog.d.ts +28 -0
  5. package/lib/catalog.js +58 -0
  6. package/lib/catalog.js.map +1 -0
  7. package/lib/cli-run.d.ts +15 -0
  8. package/lib/cli-run.js +102 -0
  9. package/lib/cli-run.js.map +1 -0
  10. package/lib/client/index.d.ts +71 -0
  11. package/lib/client/settings-model.d.ts +28 -0
  12. package/lib/client/settings.d.ts +27 -0
  13. package/lib/client/ui/button.d.ts +10 -0
  14. package/lib/client/ui/input.d.ts +2 -0
  15. package/lib/client/utils.d.ts +2 -0
  16. package/lib/client.js +4071 -0
  17. package/lib/index.d.ts +55 -0
  18. package/lib/index.js +1103 -0
  19. package/lib/index.js.map +1 -0
  20. package/lib/marks-store.d.ts +80 -0
  21. package/lib/marks-store.js +393 -0
  22. package/lib/marks-store.js.map +1 -0
  23. package/lib/notes-files.d.ts +47 -0
  24. package/lib/notes-files.js +427 -0
  25. package/lib/notes-files.js.map +1 -0
  26. package/lib/pdf-file.d.ts +23 -0
  27. package/lib/pdf-file.js +84 -0
  28. package/lib/pdf-file.js.map +1 -0
  29. package/lib/recommend.d.ts +61 -0
  30. package/lib/recommend.js +864 -0
  31. package/lib/recommend.js.map +1 -0
  32. package/lib/tools.d.ts +8 -0
  33. package/lib/tools.js +204 -0
  34. package/lib/tools.js.map +1 -0
  35. package/lib/translate.d.ts +70 -0
  36. package/lib/translate.js +80 -0
  37. package/lib/translate.js.map +1 -0
  38. package/lib/translation/batches.d.ts +21 -0
  39. package/lib/translation/batches.js +88 -0
  40. package/lib/translation/batches.js.map +1 -0
  41. package/lib/translation/chunks.d.ts +2 -0
  42. package/lib/translation/chunks.js +36 -0
  43. package/lib/translation/chunks.js.map +1 -0
  44. package/lib/translation/mask.d.ts +22 -0
  45. package/lib/translation/mask.js +69 -0
  46. package/lib/translation/mask.js.map +1 -0
  47. package/lib/translation/pipeline.d.ts +3 -0
  48. package/lib/translation/pipeline.js +119 -0
  49. package/lib/translation/pipeline.js.map +1 -0
  50. package/lib/translation/preserved-links.d.ts +26 -0
  51. package/lib/translation/preserved-links.js +127 -0
  52. package/lib/translation/preserved-links.js.map +1 -0
  53. package/lib/translation/prompt.d.ts +99 -0
  54. package/lib/translation/prompt.js +224 -0
  55. package/lib/translation/prompt.js.map +1 -0
  56. package/lib/translation/retry.d.ts +3 -0
  57. package/lib/translation/retry.js +30 -0
  58. package/lib/translation/retry.js.map +1 -0
  59. package/lib/translation/sentences.d.ts +5 -0
  60. package/lib/translation/sentences.js +77 -0
  61. package/lib/translation/sentences.js.map +1 -0
  62. package/lib/vault.d.ts +21 -0
  63. package/lib/vault.js +69 -0
  64. package/lib/vault.js.map +1 -0
  65. package/package.json +44 -3
  66. package/src/translation/MOTIF-LICENSE.txt +21 -0
  67. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recommend.js","sourceRoot":"","sources":["../src/recommend.ts"],"names":[],"mappings":"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"}
package/lib/tools.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import type { ChildProcess } from 'node:child_process';
2
+ import type { Context } from '@deepseek-ai/cordis';
3
+ import { type CatalogSettings } from './catalog.js';
4
+ /**
5
+ * Register model tools that read and import the same vault as the panels.
6
+ * @returns Disposer that unregisters every tool.
7
+ */
8
+ export declare function registerTools(ctx: Context, settings: CatalogSettings, children: Set<ChildProcess>): () => void;
package/lib/tools.js ADDED
@@ -0,0 +1,204 @@
1
+ import { discoverArxiv, importId } from './catalog.js';
2
+ import { cliFailure, runAgentero } from './cli-run.js';
3
+ import { listVaultNotes, readVaultFile } from './notes-files.js';
4
+ /** How many catalog rows a tool result may carry. */
5
+ const PAPER_CAP = 40;
6
+ /** How many note files a search may open. */
7
+ const SEARCH_CAP = 40;
8
+ /** How many search hits to return. */
9
+ const HIT_CAP = 20;
10
+ /** Note text returned to the model, in characters. */
11
+ const TEXT_CAP = 12_000;
12
+ const objectSchema = {
13
+ type: 'object',
14
+ additionalProperties: true,
15
+ };
16
+ /**
17
+ * Render a tool result. The tools API calls `render(arguments, value)`, so the
18
+ * value to serialize is the second parameter — declaring only one would
19
+ * stringify the arguments and hand the model an echo of its own call.
20
+ */
21
+ function textResult(_arguments, value) {
22
+ return [{ type: 'text', text: JSON.stringify(value) }];
23
+ }
24
+ function record(value) {
25
+ if (value === null || typeof value !== 'object' || Array.isArray(value))
26
+ return undefined;
27
+ return value;
28
+ }
29
+ function stringArg(args, key) {
30
+ const row = record(args);
31
+ const value = row?.[key];
32
+ return typeof value === 'string' ? value.trim() : '';
33
+ }
34
+ async function paperList(settings, query, children) {
35
+ const args = [
36
+ '--vault', settings.vault,
37
+ '--json',
38
+ 'paper', 'list',
39
+ '--fields', 'year,authors,tags,date',
40
+ ];
41
+ if (query !== '')
42
+ args.push('--query', query);
43
+ const result = await runAgentero(settings.agenteroBin, args, 20_000, children);
44
+ if (result.timedOut || result.spawnError !== undefined || result.code !== 0) {
45
+ throw new Error(cliFailure(result, 'agentero paper list'));
46
+ }
47
+ const parsed = JSON.parse(result.stdout);
48
+ const data = record(parsed)?.data;
49
+ const rows = Array.isArray(data) ? data : [];
50
+ return {
51
+ papers: rows.slice(0, PAPER_CAP),
52
+ truncated: rows.length > PAPER_CAP,
53
+ };
54
+ }
55
+ /**
56
+ * Register model tools that read and import the same vault as the panels.
57
+ * @returns Disposer that unregisters every tool.
58
+ */
59
+ export function registerTools(ctx, settings, children) {
60
+ const tools = ctx.tools;
61
+ const dispose = [];
62
+ dispose.push(tools.register({
63
+ name: 'agentero_list_papers',
64
+ description: 'List papers already in the Agentero vault. Paths are vault-relative, such as papers/<id>. Do not invent a second catalog.',
65
+ parameters: {
66
+ type: 'object',
67
+ additionalProperties: false,
68
+ properties: {
69
+ query: { type: 'string', description: 'Optional substring matched by the Agentero CLI against title, authors, id, path, and tags.' },
70
+ },
71
+ },
72
+ output: { schema: { ...objectSchema }, render: textResult },
73
+ async execute(args) {
74
+ if (settings.vault === '')
75
+ throw new Error('vault is not configured');
76
+ return paperList(settings, stringArg(args, 'query'), children);
77
+ },
78
+ }));
79
+ dispose.push(tools.register({
80
+ name: 'agentero_import_paper',
81
+ description: 'Import one paper into the Agentero vault by arXiv id, DOI, or URL. Dedupes against papers already in the vault.',
82
+ parameters: {
83
+ type: 'object',
84
+ additionalProperties: false,
85
+ required: ['text'],
86
+ properties: {
87
+ text: { type: 'string', description: 'arXiv id, DOI, or paper URL.' },
88
+ },
89
+ },
90
+ output: { schema: { ...objectSchema }, render: textResult },
91
+ async execute(args) {
92
+ if (settings.vault === '')
93
+ throw new Error('vault is not configured');
94
+ const text = stringArg(args, 'text');
95
+ if (text === '')
96
+ throw new Error('text is required');
97
+ const result = await importId(settings, text, children);
98
+ if (result.status !== 200)
99
+ throw new Error(result.error);
100
+ return JSON.parse(result.raw);
101
+ },
102
+ }));
103
+ dispose.push(tools.register({
104
+ name: 'agentero_read_note',
105
+ description: 'Read one Markdown file inside the vault. Use notes/<file>.md for the notes library, or papers/<id>/NOTES.md for the note beside a paper. Paths are vault-relative. This does not return PDF page text.',
106
+ parameters: {
107
+ type: 'object',
108
+ additionalProperties: false,
109
+ required: ['path'],
110
+ properties: {
111
+ path: { type: 'string', description: 'Vault-relative path using / separators.' },
112
+ },
113
+ },
114
+ output: { schema: { ...objectSchema }, render: textResult },
115
+ async execute(args) {
116
+ if (settings.vault === '')
117
+ throw new Error('vault is not configured');
118
+ const path = stringArg(args, 'path');
119
+ if (path === '')
120
+ throw new Error('path is required');
121
+ const file = await readVaultFile(settings.vault, path);
122
+ if (file.status !== 200)
123
+ throw new Error(file.error);
124
+ const truncated = file.text.length > TEXT_CAP;
125
+ return {
126
+ path: file.path,
127
+ text: truncated ? file.text.slice(0, TEXT_CAP) : file.text,
128
+ truncated,
129
+ };
130
+ },
131
+ }));
132
+ dispose.push(tools.register({
133
+ name: 'agentero_search_notes',
134
+ description: 'Search Markdown files under the vault notes/ directory by title or body. Does not list per-paper NOTES.md files.',
135
+ parameters: {
136
+ type: 'object',
137
+ additionalProperties: false,
138
+ required: ['query'],
139
+ properties: {
140
+ query: { type: 'string', description: 'Substring matched against the note title, path, and body.' },
141
+ },
142
+ },
143
+ output: { schema: { ...objectSchema }, render: textResult },
144
+ async execute(args) {
145
+ if (settings.vault === '')
146
+ throw new Error('vault is not configured');
147
+ const query = stringArg(args, 'query').toLowerCase();
148
+ if (query === '')
149
+ throw new Error('query is required');
150
+ const notes = await listVaultNotes(settings.vault);
151
+ const hits = [];
152
+ let scanned = 0;
153
+ for (const note of notes) {
154
+ if (hits.length >= HIT_CAP || scanned >= SEARCH_CAP)
155
+ break;
156
+ const titleHit = note.title.toLowerCase().includes(query) || note.path.toLowerCase().includes(query);
157
+ scanned += 1;
158
+ const file = await readVaultFile(settings.vault, note.path);
159
+ if (file.status !== 200)
160
+ continue;
161
+ const body = file.text;
162
+ const at = body.toLowerCase().indexOf(query);
163
+ if (!titleHit && at < 0)
164
+ continue;
165
+ const start = at < 0 ? 0 : Math.max(0, at - 80);
166
+ hits.push({
167
+ path: note.path,
168
+ title: note.title,
169
+ excerpt: body.slice(start, start + 240),
170
+ });
171
+ }
172
+ return { notes: hits };
173
+ },
174
+ }));
175
+ dispose.push(tools.register({
176
+ name: 'agentero_discover_arxiv',
177
+ description: 'Rank a short arXiv list for one keyword. Papers already in the vault are omitted. Import a chosen id with agentero_import_paper.',
178
+ parameters: {
179
+ type: 'object',
180
+ additionalProperties: false,
181
+ required: ['keyword'],
182
+ properties: {
183
+ keyword: { type: 'string', description: 'Topic term or phrase.' },
184
+ },
185
+ },
186
+ output: { schema: { ...objectSchema }, render: textResult },
187
+ async execute(args) {
188
+ if (settings.vault === '')
189
+ throw new Error('vault is not configured');
190
+ const keyword = stringArg(args, 'keyword');
191
+ if (keyword === '')
192
+ throw new Error('keyword is required');
193
+ const result = await discoverArxiv(settings, keyword, children);
194
+ if (result.status !== 200)
195
+ throw new Error(result.error);
196
+ return JSON.parse(result.raw);
197
+ },
198
+ }));
199
+ return () => {
200
+ for (const remove of dispose)
201
+ remove();
202
+ };
203
+ }
204
+ //# sourceMappingURL=tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /** One-shot PDF translation through the Harness model registry. No session or tools are used. */
2
+ export interface TranslationSettings {
3
+ translationProvider: string;
4
+ translationModel: string;
5
+ translationSystemPrompt?: string;
6
+ translationUserPrompt?: string;
7
+ }
8
+ interface CallControls {
9
+ temperature?: number;
10
+ maxTokens?: number;
11
+ reasoningEffort?: string;
12
+ }
13
+ interface CallConfig extends CallControls {
14
+ provider: string;
15
+ model: string;
16
+ }
17
+ /** Minimal public dsh-llm seam, like the host's other injected service faces. */
18
+ export interface TranslationLlm {
19
+ prepareCall(config: CallConfig, signal: AbortSignal, configure: (controls: CallControls, model: {
20
+ reasoning?: {
21
+ efforts: readonly {
22
+ id: string;
23
+ }[];
24
+ };
25
+ }) => CallControls): Promise<{
26
+ config: CallConfig;
27
+ stream(options: CallConfig & {
28
+ system: string;
29
+ messages: {
30
+ role: 'user';
31
+ content: {
32
+ type: 'text';
33
+ text: string;
34
+ }[];
35
+ }[];
36
+ signal: AbortSignal;
37
+ }): AsyncIterable<{
38
+ type: string;
39
+ index?: number;
40
+ block?: {
41
+ type: string;
42
+ text?: string;
43
+ };
44
+ reason?: {
45
+ kind: string;
46
+ failure?: {
47
+ message: string;
48
+ status?: number;
49
+ statusCode?: number;
50
+ code?: string;
51
+ };
52
+ };
53
+ }>;
54
+ }>;
55
+ }
56
+ export interface DefaultTranslationModel {
57
+ currentSelection(): {
58
+ provider: string;
59
+ model: string;
60
+ };
61
+ }
62
+ export type TranslateText = (text: string, target: string, signal: AbortSignal) => Promise<string>;
63
+ export declare function translationTarget(value: unknown): string;
64
+ /** The prompt rules and customization semantics are shared with motif. */
65
+ export declare function translationMessages(text: string, target: string, settings: TranslationSettings): {
66
+ system: string;
67
+ user: string;
68
+ };
69
+ export declare function createTranslator(settings: TranslationSettings, getLlm: () => TranslationLlm | undefined, getDefault: () => DefaultTranslationModel | undefined): TranslateText;
70
+ export {};
@@ -0,0 +1,80 @@
1
+ /** One-shot PDF translation through the Harness model registry. No session or tools are used. */
2
+ import { retryTranslation } from './translation/retry.js';
3
+ import { buildTranslateMessages } from './translation/prompt.js';
4
+ import { translateDocumentText } from './translation/pipeline.js';
5
+ export function translationTarget(value) {
6
+ const target = typeof value === 'string' ? value.trim() : '';
7
+ return /^[a-zA-Z]{2,3}(?:-[a-zA-Z0-9]{2,8})?$/.test(target) ? target : 'zh-CN';
8
+ }
9
+ /** The prompt rules and customization semantics are shared with motif. */
10
+ export function translationMessages(text, target, settings) {
11
+ const language = /^zh(?:-CN)?$/i.test(target) ? 'Simplified Chinese'
12
+ : /^zh-(TW|HK)$/i.test(target) ? 'Traditional Chinese'
13
+ : /^en(?:-|$)/i.test(target) ? 'English' : target;
14
+ return buildTranslateMessages({ text, targetLangName: language,
15
+ customSystem: settings.translationSystemPrompt, customUser: settings.translationUserPrompt });
16
+ }
17
+ export function createTranslator(settings, getLlm, getDefault) {
18
+ return async (input, target, parentSignal) => {
19
+ const text = input.trim();
20
+ if (text === '' || text.length > 20_000)
21
+ throw new Error('Translation requires 1–20000 characters.');
22
+ const provider = settings.translationProvider.trim();
23
+ const model = settings.translationModel.trim();
24
+ if ((provider === '') !== (model === '')) {
25
+ throw new Error('Configure translationProvider and translationModel together in agentero-host.');
26
+ }
27
+ const route = provider === '' ? getDefault()?.currentSelection() : { provider, model };
28
+ if (route === undefined || route.provider === '' || route.model === '') {
29
+ throw new Error('Select a default model in Harness, or configure translationProvider and translationModel in agentero-host.');
30
+ }
31
+ const llm = getLlm();
32
+ if (llm === undefined)
33
+ throw new Error('Harness LLM service is unavailable. Enable a model provider for PDF translation.');
34
+ const operationSignal = AbortSignal.any([parentSignal, AbortSignal.timeout(300_000)]);
35
+ const translateChunk = (source) => retryTranslation(async () => {
36
+ const signal = AbortSignal.any([operationSignal, AbortSignal.timeout(90_000)]);
37
+ signal.throwIfAborted();
38
+ const call = await llm.prepareCall({ provider: route.provider, model: route.model, temperature: 0.2, maxTokens: 8192 }, signal, (controls, info) => {
39
+ // Effort IDs belong to the adapter. Its catalog orders them least to greatest.
40
+ const effort = info.reasoning?.efforts[0]?.id;
41
+ return { ...controls, ...(effort === undefined ? {} : { reasoningEffort: effort }) };
42
+ });
43
+ signal.throwIfAborted();
44
+ const messages = translationMessages(source, translationTarget(target), settings);
45
+ const blocks = new Map();
46
+ let complete = false;
47
+ for await (const chunk of call.stream({
48
+ ...call.config,
49
+ system: messages.system,
50
+ messages: [{ role: 'user', content: [{ type: 'text', text: messages.user }] }],
51
+ signal,
52
+ })) {
53
+ signal.throwIfAborted();
54
+ // block-end is authoritative; accumulating deltas as well would duplicate text.
55
+ if (chunk.type === 'block-end' && chunk.block?.type === 'text' && typeof chunk.block.text === 'string' && typeof chunk.index === 'number') {
56
+ blocks.set(chunk.index, chunk.block.text);
57
+ }
58
+ if (chunk.type === 'finish') {
59
+ if (chunk.reason?.kind !== 'stop') {
60
+ const error = new Error(chunk.reason?.failure?.message ?? `Translation incomplete (${chunk.reason?.kind ?? 'unknown'}). Try a smaller selection.`);
61
+ Object.assign(error, chunk.reason?.failure);
62
+ if (chunk.reason?.kind === 'max-tokens')
63
+ Object.assign(error, { code: 'TRANSLATION_INCOMPLETE' });
64
+ throw error;
65
+ }
66
+ complete = true;
67
+ }
68
+ }
69
+ signal.throwIfAborted();
70
+ if (!complete)
71
+ throw new Error('Translation stream ended before completion. Please retry.');
72
+ const result = [...blocks].sort(([a], [b]) => a - b).map(([, value]) => value).join('\n').trim();
73
+ if (result === '')
74
+ throw new Error('The model returned no translation. Please retry or select another model.');
75
+ return result;
76
+ }, operationSignal);
77
+ return translateDocumentText(text, translationTarget(target), translateChunk, operationSignal);
78
+ };
79
+ }
80
+ //# sourceMappingURL=translate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translate.js","sourceRoot":"","sources":["../src/translate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export declare const TRANSLATE_BATCH_CHARS = 4500;
2
+ /** Anything batchable: a single region or a joined paragraph chain. */
3
+ type TranslateUnit = {
4
+ source: string;
5
+ };
6
+ /**
7
+ * Group units (already in reading order) into batches whose combined payload
8
+ * stays under {@link TRANSLATE_BATCH_CHARS}. Oversized units are kept
9
+ * alone and split by the transport. Batches may span adjacent pages; results are mapped
10
+ * back per unit, so positions are unaffected.
11
+ */
12
+ export declare function buildTranslateBatches<T extends TranslateUnit>(units: readonly T[]): T[][];
13
+ /** Join a batch into one numbered payload; a lone unit is sent as-is. */
14
+ export declare function buildNumberedPayload(batch: readonly TranslateUnit[]): string;
15
+ /**
16
+ * Split a numbered translation back into `expected` segments by `[[n]]` markers.
17
+ * Returns null when markers are missing/out of order or any segment is empty, so
18
+ * the caller can fall back to translating each sentence individually.
19
+ */
20
+ export declare function parseNumberedTranslation(result: string, expected: number): string[] | null;
21
+ export {};
@@ -0,0 +1,88 @@
1
+ // Ported from motif (Copyright (c) 2026 poco-ai, MIT). See MOTIF-LICENSE.txt.
2
+ export const TRANSLATE_BATCH_CHARS = 4500;
3
+ const TRANSLATE_BATCH_MARKER_RE = /(\[{2}|[{2})\s*(\d+)\s*(\]{2}|]{2})/g;
4
+ /** Projected payload length of a batch (matches {@link buildNumberedPayload}). */
5
+ function batchPayloadLength(batch) {
6
+ if (batch.length === 0)
7
+ return 0;
8
+ if (batch.length === 1)
9
+ return batch[0]?.source.length ?? 0;
10
+ let total = 0;
11
+ batch.forEach((unit, i) => {
12
+ total += `[[${i + 1}]] `.length + unit.source.length;
13
+ if (i > 0)
14
+ total += 2; // "\n\n"
15
+ });
16
+ return total;
17
+ }
18
+ /**
19
+ * Group units (already in reading order) into batches whose combined payload
20
+ * stays under {@link TRANSLATE_BATCH_CHARS}. Oversized units are kept
21
+ * alone and split by the transport. Batches may span adjacent pages; results are mapped
22
+ * back per unit, so positions are unaffected.
23
+ */
24
+ export function buildTranslateBatches(units) {
25
+ const batches = [];
26
+ let current = [];
27
+ for (const unit of units) {
28
+ const candidate = [...current, unit];
29
+ if (current.length > 0 &&
30
+ batchPayloadLength(candidate) > TRANSLATE_BATCH_CHARS) {
31
+ batches.push(current);
32
+ current = [unit];
33
+ }
34
+ else {
35
+ current = candidate;
36
+ }
37
+ }
38
+ if (current.length > 0)
39
+ batches.push(current);
40
+ return batches;
41
+ }
42
+ /** Join a batch into one numbered payload; a lone unit is sent as-is. */
43
+ export function buildNumberedPayload(batch) {
44
+ if (batch.length === 1)
45
+ return batch[0]?.source ?? "";
46
+ return batch.map((unit, i) => `[[${i + 1}]] ${unit.source}`).join("\n\n");
47
+ }
48
+ /**
49
+ * Split a numbered translation back into `expected` segments by `[[n]]` markers.
50
+ * Returns null when markers are missing/out of order or any segment is empty, so
51
+ * the caller can fall back to translating each sentence individually.
52
+ */
53
+ export function parseNumberedTranslation(result, expected) {
54
+ const trimmed = result.trim();
55
+ if (expected <= 1)
56
+ return trimmed ? [trimmed] : null;
57
+ const markers = [];
58
+ const re = new RegExp(TRANSLATE_BATCH_MARKER_RE.source, "g");
59
+ let m = re.exec(trimmed);
60
+ while (m !== null) {
61
+ markers.push({
62
+ n: Number(m[2]),
63
+ start: m.index,
64
+ end: m.index + m[0].length,
65
+ });
66
+ m = re.exec(trimmed);
67
+ }
68
+ if (markers.length !== expected || trimmed.slice(0, markers[0]?.start).trim())
69
+ return null;
70
+ const chosen = markers.slice(0, expected);
71
+ for (let i = 0; i < expected; i++) {
72
+ if (chosen[i]?.n !== i + 1)
73
+ return null;
74
+ }
75
+ const segments = [];
76
+ for (let i = 0; i < expected; i++) {
77
+ const cur = chosen[i];
78
+ if (!cur)
79
+ return null;
80
+ const nextStart = i + 1 < expected ? chosen[i + 1]?.start : trimmed.length;
81
+ const seg = trimmed.slice(cur.end, nextStart ?? trimmed.length).trim();
82
+ if (!seg)
83
+ return null;
84
+ segments.push(seg);
85
+ }
86
+ return segments;
87
+ }
88
+ //# sourceMappingURL=batches.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batches.js","sourceRoot":"","sources":["../../src/translation/batches.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Lossless transport splitting. Geometry and sentence anchors stay upstream. */
2
+ export declare function splitTranslationChunks(text: string, limit: number): string[];
@@ -0,0 +1,36 @@
1
+ // Ported from motif (Copyright (c) 2026 poco-ai, MIT). See MOTIF-LICENSE.txt.
2
+ /** Lossless transport splitting. Geometry and sentence anchors stay upstream. */
3
+ export function splitTranslationChunks(text, limit) {
4
+ if (!Number.isInteger(limit) || limit < 32)
5
+ throw new Error("Invalid chunk limit");
6
+ const chunks = [];
7
+ let start = 0;
8
+ while (start < text.length) {
9
+ let end = Math.min(text.length, start + limit);
10
+ if (end < text.length) {
11
+ // Prefer a word/clause boundary in the latter half of the budget.
12
+ const floor = start + Math.floor(limit / 2);
13
+ for (let i = end; i > floor; i--) {
14
+ if (/[\s,。;!?]/u.test(text[i - 1] ?? "")) {
15
+ end = i;
16
+ break;
17
+ }
18
+ }
19
+ // Never tear an opaque placeholder or UTF-16 surrogate pair apart.
20
+ const open = text.lastIndexOf("⟦", end - 1);
21
+ const close = text.indexOf("⟧", open);
22
+ if (open >= start && open < end && close >= end) {
23
+ if (open === start)
24
+ throw new Error("Translation token exceeds request budget");
25
+ end = open;
26
+ }
27
+ const code = text.charCodeAt(end - 1);
28
+ if (code >= 0xd800 && code <= 0xdbff)
29
+ end--;
30
+ }
31
+ chunks.push(text.slice(start, end));
32
+ start = end;
33
+ }
34
+ return chunks;
35
+ }
36
+ //# sourceMappingURL=chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks.js","sourceRoot":"","sources":["../../src/translation/chunks.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iFAAiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,KAAa;IACjE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE;QACzC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACxC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QAC/C,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACvB,kEAAkE;YAClE,MAAM,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAClC,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBAC1C,GAAG,GAAG,CAAC,CAAC;oBACR,MAAM;gBACP,CAAC;YACF,CAAC;YACD,mEAAmE;YACnE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,GAAG,GAAG,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;gBACjD,IAAI,IAAI,KAAK,KAAK;oBACjB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC7D,GAAG,GAAG,IAAI,CAAC;YACZ,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM;gBAAE,GAAG,EAAE,CAAC;QAC7C,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;QACpC,KAAK,GAAG,GAAG,CAAC;IACb,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}