deepflow 0.1.93 → 0.1.95

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.
Files changed (2) hide show
  1. package/bin/install.js +32 -2
  2. package/package.json +1 -1
package/bin/install.js CHANGED
@@ -243,6 +243,7 @@ async function configureHooks(claudeDir) {
243
243
  const worktreeGuardCmd = `node "${path.join(claudeDir, 'hooks', 'df-worktree-guard.js')}"`;
244
244
  const snapshotGuardCmd = `node "${path.join(claudeDir, 'hooks', 'df-snapshot-guard.js')}"`;
245
245
  const invariantCheckCmd = `node "${path.join(claudeDir, 'hooks', 'df-invariant-check.js')}"`;
246
+ const subagentRegistryCmd = `node "${path.join(claudeDir, 'hooks', 'df-subagent-registry.js')}"`;
246
247
 
247
248
  let settings = {};
248
249
 
@@ -395,6 +396,26 @@ async function configureHooks(claudeDir) {
395
396
  });
396
397
  log('PostToolUse hook configured');
397
398
 
399
+ // Configure SubagentStop hook for subagent registry
400
+ if (!settings.hooks.SubagentStop) {
401
+ settings.hooks.SubagentStop = [];
402
+ }
403
+
404
+ // Remove any existing subagent registry hooks
405
+ settings.hooks.SubagentStop = settings.hooks.SubagentStop.filter(hook => {
406
+ const cmd = hook.hooks?.[0]?.command || '';
407
+ return !cmd.includes('df-subagent-registry');
408
+ });
409
+
410
+ // Add subagent registry hook
411
+ settings.hooks.SubagentStop.push({
412
+ hooks: [{
413
+ type: 'command',
414
+ command: subagentRegistryCmd
415
+ }]
416
+ });
417
+ log('SubagentStop hook configured');
418
+
398
419
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
399
420
  }
400
421
 
@@ -575,7 +596,7 @@ async function uninstall() {
575
596
  ];
576
597
 
577
598
  if (level === 'global') {
578
- toRemove.push('hooks/df-statusline.js', 'hooks/df-check-update.js', 'hooks/df-invariant-check.js', 'hooks/df-quota-logger.js', 'hooks/df-tool-usage.js', 'hooks/df-dashboard-push.js', 'hooks/df-execution-history.js', 'hooks/df-worktree-guard.js', 'hooks/df-snapshot-guard.js');
599
+ toRemove.push('hooks/df-statusline.js', 'hooks/df-check-update.js', 'hooks/df-invariant-check.js', 'hooks/df-quota-logger.js', 'hooks/df-tool-usage.js', 'hooks/df-dashboard-push.js', 'hooks/df-execution-history.js', 'hooks/df-worktree-guard.js', 'hooks/df-snapshot-guard.js', 'hooks/df-subagent-registry.js');
579
600
  }
580
601
 
581
602
  for (const item of toRemove) {
@@ -628,11 +649,20 @@ async function uninstall() {
628
649
  delete settings.hooks.PostToolUse;
629
650
  }
630
651
  }
652
+ if (settings.hooks?.SubagentStop) {
653
+ settings.hooks.SubagentStop = settings.hooks.SubagentStop.filter(hook => {
654
+ const cmd = hook.hooks?.[0]?.command || '';
655
+ return !cmd.includes('df-subagent-registry');
656
+ });
657
+ if (settings.hooks.SubagentStop.length === 0) {
658
+ delete settings.hooks.SubagentStop;
659
+ }
660
+ }
631
661
  if (settings.hooks && Object.keys(settings.hooks).length === 0) {
632
662
  delete settings.hooks;
633
663
  }
634
664
  fs.writeFileSync(settingsPath, JSON.stringify(settings, null, 2));
635
- console.log(` ${c.green}✓${c.reset} Removed SessionStart/SessionEnd/PostToolUse hooks`);
665
+ console.log(` ${c.green}✓${c.reset} Removed SessionStart/SessionEnd/PostToolUse/SubagentStop hooks`);
636
666
  } catch (e) {
637
667
  // Fail silently
638
668
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepflow",
3
- "version": "0.1.93",
3
+ "version": "0.1.95",
4
4
  "description": "Doing reveals what thinking can't predict — spec-driven iterative development for Claude Code",
5
5
  "keywords": [
6
6
  "claude",