@openviking/dsh-memory-plugin 0.5.16 → 0.5.18

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/README.md CHANGED
@@ -35,7 +35,7 @@ It also needs `node examples/memory-plugin-shared/sync.mjs` run first: the
35
35
 
36
36
  ## Requirements
37
37
 
38
- - `@deepseek-ai/dsh` `0.1.0-rc.6`, `0.1.5-rc.1`, `0.1.5-rc.2`, or `0.1.7-rc.2`; stable `0.1.x` releases are also admitted by the peer range
38
+ - `@deepseek-ai/dsh` `0.1.0-rc.6` or later, below `1.0.0` (see [DSH version compatibility](#dsh-version-compatibility))
39
39
  - Node.js `^22.19.0` or `>=24`
40
40
  - A reachable OpenViking server
41
41
 
@@ -49,18 +49,34 @@ individual DSH core packages to the profile. DSH initializes profiles with
49
49
  available through its module fallback at boot. A missing-peer warning during
50
50
  `dsh plugin add` alone does not prove startup is broken.
51
51
 
52
- The peer range is `>=0.1.0-rc.6 <0.2.0 || ^0.1.5-rc.1 || ^0.1.7-rc.2`. Each
53
- pre-release clause admits one series explicitly: semver does not include a
54
- release candidate in the first clause merely because it compares above
55
- `0.1.0-rc.6`, so every verified pre-release series is listed on its own. Other
56
- pre-release series need separate verification. Local devDependencies and
57
- `overrides` stay pinned to rc.6 to exercise the minimum supported contract.
58
-
59
52
  Everything under `shared/` and `skills/` is generated by
60
53
  `node examples/memory-plugin-shared/sync.mjs` — edit
61
54
  `examples/memory-plugin-shared/lib/` and `examples/skills/`, never the vendored
62
55
  copies.
63
56
 
57
+ ### DSH version compatibility
58
+
59
+ The peer range is `>=0.1.0-rc.6 <1.0.0-0`. DSH checks each `@deepseek-ai/dsh-*`
60
+ peer when it loads a plugin, with pre-releases included in the range, so this
61
+ admits every 0.x release and pre-release from `0.1.0-rc.6` on, including ones
62
+ published after this bundle. The bundle touches a small DSH surface —
63
+ `createUserMessage` and `boundContextSummary` from `@deepseek-ai/dsh-llm` and
64
+ the plugin entry points of `@deepseek-ai/dsh-mcp-client` and
65
+ `@deepseek-ai/dsh-skill-filesystem` — so the range is not narrowed to the
66
+ releases tested so far.
67
+
68
+ Verified releases: `0.1.0-rc.6`, `0.1.5-rc.1`, `0.1.5-rc.2`, `0.1.7-rc.2`,
69
+ `0.2.0-rc.2`, and `0.2.1-alpha.1`. A daily job
70
+ (`.github/workflows/host-compat.yml`) runs the bundle's tests against the
71
+ releases DSH's `latest`, `next`, and `alpha` dist-tags point at, installs each
72
+ of those releases, adds the packed bundle to a profile and checks
73
+ `--dump-config` lists it, and opens an issue when any of that fails, so a breaking release is usually caught before users
74
+ reach it; if the bundle still fails to start on a new release, pin DSH to a
75
+ verified one and open an issue. DSH 1.0 and later, pre-releases included, fall outside the
76
+ range and DSH refuses to load the bundle; `dsh plugin allow-version` grants an exact-version
77
+ exemption if you accept the risk. Local devDependencies and `overrides` stay
78
+ pinned to rc.6 to exercise the minimum supported contract.
79
+
64
80
  ## Troubleshooting startup
65
81
 
66
82
  If startup reports that `@deepseek-ai/dsh-llm` does not export `assertNever`,
package/config.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { buildPluginConfig } from "./shared/plugin-config.mjs";
2
2
  import { loadCredentialFiles } from "./shared/credentials.mjs";
3
3
 
4
- export const PLUGIN_VERSION = "0.5.16";
4
+ export const PLUGIN_VERSION = "0.5.18";
5
5
 
6
6
  /**
7
7
  * Namespace for the bridged OpenViking MCP tools. DSH publishes every MCP tool
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openviking/dsh-memory-plugin",
3
- "version": "0.5.16",
3
+ "version": "0.5.18",
4
4
  "description": "OpenViking memory and context bundle for DeepSeek Harness",
5
5
  "icon": "./icon.svg",
6
6
  "type": "module",
@@ -43,9 +43,9 @@
43
43
  "prepublishOnly": "npm run prepack && npm run check && npm test"
44
44
  },
45
45
  "peerDependencies": {
46
- "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6 <0.2.0 || ^0.1.5-rc.1 || ^0.1.7-rc.2",
47
- "@deepseek-ai/dsh-mcp-client": ">=0.1.0-rc.6 <0.2.0 || ^0.1.5-rc.1 || ^0.1.7-rc.2",
48
- "@deepseek-ai/dsh-skill-filesystem": ">=0.1.0-rc.6 <0.2.0 || ^0.1.5-rc.1 || ^0.1.7-rc.2"
46
+ "@deepseek-ai/dsh-llm": ">=0.1.0-rc.6 <1.0.0-0",
47
+ "@deepseek-ai/dsh-mcp-client": ">=0.1.0-rc.6 <1.0.0-0",
48
+ "@deepseek-ai/dsh-skill-filesystem": ">=0.1.0-rc.6 <1.0.0-0"
49
49
  },
50
50
  "devDependencies": {
51
51
  "@deepseek-ai/dsh-llm": "0.1.0-rc.6",
@@ -27,7 +27,10 @@ export function isBypassed(cfg, { sessionId, cwd } = {}) {
27
27
  if (cfg.bypassSession) return true;
28
28
  const patterns = cfg.bypassSessionPatterns || [];
29
29
  if (patterns.length === 0) return false;
30
- const haystacks = [sessionId, cwd].filter(Boolean);
30
+ // Windows hands hooks `C:\work\scratch`, while directory patterns are written
31
+ // with forward slashes.
32
+ const slashCwd = typeof cwd === "string" && cwd.includes("\\") ? cwd.replace(/\\/g, "/") : "";
33
+ const haystacks = [sessionId, cwd, slashCwd].filter(Boolean);
31
34
  for (const pat of patterns) {
32
35
  const re = globToRe(pat);
33
36
  if (haystacks.some((h) => re.test(h))) return true;