memcue-dsh 0.5.0 → 0.5.2

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
@@ -42,9 +42,12 @@ once; `memcue_correct` of an approved fact is a deliberate correction, not a can
42
42
 
43
43
  ## Supported dsh
44
44
 
45
- The memcue binary must be 0.4.0 or newer: the plugin asks `memcue version -json` when it loads and, on an older
46
- binary, turns the session card and extraction off with one warning (recall keeps working, because the 0.3 hook is
47
- compatible). A build from source reports a suffixed version and counts as the current tree.
45
+ The plugin asks `memcue version -json` when it loads. Without a configured `binary` or `MEMCUE_BIN`, a missing binary
46
+ or one older than the plugin's release is replaced by that release, installed into
47
+ `$XDG_DATA_HOME/memcue/<version>/` (`MEMCUE_AUTO_INSTALL=0` turns that off): an older release may not open the base
48
+ the new one writes. A binary older than 0.4.0 that stays, a configured one or a failed install, turns the session card
49
+ and extraction off with one warning (recall keeps working). A build from source reports a suffixed version and counts
50
+ as the current tree.
48
51
 
49
52
  Tested with `dsh 0.2.0-rc.2`. Both the repository bundle and the standalone package declare
50
53
  `>=0.2.0-rc.2 <0.3.0` peer ranges for `@deepseek-ai/dsh-llm` and `@deepseek-ai/dsh-tools`, so dsh's compatibility
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "memcue-dsh",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "memcue long-term memory for DeepSeek Harness (dsh): facts recalled before a step, extracted when a turn ends",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/src/index.mjs CHANGED
@@ -529,15 +529,19 @@ export function apply(ctx, config) {
529
529
  }
530
530
  }
531
531
 
532
- // Check once that the binary has the commands the plugin uses. Without a configured binary, a missing or older
533
- // one is replaced by the release of this plugin, installed or downloaded; until that is done recall uses what
534
- // PATH has. Anything else turns the card and extraction off with one clear line instead of failing every turn.
532
+ // Check once that the binary has the commands the plugin uses. Without a configured binary, a missing one, or one
533
+ // older than this plugin's release, is replaced by that release, installed or downloaded: an older release may not
534
+ // open the base the plugin's release writes (#272). Until that is done recall uses what PATH has. Anything else
535
+ // turns the card and extraction off with one clear line instead of failing every turn.
535
536
  const checkBinary = async () => {
536
537
  let { found, reported } = await versionOf()
537
- if (!settings.pinned && !(found && versionAtLeast(reported, MIN_BINARY))) {
538
- let version = ''
538
+ let version = ''
539
+ try {
540
+ version = await pluginVersion()
541
+ } catch {}
542
+ if (!settings.pinned && !(found && versionAtLeast(reported, version || MIN_BINARY))) {
539
543
  try {
540
- version = await pluginVersion()
544
+ version = version || (await pluginVersion())
541
545
  settings.binary = await install(version)
542
546
  ;({ found, reported } = await versionOf())
543
547
  } catch (error) {