Repository navigation
Releases: GooDAnDReaDY/dsh-context-lens
Releases · GooDAnDReaDY/dsh-context-lens
Release list
v0.1.35 [DSH v0.2.0-rc.2]
What's Changed
- Direct File Reading via
filePathincontext_lens_code(#128): Enabledcontext_lens_codeto directly read files from disk whencodeis omitted, eliminating token-costly redundantread_fileroundtrips before skeletonization. Added file size limit (MAX_DIRECT_READ_BYTES= 1 MiB), directory guard, and automated language detection (detectLanguageFromPath). - Client CSS Fallback Theme Tokens (#128): Removed hardcoded
#fffffffallback in.cl-btn-primarywithinlib/client.js, strictly adhering to canonical DSH theme tokens and clearing the preflight warning. - On-Demand Architecture & Settings Clarification (#128): Realigned
README.md(EN, RU, ZH) with on-demand tool execution model, documented direct file reading parameters, and clarifiedautoCompressThresholdusage incontext_lens_log. Documented Section 11 On-Demand Semantic Execution & Direct File Reading Contract indocs/design/DESIGN.md. - Quality Gates: All 101 tests passing (
npm test),dsh-plugin-preflightFAIL=0, package size 29.7 KB (< 256 KB).
Release Metadata
- Plugin Version:
0.1.35 - Compatible DSH Version:
v0.2.0-rc.2 - Gitea Commit:
7e40c90aa9278122170098a9ddc50fe4e6d97f8c - Mirror Commit:
448126849ee7335686e7c0a7eddc2d13ffaa4e71
v0.1.34 [DSH v0.2.0-rc.2]
What's Changed
- Relative Focus Pattern Matching for Absolute File Paths (#125): Resolved an issue where relative focus patterns and directory names (e.g.
src,lib/foo.ts,./src,/src) failed to match absolute file paths (e.g./repo/src/a.js) incontext_lens_code, causing focused files to be skeletonized. Implemented boundary-checked directory segment matching and leading./normalization inlib/tools.jswith zero false positives for partial folder collisions (my-srcvssrc). - Design Contract Updated: Documented Session Focus Path Matching Contract in
docs/design/DESIGN.md. - Quality Gates: All 96 tests passing (
npm test),dsh-plugin-preflightFAIL=0, package size 28.5 KB (< 256 KB).
Release Metadata
- Plugin Version:
0.1.34 - Compatible DSH Version:
v0.2.0-rc.2 - Gitea Commit:
bc455b2f3ac1100ce7bc992eacc0c999bfe2e84c - Mirror Commit:
7850e4eda5addecbc199b392bc146aa3c74fec88
v0.1.33 [DSH v0.2.0-rc.2]
chore(publish): sanitized tree from 11bcc7c8
v0.1.32 [DSH v0.2.0-rc.2]
chore(publish): sanitized tree from 33fe7e83
v0.1.31 [DSH v0.2.0-rc.2]
chore(publish): sanitized tree from e0a49554
v0.1.30 [DSH v0.2.0-rc.2]
English
What's Changed
- Schemastery Volatile Box Unwrapping: Ensured that
plainConfigwraps initialreadConfigand teardown fallback inlib/index.js, preventing raw Schemastery Volatile boxes{ get: [Function] }from reaching tool consumers (astSkeletonMaxDepth,compressionMode,autoCompressThreshold) and preventingNaNor[object Object]comparisons. - Active Live Settings Cache Invalidation: Added local
cachedLiveSettingsthat is actively refreshed onsettings/document-updatedevents, eliminating empty stub handlers and avoiding repeated synchronousdescribe()queries during tool executions. - Pruned Dead Code: Removed unreachable legacy
sctx.settings.getbranch from host settings reader and pruned unused module-level variablelastActiveSessioninlib/tools.js.
中文
变更说明
- 解包 Schemastery Volatile 对象:确保在
lib/index.js的初始readConfig和 teardown 清理路径中均通过plainConfig解包配置,彻底杜绝{ get: [Function] }对象渗透进工具层(astSkeletonMaxDepth、compressionMode、autoCompressThreshold),避免由此引发的NaN或[object Object]比较异常。 - 主动刷新实时配置缓存:引入
cachedLiveSettings缓存,并在监听到settings/document-updated事件时主动刷新,移除了此前未执行任何操作的空注释监听器,同时避免了工具每次执行时重复同步查询describe()。 - 清理无用代码:移除宿主设置读取中已废弃且不存在的
sctx.settings.get分支,并清理了lib/tools.js中从未被读取的模块级变量lastActiveSession。
Русский
Что нового
- Распаковка Schemastery Volatile-боксов: Начальное присваивание
readConfigи восстановление конфигурации на этапе teardown вlib/index.jsтеперь гарантированно вызываютplainConfig(config). Это исключает попадание боксов{ get: [Function] }в потребители параметров инструментов (astSkeletonMaxDepth,compressionMode,autoCompressThreshold) и предотвращает появлениеNaNи[object Object]. - Активное обновление кэша настроек: Добавлен кэш
cachedLiveSettings, который активно обновляется при срабатывании событияsettings/document-updated, устраняя пустой обработчик и исключая избыточные синхронные вызовыdescribe()при каждом выполнении инструментов. - Удаление мёртвого кода: Удалена недостижимая ветка
sctx.settings.getв модуле настроек хоста, а также неиспользуемая переменнаяlastActiveSessionвlib/tools.js.
v0.1.29 [DSH v0.2.0-rc.2]
English
What's Changed
- DSH 0.2.0-rc.2 List Slot Compatibility: Starting with DSH Desktop 0.2.0-rc.2, the
plugins.itemslot was changed to a list slot requiringoptions.id. - Provided both
options.idandoptions.keyforplugins.itemfor dual compatibility across DSH 0.2.0-rc.2+ and older cores. - Retained
options.keyfor keyed slotplugins.row.config. - Wrapped slot registration inside the
injectcallback withtry / catchto eliminate unhandled boot exceptions. - Closes #3.
中文
变更说明
- 兼容 DSH 0.2.0-rc.2
plugins.item列表槽:自 DSH 0.2.0-rc.2 起,plugins.item槽变为列表槽(list slot),必须提供options.id。此前由于仅传递key,在每次启动时均会触发Uncaught Error: list slot "plugins.item" requires options.id。 - 为
plugins.item同时传递options.id与options.key,确保在 DSH 0.2.0-rc.2+ 及旧版内核中均能正确挂载设置卡片。 - 保留
plugins.row.config键控槽原有的key注册参数。 - 在
inject回调内增加try / catch异常隔离保护,防止槽注册异常冒泡造成崩溃。 - 关闭 #3。
Русский
Что нового
- Совместимость со списочным слотом
plugins.itemв DSH 0.2.0-rc.2: Начиная с DSH 0.2.0-rc.2 слотplugins.itemпереведён в типlist, требующийoptions.id. - Для
plugins.itemпередаются одновременноoptions.idиoptions.key(полная обратная совместимость). - Для слота
plugins.row.configсохранена передачаoptions.key. - Вызов регистрации внутри отложенного колбэка
injectзащищён блокомtry / catchс логированием вconsole.warn. - Закрывает #3.
v0.1.26
- Narrow to semantic compression (AST code skeletons, test/build logs)
- Delegate context budgeting, token counting, and tool pruning to DSH core (>= 0.1.5)
- Consolidate agent tools into context_lens_code and context_lens_log
- Streamline client UI settings card with client-side interactive preview
v0.1.25 — SettingsForms Adapter Fix
v0.1.25 — SettingsForms Adapter Fix
Fixed
- SettingsForms modern API adapter (#66): removed legacy call to nonexistent
sctx.settings.registerpreventing crash on DSH 0.1.7-rc.1 core. ImplementedSettingsFormsadapter withconfigure({ auto: false }), live reading viadescribe()/get(), dynamic updates viasettings/document-updated, and full cleanup on effect disposal.
v0.1.24 — Audit Optimizations & Bug Fixes
v0.1.24 — Audit Optimizations & Bug Fixes
Performance
- Optimized log auto-compression: replaced string array allocation
split(' ').length > 100with zero-allocation early-exithasAtLeastLines(text, 101)scan, delivering ~55x faster checks on large log outputs (#85). - Fast-path ANSI stripping: added immediate fast-path return in
cleanAnsifor strings without�and cached cleaned lines during log compression to eliminate duplicate regex execution (#88).
Security
- Hardened
/dsh-context-lens/statusroute: enforced HTTPGETmethod (405 Method Not Allowedon other methods) and verified trusted source viaisTrustedRequest(403 Forbiddenon untrusted origins), closing cross-site telemetry leak (#87).
Fixed
- Prevented session memory leak:
clearFocus(key)now explicitly deletes the session key fromfocusBySession, and enforced a maximum capacity limit (MAX_FOCUS_SESSIONS = 500) with LRU eviction (#86). - Sanitized focus paths and fixed matching: filtered out empty and whitespace strings in
context_lens_focus, and implemented strict path segment matching inisPathFocused()to prevent false compression bypass (#89).