borgmcp 4.4.0 → 4.5.0
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/dist/agent-integration-health.d.ts +2 -0
- package/dist/agent-integration-health.d.ts.map +1 -1
- package/dist/agent-integration-health.js +18 -1
- package/dist/agent-integration-health.js.map +1 -1
- package/dist/assimilate-cmd.d.ts +3 -0
- package/dist/assimilate-cmd.d.ts.map +1 -1
- package/dist/assimilate-cmd.js +12 -0
- package/dist/assimilate-cmd.js.map +1 -1
- package/dist/assimilate-deps.d.ts.map +1 -1
- package/dist/assimilate-deps.js +4 -2
- package/dist/assimilate-deps.js.map +1 -1
- package/dist/backends/launch-all-terminals.d.ts.map +1 -1
- package/dist/backends/launch-all-terminals.js +6 -3
- package/dist/backends/launch-all-terminals.js.map +1 -1
- package/dist/cli-help.js +2 -2
- package/dist/cli-help.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/index.js.map +1 -1
- package/dist/opencode-drone.d.ts +2 -0
- package/dist/opencode-drone.d.ts.map +1 -1
- package/dist/opencode-drone.js +86 -19
- package/dist/opencode-drone.js.map +1 -1
- package/dist/private-root.d.ts +2 -0
- package/dist/private-root.d.ts.map +1 -1
- package/dist/private-root.js +35 -1
- package/dist/private-root.js.map +1 -1
- package/dist/seats.d.ts +5 -0
- package/dist/seats.d.ts.map +1 -1
- package/dist/seats.js +10 -0
- package/dist/seats.js.map +1 -1
- package/dist/server-handshake.d.ts.map +1 -1
- package/dist/server-handshake.js +1 -0
- package/dist/server-handshake.js.map +1 -1
- package/dist/terminal-title.d.ts.map +1 -1
- package/dist/terminal-title.js +3 -2
- package/dist/terminal-title.js.map +1 -1
- package/docs/LOCAL_SERVER.md +7 -5
- package/package.json +1 -1
- package/src/agent-integration-health.ts +20 -1
- package/src/assimilate-cmd.ts +17 -0
- package/src/assimilate-deps.ts +4 -1
- package/src/backends/launch-all-terminals.ts +6 -3
- package/src/cli-help.ts +2 -2
- package/src/index.ts +8 -1
- package/src/opencode-drone.ts +116 -19
- package/src/private-root.ts +38 -1
- package/src/seats.ts +15 -0
- package/src/server-handshake.ts +1 -0
- package/src/terminal-title.ts +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-handshake.js","sourceRoot":"","sources":["../src/server-handshake.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-handshake.js","sourceRoot":"","sources":["../src/server-handshake.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-title.d.ts","sourceRoot":"","sources":["../src/terminal-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;
|
|
1
|
+
{"version":3,"file":"terminal-title.d.ts","sourceRoot":"","sources":["../src/terminal-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACvD,YAAY,EAAE,MAAM,GACnB,MAAM,CAKR;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,EACvD,YAAY,EAAE,MAAM,EACpB,MAAM,GAAE,MAAM,CAAC,WAA4B,GAC1C,MAAM,CASR"}
|
package/dist/terminal-title.js
CHANGED
|
@@ -31,6 +31,7 @@
|
|
|
31
31
|
* "drone has been around long enough that cubes.json is already
|
|
32
32
|
* populated," so the assimilated path is the common case.
|
|
33
33
|
*/
|
|
34
|
+
import { escapeSyncDisplay } from './sync-roles-render.js';
|
|
34
35
|
/**
|
|
35
36
|
* Pure: compose the title string for a session. Exported so tests can
|
|
36
37
|
* exercise every branch without TTY / process / fs dependencies.
|
|
@@ -42,9 +43,9 @@
|
|
|
42
43
|
*/
|
|
43
44
|
export function composeTerminalTitle(activeDrone, repoBasename) {
|
|
44
45
|
if (activeDrone) {
|
|
45
|
-
return `borg · ${activeDrone.label} · ${activeDrone.cubeName}`;
|
|
46
|
+
return `borg · ${escapeSyncDisplay(activeDrone.label)} · ${escapeSyncDisplay(activeDrone.cubeName)}`;
|
|
46
47
|
}
|
|
47
|
-
return `borg · ${repoBasename}`;
|
|
48
|
+
return `borg · ${escapeSyncDisplay(repoBasename)}`;
|
|
48
49
|
}
|
|
49
50
|
/**
|
|
50
51
|
* Side-effecting: emit the OSC 0 escape to stdout, but only if stdout
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-title.js","sourceRoot":"","sources":["../src/terminal-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAuD,EACvD,YAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,UAAU,WAAW,CAAC,KAAK,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-title.js","sourceRoot":"","sources":["../src/terminal-title.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAuD,EACvD,YAAoB;IAEpB,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,UAAU,iBAAiB,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,iBAAiB,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvG,CAAC;IACD,OAAO,UAAU,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;AACrD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,WAAuD,EACvD,YAAoB,EACpB,SAA6B,OAAO,CAAC,MAAM;IAE3C,MAAM,KAAK,GAAG,oBAAoB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,+BAA+B;QAC/B,8DAA8D;QAC9D,4DAA4D;QAC5D,MAAM,CAAC,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/docs/LOCAL_SERVER.md
CHANGED
|
@@ -245,11 +245,13 @@ noncanonical worktrees heal when Borg next launches or assimilates them.
|
|
|
245
245
|
|
|
246
246
|
`borg doctor` performs the same bin-owner and version checks without changing
|
|
247
247
|
state. It inventories managed hook files and verifies the OpenCode orientation
|
|
248
|
-
plugin against its borgmcp version marker and generated behavior. It
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
248
|
+
plugin against its borgmcp version marker and generated behavior. It also prints
|
|
249
|
+
the bounded, identity-free OpenCode startup diagnostic log so failures hidden by
|
|
250
|
+
OpenCode's discarded MCP stderr can be inspected. It reports status-specific
|
|
251
|
+
recovery: reinstall a missing bin, correct PATH for the wrong package or version,
|
|
252
|
+
run `borg update --yes` for stale managed hooks, repair a named invalid
|
|
253
|
+
configuration before rerunning update, or run `borg update --yes` to install a
|
|
254
|
+
missing or outdated OpenCode plugin.
|
|
253
255
|
|
|
254
256
|
`borg server update` remains the server-runtime-only command. It verifies and
|
|
255
257
|
activates the server artifact but deliberately does not rewrite the global
|
package/package.json
CHANGED
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
installBorgPlugin,
|
|
16
16
|
openCodePluginPath,
|
|
17
17
|
} from './opencode-plugin.js';
|
|
18
|
+
import { openCodeStartupDiagnosticLogPath } from './opencode-drone.js';
|
|
18
19
|
|
|
19
20
|
export const AGENT_HOOK_BINS = [
|
|
20
21
|
'borg-regen',
|
|
@@ -292,12 +293,30 @@ export function assertAgentIntegrationHealthy(report: AgentIntegrationHealth): v
|
|
|
292
293
|
|
|
293
294
|
export function runDoctor(options: InspectAgentIntegrationHealthOptions & {
|
|
294
295
|
stdout?: (text: string) => void;
|
|
296
|
+
openCodeStartupLogPath?: string;
|
|
295
297
|
} = {}): number {
|
|
296
298
|
const report = inspectAgentIntegrationHealth(options);
|
|
297
|
-
|
|
299
|
+
const output = renderAgentIntegrationHealth(report) + renderOpenCodeStartupDiagnostics(
|
|
300
|
+
options.openCodeStartupLogPath ?? openCodeStartupDiagnosticLogPath(),
|
|
301
|
+
);
|
|
302
|
+
(options.stdout ?? ((text) => process.stdout.write(text)))(output);
|
|
298
303
|
return report.issues.length === 0 ? 0 : 1;
|
|
299
304
|
}
|
|
300
305
|
|
|
306
|
+
export function renderOpenCodeStartupDiagnostics(logPath: string): string {
|
|
307
|
+
try {
|
|
308
|
+
const metadata = fs.lstatSync(logPath);
|
|
309
|
+
if (metadata.isSymbolicLink() || !metadata.isFile()) {
|
|
310
|
+
return `OpenCode startup diagnostics: refused at ${logPath} (path is not a regular file)\n`;
|
|
311
|
+
}
|
|
312
|
+
const contents = fs.readFileSync(logPath, 'utf8');
|
|
313
|
+
return `OpenCode startup diagnostics (${logPath}):\n${contents.trimEnd()}\n`;
|
|
314
|
+
} catch (error) {
|
|
315
|
+
if (error instanceof Error && 'code' in error && error.code === 'ENOENT') return '';
|
|
316
|
+
return `OpenCode startup diagnostics: unreadable at ${logPath} (${error instanceof Error ? error.message : String(error)})\n`;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
|
|
301
320
|
export function warnIfAgentIntegrationUnhealthy(
|
|
302
321
|
options: InspectAgentIntegrationHealthOptions & { stderr?: (text: string) => void } = {},
|
|
303
322
|
): boolean {
|
package/src/assimilate-cmd.ts
CHANGED
|
@@ -299,10 +299,13 @@ export interface AssimilateDeps {
|
|
|
299
299
|
* production; absent from unit stubs that fully mock `assimilate`. */
|
|
300
300
|
finalizeServerSeat?: (input: {
|
|
301
301
|
active: ActiveCube;
|
|
302
|
+
commonDir: string;
|
|
302
303
|
expected: ExpectedBinding;
|
|
303
304
|
activate: (binding: SeatBinding) => Promise<unknown>;
|
|
304
305
|
scrubPending: () => Promise<unknown>;
|
|
305
306
|
}) => Promise<FinalizeServerSeatOutcome>;
|
|
307
|
+
/** Advisory clone-family comparison for public repositories. */
|
|
308
|
+
hasActiveSeatInDifferentCloneFamily?: (cubeId: string, commonDir: string) => Promise<boolean>;
|
|
306
309
|
findProjectRoot: (cwd: string) => string;
|
|
307
310
|
resolveRepositoryContext: (cwd: string) => Promise<GitRepositoryContext | null>;
|
|
308
311
|
getRepositoryIdentity: (context: GitRepositoryContext) => Promise<CreateCubeRepository>;
|
|
@@ -1938,6 +1941,7 @@ export async function runAssimilate(
|
|
|
1938
1941
|
try {
|
|
1939
1942
|
outcome = await deps.finalizeServerSeat({
|
|
1940
1943
|
active: activeCube,
|
|
1944
|
+
commonDir: repositoryContext.commonDir,
|
|
1941
1945
|
expected: sessionExpected,
|
|
1942
1946
|
activate: result.finalize.activate,
|
|
1943
1947
|
scrubPending: result.finalize.scrubPending,
|
|
@@ -2030,6 +2034,19 @@ export async function runAssimilate(
|
|
|
2030
2034
|
}
|
|
2031
2035
|
}
|
|
2032
2036
|
|
|
2037
|
+
if (repositoryContext.publicRepository && deps.hasActiveSeatInDifferentCloneFamily) {
|
|
2038
|
+
try {
|
|
2039
|
+
if (await deps.hasActiveSeatInDifferentCloneFamily(result.cube_id, repositoryContext.commonDir)) {
|
|
2040
|
+
deps.stderr(
|
|
2041
|
+
'warning: this cube already has a seat from a different clone family. ' +
|
|
2042
|
+
'All seats for a repository use worktrees from the same clone family, sharing its object database and refs.\n',
|
|
2043
|
+
);
|
|
2044
|
+
}
|
|
2045
|
+
} catch {
|
|
2046
|
+
// This comparison is advisory and must never block assimilation.
|
|
2047
|
+
}
|
|
2048
|
+
}
|
|
2049
|
+
|
|
2033
2050
|
// gh#793: best-effort GC of orphaned inbox files (evicted/dead drones) in the
|
|
2034
2051
|
// cube just joined — lazy-on-assimilate, no cron/new command. NEVER blocks or
|
|
2035
2052
|
// fails the assimilate (whole call swallowed). Local-only signal (CubeDetail
|
package/src/assimilate-deps.ts
CHANGED
|
@@ -43,6 +43,7 @@ import {
|
|
|
43
43
|
import { advanceLocalServerCursor } from './local-server-cursor.js';
|
|
44
44
|
import {
|
|
45
45
|
findIncompleteSiblingAttempt,
|
|
46
|
+
hasActiveSeatInDifferentCloneFamily,
|
|
46
47
|
observeSeat,
|
|
47
48
|
prepareSeat,
|
|
48
49
|
seatRef,
|
|
@@ -214,9 +215,10 @@ export function buildDefaultAssimilateDeps(
|
|
|
214
215
|
// missing/replaced/throw → the pending record is the rerunnable locator; the
|
|
215
216
|
// caller PRESERVES the worktree). expectation-mismatch is produced upstream at
|
|
216
217
|
// PREPARE (result.prepareAborted), never here.
|
|
217
|
-
finalizeServerSeat: async ({ active, activate }) => {
|
|
218
|
+
finalizeServerSeat: async ({ active, commonDir, activate }) => {
|
|
218
219
|
const binding = {
|
|
219
220
|
worktree: cubesFindProjectRoot(process.cwd()),
|
|
221
|
+
commonDir,
|
|
220
222
|
name: active.name,
|
|
221
223
|
droneLabel: active.droneLabel,
|
|
222
224
|
...(active.roleName !== undefined ? { roleName: active.roleName } : {}),
|
|
@@ -233,6 +235,7 @@ export function buildDefaultAssimilateDeps(
|
|
|
233
235
|
? { committed: true }
|
|
234
236
|
: { committed: false, reason: 'activation-failed' };
|
|
235
237
|
},
|
|
238
|
+
hasActiveSeatInDifferentCloneFamily,
|
|
236
239
|
findProjectRoot: (cwd) => cubesFindProjectRoot(cwd),
|
|
237
240
|
resolveRepositoryContext: resolveGitRepositoryContext,
|
|
238
241
|
getRepositoryIdentity: getOrCreateRepositoryIdentity,
|
|
@@ -96,14 +96,17 @@ async function launchLinux(candidates: DroneCandidate[], opts: TerminalsOpts, de
|
|
|
96
96
|
}
|
|
97
97
|
|
|
98
98
|
/**
|
|
99
|
-
* Control char (incl. newline) in a worktree path.
|
|
99
|
+
* Control char (incl. newline) in a worktree path. A path cannot be escaped
|
|
100
|
+
* without changing the launch target, so it remains a fail-loud rejection.
|
|
101
|
+
* Server-derived title fields are escaped separately by composeTerminalTitle.
|
|
102
|
+
* SR f94bb3fe + Coordinator
|
|
100
103
|
* c6370c41 fold-in: a newline in the path breaks the macOS osascript AppleScript
|
|
101
104
|
* string literal (parse error). Reject such paths up front (the user's own path;
|
|
102
105
|
* pathological) — fail-loud + skip, never silently mangle. Applies to both
|
|
103
106
|
* platforms defensively (the tmux primary handles control chars fine via
|
|
104
107
|
* shellEscape + array-args, so this guard is terminals-backend-specific).
|
|
105
108
|
*/
|
|
106
|
-
const
|
|
109
|
+
const WORKTREE_CONTROL_CHAR_RE = /[\x00-\x1f\x7f]/;
|
|
107
110
|
|
|
108
111
|
export async function runTerminalsBackend(
|
|
109
112
|
candidates: DroneCandidate[],
|
|
@@ -111,7 +114,7 @@ export async function runTerminalsBackend(
|
|
|
111
114
|
deps: LaunchAllDeps
|
|
112
115
|
): Promise<void> {
|
|
113
116
|
const safe = candidates.filter((c) => {
|
|
114
|
-
if (
|
|
117
|
+
if (WORKTREE_CONTROL_CHAR_RE.test(c.worktreeDir)) {
|
|
115
118
|
deps.stderr(
|
|
116
119
|
`skipping ${c.droneLabel} (${JSON.stringify(c.worktreeDir)}): worktree path contains a control ` +
|
|
117
120
|
`character — unsafe for --mode terminals; use --mode tmux instead.\n`
|
package/src/cli-help.ts
CHANGED
|
@@ -117,7 +117,7 @@ export function doctorHelpText(version: string): string {
|
|
|
117
117
|
return (
|
|
118
118
|
`borg doctor (borgmcp ${version}) — inspect Borg agent integrations without changing them\n\n` +
|
|
119
119
|
`Usage:\n` +
|
|
120
|
-
` borg doctor Run read-only checks for hook commands,
|
|
120
|
+
` borg doctor Run read-only checks for hook commands, OpenCode integration, and startup diagnostics\n` +
|
|
121
121
|
` borg doctor --help Show this help\n`
|
|
122
122
|
);
|
|
123
123
|
}
|
|
@@ -172,7 +172,7 @@ export function topLevelHelpText(version: string): string {
|
|
|
172
172
|
` borg Show the launch menu in a repository root; resume directly in a linked worktree\n` +
|
|
173
173
|
` borg setup Set up borg MCP server + agent CLI integration\n` +
|
|
174
174
|
` borg update Update the client and installed local server together\n` +
|
|
175
|
-
` borg doctor Check agent hook commands,
|
|
175
|
+
` borg doctor Check agent hook commands, OpenCode integration, and startup diagnostics\n` +
|
|
176
176
|
` borg clone <url> [dir] Clone a repository, then create and launch its cube\n` +
|
|
177
177
|
` borg quickstart Create a cube and a drone for every role, then launch them\n` +
|
|
178
178
|
` borg assimilate [role] Join or create a cube with one drone under one role\n` +
|
package/src/index.ts
CHANGED
|
@@ -150,6 +150,7 @@ import {
|
|
|
150
150
|
configuredOpenCodePort,
|
|
151
151
|
OPEN_CODE_PORT_MISSING_DIAGNOSTIC,
|
|
152
152
|
openCodeLaunchBinding,
|
|
153
|
+
writeOpenCodeStartupDiagnostic,
|
|
153
154
|
} from './opencode-drone.js';
|
|
154
155
|
import { installBorgPlugin } from './opencode-plugin.js';
|
|
155
156
|
import { openCodeApiPasswordFromEnv } from './opencode-launch-trust.js';
|
|
@@ -1694,7 +1695,13 @@ export async function main() {
|
|
|
1694
1695
|
if (openCodeIdentityReady) {
|
|
1695
1696
|
await openCodeIdentityReady;
|
|
1696
1697
|
if (openCodeIdentityFailure) {
|
|
1697
|
-
|
|
1698
|
+
const diagnostic = formatOpenCodeSeatIdentityError(openCodeIdentityFailure, process.cwd());
|
|
1699
|
+
try {
|
|
1700
|
+
writeOpenCodeStartupDiagnostic(diagnostic);
|
|
1701
|
+
} catch {
|
|
1702
|
+
// Diagnostic persistence is best-effort; the original identity failure must terminate startup.
|
|
1703
|
+
}
|
|
1704
|
+
throw new Error(diagnostic);
|
|
1698
1705
|
} else {
|
|
1699
1706
|
await runMcpStartupServices(false, startupServices, { openCodeFirst: true });
|
|
1700
1707
|
}
|
package/src/opencode-drone.ts
CHANGED
|
@@ -1,8 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
closeSync,
|
|
3
|
+
constants,
|
|
4
|
+
existsSync,
|
|
5
|
+
fchmodSync,
|
|
6
|
+
fstatSync,
|
|
7
|
+
openSync,
|
|
8
|
+
readFileSync,
|
|
9
|
+
readSync,
|
|
10
|
+
renameSync,
|
|
11
|
+
unlinkSync,
|
|
12
|
+
writeFileSync,
|
|
13
|
+
writeSync,
|
|
14
|
+
} from 'fs';
|
|
15
|
+
import { createHash, randomUUID } from 'crypto';
|
|
3
16
|
import { createServer } from 'node:net';
|
|
4
17
|
import { join } from 'path';
|
|
5
18
|
import { tmpdir } from 'os';
|
|
19
|
+
import {
|
|
20
|
+
borgConfigRoot,
|
|
21
|
+
ensurePrivateBorgConfigRoot,
|
|
22
|
+
ensurePrivateBorgConfigRootSync,
|
|
23
|
+
} from './private-root.js';
|
|
6
24
|
import {
|
|
7
25
|
OPENCODE_INJECTED_ENTRY_METADATA_KEY,
|
|
8
26
|
OPENCODE_WAKE_IDENTITY_METADATA_KEY,
|
|
@@ -30,37 +48,115 @@ function stateIdentityDigest(current: OpenCodeDroneState): string {
|
|
|
30
48
|
return createHash('sha256').update(key).digest('hex').slice(0, 24);
|
|
31
49
|
}
|
|
32
50
|
|
|
33
|
-
function
|
|
34
|
-
|
|
51
|
+
export function openCodeStartupDiagnosticLogPath(): string {
|
|
52
|
+
return join(borgConfigRoot(), 'opencode-drone-startup.log');
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function diagnosticLogPath(owner: OpenCodeDroneState | null): string {
|
|
56
|
+
const root = borgConfigRoot();
|
|
57
|
+
const path = owner
|
|
58
|
+
? join(root, `opencode-drone-${stateIdentityDigest(owner)}.log`)
|
|
59
|
+
: openCodeStartupDiagnosticLogPath();
|
|
35
60
|
diagnosticLogPathsForTests.add(path);
|
|
36
61
|
return path;
|
|
37
62
|
}
|
|
38
63
|
|
|
39
|
-
function log(msg: string, owner: OpenCodeDroneState | null = state) {
|
|
64
|
+
function log(msg: string, owner: OpenCodeDroneState | null = state, throwOnFailure = false) {
|
|
40
65
|
const line = `[${new Date().toISOString()}] ${msg}\n`;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
66
|
+
let descriptor: number | null = null;
|
|
67
|
+
let temporaryDescriptor: number | null = null;
|
|
68
|
+
let temporary: string | null = null;
|
|
45
69
|
try {
|
|
70
|
+
ensurePrivateBorgConfigRootSync(borgConfigRoot());
|
|
46
71
|
const path = diagnosticLogPath(owner);
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
72
|
+
// The private root is the primary boundary. Where available, no-follow also
|
|
73
|
+
// closes the final replacement gap between root verification and this open.
|
|
74
|
+
const noFollow = constants.O_NOFOLLOW ?? 0;
|
|
75
|
+
descriptor = openSync(
|
|
76
|
+
path,
|
|
77
|
+
constants.O_RDWR |
|
|
78
|
+
constants.O_APPEND |
|
|
79
|
+
constants.O_CREAT |
|
|
80
|
+
noFollow,
|
|
81
|
+
0o600,
|
|
82
|
+
);
|
|
83
|
+
if (!fstatSync(descriptor).isFile()) {
|
|
84
|
+
throw Object.assign(new Error('OpenCode diagnostic log is not a regular file'), { code: 'EINVAL' });
|
|
85
|
+
}
|
|
86
|
+
fchmodSync(descriptor, 0o600);
|
|
87
|
+
writeSync(descriptor, line, null, 'utf8');
|
|
88
|
+
|
|
89
|
+
const size = fstatSync(descriptor).size;
|
|
90
|
+
if (size <= OPEN_CODE_DIAGNOSTIC_LOG_MAX_BYTES) return;
|
|
91
|
+
const tail = Buffer.allocUnsafe(OPEN_CODE_DIAGNOSTIC_LOG_MAX_BYTES);
|
|
92
|
+
let bytesRead = 0;
|
|
93
|
+
while (bytesRead < tail.length) {
|
|
94
|
+
const count = readSync(
|
|
95
|
+
descriptor,
|
|
96
|
+
tail,
|
|
97
|
+
bytesRead,
|
|
98
|
+
tail.length - bytesRead,
|
|
99
|
+
size - tail.length + bytesRead,
|
|
100
|
+
);
|
|
101
|
+
if (count === 0) break;
|
|
102
|
+
bytesRead += count;
|
|
103
|
+
}
|
|
104
|
+
const completeTail = tail.subarray(0, bytesRead);
|
|
105
|
+
const firstNewline = completeTail.indexOf(0x0a);
|
|
106
|
+
const bounded = firstNewline >= 0 ? completeTail.subarray(firstNewline + 1) : completeTail;
|
|
107
|
+
|
|
108
|
+
temporary = `${path}.${randomUUID()}.tmp`;
|
|
109
|
+
temporaryDescriptor = openSync(
|
|
110
|
+
temporary,
|
|
111
|
+
constants.O_WRONLY | constants.O_CREAT | constants.O_EXCL | noFollow,
|
|
112
|
+
0o600,
|
|
113
|
+
);
|
|
114
|
+
if (!fstatSync(temporaryDescriptor).isFile()) {
|
|
115
|
+
throw Object.assign(new Error('OpenCode diagnostic temporary is not a regular file'), { code: 'EINVAL' });
|
|
116
|
+
}
|
|
117
|
+
fchmodSync(temporaryDescriptor, 0o600);
|
|
118
|
+
let bytesWritten = 0;
|
|
119
|
+
while (bytesWritten < bounded.length) {
|
|
120
|
+
const count = writeSync(
|
|
121
|
+
temporaryDescriptor,
|
|
122
|
+
bounded,
|
|
123
|
+
bytesWritten,
|
|
124
|
+
bounded.length - bytesWritten,
|
|
125
|
+
);
|
|
126
|
+
if (count === 0) throw Object.assign(new Error('OpenCode diagnostic temporary write stalled'), { code: 'EIO' });
|
|
127
|
+
bytesWritten += count;
|
|
128
|
+
}
|
|
129
|
+
closeSync(temporaryDescriptor);
|
|
130
|
+
temporaryDescriptor = null;
|
|
131
|
+
closeSync(descriptor);
|
|
132
|
+
descriptor = null;
|
|
57
133
|
renameSync(temporary, path);
|
|
134
|
+
temporary = null;
|
|
58
135
|
} catch (error) {
|
|
59
136
|
const code = (error as NodeJS.ErrnoException | null)?.code ?? 'unknown';
|
|
60
137
|
process.stderr.write(`OpenCode diagnostic log write failed (${code})\n`);
|
|
138
|
+
if (throwOnFailure) throw error;
|
|
139
|
+
} finally {
|
|
140
|
+
if (temporaryDescriptor !== null) {
|
|
141
|
+
try { closeSync(temporaryDescriptor); } catch { /* The primary write error is already reported. */ }
|
|
142
|
+
}
|
|
143
|
+
if (descriptor !== null) {
|
|
144
|
+
try { closeSync(descriptor); } catch { /* The primary write error is already reported. */ }
|
|
145
|
+
}
|
|
146
|
+
if (temporary !== null) {
|
|
147
|
+
try {
|
|
148
|
+
unlinkSync(temporary);
|
|
149
|
+
} catch {
|
|
150
|
+
// Already absent or inaccessible; the randomized name cannot be reused.
|
|
151
|
+
}
|
|
152
|
+
}
|
|
61
153
|
}
|
|
62
154
|
}
|
|
63
155
|
|
|
156
|
+
export function writeOpenCodeStartupDiagnostic(message: string): void {
|
|
157
|
+
log(message, null, true);
|
|
158
|
+
}
|
|
159
|
+
|
|
64
160
|
interface OpenCodeDroneState {
|
|
65
161
|
serverUrl: string;
|
|
66
162
|
apiPassword: string;
|
|
@@ -229,6 +325,7 @@ export async function connectOpenCodeDrone(deps: ConnectDeps): Promise<void> {
|
|
|
229
325
|
if (!isOpenCode256BitIdentity(deps.apiPassword)) {
|
|
230
326
|
throw new OpenCodeAuthenticationError('OpenCode API password is missing or unverifiable');
|
|
231
327
|
}
|
|
328
|
+
await ensurePrivateBorgConfigRoot(borgConfigRoot());
|
|
232
329
|
abandonOpenCodeDeliveries(state);
|
|
233
330
|
state = {
|
|
234
331
|
serverUrl: deps.serverUrl,
|
package/src/private-root.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { lstatSync, realpathSync } from 'node:fs';
|
|
1
|
+
import fs, { lstatSync, realpathSync } from 'node:fs';
|
|
2
2
|
import { chmod, lstat, mkdir } from 'node:fs/promises';
|
|
3
3
|
import { homedir } from 'node:os';
|
|
4
4
|
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
@@ -100,3 +100,40 @@ export async function ensurePrivateBorgConfigRoot(root = borgConfigRoot()): Prom
|
|
|
100
100
|
throw new Error('Borg private-state directory is not private');
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
|
+
|
|
104
|
+
/** Synchronous equivalent for startup-failure paths that must never await. */
|
|
105
|
+
export function ensurePrivateBorgConfigRootSync(root = borgConfigRoot()): void {
|
|
106
|
+
if (!isAbsolute(root) || resolve(root) !== root) {
|
|
107
|
+
throw new Error('Borg private-state directory path is not canonical');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
let metadata: fs.Stats;
|
|
111
|
+
try {
|
|
112
|
+
metadata = fs.lstatSync(root);
|
|
113
|
+
} catch (error) {
|
|
114
|
+
if ((error as NodeJS.ErrnoException).code !== 'ENOENT') throw error;
|
|
115
|
+
fs.mkdirSync(root, { recursive: true, mode: 0o700 });
|
|
116
|
+
metadata = fs.lstatSync(root);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (metadata.isSymbolicLink() || !metadata.isDirectory()) {
|
|
120
|
+
throw new Error('Borg private-state directory must be a real directory');
|
|
121
|
+
}
|
|
122
|
+
const uid = typeof process.getuid === 'function' ? process.getuid() : null;
|
|
123
|
+
if (uid !== null && metadata.uid !== uid) {
|
|
124
|
+
throw new Error('Borg private-state directory is not owned by the current user');
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
const mode = metadata.mode & 0o777;
|
|
128
|
+
if ((mode & 0o022) !== 0) {
|
|
129
|
+
throw new Error('Borg private-state directory is writable by other users');
|
|
130
|
+
}
|
|
131
|
+
if (mode !== 0o700) {
|
|
132
|
+
fs.chmodSync(root, 0o700);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
const final = fs.lstatSync(root);
|
|
136
|
+
if (!final.isDirectory() || (final.mode & 0o777) !== 0o700) {
|
|
137
|
+
throw new Error('Borg private-state directory is not private');
|
|
138
|
+
}
|
|
139
|
+
}
|