Skip to content

Releases

v0.1.9 [DSH v0.2.0-rc.2]: Replace dead settings.register with configure and describe

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 15 Oct 14:31

English

Overview

Release v0.1.9 modernizes the host settings integration for DeepSeek Harness 0.2.0+, replacing the non-existent sctx.settings.register method with the canonical settings.configure and settings.describe().find() pattern and introducing VolatileRef unboxing.

Key Changes

  • Eliminate Dead Settings Branch (#29): Replaced legacy sctx.settings.register call with modern sctx.settings.configure({ auto: false }, ctx.fiber) and sctx.settings.describe().find((row) => row.ns === name).
  • Volatile Reference Unwrapping: Added plainConfig and resolveConfig helpers to recursively unwrap VolatileRef boxes, functions, arrays, and nested structures mutated in-place by the DSH loader.
  • Reactive Document Updates: Subscribed to settings/document-updated event with automatic re-read and proper disposer cleanup via sctx.effect.
  • Design & Architecture: Added ADR-007 to docs/design/DESIGN.md and updated CHANGELOG.md.
  • Test Coverage: Added regression tests for plainConfig unboxing, settings.configure, and settings.describe integration (19/19 passing).

Verification

  • Unit & regression tests: 19/19 passing (node --test test/*.test.mjs).
  • Preflight verification: FAIL=0 WARN=2 via preflight.sh.
  • Test contour (MiniPC): Verified on 192.168.1.123 via dsh-test-plugin install, live status DSH_TEST_OK, and clean cleanup.

中文

概述

v0.1.9 版本针对 DeepSeek Harness 0.2.0+ 现代设置架构进行了全面优化,彻底清除了已失效的 sctx.settings.register 分支,升级为规范的 settings.configure 与 settings.describe().find() 模式,并支持 VolatileRef 解包。

主要改动

  • 清除已失效的设置注册调用 (#29): 在 lib/index.js 中将已废弃的 sctx.settings.register 替换为现代 DSH 0.2.0+ 推荐的 sctx.settings.configure({ auto: false }, ctx.fiber) 与 sctx.settings.describe().find((row) => row.ns === name)。
  • Volatile 动态引用解包: 引入 plainConfig 与 resolveConfig 辅助函数,递归展开 DSH 运行时加载器动态注入的 VolatileRef 响应式对象、函数及深层嵌套结构。
  • 响应式配置热更新: 监听 settings/document-updated 事件,动态重新拉取设置,并在 sctx.effect 中注册清理函数。
  • 架构决策与文档: 在 docs/design/DESIGN.md 中追加 ADR-007,同步维护 CHANGELOG.md。
  • 测试覆盖: 新增 plainConfig 与设置服务集成单元测试(19/19 全部通过)。

验证情况

  • 单元与回归测试:19/19 全部通过 (node --test test/*.test.mjs)。
  • Preflight 机械检查:FAIL=0 WARN=2。
  • 测试环境 (MiniPC):在 192.168.1.123 上通过 dsh-test-plugin install 验证,状态 DSH_TEST_OK,并完成完整环境清理。

Русский

Обзор

Релиз v0.1.9 актуализирует механизм интеграции настроек хоста под DeepSeek Harness 0.2.0+, заменяя отсутствующий метод sctx.settings.register на каноническую связку settings.configure и settings.describe().find(), а также обеспечивая прозрачное разворачивание VolatileRef.

Основные изменения

  • Устранение мёртвой ветки настроек (#29): В lib/index.js удалён устаревший вызов sctx.settings.register. Вместо него задействована официальная связка ядра DSH 0.2.0+: sctx.settings.configure({ auto: false }, ctx.fiber) для регистрации формы и sctx.settings.describe().find((row) => row.ns === name) для считывания живых параметров.
  • Разворачивание Volatile-значений: Реализованы функции plainConfig и resolveConfig, рекурсивно извлекающие значения из боксов VolatileRef, функций и вложенных объектов при их горячей модификации загрузчиком DSH.
  • Реактивная подписка на обновления: Добавлен слушатель события settings/document-updated с динамической перезагрузкой конфигурации и регистрацией диспозеров в sctx.effect.
  • Дизайн-контракт: В docs/design/DESIGN.md добавлен ADR-007, обновлён CHANGELOG.md.
  • Покрытие тестами: Добавлены регрессионные тесты для plainConfig и взаимодействия с сервисом настроек (19/19 успешно пройдены).

Проверки

  • Модульные тесты: 19/19 пройдены (node --test test/*.test.mjs).
  • Preflight: FAIL=0 WARN=2 через preflight.sh.
  • Тестовый контур (MiniPC): Успешная установка и верификация на 192.168.1.123 через dsh-test-plugin install, статус DSH_TEST_OK, штатный cleanup.

v0.1.8: Settings adaptation for DSH 0.2.0+ and Desktop

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 09 Oct 19:22

English

Overview

Release v0.1.8 provides full compatibility and hardening for DeepSeek Harness 0.2.0+ and DSH Desktop runtime environments, resolving startup exceptions and modernizing the settings architecture.

Key Changes

  • Fix DSH Desktop Startup Exception (#26): In lib/index.js, changed settings registration namespace from scoped package name @goodandready/dsh-session-search to short identifier dsh-session-search matching /^[a-z][a-z0-9-]*$/, guarded with try / catch fallback to prevent host crash if the settings service is missing or fails.
  • Modern configForms Migration (#21, #23): In lib/client.js, modernized settings card to resolve scope via ctx.configForms.get('dsh-session-search') with fallback to legacy ctx.settingsScope, subscribing to live snapshots and displaying explicit diagnostic errors when scope is unavailable instead of misleading "Saved" status.
  • Service Injection Declaration (#21): Declared configForms in client inject (exports.inject = ['slots', 'locale', 'configForms']).
  • Volatile Configuration Updates (#22): Added listener for loader/volatile-update events in host runtime to seamlessly reflect runtime setting adjustments.
  • Style Isolation Attribute (#25): Normalized data-dsh-plugin attribute on injected <style> tag to short dsh-session-search.
  • Packaging & Changelog (#24): Added standard CHANGELOG.md following Keep a Changelog format and included it in package.json.files.
  • Architecture & Design: Updated docs/design/DESIGN.md with ADR-006.

Verification

  • Unit & regression tests: 17/17 passing (node --test test/*.test.mjs).
  • Preflight verification: FAIL=0 WARN=2 via preflight.sh.
  • Test contour (MiniPC): Verified on 192.168.1.123 via dsh-test-plugin install, live status DSH_TEST_OK, and clean cleanup.
  • Production contour: Validated against DSH 0.2.0+ Web & Desktop runtime contracts.

中文

概述

v0.1.8 版本针对 DeepSeek Harness 0.2.0+ 与 DSH 桌面端 (Desktop) 运行环境提供了全面的适配与加固,解决了启动异常并升级了设置卡片架构。

主要改动

  • 修复 DSH 桌面端启动异常 (#26): 在 lib/index.js 中将设置命名空间从带作用域的包名 @goodandready/dsh-session-search 替换为符合 /^[a-z][a-z0-9-]*$/ 规范的短标识符 dsh-session-search,并增加 try / catch 防御与日志警告,防止设置服务缺失或失败时导致主程序崩溃。
  • 迁移至现代 configForms 架构 (#21, #23): 在 lib/client.js 中重构设置卡片,优先通过 ctx.configForms.get('dsh-session-search') 获取作用域并兼容旧版 ctx.settingsScope,订阅快照更新,并在作用域不可用时明确显示错误诊断,杜绝虚假“已保存”提示。
  • 显式服务注入 (#21): 在客户端注入声明中追加 configForms (exports.inject = ['slots', 'locale', 'configForms'])。
  • 动态配置热更新 (#22): 宿主运行时监听 loader/volatile-update 事件,支持运行时参数热同步。
  • 样式属性规范化 (#25): 注入的 <style> 标签上的 data-dsh-plugin 属性统一使用短标识符 dsh-session-search。
  • 变更日志与打包规范 (#24): 遵循 Keep a Changelog 标准建立根目录 CHANGELOG.md 并纳入 package.json.files 白名单。
  • 架构决策记录: 更新 docs/design/DESIGN.md 并追加 ADR-006。

验证情况

  • 单元及回归测试:17/17 通过 (node --test test/*.test.mjs)。
  • Preflight 机械检查:FAIL=0 WARN=2。
  • 测试环境 (MiniPC):在 192.168.1.123 上通过 dsh-test-plugin install 验证,状态 DSH_TEST_OK,并完成完整环境清理。
  • 生产环境:完全符合 DSH 0.2.0+ Web 与桌面端运行规范。

Русский

Обзор

Релиз v0.1.8 обеспечивает полную совместимость и отказоустойчивость плагина в средах DeepSeek Harness 0.2.0+ и DSH Desktop, устраняя сбои при запуске и модернизируя архитектуру настроек.

Основные изменения

  • Исправление сбоя запуска в DSH Desktop (#26): В lib/index.js пространство имен настроек переведено со scoped-имени @goodandready/dsh-session-search на короткий идентификатор dsh-session-search, строго удовлетворяющий регулярному выражению /^[a-z][a-z0-9-]*$/. Регистрация обернута в защитную конструкцию try / catch с предупреждением в лог, исключая падение хоста при сбое сервиса настроек.
  • Миграция на configForms (#21, #23): В lib/client.js карточка настроек переведена на сервис ctx.configForms.get('dsh-session-search') с обратной совместимостью с ctx.settingsScope, подпиской на обновления снимка и выводом четкой диагностики ошибки при недоступности скоупа вместо ложного статуса «Сохранено».
  • Декларация инжекта сервисов (#21): В клиентский экспорт exports.inject добавлен сервис configForms (['slots', 'locale', 'configForms']).
  • Синхронизация динамических настроек (#22): В хост-модуле добавлена подписка на событие loader/volatile-update для корректной реакции на обновление конфигурации без перезагрузки.
  • Изоляция стилей (#25): Атрибут data-dsh-plugin на теге <style> унифицирован до короткого идентификатора dsh-session-search.
  • CHANGELOG.md и комплект поставки (#24): Создан CHANGELOG.md по стандарту Keep a Changelog и добавлен в package.json.files.
  • Дизайн-контракт: В docs/design/DESIGN.md добавлен ADR-006.

Проверки

  • Модульные тесты: 17/17 пройдены (node --test test/*.test.mjs).
  • Preflight: FAIL=0 WARN=2 через preflight.sh.
  • Тестовый контур (MiniPC): Успешная установка и верификация на 192.168.1.123 через dsh-test-plugin install, статус DSH_TEST_OK, штатный cleanup.
  • Боевой контур: Полная совместимость с контрактами DSH 0.2.0+ Web и Desktop.

v0.1.7: Cordis client inject declarations and lifecycle hardening

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 27 Sep 17:37

English

Overview

Release v0.1.7 resolves a critical client runtime dependency issue where the browser module interacted with locale and slots services without declaring explicit Cordis service injections (exports.inject = ['slots', 'locale']). This could lead to out-of-order activation or loading failures, causing cascading delays in dependent Web UI services (such as dsh-client-ui-conversation).

Key Changes

  • Cordis Service Injection: Declared exports.inject = ['slots', 'locale'] (and module.exports.inject) in lib/client.js.
  • Resilient Registration: Wrapped ctx.locale.register and slot registrations with typeof ctx.effect === 'function' detection and fallback to direct execution.
  • Regression Testing: Added automated test assertion in test/identity.test.mjs verifying client inject export integrity.
  • Architecture & Design: Updated docs/design/DESIGN.md with ADR-005.

Verification

  • Unit & regression tests: 15/15 passing (node --test test/*.test.mjs).
  • Preflight verification: FAIL=0 WARN=2 via preflight.sh.
  • Test contour (MiniPC): Verified on 192.168.1.123 via dsh-test-plugin install, live HTTP inspection, and clean cleanup.
  • Production contour (MiniAI): Verified runtime bootstrap and live module loading.

中文

概述

v0.1.7 版本修复了客户端模块的一个关键运行时依赖问题:浏览器模块在调用 locale 和 slots 服务时未向 Cordis 显式声明服务注入 (exports.inject = ['slots', 'locale'])。这可能导致插件在依赖服务尚未准备就绪时提前激活,引发 Web UI 依赖服务(如 dsh-client-ui-conversation)出现级联等待或启动失败。

主要改动

  • Cordis 服务注入: 在 lib/client.js 中显式声明并导出 exports.inject = ['slots', 'locale'] 与 module.exports.inject。
  • 高可用注册流程: 检查 ctx.effect 存在性,在缺少 effector 时自动回退至直接注册,增强宿主兼容性。
  • 回归测试: 在 test/identity.test.mjs 中添加针对客户端 inject 导出的自动化测试。
  • 架构决策记录: 更新 docs/design/DESIGN.md 并追加 ADR-005。

验证情况

  • 单元及回归测试:15/15 通过 (node --test test/*.test.mjs)。
  • Preflight 机械检查:FAIL=0 WARN=2。
  • 测试环境 (MiniPC):在 192.168.1.123 上通过 dsh-test-plugin install 完成完整生命周期验证与清理。
  • 生产环境 (MiniAI):验证运行时启动和客户端模块正常加载。

Русский

Обзор

Релиз v0.1.7 устраняет критический сбой в клиентском модуле плагина: браузерный бандл обращался к сервисам locale и slots, не объявляя явный Cordis-инжект (exports.inject = ['slots', 'locale']). Вследствие этого модуль мог активироваться до готовности сервисов, вызывая сбой инициализации и каскадный перевод зависимых UI-компонентов (включая dsh-client-ui-conversation и чат) в состояние pending.

Основные изменения

  • Cordis inject клиентского модуля: В lib/client.js явно объявлен и экспортирован exports.inject = ['slots', 'locale'] (и module.exports.inject).
  • Отказоустойчивая регистрация: Вызовы регистрации локалей и слотов снабжены проверкой typeof ctx.effect === 'function' с корректным fallback-вызовом при отсутствии эффектора.
  • Регрессионное тестирование: В test/identity.test.mjs добавлен обязательный тест, контролирующий экспорт inject в клиентском коде.
  • Дизайн-контракт: В docs/design/DESIGN.md добавлен ADR-005.

Проверки

  • Модульные тесты: 15/15 пройдены (node --test test/*.test.mjs).
  • Preflight: FAIL=0 WARN=2 через preflight.sh.
  • Тестовый контур (MiniPC): Успешная установка и проверка на 192.168.1.123 через dsh-test-plugin install, статус DSH_TEST_OK, штатный cleanup.
  • Боевой контур (MiniAI): Проверена работоспособность и корректная отдача бандла сервисом dsh-web.service.

v0.1.6 - DSH Settings Surface & Product Allowlist

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 26 Sep 17:00

What's Changed

  • DSH Settings Surface (#16): Native client settings module (lib/client.js) registering interactive configuration cards in plugins.row.config, settings.plugin.item, and plugins.item. Users can configure maxResults, snippetLength, and timeoutMs directly within the Web UI with live validation.
  • Product-Only Artifact (#15): Restrict package files field strictly to production deliverables (lib/, cordis.patch.yml, README*, LICENSE), excluding tests and internal design notes from the published npm package.
  • Updater & Maintenance Policy (#17): Explicitly declared updater policy in documentation and settings card — updates are cleanly managed via the DSH CLI (dsh plugin --profile web add @goodandready/dsh-session-search@latest).
  • Dynamic Host Settings Integration: Host apply() connects to Cordis settings service for dynamic runtime configuration synchronization.

Full Changelog: v0.1.5...v0.1.6

v0.1.5 - Lifecycle Hardening and Temporal Search Enrichment

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 24 Sep 12:54

What's Changed

  • Lifecycle Hardening: Enclosed ctx.tools.register inside Cordis ctx.effect to ensure clean resource disposal on plugin reload / shutdown.
  • Defensive Execution: Configured imeoutMs: 30000 to prevent hanging search operations and marked the tool with isConcurrencySafe: () => true for safe parallel LLM invocations.
  • Strict Input Validation: Pre-validates query string early to reject empty or whitespace-only queries with clear feedback before querying the SQLite FTS engine.
  • Date & Snippet Enhancements: Added session creation/update dates (YYYY-MM-DD) to search results and made snippetLength configurable (default: 200).
  • Comprehensive Test Suite: 12/12 unit tests verifying disposal, timeout, validation, date formatting, and error handling.

Full Changelog: v0.1.4...v0.1.5

v0.1.4

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 17 Sep 15:58

What's Changed in v0.1.4

  • Initial Public Release: Public package release under the @goodandready scope on npmjs.
  • Model-Facing Search Tool: Exposes native session_search tool for DeepSeek Harness autonomous agents (Dee / Ди).
  • Zero Overhead & SQLite FTS5: Leverages core @deepseek-ai/dsh-session-query-sqlite engine without decompressing .jsonl.zstd archives into RAM.
  • Canonical Language: Canonical English tool schema, parameter descriptions, and runtime notices.
  • Comprehensive Documentation: Detailed documentation across English (README.md), Chinese (README.zh.md), and Russian (README.ru.md).
  • Regression Tested: 100% test pass rate covering limits, signals, whitespace normalization, cursor hints, and error handling.