strom-research 1.13.2-beta.6 → 1.13.2-beta.8

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 (89) hide show
  1. package/assets/lang/cs.json +225 -9
  2. package/assets/lang/de.json +225 -9
  3. package/assets/method/enrich.md +21 -25
  4. package/assets/method/locate.md +1 -1
  5. package/assets/method/reading.md +28 -31
  6. package/assets/plugins/connectors/DISCOVERY.md +16 -1
  7. package/assets/plugins/gates/README.md +8 -0
  8. package/dist/agents/effort.js +214 -0
  9. package/dist/agents/files.js +37 -6
  10. package/dist/agents/launch.js +15 -6
  11. package/dist/agents/profiles.js +63 -24
  12. package/dist/agents/scanreader.js +33 -16
  13. package/dist/brief/brief.js +225 -27
  14. package/dist/brief/sheet.js +12 -5
  15. package/dist/cli/colors.js +11 -0
  16. package/dist/cli/context.js +7 -1
  17. package/dist/cli/format.js +9 -0
  18. package/dist/cli/main.js +8 -3
  19. package/dist/cli/menu-parts.js +6 -3
  20. package/dist/cli/menu-settings.js +91 -71
  21. package/dist/cli/menu-waiting.js +32 -3
  22. package/dist/cli/menu.js +4 -3
  23. package/dist/cli/model-choice.js +50 -1
  24. package/dist/cli/tunereset.js +184 -0
  25. package/dist/cli/ui.js +217 -9
  26. package/dist/cli/wizard.js +29 -1
  27. package/dist/cli.js +5 -2
  28. package/dist/commands/analysis.js +114 -4
  29. package/dist/commands/browse.js +22 -2
  30. package/dist/commands/calibrate.js +345 -19
  31. package/dist/commands/clips.js +4 -4
  32. package/dist/commands/connectors.js +474 -62
  33. package/dist/commands/delegate.js +37 -0
  34. package/dist/commands/gates.js +8 -3
  35. package/dist/commands/grep.js +104 -0
  36. package/dist/commands/guide.js +25 -7
  37. package/dist/commands/index.js +3 -0
  38. package/dist/commands/intake.js +1 -0
  39. package/dist/commands/media.js +89 -30
  40. package/dist/commands/meta.js +9 -3
  41. package/dist/commands/read.js +163 -34
  42. package/dist/commands/readers.js +122 -13
  43. package/dist/commands/readings.js +88 -0
  44. package/dist/commands/session.js +131 -20
  45. package/dist/commands/setup.js +264 -35
  46. package/dist/commands/start.js +10 -4
  47. package/dist/commands/tasks.js +7 -2
  48. package/dist/commands/transcripts.js +3 -3
  49. package/dist/commands/web.js +88 -0
  50. package/dist/core/changelog.js +25 -8
  51. package/dist/core/config.js +48 -4
  52. package/dist/core/connector.js +8 -2
  53. package/dist/core/delegate.js +155 -0
  54. package/dist/core/errors.js +6 -3
  55. package/dist/core/gate.js +77 -12
  56. package/dist/core/grep.js +234 -0
  57. package/dist/core/lines.js +99 -0
  58. package/dist/core/lock.js +5 -2
  59. package/dist/core/media.js +115 -8
  60. package/dist/core/metrics.js +481 -0
  61. package/dist/core/modelkey.js +278 -0
  62. package/dist/core/net.js +168 -3
  63. package/dist/core/phrases.js +9 -0
  64. package/dist/core/reader.js +47 -1
  65. package/dist/core/readstats.js +1886 -0
  66. package/dist/core/sandbox.js +37 -0
  67. package/dist/core/schema.js +1 -0
  68. package/dist/core/self.js +28 -0
  69. package/dist/core/session.js +4 -0
  70. package/dist/core/stories.js +6 -0
  71. package/dist/core/tidy.js +109 -2
  72. package/dist/core/transcripts.js +330 -0
  73. package/dist/core/tree.js +1 -1
  74. package/dist/core/tune.js +821 -0
  75. package/dist/core/tuneask.js +838 -0
  76. package/dist/core/tunereset.js +398 -0
  77. package/dist/core/views.js +55 -3
  78. package/dist/core/viewsizes.js +43 -21
  79. package/dist/core/web.js +583 -0
  80. package/dist/core/which.js +3 -2
  81. package/dist/runners/antigravity.js +118 -18
  82. package/dist/runners/claude.js +125 -14
  83. package/dist/runners/codex.js +91 -11
  84. package/dist/runners/grok.js +118 -16
  85. package/dist/runners/jsonl.js +80 -3
  86. package/dist/runners/opencode.js +40 -4
  87. package/dist/runners/runner.js +60 -2
  88. package/dist/runners/script.js +12 -1
  89. package/package.json +1 -1
@@ -88,7 +88,7 @@
88
88
  "ui.menu.start": "Začít výzkum s agentem",
89
89
  "ui.menu.run": "Nechat agenta pracovat samotného",
90
90
  "ui.menu.waitlist": "Co čeká",
91
- "ui.menu.settings": "Nastavení: agent, samostatná práce, zprávy, archivy, kontrola",
91
+ "ui.menu.settings": "Nastavení: agent, samostatná práce, zprávy, archivy, údržba",
92
92
  "ui.menu.doctor": "Kontrola instalace",
93
93
  "ui.settings.help": "Nápověda: příkazy pro člověka",
94
94
  "ui.menu.trees": "Jiný rodokmen · poslat nebo přijmout",
@@ -134,8 +134,23 @@
134
134
  "ui.setup.model.recommended": "{model} (doporučeno)",
135
135
  "ui.setup.model.own.is": "Nechat na agentovi (teď {model})",
136
136
  "ui.setup.model.now": "{model} (zvoleno teď)",
137
+ "ui.effort.ask": "Jak hluboce má {agent} uvažovat, než odpoví (hloubka uvažování)?",
138
+ "ui.effort.high": "high – doporučeno: staré rukopisy se čtou s nejlepším nastavením; limit předplatného dojde dřív (v testu došel po 18 minutách i na low)",
139
+ "ui.effort.xhigh": "xhigh – ještě déle; limit dojde ještě dřív",
140
+ "ui.effort.medium": "medium",
141
+ "ui.effort.low": "low – limit vydrží déle; rukopisy se čtou méně pečlivě",
142
+ "ui.effort.own": "Nechat na vlastním nastavení agenta {agent}",
143
+ "ui.effort.own.is": "Nechat na vlastním nastavení agenta {agent} (teď {value})",
144
+ "ui.effort.now": "{value} (zvoleno teď)",
145
+ "ui.effort.line": "{agent}: model {model}, hloubka uvažování {effort}",
146
+ "ui.effort.strom": "{value} (nastavení strom)",
147
+ "ui.effort.args": "{value} (vlastní přepínač tohoto běhu)",
148
+ "ui.effort.config": "{value} – z {file}",
149
+ "ui.effort.profile": "{value} – z {file}, profil {profile}",
150
+ "ui.effort.default": "výchozí nastavení agenta {agent}",
151
+ "ui.doc.codex": "Codex",
137
152
  "ui.chat.app.model.chosen": "V aplikaci {app} zvolit pro výzkum model {model} (zvolený v nastavení).",
138
- "ui.settings.model": "Model výzkumu ({agent}): {model}",
153
+ "ui.settings.model": "Jen model výzkumu ({agent}): {model}",
139
154
  "ui.settings.model.own": "vlastní model agenta",
140
155
  "ui.views.title": "Ladění čtení snímků · {agent}: snímků {n}, knih {books}, velikosti {sizes} px",
141
156
  "ui.views.find": "Nalezení zápisu na celém snímku:",
@@ -151,8 +166,6 @@
151
166
  "ui.views.few": "Na vyladění čtení snímků je málo snímků se známou pravdou: {have} z potřebných {need}. Takový snímek je sken záznamu, který cituje doložený údaj, s jeho slovy (přepisem) a už na tomto počítači; chybí ještě {more} — vzniknou běžnou prací agenta, zkusit znovu po několika sezeních. Do té doby platí výchozí velikosti.",
152
167
  "ui.views.ask": "Vyladit čtení snímků pro {agent}: {readers} placených čtení {n} snímků tohoto výzkumu ve velikostech {sizes} px, asi {cost} (typický odhad; ceny agenta se mohou lišit). Spustit?",
153
168
  "ui.views.no": "Nic se nespustilo; velikosti zůstávají, jak byly.",
154
- "ui.views.reset": "Vyladění pro {agent} zapomenuto: platí výchozí velikosti (hledání {find} px · čtení {read} px).",
155
- "ui.views.reset.none": "Pro {agent} nic vyladěno není: platí výchozí velikosti (hledání {find} px · čtení {read} px).",
156
169
  "ui.views.estimate": "Snímků {n}, knih {books}, {readers} čtení ve velikostech {sizes} px, asi {cost} — spouští člověk: strom media calibrate",
157
170
  "ui.views.offer": "čtení snímků bylo vyladěno pro {before}, pro {now} zatím ne: strom media calibrate (spouští člověk; placená práce modelu)",
158
171
  "ui.views.progress": "▶ {what} · {size} px · snímky: {n}",
@@ -160,6 +173,175 @@
160
173
  "ui.views.what.read": "čtení",
161
174
  "ui.views.cost.unknown": "cena neznámá",
162
175
  "ui.views.spent": "Čtení stála {cost}.",
176
+ "ui.tune.q.title": "Otázky ke čtení snímků · {agent} – rozhoduje člověk; bez odpovědi se nic nemění:",
177
+ "ui.tune.q.waiting": "Otázky čekají na rozhodnutí člověka: {n} – strom media calibrate --questions",
178
+ "ui.tune.q.none": "Žádná otázka ke čtení snímků nečeká ({agent}).",
179
+ "ui.tune.q.recommended": "(doporučeno)",
180
+ "ui.tune.q.held": "Zodpovězeno dřív, znovu až při změně dat: {n}",
181
+ "ui.tune.q.person": "Odpovídá jen člověk: strom media calibrate --questions v terminálu, nebo v menu Co čeká; z relace agenta se ptá okno systému.",
182
+ "ui.tune.q.window": "Odpovědět na otázku ke čtení snímků – „{text}“: {label}?",
183
+ "ui.tune.q.kept": "✓ Odpověď uložena: {label}.",
184
+ "ui.tune.q.kept.tasks": "✓ Přidané úkoly: {tasks} – ve frontě s prioritou práce, ze které vzešly.",
185
+ "ui.tune.q.kept.notasks": "Teď není koho hledat: žádný úkol nepřibyl (každá osoba už jeden má, nebo není na kraji stromu ani v rozpracovaném směru).",
186
+ "ui.tune.q.kept.calibrate": "Kalibraci spouští člověk: strom media calibrate (cena se řekne předem).",
187
+ "ui.tune.q.kept.reset": "Vrátí se příkazem: {command}",
188
+ "ui.tune.q.kept.vision": "✓ Skeny se odteď čtou modelem {model} (model.vision).",
189
+ "ui.tune.q.kept.vision.tree": "model.vision je vlastní nastavení tohoto výzkumu: strom config set model.vision {model} --for-tree",
190
+ "ui.tune.q.requests": "{n} požadavků navíc na {host}, asi {minutes} min v jeho tempu",
191
+ "ui.tune.q.smaller": "Knihy se čtou dobře, ale stojí zřetelně víc než ostatní ({n}). Kalibrovat menší pohledy?",
192
+ "ui.tune.q.smaller.why": "{books}: {ratio}× obvyklá cena za sken, čtení ne méně jisté (skeny {scans}). Menší pohledy jen z placené kalibrace na vlastních známých záznamech výzkumu – nikdy samy.",
193
+ "ui.tune.q.c.calibrate": "Kalibrovat (placené; cena se řekne předem)",
194
+ "ui.tune.q.c.later": "Později",
195
+ "ui.tune.q.c.never": "Nikdy",
196
+ "ui.tune.q.weak": "Kniha {book} ({title}): záporů na slabých skenech {n}, teď je tu ostřejší kopie. Hledat znovu?",
197
+ "ui.tune.q.weak.why": "{n} z {of} záporů vzniklo na pohledech zvětšených nad detail skenů; ostřejší kopie ({copies}) mají až {gain}× víc detailu.",
198
+ "ui.tune.q.c.edge": "Ano, u osob na kraji stromu nebo v rozpracovaném směru (úkolů asi {tasks})",
199
+ "ui.tune.q.c.brief": "Jen uvést v zadání agenta",
200
+ "ui.tune.q.c.no": "Ne",
201
+ "ui.tune.q.sharper": "Kniha {book} ({title}) se čte hůř než ostatní a její archiv dává ostřejší výřezy. Stáhnout ostřejší výřezy nejistých snímků?",
202
+ "ui.tune.q.sharper.why": "Nejisté nebo zvětšené {value} proti {base} u ostatních knih; výřezy archivu mají {gain}× víc detailu. Požadavků navíc {n} proti {day} za den na {host} – do desetiny.",
203
+ "ui.tune.q.sharper.why.many": "Nejisté nebo zvětšené {value} proti {base} u ostatních knih; výřezy archivu mají {gain}× víc detailu. Požadavků navíc {n} proti {day} za den na {host} – víc než desetina: archiv se šetří.",
204
+ "ui.tune.q.c.sharper": "Ano: výřezy nejistých snímků ({n})",
205
+ "ui.tune.q.index": "Knihy se procházely stránku po stránce, i když je znám rejstřík místa ({n}). Od kolika skenů napřed rejstřík?",
206
+ "ui.tune.q.index.why": "{books}: prošlo se skenů {scans}; rejstřík místa ({indexes}) najde stránku pár pohledy – jeho zápis i jeho absence jsou ale jen vodítko.",
207
+ "ui.tune.q.c.from": "Od {n} skenů",
208
+ "ui.tune.q.c.never.index": "Nikdy – procházet jako dosud",
209
+ "ui.tune.q.vision": "Rukopis čte {vision}, výzkum {lead}, a čtení jsou méně jistá. Číst skeny znovu modelem {lead}?",
210
+ "ui.tune.q.vision.why": "Nejisté s {vision}: {pv} z {nv} čtení; s {lead}: {pl} z {nl}.",
211
+ "ui.tune.q.c.lead": "Ano: skeny číst modelem {lead}",
212
+ "ui.tune.q.c.keep.model": "Ponechat {vision}",
213
+ "ui.tune.q.reset": "{scope}: čtení se zhoršilo po samočinné změně {what} ({at}). Vrátit ji?",
214
+ "ui.tune.q.scope.key": "Čtení snímků",
215
+ "ui.tune.q.reset.why.M5": "Nejistá čtení {before} před změnou, {after} po ní (skeny {nb} → {na}).",
216
+ "ui.tune.q.reset.why.M10": "Čtenáři bez výsledku {before} před změnou, {after} po ní (skeny {nb} → {na}).",
217
+ "ui.tune.q.reset.why.M1": "Cena za sken {before} před změnou, {after} po ní, čtení ne jistější (skeny {nb} → {na}); změna šla k přesnosti.",
218
+ "ui.tune.q.c.reset": "Vrátit ({command})",
219
+ "ui.tune.q.c.keep": "Ponechat",
220
+ "ui.o.tune": "otázky ke čtení čekají na rozhodnutí člověka ({n}): strom media calibrate --questions",
221
+ "ui.waiting.tune": "Otázka ke čtení snímků: {text}",
222
+ "ui.waiting.tune.read": "Rozhodnout {k}: čtení snímků",
223
+ "ui.tune.title": "Čtení snímků · {agent} · {days} dní od {since} — z vlastních záznamů výzkumu, zdarma",
224
+ "ui.tune.none": "Čtení snímků · {agent}: zatím nic naměřeno — čísla přinášejí sezení strom run a čtenáři strom read.",
225
+ "ui.tune.noscans": "Čtení snímků · {agent}: tady zatím žádné přečtené snímky (sezení {sessions}).",
226
+ "ui.tune.samples": "Sezení {sessions} · čtenáři {readers} · skeny {scans} · pohledy {views}",
227
+ "ui.tune.recovered": "dopočteno ze starších záznamů (méně jisté): {n}",
228
+ "ui.tune.backfill.partial": "Starší sezení dopočtena jen zčásti: záznamy smazané úklidem {gone}, nečitelné {skipped} — dopočtené údaje jsou neúplné",
229
+ "ui.tune.cost.usd": "Cena za sken {scan} · za pohled {view} (známá u {known} skenů)",
230
+ "ui.tune.cost.tokens": "Na sken: nové tokeny {new} · výstup {out} · z cache {cr} (cena neuvedena; známé u {known} skenů)",
231
+ "ui.tune.cost.unknown": "Cena za sken: neznámá (neuvedena)",
232
+ "ui.tune.cost.unknownSessions": "cena čtení neznámá u sezení: {n} (spotřeba jejich podagentů neuvedena)",
233
+ "ui.tune.views": "Pohledy na sken: {perScan} · celé {whole} · půlky {half} · výřezy {crop} · části {split} · zvětšené {enlarged}",
234
+ "ui.tune.context": "Kontext vyčištěn: {clears}× (čtenáři s vyčištěním: {with} z {of}), poprvé zhruba při {ctx} tokenech; pohledy po něm znovu otevřené {reopened} (odhad)",
235
+ "ui.tune.context.none": "Kontext: nevyčistil se (čtenáři: {of})",
236
+ "ui.tune.context.unknown": "Vyčištění kontextu: neznámé (spotřeba se hlásí až na konci)",
237
+ "ui.tune.readers": "Čtenáři bez výsledku: {bad} z {n}",
238
+ "ui.tune.readers.halted": "Čtenáři zastavení přihlášením, limitem plánu nebo chybou: {n} – nepočítají se, o čtení neříkají nic",
239
+ "ui.tune.books": "Knihy:",
240
+ "ui.tune.more": " … další: {n} (všechny: --json)",
241
+ "ui.tune.book": " {id} {title}: skeny {scans} · pohledy na sken {vps}",
242
+ "ui.tune.book.unsure": "nejisté {value} z {n} čtení (ostatní knihy {base})",
243
+ "ui.tune.book.unsure.nobase": "nejisté {value} z {n} čtení",
244
+ "ui.tune.book.marked": "s nečitelným místem {n} z {of}",
245
+ "ui.tune.book.doubtful": "[?] v přepisech: {n} z {of}",
246
+ "ui.tune.book.enlarged": "zvětšené pohledy {value}",
247
+ "ui.tune.book.nosharper": "ostřejší výřez nebyl {n}×",
248
+ "ui.tune.book.weak": "zápory na slabých skenech {n} z {of}",
249
+ "ui.tune.book.requests": "požadavky {n}",
250
+ "ui.tune.book.unread": "staženo a nepřečteno {n} z {of}",
251
+ "ui.tune.hosts": "Archivy:",
252
+ "ui.tune.host": " {host}: sezení {sessions} · požadavky {requests} ({perSession} na sezení, {perImage} na snímek) · čekání {wait} min · limit vyčerpán {later}×",
253
+ "ui.tune.web": "Webové nástroje agenta:",
254
+ "ui.tune.web.host": " {host}: webové požadavky {n} · sezení {sessions} · nejvíc {most} v jednom",
255
+ "ui.tune.web.searches": " hledání na webu: {n}",
256
+ "ui.tune.web.many": " víc než {limit} stránek jednoho webu v jednom sezení: šetrnější cestou je konektor (strom connector new)",
257
+ "ui.tune.signals": "Nad obvyklou mírou téhož agenta a modelu:",
258
+ "ui.tune.signals.none": "Nic nad obvyklou mírou téhož agenta a modelu.",
259
+ "ui.tune.sig.M1": " {scope}: cena za sken {value}, {ratio}× obvyklé ({base})",
260
+ "ui.tune.sig.M2": " {scope}: pohledy na sken {value}, {ratio}× obvyklé ({base})",
261
+ "ui.tune.sig.M3": " pohledy znovu otevřené po vyčištění kontextu: {n} z posledních {of} čtenářů (odhad)",
262
+ "ui.tune.sig.M4": " kontext se vyčistil: {n} z posledních {of} čtenářů, poprvé zhruba při {ctx} tokenech",
263
+ "ui.tune.sig.M5": " {scope}: čte se hůř než ostatní knihy — nejisté {value} proti {base} (n={n})",
264
+ "ui.tune.sig.M5.nobase": " {scope}: čte se hůř než ostatní knihy — nejisté {value}, ostatní knihy žádné (n={n})",
265
+ "ui.tune.sig.M6": " {scope}: zvětšené pohledy {value} proti {base} (n={n}) — skeny mají méně detailu, než pohledy ukazují",
266
+ "ui.tune.sig.M6.nobase": " {scope}: zvětšené pohledy {value}, ostatní knihy žádné (n={n}) — skeny mají méně detailu, než pohledy ukazují",
267
+ "ui.tune.sig.M7": " {scope}: portál ostřejší výřez nedal {n}×",
268
+ "ui.tune.sig.M8": " {scope}: sezení s čekáním na limit archivu: {n} z {of} ({wait} min, vyčerpán {later}×)",
269
+ "ui.tune.sig.M9": " {scope}: {value} z {n} záporů na slabých skenech (pohledy převážně zvětšené)",
270
+ "ui.tune.sig.M10": " čtenáři bez výsledku: {n} z posledních {of}",
271
+ "ui.tune.sig.M11": " {scope}: staženo a nepřečteno {value} ({n} z {of} snímků)",
272
+ "ui.tune.sig.M12": " dlouhé úseky bez vyčištění: {n} z posledních {of} sezení přes {ctx} tokenů (zhruba {views} pohledů, {peak} tokenů)",
273
+ "ui.tune.short": "Zatím málo pro srovnání: {list} — přibude s dalšími sezeními.",
274
+ "ui.tune.m.M1": "cena za sken",
275
+ "ui.tune.m.M2": "pohledy na sken",
276
+ "ui.tune.m.M3": "znovu otevřené pohledy",
277
+ "ui.tune.m.M4": "vyčištění kontextu",
278
+ "ui.tune.m.M5": "nejistá čtení",
279
+ "ui.tune.m.M6": "zvětšené pohledy",
280
+ "ui.tune.m.M8": "čekání na archiv",
281
+ "ui.tune.m.M10": "čtenáři bez výsledku",
282
+ "ui.tune.m.M11": "nepřečtené snímky",
283
+ "ui.tune.m.M12": "dlouhé úseky",
284
+ "ui.tune.recommend": "Doporučení, která strom sám nenastavil (rozhoduje člověk, nebo je tune.auto vypnuté):",
285
+ "ui.tune.rec.A1": " {scope}: celý snímek ve velikosti čtení, dvoustrana v půlkách, výřez aspoň 1:1 — ze skenů, které už tu jsou, žádný požadavek navíc",
286
+ "ui.tune.rec.A2": " menší dávky: skeny na čtenáře asi {to} místo {from} — víc volání, menší kontext",
287
+ "ui.tune.rec.A3": " čtenář skončí asi po {to} pohledech místo {from} (podle naměřeného kontextu)",
288
+ "ui.tune.rec.A4": " {scope}: napřed celé snímky, půlky a výřezy jen u kandidátů — tytéž požadavky v jiném pořadí",
289
+ "ui.tune.rec.A5": " {scope}: další výřezy této knihy se nenabízejí — ostřejší portál nemá",
290
+ "ui.tune.rec.A7": " {scope}: stahovat jen to, co úkol čte, další dávku až po přečtení předchozí — méně požadavků",
291
+ "ui.tune.rec.D1": " menší pohledy jen kalibrací, kterou spouští člověk (placená): strom media calibrate",
292
+ "ui.tune.rec.D4": " {scope}: znovu prohledat slabé skeny jen na rozhodnutí člověka, s počtem požadavků navíc",
293
+ "ui.tune.tuned": "Nastavil strom sám — jen k přesnosti nebo k menší zátěži archivu, zpět na výchozí, až to nebude potřeba:",
294
+ "ui.tune.off": "strom tu sám nic nenastavuje: tune.auto je vypnuté.",
295
+ "ui.tune.calibrated": "Velikosti zkalibrované na {n} známých záznamech ({at}): hledání {find} px, čtení {read} px",
296
+ "ui.tune.back": " {scope}: {what} zpět na výchozí — už to není potřeba",
297
+ "ui.tune.restart": " {scope}: {what} se už nepoužívá — jiný model ({model}) začíná znovu",
298
+ "ui.tune.what.views.size": "větší pohledy",
299
+ "ui.tune.what.reading.batch": "menší dávky",
300
+ "ui.tune.what.reading.views": "dřívější zastavení",
301
+ "ui.tune.what.fetch.order": "napřed celé snímky",
302
+ "ui.tune.what.parts.none": "žádné výřezy",
303
+ "ui.tune.what.fetch.only-needed": "stahovat jen to, co úkol čte",
304
+ "ui.tune.cap": "Vyšší hodinový strop archivu se nikdy nedoporučuje: určuje ho služba nebo člověk.",
305
+ "ui.tune.others": "Naměřeno také pro: {list}",
306
+ "ui.tune.reset.ask": "Vrátit výchozí nastavení čtení snímků? Vrátí se: {list}",
307
+ "ui.tune.reset.title": "Nastaveno pro čtení snímků · {agent}:",
308
+ "ui.tune.reset.cols": "co|rozsah|teď → výchozí|zdroj|datum|proč",
309
+ "ui.tune.reset.none": "Pro čtení snímků není nic nastaveno, co by se vracelo ({scope}): platí výchozí hodnoty.",
310
+ "ui.tune.reset.dry": "Jen výpis, nic se nevrátilo. Vrací se se souhlasem člověka: {command}",
311
+ "ui.tune.reset.no": "Nic se nevrátilo; nastavení zůstává, jak bylo.",
312
+ "ui.tune.reset.done": "Vráceno na výchozí: {n}. strom nic z toho sám znovu nenastaví {days} dní nebo do nových čtení; měření zůstávají.",
313
+ "ui.tune.reset.tasks": "Úkoly {tasks} zůstávají: patří k výzkumu.",
314
+ "ui.tune.reset.others": "Jiné výzkumy na tomto počítači si drží vlastní hodnoty knih a archivů: {list}. Vrací se v každém zvlášť: {command}",
315
+ "ui.tune.reset.last": "Zpět na výchozí (nejdřív výpis, vrátí se jen po souhlasu): strom media calibrate --reset",
316
+ "ui.tune.reset.src.calibrated": "kalibrace",
317
+ "ui.tune.reset.src.tuned": "nastavil strom",
318
+ "ui.tune.reset.src.answered": "odpověď",
319
+ "ui.tune.reset.scope.key": "model",
320
+ "ui.tune.reset.scope.research": "tento výzkum",
321
+ "ui.tune.reset.scope.all": "všechny modely",
322
+ "ui.tune.what.calibration": "kalibrované velikosti",
323
+ "ui.tune.what.answer": "odpověď na {kind}",
324
+ "ui.tune.why.calibrated": "změřeno na {n} známých záznamech",
325
+ "ui.tune.why.answered": "zodpovězeno",
326
+ "ui.tune.why.answered.terminal": "zodpovězeno v terminálu",
327
+ "ui.tune.why.answered.window": "zodpovězeno v okně systému",
328
+ "ui.tune.why.answered.app": "zodpovězeno v aplikaci Strom",
329
+ "ui.tune.why.measured": "z naměřených čtení",
330
+ "ui.tune.why.last": "{n} z posledních {of}",
331
+ "ui.tune.why.of": "{n} z {of}",
332
+ "ui.tune.why.M5": "nejisté {value} proti {base} u ostatních knih (n={n})",
333
+ "ui.tune.why.M6": "zvětšené pohledy {value} proti {base} (n={n})",
334
+ "ui.tune.why.M7": "portál ostřejší výřez nedal {n}×",
335
+ "ui.tune.why.M8": "sezení s čekáním na limit archivu: {count}",
336
+ "ui.tune.why.M8.wait": "sezení s čekáním na limit archivu: {count} ({wait} min, vyčerpán {later}×)",
337
+ "ui.tune.why.M11": "staženo a nepřečteno {value} ({count} snímků)",
338
+ "ui.tune.why.M3": "pohledy znovu otevřené po vyčištění kontextu: {count} čtenářů",
339
+ "ui.tune.why.M4": "kontext se vyčistil: {count} čtenářů",
340
+ "ui.tune.why.M4.ctx": "kontext se vyčistil: {count} čtenářů, poprvé zhruba při {ctx} tokenech",
341
+ "ui.tune.why.M10": "čtenáři bez výsledku: {count}",
342
+ "ui.tune.why.A3": "kontext se vyčistil: {count} čtenářů, poprvé zhruba při {ctx} tokenech, pohled čtenáře zhruba {view} tokenů",
343
+ "ui.tune.why.A3.long": "kontext se nevyčistil, a přesto přerostl {ctx} tokenů: {count} sezení, pohled čtenáře zhruba {view} tokenů",
344
+ "ui.tune.unknownKey": "agent a model nezaznamenány (starší záznamy)",
163
345
  "ui.o.views": "snímky",
164
346
  "ui.settings.views": "Vyladit čtení snímků ({state})",
165
347
  "ui.settings.views.default": "výchozí velikosti",
@@ -168,6 +350,11 @@
168
350
  "ui.doc.views": "čtení snímků",
169
351
  "ui.doc.views.default": "výchozí velikosti: hledání {find} px · čtení {read} px",
170
352
  "ui.doc.views.done": "vyladěno {date}: hledání {find} px · čtení {read} px",
353
+ "ui.doc.tuneworse": "po samoladění",
354
+ "ui.doc.tuneworse.a": "{scope}: čte se hůř od změny stromu z {at} ({what}) — {metric} {before} → {after} ({nb} skenů před, {na} po); doporučeno ji vrátit",
355
+ "ui.doc.tuneworse.b": "{scope}: dražší od změny stromu z {at} ({what}) — {before} → {after} na sken ({nb} skenů před, {na} po), čtení o nic jistější; doporučeno ji ponechat (šla k přesnosti), vrátit ji jde",
356
+ "ui.doc.web": "agenti na webu",
357
+ "ui.doc.web.many": "mnoho stránek jednoho webu v jednom sezení přes vlastní webové nástroje agenta: {list} — konektor je k webu šetrnější",
171
358
  "ui.setup.level": "Co smí agent dělat bez ptaní?",
172
359
  "ui.setup.level.ask": "Ptát se mě na všechno mimo výzkum",
173
360
  "ui.setup.level.auto": "Pracovat samostatně – ptát se jen u riskantních kroků (doporučeno)",
@@ -259,11 +446,13 @@
259
446
  "ui.run.start.session": "▶ {session} · {task} {what}",
260
447
  "ui.run.parked": " · {task} odložen: {n} sezení za sebou nic nezapsalo",
261
448
  "ui.run.denied": " · oprávnění odmítla {n}×: {what}",
449
+ "ui.run.refused": " · strom odmítl {n}× (limit {per} webových požadavků na jeden server v sezení nebo limit serveru): {what}",
262
450
  "session.user": "zastaveno uživatelem",
263
451
  "session.run": "běh se zastavil dřív, než sezení skončilo (přerušení, nebo vypnutý počítač)",
264
452
  "session.chat": "rozhovor skončil dřív, než se sezení zavřelo",
265
453
  "transcript.read": "Přepis napsal čtenář ({model}) z výřezu zápisu a druhý čtenář ho zkontroloval ({date}, strom transcripts).",
266
454
  "session.agent": "agent skončil ({outcome}), aniž by sezení zavřel",
455
+ "session.limit": "limit plánu agenta se vyčerpal dřív, než bylo sezení zavřeno{resets}",
267
456
  "ui.tree.created": "✓ Rodokmen „{name}“ je založený: {dir}",
268
457
  "ui.chat.trust": "Claude Code se poprvé zeptá, jestli této složce důvěřovat. Je to složka rodokmenu, kterou vytvořil strom – stačí potvrdit „Yes, proceed“.",
269
458
  "ui.doc.program": "program",
@@ -274,7 +463,7 @@
274
463
  "ui.doc.disk": "místo vedle výzkumů",
275
464
  "ui.doc.disk.ok": "vedle výzkumů {size}, v mezích",
276
465
  "ui.doc.disk.tree": "{name}: jde uvolnit {size} (v něm: strom tidy)",
277
- "ui.doc.disk.fix": "strom tidy v rodokmenu (v menu Nastavení → Místo na disku) – nejdřív se zeptá",
466
+ "ui.doc.disk.fix": "strom tidy v rodokmenu (v menu Nastavení → Údržba → Místo na disku) – nejdřív se zeptá",
278
467
  "ui.compact.done": "Historie rodokmenu zabalená: .git {before} → {after}. Ve výzkumu se nic nezměnilo.",
279
468
  "ui.compact.small": "Historie rodokmenu je malá ({size}): není co balit.",
280
469
  "ui.compact.busy": "Na rodokmenu se pracuje: historie se zabalí, až práce skončí.",
@@ -367,6 +556,9 @@
367
556
  "story.sources.where": "digitalizované noviny, knihy a archivy země a doby; web (rejstříky a rodokmeny jsou jen vodítko)",
368
557
  "story.sources.why": "vyprávění má říct víc než matriky – a každé slovo pořád na záznamu; potom strom navrhne vyprávění",
369
558
  "story.sources.done": "každý nález zapsaný jako pramen a údaj s citací (osoba doložená víc než jménem), dějiny místa jako pramen, každé hledání zapsané – i marné",
559
+ "tune.negatives.what": "Znovu hledat: {name} v knize {book} – dřívější hledání nic nenašlo na slabých skenech, teď je tu ostřejší kopie",
560
+ "tune.negatives.why": "záporné hledání ({searches}) proběhlo na pohledech zvětšených nad detail skenů; ostřejší kopie má {gain}× víc detailu – člověk rozhodl hledat znovu",
561
+ "tune.negatives.done": "snímky {pages} přečtené znovu na ostřejších kopiích: zápis nalezen a zapsán, nebo hledání znovu zapsané jako záporné",
370
562
  "review.research": "Revize: {name}",
371
563
  "review.unproven.research": "Osoby bez vlastního záznamu",
372
564
  "review.more": " (a po nich dalších {count})",
@@ -519,6 +711,8 @@
519
711
  "ui.run.follow": "Sledovat mezitím práci živě v aplikaci Strom?",
520
712
  "ui.run.follow.later": "Aplikace Strom se otevře, až agent začne první sezení.",
521
713
  "ui.consent.host.pace": "Vlastní tempo pro {host}: nejméně {seconds} s mezi dvěma požadavky, {cap}. Příliš rychlé stahování zpomalí archiv všem a může vést k zablokování IP adresy tohoto počítače – nastavit?",
714
+ "ui.web.ask": "Už {n} požadavků na {host} v tomto sezení. Šetrnější cesta k dalším stránkám nebo položkám tohoto serveru: postavit pro něj hned konektor (strom connector new {name} --url {url}), který dodrží tempo serveru, robots.txt a jeho podmínky. Přesto povolit další?",
715
+ "ui.web.ask.have": "Už {n} požadavků na {host} v tomto sezení. Více stránek nebo položek tohoto serveru je šetrnější stahovat přes jeho konektor {connector}, který tu už je a dodrží tempo serveru, robots.txt a jeho podmínky. Přesto povolit další?",
522
716
  "ui.pace.cap": "nejvýš {n} za hodinu",
523
717
  "ui.pace.nocap": "bez hodinového limitu",
524
718
  "ui.o.results.offered": "{file} – pro aplikaci Strom, tady nenainstalovanou; uživatel o ní už ví – zmiň ji znovu, jen když chce vidět výsledky (strom app install, pak strom app)",
@@ -729,6 +923,8 @@
729
923
  "ui.tidy.kind.kept": "Starší poslání z aplikace Strom, už zapsaná (změny jsou v historii)",
730
924
  "ui.tidy.kind.inbox": "Dávná poslání z aplikace Strom, která ve schránce nechal starší strom",
731
925
  "ui.tidy.kind.pointers": "Zbytky skončených pracovních sezení",
926
+ "ui.tidy.kind.metrics": "Měření čtení snímků a stahování (starší nebo nad stanovenou velikost)",
927
+ "ui.tidy.kind.gate": "Záznam odpovědí podmínky samostatné práce agenta (starší nebo nad stanovenou velikost)",
732
928
  "ui.tidy.row": " {what}: počet {n}, celkem {size} → {does}",
733
929
  "ui.tidy.does.remove": "smaže se",
734
930
  "ui.tidy.does.shrink": "zmenší se",
@@ -739,7 +935,7 @@
739
935
  "ui.tidy.done": "✓ Uvolněno {size}. Odteď to strom po každém sezení udržuje v pořádku sám.",
740
936
  "ui.tidy.no": "Nic se nesmazalo.",
741
937
  "ui.consent.tidy": "Uvolnit asi {size} vedle výzkumu {name} (staré záznamy sezení, náhledy skenů, dávno zapsaná poslání)? Výzkum i jeho skeny zůstanou.",
742
- "ui.tidy.hint": "Vedle výzkumu si strom drží {strom}, z toho jde uvolnit {size}: strom tidy (v menu Nastavení → Místo na disku)",
938
+ "ui.tidy.hint": "Vedle výzkumu si strom drží {strom}, z toho jde uvolnit {size}: strom tidy (v menu Nastavení → Údržba → Místo na disku)",
743
939
  "ui.error.consent": "tady je potřeba souhlas – {question}",
744
940
  "ui.error.consent.hint": "spustit ve vlastním terminálu: {set}",
745
941
  "ui.status.disk": "Na disku: výzkum {research} · vedle něj si strom drží {strom}",
@@ -759,6 +955,7 @@
759
955
  "ui.recent.facts": "Nové a upřesněné údaje:",
760
956
  "ui.recent.refined": "upřesněno",
761
957
  "ui.recent.stories": "Napsaná vyprávění:",
958
+ "ui.recent.tune": "Čtení snímků, nastavil strom sám:",
762
959
  "ui.recent.sessions": "Co dělal agent:",
763
960
  "ui.recent.more": "… a další: {n}",
764
961
  "ui.recent.morechanges": "(a další změny: {n})",
@@ -921,7 +1118,7 @@
921
1118
  "ui.setup.app.archive": "✓ Na počítači je aplikace Strom – menu v ní otevře výzkum.",
922
1119
  "ui.setup.stromapp.archive": "Aplikace Strom (zdarma, v prohlížeči) ukáže výzkum jako rodokmen – u každého zápisu jeho obrázek vyříznutý ze skenu, příběhy předků. Používat ji?",
923
1120
  "ui.settings.wizard.archive": "Jazyk, složka, zástupce, aplikace Strom… (průvodce nastavením)",
924
- "ui.menu.settings.archive": "Nastavení: jazyk, zprávy, archiv nebo výzkum, kontrola",
1121
+ "ui.menu.settings.archive": "Nastavení: jazyk, zprávy, archiv nebo výzkum, údržba",
925
1122
  "ui.menu.more.archive.noapp": "Přidat do archivu: podklady, jiný rodokmen",
926
1123
  "ui.menu.more.archive": "Přidat do archivu: podklady, úpravy z aplikace Strom",
927
1124
  "ui.menu.app.tip.archive": "Tip: výzkum jde prohlédnout jako rodokmen v aplikaci Strom – volba {key}.",
@@ -1027,6 +1224,7 @@
1027
1224
  "ui.run.gate.noanswer": "neodpověděla, jak má (strom gate test)",
1028
1225
  "ui.run.stop.gate.declined": "nespuštěno — podmínka „{name}“: {reason}",
1029
1226
  "ui.run.gate.cap": "· {name}: nastavený strop – kontroluje se před každým sezením; žádné „přesto začít“ ho nepřekročí",
1227
+ "ui.run.gate.said": "· podmínka {name}: {word}{reason} (kód {status}; .strom/gate.log)",
1030
1228
  "ui.run.stop.gate.cap": "strop podmínky „{name}“ – {reason} (pevná hranice z run.gate; „přesto začít“ ji nepřekročí)",
1031
1229
  "ui.run.cap.finish": "⏳ {session}: limit agenta na {used} % ({kind}) – sezení dostalo žádost zapsat, co našlo, a skončit; za stropem další sezení nezačne",
1032
1230
  "ui.run.limit.five_hour": "pětihodinové okno",
@@ -1045,6 +1243,9 @@
1045
1243
  "ui.archives.agentbrowser.off": "Vrátit prohlížeč jen pro archivy přes prohlížeč?",
1046
1244
  "ui.consent.remote": "Spouštět sezení Claude Code, která strom otevírá, se vzdáleným ovládáním (Remote Control), aby je šlo sledovat a řídit z claude.ai nebo z aplikace Claude v telefonu?",
1047
1245
  "ui.consent.addons": "Dovolit agentovi při samostatné práci načíst osobní doplňky z jeho nastavení (skilly, pluginy, MCP servery – třeba i poštu nebo dokumenty) jako v chatu? Pracuje přitom bez dozoru.",
1246
+ "ui.consent.effort": "Nastavit sezením {agent}, která spouští strom, hloubku uvažování {effort}? Vyšší hloubka uvažování (high, xhigh) rychleji spotřebuje limity předplatného.",
1247
+ "ui.consent.webPerHost": "Dovolit vlastnímu webovému nástroji agenta až {n} požadavků na jeden web (jeho servery a zrcadla dohromady) v sezení (nyní {now})? Více požadavků víc zatěžuje web; více stránek jednoho webu je šetrnější stahovat přes konektor.",
1248
+ "ui.consent.effort.run": "Spustit samostatnou práci {agent} pro tento běh s hloubkou uvažování {effort}, vyšší než v nastavení ({now})? Vyšší hloubka uvažování (high, xhigh) rychleji spotřebuje limity předplatného.",
1048
1249
  "ui.consent.edits.user": "Mají mít úpravy v aplikaci Strom přednost před tím, co říká záznam? Údaj ze záznamu se pak stáhne s důvodem (synchronizace jde vrátit).",
1049
1250
  "ui.consent.review.off": "Zapisovat, co pošle aplikace Strom, hned, bez ptaní u každého poslání? Přidané se zapíše, vodítka se opraví, změna údaje doloženého záznamem bude rozpor k rozhodnutí; strom sync undo poslání vrátí.",
1050
1251
  "ui.consent.mode.archive": "Udělat z výzkumu „{name}“ archiv? Data přicházejí z aplikace Strom a zapisují se, jak přijdou; žádný agent na něm nepracuje, jeho úkoly počkají odložené. Práci s agentem jde zase zapnout.",
@@ -1235,11 +1436,18 @@
1235
1436
  "ui.settings.hooks": "Zprávy o tom, co se uloží (hooky): {state}",
1236
1437
  "ui.settings.on": "zapnuto",
1237
1438
  "ui.settings.off": "vypnuto",
1238
- "ui.settings.remote": "Sledovat agenta z telefonu (Remote Control): {state}",
1439
+ "ui.settings.remote": "Remote Control v aplikaci Claude (rozhovor s agentem i z mobilu): {state}",
1239
1440
  "ui.settings.remote.about": "Když je zapnuté, jde sezení Claude Code, která strom spustí – rozhovory i samostatnou práci – sledovat a řídit z claude.ai nebo z aplikace Claude v telefonu.",
1240
1441
  "ui.settings.remote.on": "Zapnout?",
1241
1442
  "ui.settings.remote.off": "Vypnout?",
1242
1443
  "ui.settings.archives": "Archivy: přihlášení, souhlas se stahováním",
1444
+ "ui.settings.wizard.what": "Co nastavit?",
1445
+ "ui.settings.wizard.all": "Všechno, krok za krokem (průvodce nastavením)",
1446
+ "ui.settings.maintenance": "Údržba: kontrola instalace, místo na disku",
1447
+ "ui.settings.maintenance.tidy": "Údržba: kontrola instalace, místo na disku (jde uvolnit {size})",
1448
+ "ui.settings.maintenance.update": "Údržba: kontrola instalace, místo na disku, aktualizace na {version}",
1449
+ "ui.maintenance.title": "Údržba",
1450
+ "ui.maintenance.tidy": "Místo na disku: strom si vedle výzkumu drží {size}",
1243
1451
  "ui.alone.title": "Samostatná práce agenta",
1244
1452
  "ui.alone.minutes": "Čas na jeden úkol: {minutes} min",
1245
1453
  "ui.alone.minutes.ask": "Kolik minut smí trvat jeden úkol? (5–600; 0 vrátí zpět)",
@@ -1270,7 +1478,7 @@
1270
1478
  "ui.hooks.nothing": "žádné",
1271
1479
  "ui.menu.noagent": "Na počítači zatím není žádný AI agent – výzkum dělá on. Volba 1 ho nainstaluje.",
1272
1480
  "ui.menu.getagent": "Nainstalovat nebo vybrat AI agenta",
1273
- "ui.menu.update.where": "Vyšla nová verze stromu: {version} – aktualizovat ji jde v Nastavení (volba {key}).",
1481
+ "ui.menu.update.where": "Vyšla nová verze stromu: {version} – aktualizovat ji jde v Nastavení (volba {key}) → Údržba.",
1274
1482
  "ui.more.noagent": "Agent se do toho pustí, až bude na počítači (volba 1 v menu).",
1275
1483
  "ui.menu.noagent.chosen": "AI agent, kterého výzkum používá, na počítači není – volba 1 vybere jiného.",
1276
1484
  "task.answer": "Odpověď uživatele (na: {asked}): {answer}",
@@ -1306,6 +1514,10 @@
1306
1514
  "log.media": "Nové snímky: {name} (obr. {images})",
1307
1515
  "log.media.one": "Nový snímek: {name} (obr. {image})",
1308
1516
  "log.media.loose": "Nové snímky: {n}",
1517
+ "log.media.part.one": "Výřez snímku ve větším rozlišení: {name} (obr. {image})",
1518
+ "log.media.part": "Výřezy snímků ve větším rozlišení: {name} (obr. {images})",
1519
+ "log.media.part.loose": "Výřezy snímků ve větším rozlišení: {n}",
1520
+ "log.net.cap": "Archiv {host} je blízko hodinového limitu: využito {used} z {cap} požadavků za hodinu, další volný v {time}; mezitím výzkum pokračuje s tím, co už je k dispozici",
1309
1521
  "log.reading": "Pročteno: {name} (obr. {images})",
1310
1522
  "log.task.add": "Nový úkol: {name}",
1311
1523
  "log.task.done": "Hotovo: {name}",
@@ -1317,6 +1529,7 @@
1317
1529
  "log.session.start": "Agent začal: {name}",
1318
1530
  "log.session.close": "Agent skončil: {name}",
1319
1531
  "log.lesson.add": "Poznatek: {name}",
1532
+ "log.lesson.edit": "Opravený poznatek: {name}",
1320
1533
  "log.hypothesis.add": "Hypotéza: {name}",
1321
1534
  "log.hypothesis.argue": "Hypotéza zvážena: {name}",
1322
1535
  "log.hypothesis.link": "Co by verze hypotézy spojila: {name}",
@@ -1535,6 +1748,9 @@
1535
1748
  "ui.gate.folder": "složka: {folder} – složka podmínky nakopírovaná sem je nainstalovaná (rozhraní: README.md tamtéž)",
1536
1749
  "ui.gate.cap.week": "strop nastaven: ptá se před každým sezením každého běhu; sezení v práci je požádáno o dokončení při {pct} % týdne",
1537
1750
  "ui.gate.cap.window": "strop nastaven: ptá se před každým sezením každého běhu; sezení v práci je požádáno o dokončení při {pct} % pětihodinového okna",
1751
+ "ui.error.gate.cap": "{cap}: strop je celé číslo od 1 do 100 – procento týdne, přes které běh nikdy nepůjde",
1752
+ "ui.error.gate.cap.none": "--cap bez čísla: strop je celé číslo od 1 do 100 – procento týdne, přes které běh nikdy nepůjde",
1753
+ "ui.error.gate.cap.hint": "např. strom config set run.gate \"{name} 15 --cap 95\"",
1538
1754
  "ui.gate.test.go": "pokračovat",
1539
1755
  "ui.gate.test.wait": "počkat do {at}",
1540
1756
  "ui.gate.test.stop": "zastavit",