dsh-agy-link 0.4.81 → 0.4.82

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.82 (2026-10-29)
4
+
5
+ ### English
6
+
7
+ - **Fix(sessions): don't mis-purge live bindings whose session key contains `:`.**
8
+ - `cleanupStaleAccounts()` split the binding key on the FIRST `:`. A DSH session id can itself be composite and contain `:` (as several plugins produce), so `ns:sess:acc_valid` parsed its "account id" as `sess:acc_valid`, which is never in the valid set — the cleanup then **deleted a live binding**. It now splits on the LAST `:` and only treats the suffix as an account id when it matches the pool shape `acc_<...>`, so colon-containing session keys are never mistaken for accounts. Adds a regression test.
9
+
10
+ ### 中文
11
+
12
+ - **修复(sessions):不再误删会话键本身含 `:` 的有效绑定。**
13
+ - `cleanupStaleAccounts()` 之前按**第一个** `:` 切分绑定键。DSH 的会话 id 有可能本身是含 `:` 的复合键(部分插件如此),于是 `ns:sess:acc_valid` 被解析出的「账号 id」为 `sess:acc_valid`,永远不在有效集合里——清理逻辑因此**删掉了一个有效绑定**。现在改为按**最后一个** `:` 切分,且仅当后缀符合账号池形态 `acc_<...>` 时才当作账号 id,含 `:` 的会话键不会被误判为账号。补充回归测试。
14
+
15
+ **Full Changelog**: https://github.com/amlyczz/dsh-agy-link/compare/v0.4.81...v0.4.82
16
+
3
17
  ## 0.4.81 (2026-10-29)
4
18
 
5
19
  ### English
package/dist/index.js CHANGED
@@ -29503,10 +29503,10 @@ var SessionStore = class {
29503
29503
  cleanupStaleAccounts(validAccountIds) {
29504
29504
  let changed = false;
29505
29505
  for (const key of Object.keys(this.data)) {
29506
- const colon = key.indexOf(":");
29506
+ const colon = key.lastIndexOf(":");
29507
29507
  if (colon >= 0) {
29508
29508
  const accId = key.slice(colon + 1);
29509
- if (accId && !validAccountIds.has(accId)) {
29509
+ if (/^acc_[A-Za-z0-9_]+$/.test(accId) && !validAccountIds.has(accId)) {
29510
29510
  delete this.data[key];
29511
29511
  this.dirty.delete(key);
29512
29512
  this.removed.add(key);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-agy-link",
3
- "version": "0.4.81",
3
+ "version": "0.4.82",
4
4
  "description": "Google Antigravity (agy CLI) models for DeepSeek Harness — stream Gemini/Claude/GPT-OSS subscriptions into DSH with thinking, tool activity, token usage and in-GUI Google OAuth login.",
5
5
  "type": "module",
6
6
  "license": "MIT",