preclaim 0.3.2 → 0.3.4

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,12 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  // PreToolUse hook — the gatekeeper
3
- // Intercepts Edit/Write/MultiEdit tool calls, claims file locks
3
+ // Intercepts Read for soft signals, Edit/Write/MultiEdit for hard locks
4
4
  import { resolve, relative, dirname, join } from 'node:path';
5
5
  import { writeFile } from 'node:fs/promises';
6
6
  import { PreclaimClient, findConfig, loadCredentials, refreshCredentials } from '@preclaim/core';
7
7
  import { readHookInput, writeHookOutput } from '../lib/hook-io.js';
8
8
  import { minimatch } from 'minimatch';
9
9
  const WRITE_TOOLS = new Set(['Edit', 'Write', 'MultiEdit']);
10
+ const READ_TOOLS = new Set(['Read']);
10
11
  async function main() {
11
12
  try {
12
13
  const input = await readHookInput();
@@ -17,9 +18,10 @@ async function main() {
17
18
  catch {
18
19
  // Non-critical — don't block on activity tracking
19
20
  }
20
- // Only intercept file-writing tools
21
- if (!input.tool_name || !WRITE_TOOLS.has(input.tool_name)) {
22
- return; // No output = allow
21
+ const isWrite = input.tool_name && WRITE_TOOLS.has(input.tool_name);
22
+ const isRead = input.tool_name && READ_TOOLS.has(input.tool_name);
23
+ if (!isWrite && !isRead) {
24
+ return; // Not a file tool = allow
23
25
  }
24
26
  // Extract file path from tool input
25
27
  const filePath = input.tool_input?.file_path;
@@ -32,13 +34,39 @@ async function main() {
32
34
  return; // No config = allow (not a preclaim project)
33
35
  }
34
36
  // Normalize path: always relative to project root
35
- // /Users/paul/project/src/file.ts en src/file.ts worden dezelfde lock
36
37
  const projectRoot = dirname(found.configPath);
37
38
  const absolutePath = resolve(projectRoot, filePath);
38
39
  const relativePath = relative(projectRoot, absolutePath);
39
40
  if (found.config.ignore.some(pattern => minimatch(relativePath, pattern))) {
40
41
  return; // Ignored file = allow
41
42
  }
43
+ // ─── READ TOOL: register interest (soft signal) ───
44
+ if (isRead) {
45
+ let creds = await loadCredentials();
46
+ if (!creds)
47
+ return; // No creds = skip silently
48
+ const expiresAt = new Date(creds.expiresAt).getTime();
49
+ if (Date.now() >= expiresAt - 60_000) {
50
+ const refreshed = await refreshCredentials();
51
+ if (refreshed)
52
+ creds = refreshed;
53
+ }
54
+ const client = new PreclaimClient({
55
+ baseUrl: found.config.backend,
56
+ accessToken: creds.accessToken,
57
+ timeoutMs: 200, // 200ms cap — worst case latency for reads
58
+ });
59
+ // Fire and forget with timeout cap — don't block on interest registration
60
+ await client.registerInterest({
61
+ project_id: found.config.projectId,
62
+ file_path: relativePath,
63
+ session_id: input.session_id,
64
+ }).catch(() => {
65
+ // Fail silently — interest registration is best-effort
66
+ });
67
+ return; // No output = allow
68
+ }
69
+ // ─── WRITE TOOL: claim lock + check interests ───
42
70
  // Load credentials, refresh if expired
43
71
  let creds = await loadCredentials();
44
72
  if (!creds) {
@@ -50,53 +78,63 @@ async function main() {
50
78
  });
51
79
  return;
52
80
  }
53
- // Refresh token if within 60s of expiry
54
81
  const expiresAt = new Date(creds.expiresAt).getTime();
55
82
  if (Date.now() >= expiresAt - 60_000) {
56
83
  const refreshed = await refreshCredentials();
57
- if (refreshed) {
84
+ if (refreshed)
58
85
  creds = refreshed;
59
- }
60
- // If refresh fails, try with old token anyway
61
86
  }
62
- // Claim file
63
87
  const client = new PreclaimClient({
64
88
  baseUrl: found.config.backend,
65
89
  accessToken: creds.accessToken,
66
90
  timeoutMs: 2000, // Must be fast
67
91
  });
68
- const result = await client.claimFile({
69
- project_id: found.config.projectId,
70
- file_path: relativePath,
71
- session_id: input.session_id,
72
- ttl_minutes: found.config.ttl,
73
- });
92
+ // Claim lock + check interests in parallel — no extra latency
93
+ const [claimResult, interestsResult] = await Promise.all([
94
+ client.claimFile({
95
+ project_id: found.config.projectId,
96
+ file_path: relativePath,
97
+ session_id: input.session_id,
98
+ ttl_minutes: found.config.ttl,
99
+ }),
100
+ client.checkInterests({
101
+ project_id: found.config.projectId,
102
+ file_path: relativePath,
103
+ exclude_session_id: input.session_id,
104
+ }).catch(() => null), // Interest check is best-effort
105
+ ]);
106
+ // Build interest warning if other sessions are reading this file
107
+ let interestWarning = '';
108
+ if (interestsResult?.data?.interests && interestsResult.data.interests.length > 0) {
109
+ const count = interestsResult.data.interests.length;
110
+ interestWarning = `[Preclaim] Heads up: ${count} other session${count > 1 ? 's are' : ' is'} reading this file. Proceed with caution.\n`;
111
+ }
74
112
  // Network error — fail open
75
- if (result.error) {
113
+ if (claimResult.error) {
76
114
  if (found.config.failOpen) {
77
115
  writeHookOutput({
78
116
  permissionDecision: 'allow',
79
- systemMessage: `[Preclaim] Warning: could not reach server (${result.error}). Proceeding without lock.`,
117
+ systemMessage: `${interestWarning}[Preclaim] Warning: could not reach server (${claimResult.error}). Proceeding without lock.`,
80
118
  });
81
119
  return;
82
120
  }
83
121
  writeHookOutput({
84
122
  permissionDecision: 'deny',
85
- reason: `Preclaim: server error — ${result.error}`,
123
+ reason: `Preclaim: server error — ${claimResult.error}`,
86
124
  });
87
125
  return;
88
126
  }
89
- const data = result.data;
127
+ const data = claimResult.data;
90
128
  if (data.status === 'acquired') {
91
129
  writeHookOutput({
92
130
  permissionDecision: 'allow',
93
- systemMessage: `[Preclaim] Locked: ${relativePath} (expires: ${data.expires_at})`,
131
+ systemMessage: `${interestWarning}[Preclaim] Locked: ${relativePath} (expires: ${data.expires_at})`,
94
132
  });
95
133
  }
96
134
  else if (data.status === 'already_held') {
97
135
  writeHookOutput({
98
136
  permissionDecision: 'allow',
99
- systemMessage: `[Preclaim] Lock extended: ${relativePath} (expires: ${data.expires_at})`,
137
+ systemMessage: `${interestWarning}[Preclaim] Lock extended: ${relativePath} (expires: ${data.expires_at})`,
100
138
  });
101
139
  }
102
140
  else if (data.status === 'conflict') {
@@ -1 +1 @@
1
- {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../src/hooks/pre-tool-use.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-tool-use.js","sourceRoot":"","sources":["../../src/hooks/pre-tool-use.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import { createRequire } from 'node:module';
2
3
  import { Command } from 'commander';
3
4
  import { initCommand } from './commands/init.js';
4
5
  import { loginCommand } from './commands/login.js';
@@ -11,11 +12,13 @@ import { configCommand } from './commands/config.js';
11
12
  import { installHooksCommand } from './commands/install-hooks.js';
12
13
  import { logsCommand } from './commands/logs.js';
13
14
  import { sessionsCommand } from './commands/sessions.js';
15
+ const require = createRequire(import.meta.url);
16
+ const { version } = require('../package.json');
14
17
  const program = new Command();
15
18
  program
16
19
  .name('preclaim')
17
20
  .description('AI File Coordination Layer — predictive file locking for AI coding agents')
18
- .version('0.3.0');
21
+ .version(version);
19
22
  program
20
23
  .command('init')
21
24
  .description('Initialize Preclaim in the current project')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAI7C;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAKjE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAWzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAWrD;AASD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAcpE"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAQjD;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAI7C;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CAKjE;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAWzE;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAWrD;AASD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAcpE"}
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/lib/output.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "preclaim",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "AI File Coordination Layer — predictive file locking for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "commander": "^13.1.0",
14
14
  "minimatch": "^10.0.0",
15
- "@preclaim/core": "0.2.2"
15
+ "@preclaim/core": "0.2.3"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",