@agent-relay/config 15.0.0-next.1 → 15.0.0-next.10

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.
@@ -6,6 +6,63 @@
6
6
  * This allows multiple projects to use agent-relay simultaneously
7
7
  * without conflicts, and keeps data with the project.
8
8
  */
9
+ /**
10
+ * The CLI's own machine-wide data folder: `AGENT_RELAY_HOME`, default
11
+ * `~/.agentworkforce/relay`. It holds `workspaces.json`, `cloud-auth.json`,
12
+ * fleet-node files and binaries, so it is never a project's data folder.
13
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
14
+ * @returns The relay home, resolved but not canonicalized
15
+ */
16
+ export declare function relayHomeDir(env?: NodeJS.ProcessEnv): string;
17
+ /**
18
+ * Whether `dataDir` is a relay home rather than a project's data folder:
19
+ * - this process's relay home (`AGENT_RELAY_HOME`), or the default
20
+ * `~/.agentworkforce/relay` even while `AGENT_RELAY_HOME` points elsewhere,
21
+ * compared as canonical paths (symlinks resolved; the same file system
22
+ * object when both exist, which also covers a case-insensitive volume);
23
+ * - any folder holding a machine-wide workspace store (`workspaces.json`),
24
+ * which no project folder does, such as the real home's relay folder while
25
+ * `HOME` itself points elsewhere.
26
+ * @param dataDir - A project's `.agentworkforce/relay` folder
27
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
28
+ */
29
+ export declare function isRelayHomeDir(dataDir: string, env?: NodeJS.ProcessEnv): boolean;
30
+ /** A project pin, or another project-scoped file, was about to be written outside any project. */
31
+ export declare class RelayHomeProjectError extends Error {
32
+ readonly dataDir: string;
33
+ readonly projectRoot?: string | undefined;
34
+ /**
35
+ * @param dataDir - The Relay folder that would have held the pin
36
+ * @param projectRoot - The project root, when the home folder itself was taken for one
37
+ */
38
+ constructor(dataDir: string, projectRoot?: string | undefined);
39
+ }
40
+ /**
41
+ * Refuse to treat the relay home as a project's data folder. Every writer of
42
+ * a project pin (`workspace-key.json`) calls this first.
43
+ * @param dataDir - The project's `.agentworkforce/relay` folder
44
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
45
+ * @throws RelayHomeProjectError when `dataDir` is the relay home
46
+ */
47
+ export declare function assertNotRelayHome(dataDir: string, env?: NodeJS.ProcessEnv): void;
48
+ /**
49
+ * Whether `projectRoot` is no project at all: the home folder itself, or a
50
+ * folder whose `.agentworkforce/relay` is a relay home ({@link isRelayHomeDir}).
51
+ * A project root found by walking up from an unmarked folder under `~` (a
52
+ * dotfiles `~/.git`, a stray `~/package.json`) lands here too.
53
+ * @param projectRoot - A detected or configured project root
54
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
55
+ */
56
+ export declare function isHomeProjectRoot(projectRoot: string, env?: NodeJS.ProcessEnv): boolean;
57
+ /**
58
+ * Refuse a project root that is the home folder (or holds the relay home),
59
+ * before any project-scoped file (the workspace pin, `.mcp.json`,
60
+ * `opencode.json`, `.devin/mcp_config.json`, ...) is written there.
61
+ * @param projectRoot - The project root about to receive project-scoped files
62
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
63
+ * @throws RelayHomeProjectError when `projectRoot` is no project
64
+ */
65
+ export declare function assertProjectRoot(projectRoot: string, env?: NodeJS.ProcessEnv): void;
9
66
  /**
10
67
  * Get the project root by looking for common markers
11
68
  *
@@ -13,6 +70,9 @@
13
70
  * 1. AGENT_RELAY_PROJECT environment variable (for worktrees/subprojects)
14
71
  * 2. An explicitly pinned nested project, or the enclosing Git checkout
15
72
  * 3. The nearest package marker when outside Git
73
+ *
74
+ * The relay home (`~/.agentworkforce/relay` by default) is never a marker: a
75
+ * folder under the home directory is not part of a "project" rooted at `~`.
16
76
  */
17
77
  export declare function findProjectRoot(startDir?: string): string;
18
78
  /**
@@ -33,6 +93,22 @@ export interface ProjectPaths {
33
93
  projectId: string;
34
94
  }
35
95
  export declare function getProjectPaths(projectRoot?: string): ProjectPaths;
96
+ /**
97
+ * Keep the project's `.agentworkforce/relay/` directory (workspace key,
98
+ * sockets, local state) out of `git status` by adding it to the repository's
99
+ * `info/exclude`, the per-clone ignore file that is never committed. The
100
+ * project's own `.gitignore` is never modified.
101
+ *
102
+ * Linked worktrees and submodules are handled (the exclude file lives in the
103
+ * repository's common git directory). Outside a git work tree, or on any
104
+ * error, nothing is changed.
105
+ *
106
+ * @param dataDir - The project data directory, `<project>/.agentworkforce/relay`.
107
+ * @returns Whether the exclude file was changed.
108
+ */
109
+ export declare function ensureGitExclude(dataDir: string): {
110
+ modified: boolean;
111
+ };
36
112
  /**
37
113
  * Ensure the project data directory exists
38
114
  */
@@ -1 +1 @@
1
- {"version":3,"file":"project-namespace.d.ts","sourceRoot":"","sources":["../src/project-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAkBH;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CA8CxE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAclE;AA8DD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAmCnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA+C3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB5D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAUnF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAcjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAO7D"}
1
+ {"version":3,"file":"project-namespace.d.ts","sourceRoot":"","sources":["../src/project-namespace.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAGzE;AAqCD;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAI7F;AAyBD,kGAAkG;AAClG,qBAAa,qBAAsB,SAAQ,KAAK;aAM5B,OAAO,EAAE,MAAM;aACf,WAAW,CAAC,EAAE,MAAM;IANtC;;;OAGG;gBAEe,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,MAAM,YAAA;CAYvC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAE9F;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpG;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,IAAI,CAIjG;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAkDxE;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAclE;AAgED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,OAAO,CAAA;CAAE,CAgCvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,YAAY,CAmCnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA+C3D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAsB5D;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAID;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAUnF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAcjF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAO7D"}
@@ -7,10 +7,13 @@
7
7
  * without conflicts, and keeps data with the project.
8
8
  */
9
9
  import crypto from 'node:crypto';
10
+ import os from 'node:os';
10
11
  import path from 'node:path';
11
12
  import fs from 'node:fs';
12
13
  /** Directory name within project root */
13
14
  const PROJECT_DATA_DIR = '.agentworkforce/relay';
15
+ /** The machine-wide workspace store every relay home keeps. */
16
+ const WORKSPACE_STORE_FILE = 'workspaces.json';
14
17
  /**
15
18
  * Generate a short hash of a path for namespacing
16
19
  */
@@ -19,6 +22,148 @@ function hashPath(projectPath) {
19
22
  const hash = crypto.createHash('sha256').update(normalized).digest('hex');
20
23
  return hash.substring(0, 12); // First 12 chars is enough
21
24
  }
25
+ /**
26
+ * The CLI's own machine-wide data folder: `AGENT_RELAY_HOME`, default
27
+ * `~/.agentworkforce/relay`. It holds `workspaces.json`, `cloud-auth.json`,
28
+ * fleet-node files and binaries, so it is never a project's data folder.
29
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
30
+ * @returns The relay home, resolved but not canonicalized
31
+ */
32
+ export function relayHomeDir(env = process.env) {
33
+ const configured = env.AGENT_RELAY_HOME?.trim();
34
+ return path.resolve(configured || path.join(os.homedir(), PROJECT_DATA_DIR));
35
+ }
36
+ /**
37
+ * `target` with symlinks resolved as far as it exists: the nearest existing
38
+ * ancestor is canonicalized and the missing rest appended, so a folder that
39
+ * does not exist yet still compares equal to the one it will be created as.
40
+ */
41
+ function canonicalPath(target) {
42
+ const resolved = path.resolve(target);
43
+ const known = canonicalPaths.get(resolved);
44
+ if (known !== undefined)
45
+ return known;
46
+ const canonical = canonicalize(resolved);
47
+ // Creating the missing folders later does not change where they resolve,
48
+ // so a result is kept: each probe of a missing folder can be slow on an
49
+ // automounted volume (macOS /home).
50
+ if (canonicalPaths.size > 256)
51
+ canonicalPaths.clear();
52
+ canonicalPaths.set(resolved, canonical);
53
+ return canonical;
54
+ }
55
+ const canonicalPaths = new Map();
56
+ function canonicalize(resolved) {
57
+ const missing = [];
58
+ let current = resolved;
59
+ for (;;) {
60
+ try {
61
+ return path.join(fs.realpathSync.native(current), ...missing.reverse());
62
+ }
63
+ catch {
64
+ const parent = path.dirname(current);
65
+ if (parent === current)
66
+ return path.join(current, ...missing.reverse());
67
+ missing.push(path.basename(current));
68
+ current = parent;
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Whether `dataDir` is a relay home rather than a project's data folder:
74
+ * - this process's relay home (`AGENT_RELAY_HOME`), or the default
75
+ * `~/.agentworkforce/relay` even while `AGENT_RELAY_HOME` points elsewhere,
76
+ * compared as canonical paths (symlinks resolved; the same file system
77
+ * object when both exist, which also covers a case-insensitive volume);
78
+ * - any folder holding a machine-wide workspace store (`workspaces.json`),
79
+ * which no project folder does, such as the real home's relay folder while
80
+ * `HOME` itself points elsewhere.
81
+ * @param dataDir - A project's `.agentworkforce/relay` folder
82
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
83
+ */
84
+ export function isRelayHomeDir(dataDir, env = process.env) {
85
+ if (fs.existsSync(path.join(dataDir, WORKSPACE_STORE_FILE)))
86
+ return true;
87
+ const defaultHome = path.join(os.homedir(), PROJECT_DATA_DIR);
88
+ return [relayHomeDir(env), defaultHome].some((home) => samePath(dataDir, home));
89
+ }
90
+ function samePath(a, b) {
91
+ const left = statOrUndefined(a);
92
+ const right = statOrUndefined(b);
93
+ // Both exist: the same file system object (symlinks followed, any case).
94
+ if (left && right)
95
+ return left.dev === right.dev && left.ino === right.ino;
96
+ // Only one exists: not the same folder.
97
+ if (left || right)
98
+ return false;
99
+ // Neither exists yet: compare where they would be.
100
+ return path.resolve(a) === path.resolve(b) || canonicalPath(a) === canonicalPath(b);
101
+ }
102
+ function statOrUndefined(target) {
103
+ try {
104
+ return fs.statSync(target);
105
+ }
106
+ catch {
107
+ return undefined;
108
+ }
109
+ }
110
+ const INSIDE_A_PROJECT = 'Run this inside a project folder (cd into the project first), or set AGENT_RELAY_PROJECT ' +
111
+ 'to the project folder.';
112
+ /** A project pin, or another project-scoped file, was about to be written outside any project. */
113
+ export class RelayHomeProjectError extends Error {
114
+ dataDir;
115
+ projectRoot;
116
+ /**
117
+ * @param dataDir - The Relay folder that would have held the pin
118
+ * @param projectRoot - The project root, when the home folder itself was taken for one
119
+ */
120
+ constructor(dataDir, projectRoot) {
121
+ super(projectRoot
122
+ ? `Refusing to set up ${projectRoot} as a project: it is your home folder (or holds the Relay ` +
123
+ `home), and project files written there would land among your own settings. ${INSIDE_A_PROJECT}`
124
+ : `Refusing to use ${dataDir} as this project's Relay folder: it is the Relay home ` +
125
+ '(AGENT_RELAY_HOME), where Relay keeps its machine-wide workspaces, sign-in and binaries. ' +
126
+ INSIDE_A_PROJECT);
127
+ this.dataDir = dataDir;
128
+ this.projectRoot = projectRoot;
129
+ this.name = 'RelayHomeProjectError';
130
+ }
131
+ }
132
+ /**
133
+ * Refuse to treat the relay home as a project's data folder. Every writer of
134
+ * a project pin (`workspace-key.json`) calls this first.
135
+ * @param dataDir - The project's `.agentworkforce/relay` folder
136
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
137
+ * @throws RelayHomeProjectError when `dataDir` is the relay home
138
+ */
139
+ export function assertNotRelayHome(dataDir, env = process.env) {
140
+ if (isRelayHomeDir(dataDir, env))
141
+ throw new RelayHomeProjectError(dataDir);
142
+ }
143
+ /**
144
+ * Whether `projectRoot` is no project at all: the home folder itself, or a
145
+ * folder whose `.agentworkforce/relay` is a relay home ({@link isRelayHomeDir}).
146
+ * A project root found by walking up from an unmarked folder under `~` (a
147
+ * dotfiles `~/.git`, a stray `~/package.json`) lands here too.
148
+ * @param projectRoot - A detected or configured project root
149
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
150
+ */
151
+ export function isHomeProjectRoot(projectRoot, env = process.env) {
152
+ return samePath(projectRoot, os.homedir()) || isRelayHomeDir(path.join(projectRoot, PROJECT_DATA_DIR), env);
153
+ }
154
+ /**
155
+ * Refuse a project root that is the home folder (or holds the relay home),
156
+ * before any project-scoped file (the workspace pin, `.mcp.json`,
157
+ * `opencode.json`, `.devin/mcp_config.json`, ...) is written there.
158
+ * @param projectRoot - The project root about to receive project-scoped files
159
+ * @param env - Environment to read `AGENT_RELAY_HOME` from
160
+ * @throws RelayHomeProjectError when `projectRoot` is no project
161
+ */
162
+ export function assertProjectRoot(projectRoot, env = process.env) {
163
+ if (isHomeProjectRoot(projectRoot, env)) {
164
+ throw new RelayHomeProjectError(path.join(projectRoot, PROJECT_DATA_DIR), projectRoot);
165
+ }
166
+ }
22
167
  /**
23
168
  * Get the project root by looking for common markers
24
169
  *
@@ -26,6 +171,9 @@ function hashPath(projectPath) {
26
171
  * 1. AGENT_RELAY_PROJECT environment variable (for worktrees/subprojects)
27
172
  * 2. An explicitly pinned nested project, or the enclosing Git checkout
28
173
  * 3. The nearest package marker when outside Git
174
+ *
175
+ * The relay home (`~/.agentworkforce/relay` by default) is never a marker: a
176
+ * folder under the home directory is not part of a "project" rooted at `~`.
29
177
  */
30
178
  export function findProjectRoot(startDir = process.cwd()) {
31
179
  // Allow explicit override for worktrees and subprojects
@@ -34,12 +182,14 @@ export function findProjectRoot(startDir = process.cwd()) {
34
182
  }
35
183
  let current = path.resolve(startDir);
36
184
  const root = path.parse(current).root;
37
- const markers = ['package.json', 'Cargo.toml', 'go.mod', 'pyproject.toml', '.agentworkforce/relay'];
185
+ const markers = ['package.json', 'Cargo.toml', 'go.mod', 'pyproject.toml', PROJECT_DATA_DIR];
38
186
  let nearestPackage;
39
187
  while (true) {
188
+ const dataDir = path.join(current, PROJECT_DATA_DIR);
189
+ const relayHomeHere = fs.existsSync(dataDir) && isRelayHomeDir(dataDir);
40
190
  // Existing subproject pins remain intentional namespaces. A package.json
41
191
  // alone must not split spawn, rebind, node up and attach across projects.
42
- if (fs.existsSync(path.join(current, PROJECT_DATA_DIR, 'workspace-key.json')))
192
+ if (!relayHomeHere && fs.existsSync(path.join(current, PROJECT_DATA_DIR, 'workspace-key.json')))
43
193
  return current;
44
194
  const gitMarkerPath = path.join(current, '.git');
45
195
  let marker;
@@ -68,6 +218,8 @@ export function findProjectRoot(startDir = process.cwd()) {
68
218
  throw new Error('Cannot resolve the repository workspace; check access to its Git project marker.');
69
219
  }
70
220
  for (const marker of markers) {
221
+ if (marker === PROJECT_DATA_DIR && relayHomeHere)
222
+ continue;
71
223
  if (!nearestPackage && fs.existsSync(path.join(current, marker)))
72
224
  nearestPackage = current;
73
225
  }
@@ -92,55 +244,124 @@ export function getProjectPaths(projectRoot) {
92
244
  projectId,
93
245
  };
94
246
  }
247
+ /** The `.git` directory or `gitdir:` file nearest `dir`, walking up. */
248
+ function findDotGit(dir) {
249
+ let current = path.resolve(dir);
250
+ for (;;) {
251
+ const candidate = path.join(current, '.git');
252
+ if (fs.existsSync(candidate))
253
+ return candidate;
254
+ const parent = path.dirname(current);
255
+ if (parent === current)
256
+ return undefined;
257
+ current = parent;
258
+ }
259
+ }
260
+ /**
261
+ * The `info/exclude` git reads for the work tree whose `.git` is `dotGit`.
262
+ * A linked worktree or submodule has a `.git` file pointing at its git
263
+ * directory; a worktree shares `info/exclude` with the main repository
264
+ * through `commondir`, as `git rev-parse --git-path info/exclude` reports.
265
+ */
266
+ function gitExcludePath(dotGit) {
267
+ let gitDir = dotGit;
268
+ // Check and read through one descriptor, so the answer cannot change
269
+ // between them. Some platforms refuse to open a directory (EISDIR); others
270
+ // open it, and FreeBSD would even "read" it, hence fstat.
271
+ let pointerFile;
272
+ let fd;
273
+ try {
274
+ fd = fs.openSync(dotGit, 'r');
275
+ if (!fs.fstatSync(fd).isDirectory())
276
+ pointerFile = fs.readFileSync(fd, 'utf-8');
277
+ }
278
+ catch (error) {
279
+ if (error.code !== 'EISDIR')
280
+ return undefined;
281
+ }
282
+ finally {
283
+ if (fd !== undefined)
284
+ fs.closeSync(fd);
285
+ }
286
+ if (pointerFile !== undefined) {
287
+ const match = /^gitdir:\s*(.+?)\s*$/m.exec(pointerFile);
288
+ if (!match)
289
+ return undefined;
290
+ gitDir = path.resolve(path.dirname(dotGit), match[1]);
291
+ // A stale pointer (moved or pruned worktree) is not a repository to write into.
292
+ try {
293
+ if (!fs.statSync(gitDir).isDirectory())
294
+ return undefined;
295
+ }
296
+ catch {
297
+ return undefined;
298
+ }
299
+ }
300
+ let commonDir = gitDir;
301
+ try {
302
+ const pointer = fs.readFileSync(path.join(gitDir, 'commondir'), 'utf-8').trim();
303
+ if (pointer)
304
+ commonDir = path.resolve(gitDir, pointer);
305
+ }
306
+ catch {
307
+ // Not a linked worktree.
308
+ }
309
+ return path.join(commonDir, 'info', 'exclude');
310
+ }
311
+ /** Escape a work-tree-relative path into an anchored gitignore pattern. */
312
+ function anchoredPattern(relative) {
313
+ return `/${relative
314
+ .split(path.sep)
315
+ .join('/')
316
+ .replace(/[\\*?[\]!#]/g, '\\$&')}/`;
317
+ }
95
318
  /**
96
- * Add .agentworkforce/relay/ to .git/info/exclude (local per-repo gitignore).
319
+ * Keep the project's `.agentworkforce/relay/` directory (workspace key,
320
+ * sockets, local state) out of `git status` by adding it to the repository's
321
+ * `info/exclude`, the per-clone ignore file that is never committed. The
322
+ * project's own `.gitignore` is never modified.
97
323
  *
98
- * This file is:
99
- * - Per-repository (not shared across clones)
100
- * - Not committed (local to each developer)
101
- * - Standard git feature with no permission issues
102
- * - No branch/merge complications
324
+ * Linked worktrees and submodules are handled (the exclude file lives in the
325
+ * repository's common git directory). Outside a git work tree, or on any
326
+ * error, nothing is changed.
103
327
  *
104
- * Returns true if the exclude file was modified
328
+ * @param dataDir - The project data directory, `<project>/.agentworkforce/relay`.
329
+ * @returns Whether the exclude file was changed.
105
330
  */
106
- function ensureGitExclude(projectRoot) {
107
- // Find the .git directory (could be in projectRoot or a parent for worktrees)
108
- const gitDir = path.join(projectRoot, '.git');
109
- const excludePath = path.join(gitDir, 'info', 'exclude');
331
+ export function ensureGitExclude(dataDir) {
110
332
  try {
111
- // Check if this is a git repository
112
- if (!fs.existsSync(gitDir)) {
333
+ const resolved = path.resolve(dataDir);
334
+ const dotGit = findDotGit(resolved);
335
+ if (!dotGit)
113
336
  return { modified: false };
114
- }
115
- // Ensure .git/info directory exists
116
- const infoDir = path.join(gitDir, 'info');
117
- if (!fs.existsSync(infoDir)) {
118
- fs.mkdirSync(infoDir, { recursive: true });
119
- }
337
+ const relative = path.relative(path.dirname(dotGit), resolved);
338
+ if (!relative || relative.startsWith('..') || path.isAbsolute(relative))
339
+ return { modified: false };
340
+ const excludePath = gitExcludePath(dotGit);
341
+ if (!excludePath)
342
+ return { modified: false };
343
+ const pattern = anchoredPattern(relative);
344
+ const bare = pattern.slice(1, -1);
120
345
  let content = '';
121
- if (fs.existsSync(excludePath)) {
346
+ try {
122
347
  content = fs.readFileSync(excludePath, 'utf-8');
123
- // Check if .agentworkforce/relay is already in exclude
124
- const lines = content.split('\n');
125
- const hasEntry = lines.some((line) => {
126
- const trimmed = line.trim();
127
- return (trimmed === '.agentworkforce/relay' ||
128
- trimmed === '.agentworkforce/relay/' ||
129
- trimmed === '/.agentworkforce/relay' ||
130
- trimmed === '/.agentworkforce/relay/');
131
- });
132
- if (hasEntry) {
133
- return { modified: false }; // Already present
134
- }
135
348
  }
136
- // Add .agentworkforce/relay/ to exclude
137
- const newEntry = '.agentworkforce/relay/';
138
- const newContent = content.endsWith('\n') || content === '' ? `${content}${newEntry}\n` : `${content}\n${newEntry}\n`;
139
- fs.writeFileSync(excludePath, newContent, 'utf-8');
349
+ catch {
350
+ // No exclude file yet.
351
+ }
352
+ const present = content
353
+ .split('\n')
354
+ .map((line) => line.trim())
355
+ .some((line) => [bare, `${bare}/`, `/${bare}`, pattern].includes(line));
356
+ if (present)
357
+ return { modified: false };
358
+ fs.mkdirSync(path.dirname(excludePath), { recursive: true });
359
+ const separator = content === '' || content.endsWith('\n') ? '' : '\n';
360
+ fs.appendFileSync(excludePath, `${separator}${pattern}\n`, 'utf-8');
140
361
  return { modified: true };
141
362
  }
142
363
  catch {
143
- // Silently ignore errors (not a git repo, no write permission, etc.)
364
+ // Not a git repository we can write to; never block the caller.
144
365
  return { modified: false };
145
366
  }
146
367
  }
@@ -154,7 +375,7 @@ export function ensureProjectDir(projectRoot) {
154
375
  if (isFirstCreation) {
155
376
  fs.mkdirSync(paths.dataDir, { recursive: true });
156
377
  // Add to .git/info/exclude (local per-repo gitignore, not committed)
157
- const excludeResult = ensureGitExclude(paths.projectRoot);
378
+ const excludeResult = ensureGitExclude(paths.dataDir);
158
379
  if (excludeResult.modified) {
159
380
  console.log('[agent-relay] Added .agentworkforce/relay/ to .git/info/exclude');
160
381
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project-namespace.js","sourceRoot":"","sources":["../src/project-namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-namespace.js","sourceRoot":"","sources":["../src/project-namespace.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-relay/config",
3
- "version": "15.0.0-next.1",
3
+ "version": "15.0.0-next.10",
4
4
  "engines": {
5
5
  "node": ">=22.0.0"
6
6
  },