@wipcomputer/wip-ldm-os 0.4.51 → 0.4.52

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/SKILL.md CHANGED
@@ -9,7 +9,7 @@ license: MIT
9
9
  compatibility: Requires git, npm, node. Node.js 18+.
10
10
  metadata:
11
11
  display-name: "LDM OS"
12
- version: "0.4.51"
12
+ version: "0.4.52"
13
13
  homepage: "https://github.com/wipcomputer/wip-ldm-os"
14
14
  author: "Parker Todd Brooks"
15
15
  category: infrastructure
package/lib/deploy.mjs CHANGED
@@ -814,29 +814,32 @@ export function installSingleTool(toolPath) {
814
814
  }
815
815
  }
816
816
 
817
- // Only register MCP, hooks, and skills if extension is enabled (#111)
817
+ // Deploy MCP, hooks, and skills for any extension that is enabled OR already deployed.
818
+ // Extensions installed before the enable/disable system have enabled=false in the registry
819
+ // but are already running (MCP registered, hooks in settings.json). Don't block their updates.
818
820
  const registry = loadRegistry();
819
- const isEnabled = registry.extensions?.[toolName]?.enabled ?? CORE_EXTENSIONS.has(toolName);
821
+ const registryEntry = registry.extensions?.[toolName];
822
+ const isEnabled = registryEntry?.enabled ?? CORE_EXTENSIONS.has(toolName);
823
+ const isAlreadyDeployed = registryEntry?.ldmPath && existsSync(registryEntry.ldmPath);
820
824
 
821
825
  if (interfaces.mcp) {
822
- if (isEnabled) {
826
+ if (isEnabled || isAlreadyDeployed) {
823
827
  if (registerMCP(toolPath, interfaces.mcp, toolName)) installed++;
824
828
  } else {
825
- skip(`MCP: ${toolName} installed but not enabled. Run: ldm enable ${toolName}`);
829
+ skip(`MCP: ${toolName} not enabled. Run: ldm enable ${toolName}`);
826
830
  }
827
831
  }
828
832
 
829
833
  if (interfaces.claudeCodeHook) {
830
- if (isEnabled) {
834
+ if (isEnabled || isAlreadyDeployed) {
831
835
  if (installClaudeCodeHook(toolPath, interfaces.claudeCodeHook)) installed++;
832
836
  } else {
833
- skip(`Hook: ${toolName} installed but not enabled`);
837
+ skip(`Hook: ${toolName} not enabled`);
834
838
  }
835
839
  }
836
840
 
837
841
  if (interfaces.skill) {
838
- // Skills always deploy regardless of enabled state.
839
- // They're instruction files (SKILL.md), not running code.
842
+ // Skills always deploy. They're instruction files, not running code.
840
843
  if (installSkill(toolPath, toolName)) installed++;
841
844
  }
842
845
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wipcomputer/wip-ldm-os",
3
- "version": "0.4.51",
3
+ "version": "0.4.52",
4
4
  "type": "module",
5
5
  "description": "LDM OS: identity, memory, and sovereignty infrastructure for AI agents",
6
6
  "engines": {