borgmcp 3.13.0 → 3.15.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/cli-help.d.ts +2 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +11 -2
- package/dist/cli-help.js.map +1 -1
- package/dist/server-facade.d.ts +10 -7
- package/dist/server-facade.d.ts.map +1 -1
- package/dist/server-facade.js +25 -4
- package/dist/server-facade.js.map +1 -1
- package/docs/LOCAL_SERVER.md +18 -0
- package/package.json +1 -1
- package/src/cli-help.ts +14 -2
- package/src/server-facade.ts +38 -10
package/dist/cli-help.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export declare function recoverEnrollmentHelpText(version: string): string;
|
|
|
28
28
|
export declare function updateHelpText(version: string): string;
|
|
29
29
|
/** Product Design-approved client-owned copy for `borg server --help`. */
|
|
30
30
|
export declare function serverHelpText(): string;
|
|
31
|
+
/** Client-owned help for the server-owned service command namespace. */
|
|
32
|
+
export declare function serverServiceHelpText(): string;
|
|
31
33
|
/** Client-owned help for repository cube initialization without a drone. */
|
|
32
34
|
export declare function cubeInitHelpText(version: string): string;
|
|
33
35
|
/**
|
package/dist/cli-help.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAuBzD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBrD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6BxD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASjE;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"cli-help.d.ts","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,wDAAwD;AACxD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAE3D;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQvD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAuBzD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgB1D;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmBrD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAW1D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAOtD;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAgBf;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA6BxD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CASjE;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAoBtD;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,MAAM,CAmBvC;AAED,wEAAwE;AACxE,wBAAgB,qBAAqB,IAAI,MAAM,CAO9C;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAgBxD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAmC1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAkB9D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAQrD"}
|
package/dist/cli-help.js
CHANGED
|
@@ -187,8 +187,9 @@ export function serverHelpText() {
|
|
|
187
187
|
return (`Usage: borg server <command> [arguments]\n\n` +
|
|
188
188
|
`Commands:\n` +
|
|
189
189
|
` setup Prepare local server identity and data; does not start the server.\n` +
|
|
190
|
-
` start Start the verified server in the foreground.\n` +
|
|
191
|
-
`
|
|
190
|
+
` start Start the verified server in the foreground; press Ctrl-C to stop.\n` +
|
|
191
|
+
` service install Install and start the loopback-only per-user service so it continues after the terminal closes.\n` +
|
|
192
|
+
` service uninstall Remove the managed service and preserve local state.\n` +
|
|
192
193
|
` status Report verified runtime evidence.\n` +
|
|
193
194
|
` update Verify and activate a local server artifact.\n` +
|
|
194
195
|
` invite Create a single-use invitation in an interactive terminal.\n` +
|
|
@@ -197,8 +198,16 @@ export function serverHelpText() {
|
|
|
197
198
|
` client-grant Grant a client read, write, or manage access to a cube while the server is live; committed changes take effect on the next request.\n` +
|
|
198
199
|
` dashboard View the running local server dashboard.\n` +
|
|
199
200
|
` cube init Initialize this Git repository's cube; does not create a drone.\n\n` +
|
|
201
|
+
`Managed-service behavior is server-owned. This client forwards install and uninstall but does not expose stop.\n\n` +
|
|
200
202
|
`Run borg server <command> --help for server command options.\n`);
|
|
201
203
|
}
|
|
204
|
+
/** Client-owned help for the server-owned service command namespace. */
|
|
205
|
+
export function serverServiceHelpText() {
|
|
206
|
+
return (`Usage: borg server service <command> [arguments]\n\n` +
|
|
207
|
+
`Commands:\n` +
|
|
208
|
+
` install Install and start the loopback-only per-user service.\n` +
|
|
209
|
+
` uninstall Remove the managed service and preserve local state.\n`);
|
|
210
|
+
}
|
|
202
211
|
/** Client-owned help for repository cube initialization without a drone. */
|
|
203
212
|
export function cubeInitHelpText(version) {
|
|
204
213
|
return (`borg server cube init (borgmcp ${version}) — initialize this Git repository's cube without creating a drone\n\n` +
|
package/dist/cli-help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli-help.js","sourceRoot":"","sources":["../src/cli-help.ts"],"names":[],"mappings":"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"}
|
package/dist/server-facade.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type SpawnOptions } from 'node:child_process';
|
|
2
|
-
export declare const SERVER_LIFECYCLE_COMMANDS: readonly ["setup", "start", "
|
|
2
|
+
export declare const SERVER_LIFECYCLE_COMMANDS: readonly ["setup", "start", "status", "update", "invite", "cert-reissue", "client-list", "client-grant", "dashboard"];
|
|
3
3
|
export type ServerLifecycleCommand = typeof SERVER_LIFECYCLE_COMMANDS[number];
|
|
4
|
+
export type ServerFacadeCommand = ServerLifecycleCommand | 'service install' | 'service uninstall';
|
|
4
5
|
export type ParsedServerFacadeArgs = {
|
|
5
6
|
kind: 'help';
|
|
7
|
+
} | {
|
|
8
|
+
kind: 'service-help';
|
|
6
9
|
} | {
|
|
7
10
|
kind: 'cube-init-help';
|
|
8
11
|
} | {
|
|
@@ -10,10 +13,10 @@ export type ParsedServerFacadeArgs = {
|
|
|
10
13
|
args: string[];
|
|
11
14
|
} | {
|
|
12
15
|
kind: 'command-help';
|
|
13
|
-
command:
|
|
16
|
+
command: ServerFacadeCommand;
|
|
14
17
|
} | {
|
|
15
18
|
kind: 'command';
|
|
16
|
-
command:
|
|
19
|
+
command: ServerFacadeCommand;
|
|
17
20
|
args: string[];
|
|
18
21
|
} | {
|
|
19
22
|
kind: 'error';
|
|
@@ -54,11 +57,11 @@ export type ServerFacadeProcessResult = {
|
|
|
54
57
|
export declare function buildDefaultServerFacadeClientDeps(buildDeps?: AssimilateDepsBuilder): ServerFacadeClientDeps;
|
|
55
58
|
export declare function cubeInitUsageErrorText(reason: string): string;
|
|
56
59
|
export declare function unknownServerCommandText(command: string): string;
|
|
57
|
-
export declare function serverLifecycleHelpText(command:
|
|
58
|
-
export declare function missingServerExecutableText(command:
|
|
59
|
-
export declare function serverCommandStartupFailureText(command:
|
|
60
|
+
export declare function serverLifecycleHelpText(command: ServerFacadeCommand): string;
|
|
61
|
+
export declare function missingServerExecutableText(command: ServerFacadeCommand): string;
|
|
62
|
+
export declare function serverCommandStartupFailureText(command: ServerFacadeCommand): string;
|
|
60
63
|
export declare function runServerFacadeProcess(input: {
|
|
61
|
-
command:
|
|
64
|
+
command: ServerFacadeCommand;
|
|
62
65
|
args: readonly string[];
|
|
63
66
|
}, deps?: ServerFacadeProcessDeps): Promise<ServerFacadeProcessResult>;
|
|
64
67
|
/** Routes every facade outcome before client initialization or network work. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-facade.d.ts","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"server-facade.d.ts","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAY5E,eAAO,MAAM,yBAAyB,uHAU5B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,GAAG,iBAAiB,GAAG,mBAAmB,CAAC;AAEnG,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,cAAc,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAA;CAAE,GACtD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAElE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE1E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,sBAAsB,CAuCrF;AAED,UAAU,iBAAiB;IACzB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAC;IAC7D,IAAI,CACF,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,KAAK,IAAI,GACrE,IAAI,CAAC;IACR,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,CACH,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,GAC7C,iBAAiB,CAAC;IACrB,qBAAqB,IAAI,OAAO,CAAC;IACjC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IACtE,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC1E;AAED,MAAM,WAAW,sBAAsB;IACrC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,MAAM,qBAAqB,GAAG,cAAc,sBAAsB,EAAE,0BAA0B,CAAC;AAErG,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAA;CAAE,GAC5C;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAc1C,wBAAgB,kCAAkC,CAChD,SAAS,CAAC,EAAE,qBAAqB,GAChC,sBAAsB,CAoBxB;AAiBD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAM7D;AAsBD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAK5E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAMhF;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAMpF;AAMD,wBAAgB,sBAAsB,CACpC,KAAK,EAAE;IAAE,OAAO,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,EAChE,IAAI,GAAE,uBAA4C,GACjD,OAAO,CAAC,yBAAyB,CAAC,CA8CpC;AAQD,gFAAgF;AAChF,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,uBAA4C,EAClD,MAAM,GAAE,sBAA0C,EAClD,MAAM,GAAE,sBAA0C,GACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAkCxB"}
|
package/dist/server-facade.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { spawn as spawnChild } from 'node:child_process';
|
|
2
2
|
import { constants } from 'node:os';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import { cubeInitHelpText, isHelpFlag, serverHelpText } from './cli-help.js';
|
|
4
|
+
import { cubeInitHelpText, isHelpFlag, serverHelpText, serverServiceHelpText, } from './cli-help.js';
|
|
5
5
|
import { consolePrefix } from './console-prefix.js';
|
|
6
6
|
import { getPackageVersion } from './version.js';
|
|
7
7
|
export const SERVER_LIFECYCLE_COMMANDS = [
|
|
8
8
|
'setup',
|
|
9
9
|
'start',
|
|
10
|
-
'stop',
|
|
11
10
|
'status',
|
|
12
11
|
'update',
|
|
13
12
|
'invite',
|
|
@@ -30,6 +29,23 @@ export function parseServerFacadeArgs(args) {
|
|
|
30
29
|
? { kind: 'cube-init-help' }
|
|
31
30
|
: { kind: 'cube-init', args };
|
|
32
31
|
}
|
|
32
|
+
if (command === 'service') {
|
|
33
|
+
const [subcommand, ...args] = rest;
|
|
34
|
+
if (subcommand === undefined || isHelpFlag(subcommand)) {
|
|
35
|
+
return { kind: 'service-help' };
|
|
36
|
+
}
|
|
37
|
+
if (subcommand !== 'install' && subcommand !== 'uninstall') {
|
|
38
|
+
return {
|
|
39
|
+
kind: 'error',
|
|
40
|
+
reason: 'unknown-command',
|
|
41
|
+
command: subcommand === undefined ? command : `${command} ${subcommand}`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
const serviceCommand = subcommand === 'install' ? 'service install' : 'service uninstall';
|
|
45
|
+
return args.some(isHelpFlag)
|
|
46
|
+
? { kind: 'command-help', command: serviceCommand }
|
|
47
|
+
: { kind: 'command', command: serviceCommand, args };
|
|
48
|
+
}
|
|
33
49
|
if (!SERVER_LIFECYCLE_COMMANDS.includes(command)) {
|
|
34
50
|
return { kind: 'error', reason: 'unknown-command', command };
|
|
35
51
|
}
|
|
@@ -104,7 +120,7 @@ function inertCommand(command) {
|
|
|
104
120
|
}
|
|
105
121
|
export function unknownServerCommandText(command) {
|
|
106
122
|
return (`Unknown server command: ${inertCommand(command)}.\n` +
|
|
107
|
-
`Available commands: setup, start,
|
|
123
|
+
`Available commands: setup, start, service install, service uninstall, status, update, invite, cert-reissue, client-list, client-grant, dashboard, cube init.\n` +
|
|
108
124
|
`Next: run borg server --help.\n`);
|
|
109
125
|
}
|
|
110
126
|
export function serverLifecycleHelpText(command) {
|
|
@@ -125,7 +141,8 @@ function isMissingServerExecutable(error) {
|
|
|
125
141
|
return error.code === 'ENOENT';
|
|
126
142
|
}
|
|
127
143
|
export function runServerFacadeProcess(input, deps = defaultProcessDeps) {
|
|
128
|
-
const
|
|
144
|
+
const command = input.command.split(' ');
|
|
145
|
+
const child = deps.spawn('borg-mcp-server', [...command, ...input.args], { shell: false, stdio: 'inherit' });
|
|
129
146
|
return new Promise((resolve) => {
|
|
130
147
|
let settled = false;
|
|
131
148
|
const forwarders = new Map();
|
|
@@ -181,6 +198,10 @@ export async function runEarlyServerFacade(argv, deps = defaultProcessDeps, outp
|
|
|
181
198
|
output.writeStdout(serverHelpText());
|
|
182
199
|
return 0;
|
|
183
200
|
}
|
|
201
|
+
if (parsed.kind === 'service-help') {
|
|
202
|
+
output.writeStdout(serverServiceHelpText());
|
|
203
|
+
return 0;
|
|
204
|
+
}
|
|
184
205
|
if (parsed.kind === 'cube-init-help') {
|
|
185
206
|
output.writeStdout(cubeInitHelpText(getPackageVersion()));
|
|
186
207
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-facade.js","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,UAAU,EAAqB,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,
|
|
1
|
+
{"version":3,"file":"server-facade.js","sourceRoot":"","sources":["../src/server-facade.ts"],"names":[],"mappings":"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"}
|
package/docs/LOCAL_SERVER.md
CHANGED
|
@@ -26,6 +26,24 @@ must never imply that a daemon, LaunchAgent, or systemd service was installed.
|
|
|
26
26
|
Ctrl-C stops the foreground process. Managed persistence is a separate explicit
|
|
27
27
|
handoff.
|
|
28
28
|
|
|
29
|
+
To install and start the server as a loopback-only per-user service, run:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
borg server service install
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The service continues after the terminal closes. To remove it while preserving
|
|
36
|
+
local server state, run:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
borg server service uninstall
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Add `--json` to either command for machine-readable server output. The client
|
|
43
|
+
passes these commands to the verified `borg-mcp-server` executable; service
|
|
44
|
+
definitions, validation, startup, replacement, rollback, removal, and recovery
|
|
45
|
+
remain server-owned. Stopping the managed service without removing it belongs to your platform's service manager — `launchctl bootout gui/$(id -u)/ai.borgmcp.server` on macOS, `systemctl --user stop ai.borgmcp.server` on Linux. The server has no stop command and this client does not add one.
|
|
46
|
+
|
|
29
47
|
Use installed help for the command set and exact options for your version:
|
|
30
48
|
|
|
31
49
|
```text
|
package/package.json
CHANGED
package/src/cli-help.ts
CHANGED
|
@@ -229,8 +229,9 @@ export function serverHelpText(): string {
|
|
|
229
229
|
`Usage: borg server <command> [arguments]\n\n` +
|
|
230
230
|
`Commands:\n` +
|
|
231
231
|
` setup Prepare local server identity and data; does not start the server.\n` +
|
|
232
|
-
` start Start the verified server in the foreground.\n` +
|
|
233
|
-
`
|
|
232
|
+
` start Start the verified server in the foreground; press Ctrl-C to stop.\n` +
|
|
233
|
+
` service install Install and start the loopback-only per-user service so it continues after the terminal closes.\n` +
|
|
234
|
+
` service uninstall Remove the managed service and preserve local state.\n` +
|
|
234
235
|
` status Report verified runtime evidence.\n` +
|
|
235
236
|
` update Verify and activate a local server artifact.\n` +
|
|
236
237
|
` invite Create a single-use invitation in an interactive terminal.\n` +
|
|
@@ -239,10 +240,21 @@ export function serverHelpText(): string {
|
|
|
239
240
|
` client-grant Grant a client read, write, or manage access to a cube while the server is live; committed changes take effect on the next request.\n` +
|
|
240
241
|
` dashboard View the running local server dashboard.\n` +
|
|
241
242
|
` cube init Initialize this Git repository's cube; does not create a drone.\n\n` +
|
|
243
|
+
`Managed-service behavior is server-owned. This client forwards install and uninstall but does not expose stop.\n\n` +
|
|
242
244
|
`Run borg server <command> --help for server command options.\n`
|
|
243
245
|
);
|
|
244
246
|
}
|
|
245
247
|
|
|
248
|
+
/** Client-owned help for the server-owned service command namespace. */
|
|
249
|
+
export function serverServiceHelpText(): string {
|
|
250
|
+
return (
|
|
251
|
+
`Usage: borg server service <command> [arguments]\n\n` +
|
|
252
|
+
`Commands:\n` +
|
|
253
|
+
` install Install and start the loopback-only per-user service.\n` +
|
|
254
|
+
` uninstall Remove the managed service and preserve local state.\n`
|
|
255
|
+
);
|
|
256
|
+
}
|
|
257
|
+
|
|
246
258
|
/** Client-owned help for repository cube initialization without a drone. */
|
|
247
259
|
export function cubeInitHelpText(version: string): string {
|
|
248
260
|
return (
|
package/src/server-facade.ts
CHANGED
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import { spawn as spawnChild, type SpawnOptions } from 'node:child_process';
|
|
2
2
|
import { constants } from 'node:os';
|
|
3
3
|
import chalk from 'chalk';
|
|
4
|
-
import {
|
|
4
|
+
import {
|
|
5
|
+
cubeInitHelpText,
|
|
6
|
+
isHelpFlag,
|
|
7
|
+
serverHelpText,
|
|
8
|
+
serverServiceHelpText,
|
|
9
|
+
} from './cli-help.js';
|
|
5
10
|
import { consolePrefix } from './console-prefix.js';
|
|
6
11
|
import { getPackageVersion } from './version.js';
|
|
7
12
|
|
|
8
13
|
export const SERVER_LIFECYCLE_COMMANDS = [
|
|
9
14
|
'setup',
|
|
10
15
|
'start',
|
|
11
|
-
'stop',
|
|
12
16
|
'status',
|
|
13
17
|
'update',
|
|
14
18
|
'invite',
|
|
@@ -18,13 +22,15 @@ export const SERVER_LIFECYCLE_COMMANDS = [
|
|
|
18
22
|
'dashboard',
|
|
19
23
|
] as const;
|
|
20
24
|
export type ServerLifecycleCommand = typeof SERVER_LIFECYCLE_COMMANDS[number];
|
|
25
|
+
export type ServerFacadeCommand = ServerLifecycleCommand | 'service install' | 'service uninstall';
|
|
21
26
|
|
|
22
27
|
export type ParsedServerFacadeArgs =
|
|
23
28
|
| { kind: 'help' }
|
|
29
|
+
| { kind: 'service-help' }
|
|
24
30
|
| { kind: 'cube-init-help' }
|
|
25
31
|
| { kind: 'cube-init'; args: string[] }
|
|
26
|
-
| { kind: 'command-help'; command:
|
|
27
|
-
| { kind: 'command'; command:
|
|
32
|
+
| { kind: 'command-help'; command: ServerFacadeCommand }
|
|
33
|
+
| { kind: 'command'; command: ServerFacadeCommand; args: string[] }
|
|
28
34
|
| { kind: 'error'; reason: 'unknown-command'; command: string };
|
|
29
35
|
|
|
30
36
|
export function isClientOwnedCubeInitArgv(argv: readonly string[]): boolean {
|
|
@@ -42,6 +48,23 @@ export function parseServerFacadeArgs(args: readonly string[]): ParsedServerFaca
|
|
|
42
48
|
? { kind: 'cube-init-help' }
|
|
43
49
|
: { kind: 'cube-init', args };
|
|
44
50
|
}
|
|
51
|
+
if (command === 'service') {
|
|
52
|
+
const [subcommand, ...args] = rest;
|
|
53
|
+
if (subcommand === undefined || isHelpFlag(subcommand)) {
|
|
54
|
+
return { kind: 'service-help' };
|
|
55
|
+
}
|
|
56
|
+
if (subcommand !== 'install' && subcommand !== 'uninstall') {
|
|
57
|
+
return {
|
|
58
|
+
kind: 'error',
|
|
59
|
+
reason: 'unknown-command',
|
|
60
|
+
command: subcommand === undefined ? command : `${command} ${subcommand}`,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
const serviceCommand = subcommand === 'install' ? 'service install' : 'service uninstall';
|
|
64
|
+
return args.some(isHelpFlag)
|
|
65
|
+
? { kind: 'command-help', command: serviceCommand }
|
|
66
|
+
: { kind: 'command', command: serviceCommand, args };
|
|
67
|
+
}
|
|
45
68
|
if (!(SERVER_LIFECYCLE_COMMANDS as readonly string[]).includes(command)) {
|
|
46
69
|
return { kind: 'error', reason: 'unknown-command', command };
|
|
47
70
|
}
|
|
@@ -173,19 +196,19 @@ function inertCommand(command: string): string {
|
|
|
173
196
|
export function unknownServerCommandText(command: string): string {
|
|
174
197
|
return (
|
|
175
198
|
`Unknown server command: ${inertCommand(command)}.\n` +
|
|
176
|
-
`Available commands: setup, start,
|
|
199
|
+
`Available commands: setup, start, service install, service uninstall, status, update, invite, cert-reissue, client-list, client-grant, dashboard, cube init.\n` +
|
|
177
200
|
`Next: run borg server --help.\n`
|
|
178
201
|
);
|
|
179
202
|
}
|
|
180
203
|
|
|
181
|
-
export function serverLifecycleHelpText(command:
|
|
204
|
+
export function serverLifecycleHelpText(command: ServerFacadeCommand): string {
|
|
182
205
|
return (
|
|
183
206
|
`Usage: borg server ${command} [arguments]\n\n` +
|
|
184
207
|
`Command arguments are server-owned and pass to the verified borg-mcp-server executable when run.\n`
|
|
185
208
|
);
|
|
186
209
|
}
|
|
187
210
|
|
|
188
|
-
export function missingServerExecutableText(command:
|
|
211
|
+
export function missingServerExecutableText(command: ServerFacadeCommand): string {
|
|
189
212
|
return (
|
|
190
213
|
`Local server command is unavailable: borg-mcp-server was not found.\n` +
|
|
191
214
|
`Next: install a verified borgmcp-server release, then rerun borg server ${command}.\n` +
|
|
@@ -193,7 +216,7 @@ export function missingServerExecutableText(command: ServerLifecycleCommand): st
|
|
|
193
216
|
);
|
|
194
217
|
}
|
|
195
218
|
|
|
196
|
-
export function serverCommandStartupFailureText(command:
|
|
219
|
+
export function serverCommandStartupFailureText(command: ServerFacadeCommand): string {
|
|
197
220
|
return (
|
|
198
221
|
`Local server command could not be started.\n` +
|
|
199
222
|
`Next: check local permissions and system resources, then rerun borg server ${inertCommand(command)}.\n` +
|
|
@@ -206,12 +229,13 @@ function isMissingServerExecutable(error: Error): boolean {
|
|
|
206
229
|
}
|
|
207
230
|
|
|
208
231
|
export function runServerFacadeProcess(
|
|
209
|
-
input: { command:
|
|
232
|
+
input: { command: ServerFacadeCommand; args: readonly string[] },
|
|
210
233
|
deps: ServerFacadeProcessDeps = defaultProcessDeps,
|
|
211
234
|
): Promise<ServerFacadeProcessResult> {
|
|
235
|
+
const command = input.command.split(' ');
|
|
212
236
|
const child = deps.spawn(
|
|
213
237
|
'borg-mcp-server',
|
|
214
|
-
[
|
|
238
|
+
[...command, ...input.args],
|
|
215
239
|
{ shell: false, stdio: 'inherit' },
|
|
216
240
|
);
|
|
217
241
|
|
|
@@ -274,6 +298,10 @@ export async function runEarlyServerFacade(
|
|
|
274
298
|
output.writeStdout(serverHelpText());
|
|
275
299
|
return 0;
|
|
276
300
|
}
|
|
301
|
+
if (parsed.kind === 'service-help') {
|
|
302
|
+
output.writeStdout(serverServiceHelpText());
|
|
303
|
+
return 0;
|
|
304
|
+
}
|
|
277
305
|
if (parsed.kind === 'cube-init-help') {
|
|
278
306
|
output.writeStdout(cubeInitHelpText(getPackageVersion()));
|
|
279
307
|
return 0;
|