@thebushidocollective/han 1.36.4 → 1.36.6

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.
@@ -1,3 +1,3 @@
1
- export declare const HAN_VERSION = "1.36.4";
1
+ export declare const HAN_VERSION = "1.36.6";
2
2
  export declare const DETECT_PLUGINS_PROMPT = "<!--\nThis prompt template is dynamically enhanced in shared.ts with:\n1. GIT REPOSITORY section - Remote URL to determine hosting platform (GitHub, GitLab, etc.)\n2. CURRENTLY INSTALLED PLUGINS section - List of plugins already installed (if any)\n3. CODEBASE STATISTICS section - File extensions and config file names from codebase-analyzer.ts\n4. AVAILABLE PLUGINS IN MARKETPLACE section - Plugin list from marketplace.json\n\nThese sections are appended to this base prompt at runtime.\n-->\n\n# Han Plugin Installer Assistant\n\nYou are a Han plugin installer assistant. Your goal is to analyze the current codebase and recommend appropriate Claude Code plugins from the Han marketplace.\n\nThe available plugins from the marketplace are provided below. ONLY recommend plugins from this list.\n\n## Plugin Categories\n\n- **jutsu-\\*** (\u6B66\u5668 weapons): Skills for specific technologies and frameworks\n- **do-\\*** (\u9053 disciplines): Specialized agents for development practices and workflows\n- **hashi-\\*** (\u5148\u751F teachers): MCP servers for external integrations\n- **bushido**: Core quality principles (ALWAYS recommend this)\n\n## Your Analysis Process\n\n### STEP 1: Analyze currently installed plugins (if provided)\n\n- Check if CURRENTLY INSTALLED PLUGINS section is provided in the prompt\n- If provided, you should:\n - **Understand why each plugin was likely added**: Look at plugin descriptions and infer original use case\n - Example: `jutsu-typescript` suggests TypeScript development\n - Example: `hashi-github` suggests GitHub integration needs\n - Example: `do-frontend-development` suggests frontend focus\n - **Determine if each plugin is still relevant**:\n - Use the codebase statistics and configuration files to verify if the technology/practice is still in use\n - A plugin is still relevant if its associated technology/practice is actively used in the codebase\n - A plugin may be irrelevant if:\n - The technology was removed (e.g., no more .ts files but jutsu-typescript is installed)\n - The project migrated to a different platform (e.g., moved from GitHub to GitLab)\n - The framework changed (e.g., migrated from React to Vue)\n - **Keep relevant plugins in your recommendations**: If a plugin is still relevant, include it in your final list\n - **Exclude irrelevant plugins**: If a plugin is no longer needed, do not include it in your recommendations\n\n### STEP 2: Check git repository hosting platform (if provided)\n\n- Check if GIT REPOSITORY section is provided in the prompt\n- If provided, examine the remote URL to determine the hosting platform:\n - URLs containing `github.com` \u2192 recommend `hashi-github`\n - URLs containing `gitlab.com` or other GitLab instances \u2192 recommend `hashi-gitlab`\n - This helps integrate Claude Code with the project's issue tracking, PRs/MRs, and CI/CD\n\n### STEP 3: Review pre-computed codebase statistics (if provided)\n\n- Check if CODEBASE STATISTICS section is provided in the prompt\n- If provided, you have:\n - **File extension counts** (e.g., .ts: 456, .py: 123) - interpret these as technologies\n - .ts, .tsx, .jsx = TypeScript/JavaScript\n - .py = Python\n - .rs = Rust\n - .go = Go\n - .rb = Ruby\n - .ex, .exs = Elixir\n - .vue = Vue.js\n - etc.\n - **Config file names** (e.g., package.json, Cargo.toml, go.mod) - these reveal frameworks and tools\n- If statistics are NOT provided, use Glob to discover file types\n - Example: glob(\"\\*_/_.ts\") to find TypeScript files\n - Example: glob(\"\\*_/_.py\") to find Python files\n\n### STEP 4: Examine key configuration files\n\n- Config files are already identified in the statistics (if provided)\n- Use Read tool to examine important config files:\n - package.json - reveals Node.js frameworks, dependencies\n - Cargo.toml - reveals Rust dependencies\n - go.mod - reveals Go dependencies\n - requirements.txt, pyproject.toml - reveals Python dependencies\n - mix.exs - reveals Elixir dependencies\n- Use Grep to search for framework-specific patterns\n - Example: grep(\"import.\\*react\") to confirm React usage\n - Example: grep(\"from django\") to confirm Django usage\n\n### STEP 5: Identify technologies and patterns\n\n- Programming languages (TypeScript, Python, Go, Rust, Ruby, etc.)\n- Frameworks and libraries (React, Vue, Django, Rails, etc.)\n- Testing frameworks (Jest, Pytest, RSpec, etc.)\n- Build tools and infrastructure (Docker, Kubernetes, etc.)\n- Development practices (API development, frontend development, mobile, etc.)\n- Content patterns (blog posts, documentation, CMS usage)\n- CI/CD configurations\n- Accessibility tooling\n\n### STEP 6: Match findings to available plugins\n\n- Look at the plugin descriptions and keywords below\n- Cross-reference detected technologies with available jutsu-\\* plugins\n- Cross-reference development practices with available do-\\* plugins\n- Cross-reference integrations with available hashi-\\* plugins\n- ONLY recommend plugins from the list provided\n- Aim for 3-8 total plugins that best match the codebase\n- Always include \"bushido\" as it's the core plugin\n\n## Output Format\n\nReturn ONLY a JSON array of recommended plugin names from the available plugins list:\n\n```json\n[\"bushido\", \"jutsu-typescript\", \"jutsu-react\", \"do-frontend-development\"]\n```\n\n**CRITICAL**: Only recommend plugins that appear in the AVAILABLE PLUGINS list below. Never recommend plugins not in the list.\n";
3
3
  //# sourceMappingURL=build-info.generated.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Auto-generated by build-bundle.js - DO NOT EDIT
2
- export const HAN_VERSION = "1.36.4";
2
+ export const HAN_VERSION = "1.36.6";
3
3
  export const DETECT_PLUGINS_PROMPT = "<!--\nThis prompt template is dynamically enhanced in shared.ts with:\n1. GIT REPOSITORY section - Remote URL to determine hosting platform (GitHub, GitLab, etc.)\n2. CURRENTLY INSTALLED PLUGINS section - List of plugins already installed (if any)\n3. CODEBASE STATISTICS section - File extensions and config file names from codebase-analyzer.ts\n4. AVAILABLE PLUGINS IN MARKETPLACE section - Plugin list from marketplace.json\n\nThese sections are appended to this base prompt at runtime.\n-->\n\n# Han Plugin Installer Assistant\n\nYou are a Han plugin installer assistant. Your goal is to analyze the current codebase and recommend appropriate Claude Code plugins from the Han marketplace.\n\nThe available plugins from the marketplace are provided below. ONLY recommend plugins from this list.\n\n## Plugin Categories\n\n- **jutsu-\\*** (武器 weapons): Skills for specific technologies and frameworks\n- **do-\\*** (道 disciplines): Specialized agents for development practices and workflows\n- **hashi-\\*** (先生 teachers): MCP servers for external integrations\n- **bushido**: Core quality principles (ALWAYS recommend this)\n\n## Your Analysis Process\n\n### STEP 1: Analyze currently installed plugins (if provided)\n\n- Check if CURRENTLY INSTALLED PLUGINS section is provided in the prompt\n- If provided, you should:\n - **Understand why each plugin was likely added**: Look at plugin descriptions and infer original use case\n - Example: `jutsu-typescript` suggests TypeScript development\n - Example: `hashi-github` suggests GitHub integration needs\n - Example: `do-frontend-development` suggests frontend focus\n - **Determine if each plugin is still relevant**:\n - Use the codebase statistics and configuration files to verify if the technology/practice is still in use\n - A plugin is still relevant if its associated technology/practice is actively used in the codebase\n - A plugin may be irrelevant if:\n - The technology was removed (e.g., no more .ts files but jutsu-typescript is installed)\n - The project migrated to a different platform (e.g., moved from GitHub to GitLab)\n - The framework changed (e.g., migrated from React to Vue)\n - **Keep relevant plugins in your recommendations**: If a plugin is still relevant, include it in your final list\n - **Exclude irrelevant plugins**: If a plugin is no longer needed, do not include it in your recommendations\n\n### STEP 2: Check git repository hosting platform (if provided)\n\n- Check if GIT REPOSITORY section is provided in the prompt\n- If provided, examine the remote URL to determine the hosting platform:\n - URLs containing `github.com` → recommend `hashi-github`\n - URLs containing `gitlab.com` or other GitLab instances → recommend `hashi-gitlab`\n - This helps integrate Claude Code with the project's issue tracking, PRs/MRs, and CI/CD\n\n### STEP 3: Review pre-computed codebase statistics (if provided)\n\n- Check if CODEBASE STATISTICS section is provided in the prompt\n- If provided, you have:\n - **File extension counts** (e.g., .ts: 456, .py: 123) - interpret these as technologies\n - .ts, .tsx, .jsx = TypeScript/JavaScript\n - .py = Python\n - .rs = Rust\n - .go = Go\n - .rb = Ruby\n - .ex, .exs = Elixir\n - .vue = Vue.js\n - etc.\n - **Config file names** (e.g., package.json, Cargo.toml, go.mod) - these reveal frameworks and tools\n- If statistics are NOT provided, use Glob to discover file types\n - Example: glob(\"\\*_/_.ts\") to find TypeScript files\n - Example: glob(\"\\*_/_.py\") to find Python files\n\n### STEP 4: Examine key configuration files\n\n- Config files are already identified in the statistics (if provided)\n- Use Read tool to examine important config files:\n - package.json - reveals Node.js frameworks, dependencies\n - Cargo.toml - reveals Rust dependencies\n - go.mod - reveals Go dependencies\n - requirements.txt, pyproject.toml - reveals Python dependencies\n - mix.exs - reveals Elixir dependencies\n- Use Grep to search for framework-specific patterns\n - Example: grep(\"import.\\*react\") to confirm React usage\n - Example: grep(\"from django\") to confirm Django usage\n\n### STEP 5: Identify technologies and patterns\n\n- Programming languages (TypeScript, Python, Go, Rust, Ruby, etc.)\n- Frameworks and libraries (React, Vue, Django, Rails, etc.)\n- Testing frameworks (Jest, Pytest, RSpec, etc.)\n- Build tools and infrastructure (Docker, Kubernetes, etc.)\n- Development practices (API development, frontend development, mobile, etc.)\n- Content patterns (blog posts, documentation, CMS usage)\n- CI/CD configurations\n- Accessibility tooling\n\n### STEP 6: Match findings to available plugins\n\n- Look at the plugin descriptions and keywords below\n- Cross-reference detected technologies with available jutsu-\\* plugins\n- Cross-reference development practices with available do-\\* plugins\n- Cross-reference integrations with available hashi-\\* plugins\n- ONLY recommend plugins from the list provided\n- Aim for 3-8 total plugins that best match the codebase\n- Always include \"bushido\" as it's the core plugin\n\n## Output Format\n\nReturn ONLY a JSON array of recommended plugin names from the available plugins list:\n\n```json\n[\"bushido\", \"jutsu-typescript\", \"jutsu-react\", \"do-frontend-development\"]\n```\n\n**CRITICAL**: Only recommend plugins that appear in the AVAILABLE PLUGINS list below. Never recommend plugins not in the list.\n";
4
4
  //# sourceMappingURL=build-info.generated.js.map
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Lock manager configuration
3
+ */
4
+ interface LockManager {
5
+ sessionId: string;
6
+ parallelism: number;
7
+ lockDir: string;
8
+ }
9
+ /**
10
+ * Create a lock manager for the current session
11
+ */
12
+ export declare function createLockManager(): LockManager;
13
+ /**
14
+ * Acquire a slot, waiting if necessary.
15
+ * Returns the slot index.
16
+ * Throws if acquire timeout is exceeded.
17
+ */
18
+ export declare function acquireSlot(manager: LockManager, hookName: string, pluginName?: string): Promise<number>;
19
+ /**
20
+ * Release a slot
21
+ */
22
+ export declare function releaseSlot(manager: LockManager, slotIndex: number): void;
23
+ /**
24
+ * Cleanup all slots owned by this process (for graceful shutdown)
25
+ */
26
+ export declare function cleanupOwnedSlots(manager: LockManager): void;
27
+ /**
28
+ * Check if resource locking is enabled.
29
+ * Can be disabled via HAN_HOOK_NO_LOCK=1
30
+ */
31
+ export declare function isLockingEnabled(): boolean;
32
+ /**
33
+ * Helper to run a function with slot acquisition/release
34
+ */
35
+ export declare function withSlot<T>(hookName: string, pluginName: string | undefined, fn: () => Promise<T>): Promise<T>;
36
+ export {};
37
+ //# sourceMappingURL=hook-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-lock.d.ts","sourceRoot":"","sources":["../../lib/hook-lock.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,UAAU,WAAW;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAkOD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAO/C;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAuCjB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAazE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAa5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,CAAC,EAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAClB,OAAO,CAAC,CAAC,CAAC,CAaZ"}
@@ -0,0 +1,306 @@
1
+ import { createHash } from "node:crypto";
2
+ import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, writeFileSync, } from "node:fs";
3
+ import { cpus, tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ /**
6
+ * Get the number of parallel hook slots allowed.
7
+ * Reads from HAN_HOOK_PARALLELISM env var, defaults to CPU count / 2 (min 1).
8
+ */
9
+ function getParallelism() {
10
+ const envValue = process.env.HAN_HOOK_PARALLELISM;
11
+ if (envValue) {
12
+ const parsed = Number.parseInt(envValue, 10);
13
+ if (!Number.isNaN(parsed) && parsed > 0) {
14
+ return parsed;
15
+ }
16
+ }
17
+ // Default: half the CPU count, minimum 1
18
+ return Math.max(1, Math.floor(cpus().length / 2));
19
+ }
20
+ /**
21
+ * Derive a session ID from available environment info.
22
+ * Uses PPID + project directory to create a stable session identifier.
23
+ */
24
+ function getSessionId() {
25
+ // Allow explicit override for testing
26
+ if (process.env.HAN_SESSION_ID) {
27
+ return process.env.HAN_SESSION_ID;
28
+ }
29
+ // Use PPID - the parent of this process should be consistent within a Claude session
30
+ const ppid = process.ppid;
31
+ const projectDir = process.env.CLAUDE_PROJECT_DIR || process.cwd();
32
+ return createHash("md5")
33
+ .update(`${ppid}:${projectDir}`)
34
+ .digest("hex")
35
+ .substring(0, 16);
36
+ }
37
+ /**
38
+ * Get the lock directory for a session
39
+ */
40
+ function getLockDir(sessionId) {
41
+ return join(tmpdir(), "han-hooks", sessionId);
42
+ }
43
+ /**
44
+ * Check if a process is still alive
45
+ */
46
+ function isPidAlive(pid) {
47
+ try {
48
+ // Sending signal 0 checks if process exists without actually signaling it
49
+ process.kill(pid, 0);
50
+ return true;
51
+ }
52
+ catch {
53
+ return false;
54
+ }
55
+ }
56
+ /**
57
+ * Get the stale lock timeout in milliseconds.
58
+ * Defaults to 15 minutes.
59
+ */
60
+ function getStaleLockTimeout() {
61
+ const envValue = process.env.HAN_HOOK_LOCK_TIMEOUT;
62
+ if (envValue) {
63
+ const parsed = Number.parseInt(envValue, 10);
64
+ if (!Number.isNaN(parsed) && parsed > 0) {
65
+ return parsed;
66
+ }
67
+ }
68
+ return 15 * 60 * 1000; // 15 minutes
69
+ }
70
+ /**
71
+ * Get the acquire timeout in milliseconds.
72
+ * Defaults to 5 minutes.
73
+ */
74
+ function getAcquireTimeout() {
75
+ const envValue = process.env.HAN_HOOK_ACQUIRE_TIMEOUT;
76
+ if (envValue) {
77
+ const parsed = Number.parseInt(envValue, 10);
78
+ if (!Number.isNaN(parsed) && parsed > 0) {
79
+ return parsed;
80
+ }
81
+ }
82
+ return 5 * 60 * 1000; // 5 minutes
83
+ }
84
+ /**
85
+ * Check if a lock slot is stale (process dead or too old)
86
+ */
87
+ function isSlotStale(slot) {
88
+ // Check if PID is dead
89
+ if (!isPidAlive(slot.pid)) {
90
+ return true;
91
+ }
92
+ // Check if lock is too old (timeout fallback)
93
+ const age = Date.now() - slot.timestamp;
94
+ if (age > getStaleLockTimeout()) {
95
+ return true;
96
+ }
97
+ return false;
98
+ }
99
+ /**
100
+ * Read a slot file, returns null if doesn't exist or invalid
101
+ */
102
+ function readSlotFile(slotPath) {
103
+ try {
104
+ if (!existsSync(slotPath)) {
105
+ return null;
106
+ }
107
+ const content = readFileSync(slotPath, "utf-8");
108
+ return JSON.parse(content);
109
+ }
110
+ catch {
111
+ return null;
112
+ }
113
+ }
114
+ /**
115
+ * Write a slot file atomically
116
+ */
117
+ function writeSlotFile(slotPath, slot) {
118
+ try {
119
+ // Write to temp file first, then rename for atomicity
120
+ // Use timestamp + pid to avoid collisions with leftover temp files
121
+ const tempPath = `${slotPath}.${process.pid}.${Date.now()}.tmp`;
122
+ writeFileSync(tempPath, JSON.stringify(slot));
123
+ // Check if slot was taken while we were writing
124
+ if (existsSync(slotPath)) {
125
+ debugLog(`writeSlotFile: slot already exists at ${slotPath}`);
126
+ rmSync(tempPath, { force: true });
127
+ return false;
128
+ }
129
+ // Rename temp to final (atomic on most filesystems)
130
+ try {
131
+ renameSync(tempPath, slotPath);
132
+ return true;
133
+ }
134
+ catch (e) {
135
+ debugLog(`writeSlotFile: rename failed: ${e.message}`);
136
+ rmSync(tempPath, { force: true });
137
+ return false;
138
+ }
139
+ }
140
+ catch (e) {
141
+ debugLog(`writeSlotFile: write failed: ${e.message}`);
142
+ return false;
143
+ }
144
+ }
145
+ /**
146
+ * Try to acquire an available slot, returns slot index or -1 if none available
147
+ */
148
+ function tryAcquireSlot(manager, hookName, pluginName) {
149
+ // Ensure lock directory exists
150
+ mkdirSync(manager.lockDir, { recursive: true });
151
+ for (let i = 0; i < manager.parallelism; i++) {
152
+ const slotPath = join(manager.lockDir, `slot-${i}.lock`);
153
+ const existingSlot = readSlotFile(slotPath);
154
+ debugLog(`tryAcquireSlot: slot-${i} existingSlot=${existingSlot ? JSON.stringify(existingSlot) : "null"}`);
155
+ if (existingSlot) {
156
+ // Check if stale
157
+ if (isSlotStale(existingSlot)) {
158
+ debugLog(`tryAcquireSlot: slot-${i} is stale, removing`);
159
+ // Remove stale lock
160
+ try {
161
+ rmSync(slotPath, { force: true });
162
+ }
163
+ catch {
164
+ continue;
165
+ }
166
+ }
167
+ else {
168
+ // Slot is held by active process
169
+ debugLog(`tryAcquireSlot: slot-${i} is held by pid ${existingSlot.pid}`);
170
+ continue;
171
+ }
172
+ }
173
+ // Try to acquire this slot
174
+ const newSlot = {
175
+ pid: process.pid,
176
+ timestamp: Date.now(),
177
+ hookName,
178
+ pluginName,
179
+ };
180
+ if (writeSlotFile(slotPath, newSlot)) {
181
+ return i;
182
+ }
183
+ debugLog(`tryAcquireSlot: slot-${i} write failed`);
184
+ }
185
+ return -1; // No slots available
186
+ }
187
+ /**
188
+ * Sleep for a given number of milliseconds
189
+ */
190
+ function sleep(ms) {
191
+ return new Promise((resolve) => setTimeout(resolve, ms));
192
+ }
193
+ /**
194
+ * Check if debug logging is enabled
195
+ */
196
+ function isLockDebug() {
197
+ return process.env.HAN_LOCK_DEBUG === "1";
198
+ }
199
+ /**
200
+ * Log debug message if debug mode is enabled
201
+ */
202
+ function debugLog(message) {
203
+ if (isLockDebug()) {
204
+ console.error(`[han-lock] ${message}`);
205
+ }
206
+ }
207
+ /**
208
+ * Create a lock manager for the current session
209
+ */
210
+ export function createLockManager() {
211
+ const sessionId = getSessionId();
212
+ return {
213
+ sessionId,
214
+ parallelism: getParallelism(),
215
+ lockDir: getLockDir(sessionId),
216
+ };
217
+ }
218
+ /**
219
+ * Acquire a slot, waiting if necessary.
220
+ * Returns the slot index.
221
+ * Throws if acquire timeout is exceeded.
222
+ */
223
+ export async function acquireSlot(manager, hookName, pluginName) {
224
+ const startTime = Date.now();
225
+ const acquireTimeout = getAcquireTimeout();
226
+ let attempt = 0;
227
+ debugLog(`Acquiring slot for ${pluginName || "unknown"}:${hookName} (parallelism=${manager.parallelism})`);
228
+ while (true) {
229
+ const slotIndex = tryAcquireSlot(manager, hookName, pluginName);
230
+ if (slotIndex >= 0) {
231
+ debugLog(`Acquired slot-${slotIndex} for ${pluginName || "unknown"}:${hookName}`);
232
+ return slotIndex;
233
+ }
234
+ // Check timeout
235
+ const elapsed = Date.now() - startTime;
236
+ if (elapsed > acquireTimeout) {
237
+ throw new Error(`Timed out waiting for hook slot after ${Math.round(elapsed / 1000)}s. ` +
238
+ `All ${manager.parallelism} slots are busy. ` +
239
+ `Set HAN_HOOK_PARALLELISM to increase slots or HAN_HOOK_ACQUIRE_TIMEOUT to wait longer.`);
240
+ }
241
+ // Wait with exponential backoff (100ms, 200ms, 400ms, ... up to 2s)
242
+ const backoff = Math.min(100 * 2 ** attempt, 2000);
243
+ attempt++;
244
+ debugLog(`No slots available, waiting ${backoff}ms (attempt ${attempt}, elapsed ${Math.round(elapsed / 1000)}s)`);
245
+ await sleep(backoff);
246
+ }
247
+ }
248
+ /**
249
+ * Release a slot
250
+ */
251
+ export function releaseSlot(manager, slotIndex) {
252
+ const slotPath = join(manager.lockDir, `slot-${slotIndex}.lock`);
253
+ try {
254
+ // Verify we own this slot before deleting
255
+ const slot = readSlotFile(slotPath);
256
+ if (slot && slot.pid === process.pid) {
257
+ rmSync(slotPath, { force: true });
258
+ debugLog(`Released slot-${slotIndex}`);
259
+ }
260
+ }
261
+ catch {
262
+ // Ignore errors during cleanup
263
+ }
264
+ }
265
+ /**
266
+ * Cleanup all slots owned by this process (for graceful shutdown)
267
+ */
268
+ export function cleanupOwnedSlots(manager) {
269
+ try {
270
+ for (let i = 0; i < manager.parallelism; i++) {
271
+ const slotPath = join(manager.lockDir, `slot-${i}.lock`);
272
+ const slot = readSlotFile(slotPath);
273
+ if (slot && slot.pid === process.pid) {
274
+ rmSync(slotPath, { force: true });
275
+ debugLog(`Cleanup: released slot-${i}`);
276
+ }
277
+ }
278
+ }
279
+ catch {
280
+ // Ignore errors during cleanup
281
+ }
282
+ }
283
+ /**
284
+ * Check if resource locking is enabled.
285
+ * Can be disabled via HAN_HOOK_NO_LOCK=1
286
+ */
287
+ export function isLockingEnabled() {
288
+ return process.env.HAN_HOOK_NO_LOCK !== "1";
289
+ }
290
+ /**
291
+ * Helper to run a function with slot acquisition/release
292
+ */
293
+ export async function withSlot(hookName, pluginName, fn) {
294
+ if (!isLockingEnabled()) {
295
+ return fn();
296
+ }
297
+ const manager = createLockManager();
298
+ const slotIndex = await acquireSlot(manager, hookName, pluginName);
299
+ try {
300
+ return await fn();
301
+ }
302
+ finally {
303
+ releaseSlot(manager, slotIndex);
304
+ }
305
+ }
306
+ //# sourceMappingURL=hook-lock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-lock.js","sourceRoot":"","sources":["../../lib/hook-lock.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../lib/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../lib/shared.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../lib/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../lib/shared.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ interface ValidateOptions {
5
5
  command: string;
6
6
  verbose?: boolean;
7
7
  }
8
- export declare function validate(options: ValidateOptions): void;
8
+ export declare function validate(options: ValidateOptions): Promise<void>;
9
9
  /**
10
10
  * Options for running a configured hook
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAqHA,UAAU,eAAe;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAoLD,wBAAgB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAuFvD;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAkCD;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA2Of"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"AAsHA,UAAU,eAAe;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAoLD,wBAAsB,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8FtE;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB;AAkCD;;;GAGG;AACH,wBAAsB,iBAAiB,CACtC,OAAO,EAAE,wBAAwB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA4Pf"}
@@ -4,6 +4,7 @@ import { tmpdir } from "node:os";
4
4
  import { join, resolve } from "node:path";
5
5
  import { buildManifest, checkForChanges, findDirectoriesWithMarkers, findFilesWithGlob, saveCacheManifest, } from "./hook-cache.js";
6
6
  import { getHookConfigs, getPluginNameFromRoot, } from "./hook-config.js";
7
+ import { withSlot } from "./hook-lock.js";
7
8
  /**
8
9
  * Check if debug mode is enabled via HAN_DEBUG environment variable
9
10
  */
@@ -233,12 +234,15 @@ function testDirCommand(dir, cmd) {
233
234
  return false;
234
235
  }
235
236
  }
236
- export function validate(options) {
237
+ export async function validate(options) {
237
238
  const { failFast, dirsWith, testDir, command: commandToRun, verbose, } = options;
238
239
  const rootDir = process.env.CLAUDE_PROJECT_DIR || process.cwd();
239
240
  // No dirsWith specified - run in current directory only
240
241
  if (!dirsWith) {
241
- const success = runCommandSync(rootDir, commandToRun, verbose);
242
+ // Acquire slot, run command, release slot
243
+ const success = await withSlot("legacy-validate", undefined, async () => {
244
+ return runCommandSync(rootDir, commandToRun, verbose);
245
+ });
242
246
  if (!success) {
243
247
  console.error(`\n❌ The command \`${commandToRun}\` failed.\n\n` +
244
248
  `Spawn a subagent to run the command, review the output, and fix all issues.\n`);
@@ -259,7 +263,10 @@ export function validate(options) {
259
263
  continue;
260
264
  }
261
265
  processedCount++;
262
- const success = runCommandSync(dir, commandToRun, verbose);
266
+ // Acquire slot, run command, release slot (per directory)
267
+ const success = await withSlot("legacy-validate", undefined, async () => {
268
+ return runCommandSync(dir, commandToRun, verbose);
269
+ });
263
270
  if (!success) {
264
271
  const relativePath = dir === rootDir ? "." : dir.replace(`${rootDir}/`, "");
265
272
  failures.push(relativePath);
@@ -333,11 +340,6 @@ export async function runConfiguredHook(options) {
333
340
  `The hook command specifies plugin "${pluginName}" but CLAUDE_PLUGIN_ROOT points to "${pluginRootName}".`);
334
341
  process.exit(1);
335
342
  }
336
- const failures = [];
337
- const successfulConfigs = [];
338
- let totalFound = 0;
339
- let disabledCount = 0;
340
- let skippedCount = 0;
341
343
  // Get all configs
342
344
  let configs = getHookConfigs(pluginRoot, hookName, projectRoot);
343
345
  // If --only is specified, filter to just that directory
@@ -354,6 +356,12 @@ export async function runConfiguredHook(options) {
354
356
  process.exit(1);
355
357
  }
356
358
  }
359
+ // Phase 1: Check cache and categorize configs BEFORE acquiring lock
360
+ // This avoids holding a slot while just checking hashes
361
+ const configsToRun = [];
362
+ let totalFound = 0;
363
+ let disabledCount = 0;
364
+ let skippedCount = 0;
357
365
  for (const config of configs) {
358
366
  totalFound++;
359
367
  // Skip disabled hooks
@@ -361,7 +369,7 @@ export async function runConfiguredHook(options) {
361
369
  disabledCount++;
362
370
  continue;
363
371
  }
364
- // If --cache is enabled, check for changes
372
+ // If --cache is enabled, check for changes (no lock needed for this)
365
373
  if (cache && config.ifChanged && config.ifChanged.length > 0) {
366
374
  const cacheKey = getCacheKeyForDirectory(hookName, config.directory, projectRoot);
367
375
  const hasChanges = checkForChanges(pluginName, cacheKey, config.directory, config.ifChanged);
@@ -370,16 +378,40 @@ export async function runConfiguredHook(options) {
370
378
  continue;
371
379
  }
372
380
  }
373
- // Run the hook
381
+ // This config needs to run
382
+ configsToRun.push(config);
383
+ }
384
+ // Handle edge cases before acquiring lock
385
+ if (totalFound === 0) {
386
+ console.log(`No directories found for hook "${hookName}" in plugin "${pluginName}"`);
387
+ process.exit(0);
388
+ }
389
+ if (disabledCount === totalFound) {
390
+ console.log(`All directories have hook "${hookName}" disabled via han-config.yml`);
391
+ process.exit(0);
392
+ }
393
+ if (configsToRun.length === 0 && skippedCount > 0) {
394
+ console.log(`Skipped ${skippedCount} director${skippedCount === 1 ? "y" : "ies"} (no changes detected)`);
395
+ console.log("No changes detected in any directories. Nothing to run.");
396
+ process.exit(0);
397
+ }
398
+ // Phase 2: Run hooks, acquiring/releasing lock per directory
399
+ // This allows other hooks to interleave between directories
400
+ const failures = [];
401
+ const successfulConfigs = [];
402
+ for (const config of configsToRun) {
374
403
  const relativePath = config.directory === projectRoot
375
404
  ? "."
376
405
  : config.directory.replace(`${projectRoot}/`, "");
377
- const result = await runCommand({
378
- dir: config.directory,
379
- cmd: config.command,
380
- verbose,
381
- idleTimeout: config.idleTimeout,
382
- hookName,
406
+ // Acquire slot, run command, release slot (per directory)
407
+ const result = await withSlot(hookName, pluginName, async () => {
408
+ return runCommand({
409
+ dir: config.directory,
410
+ cmd: config.command,
411
+ verbose,
412
+ idleTimeout: config.idleTimeout,
413
+ hookName,
414
+ });
383
415
  });
384
416
  if (!result.success) {
385
417
  failures.push({
@@ -413,23 +445,11 @@ export async function runConfiguredHook(options) {
413
445
  successfulConfigs.push(config);
414
446
  }
415
447
  }
416
- // Handle edge cases
417
- if (totalFound === 0) {
418
- console.log(`No directories found for hook "${hookName}" in plugin "${pluginName}"`);
419
- process.exit(0);
420
- }
421
- if (disabledCount === totalFound) {
422
- console.log(`All directories have hook "${hookName}" disabled via han-config.yml`);
423
- process.exit(0);
424
- }
425
448
  const ranCount = successfulConfigs.length + failures.length;
449
+ // Report skipped directories if any
426
450
  if (skippedCount > 0) {
427
451
  console.log(`Skipped ${skippedCount} director${skippedCount === 1 ? "y" : "ies"} (no changes detected)`);
428
452
  }
429
- if (ranCount === 0 && skippedCount > 0) {
430
- console.log("No changes detected in any directories. Nothing to run.");
431
- process.exit(0);
432
- }
433
453
  // Update cache manifest for successful executions
434
454
  if (cache && successfulConfigs.length > 0) {
435
455
  for (const config of successfulConfigs) {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../lib/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thebushidocollective/han",
3
- "version": "1.36.4",
3
+ "version": "1.36.6",
4
4
  "description": "CLI for installing and managing curated Claude Code plugins from the Han marketplace",
5
5
  "main": "dist/lib/main.js",
6
6
  "types": "dist/lib/main.d.ts",
@@ -51,11 +51,11 @@
51
51
  "README.md"
52
52
  ],
53
53
  "optionalDependencies": {
54
- "@thebushidocollective/han-darwin-arm64": "1.36.4",
55
- "@thebushidocollective/han-darwin-x64": "1.36.4",
56
- "@thebushidocollective/han-linux-arm64": "1.36.4",
57
- "@thebushidocollective/han-linux-x64": "1.36.4",
58
- "@thebushidocollective/han-win32-x64": "1.36.4"
54
+ "@thebushidocollective/han-darwin-arm64": "1.36.6",
55
+ "@thebushidocollective/han-darwin-x64": "1.36.6",
56
+ "@thebushidocollective/han-linux-arm64": "1.36.6",
57
+ "@thebushidocollective/han-linux-x64": "1.36.6",
58
+ "@thebushidocollective/han-win32-x64": "1.36.6"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@anthropic-ai/claude-agent-sdk": "0.1.50",