crewx-bridge 0.2.6 → 0.2.8

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/README.md CHANGED
@@ -1,14 +1,30 @@
1
1
  # crewx-bridge
2
2
 
3
- CrewX Bridge securely enrolls a macOS or Linux machine with a CrewX workspace
4
- and lets workspace administrators launch local Codex, Claude Code, Pi, Hermes,
5
- or OpenClaw agent profiles in folders approved by that machine's owner.
3
+ CrewX Bridge is CrewX's default and recommended connection method for
4
+ persistent agents. It securely enrolls a macOS or Linux machine with a CrewX
5
+ workspace and lets workspace administrators launch local Codex, Claude Code,
6
+ Pi, Hermes, or OpenClaw agent profiles in folders approved by that machine's
7
+ owner.
8
+ For a managed OpenClaw profile, CrewX creates the corresponding OpenClaw agent
9
+ inside the selected approved folder; it never approves a new local path from a
10
+ remote request.
6
11
 
7
12
  Bridge is not a remote shell. It accepts only signed-in, server-authorized,
8
13
  structured `start_agent` and `stop_agent` commands. It uses an outbound HTTPS
9
- connection, per-machine credentials, expiring per-run agent tokens, command
10
- leases, an idempotency journal, strict folder identities, fixed `shell: false`
11
- process templates, and a local policy that the server cannot loosen.
14
+ connection, per-machine credentials, run-bound agent credentials, command
15
+ leases, a durable idempotency journal, strict folder identities, fixed
16
+ `shell: false` process templates, and a local policy that the server cannot
17
+ loosen. Run credentials currently have no wall-clock expiry because live
18
+ runners cannot rotate them; the server authorizes them only while their exact
19
+ Bridge run is active and revokes them on every terminal path.
20
+
21
+ The enrolled OS account is the local trust boundary. Bridge's fixed command
22
+ templates, one-shot credential pipe, and the CLI's loopback capability proxy
23
+ prevent accidental credential inheritance and reduce the exposed API surface;
24
+ they do not isolate hostile runtime code executing as the same user. Such code
25
+ may inspect that user's files and processes, including protected Bridge state.
26
+ Use a dedicated OS account, container, VM, or host for untrusted or
27
+ full-access agents.
12
28
 
13
29
  ## Requirements
14
30
 
@@ -57,7 +73,7 @@ crewx-bridge update
57
73
 
58
74
  Use `crewx-bridge update --check` to check npm without installing,
59
75
  `crewx-bridge update --yes` for an unattended update, or
60
- `crewx-bridge update --to 0.2.5` to install an exact published version. An
76
+ `crewx-bridge update --to <version>` to install an exact published version. An
61
77
  update reinstalls and restarts the per-user service, runs status and doctor
62
78
  checks, and shows the local run history. Supervised agents are stopped safely
63
79
  and relaunched automatically after the updated service reconnects.
@@ -67,6 +83,8 @@ Install the user service:
67
83
  ```sh
68
84
  crewx-bridge service install
69
85
  crewx-bridge service status
86
+ crewx-bridge service stop
87
+ crewx-bridge service start
70
88
  crewx-bridge service restart
71
89
  ```
72
90
 
@@ -88,6 +106,25 @@ crewx-bridge runs logs <run-id>
88
106
  CrewX receives only a short, token-redacted diagnostic. Full runner output and
89
107
  local filesystem paths remain on the enrolled machine.
90
108
 
109
+ If CrewX rejects a durable local command outcome, Bridge quarantines that
110
+ single outcome, reports degraded health, and pauses new claims. Inspect and
111
+ recover it explicitly while the service is stopped:
112
+
113
+ ```sh
114
+ crewx-bridge service stop
115
+ crewx-bridge outcomes list
116
+ crewx-bridge outcomes retry <command-id> --yes
117
+ # Or, after reviewing the local run:
118
+ crewx-bridge outcomes resolve <command-id> --accept-server-state --yes
119
+ crewx-bridge service start
120
+ ```
121
+
122
+ Retry keeps the local outcome pending for another authenticated reconciliation.
123
+ Resolve accepts CrewX server state, preserves an operator audit record, and
124
+ refuses to proceed if the run ID, nonce, and process-group identity still
125
+ verify a live runner. Authentication failures require re-enrolling the machine
126
+ before retrying.
127
+
91
128
  On Linux, unattended operation after logout may require an administrator to
92
129
  enable systemd user lingering. Bridge reports this but never runs a privileged
93
130
  command itself.
@@ -120,6 +157,17 @@ crewx-bridge serve --once
120
157
 
121
158
  `Ctrl+C` stops supervised child agents before exiting.
122
159
 
160
+ Only one Bridge daemon may own an enrollment for an OS user at a time. A
161
+ protected local lock rejects a second live daemon and recovers a stale lock
162
+ after an unclean exit. If the process crashes inside the tiny lock-recovery
163
+ critical section, Bridge fails closed with an actionable recovery-lock error
164
+ instead of risking two daemons. Installed runtime capabilities are refreshed
165
+ every five minutes.
166
+
167
+ Empty command claims back off with bounded full jitter from the server's
168
+ minimum to 8 seconds and reset immediately when a command arrives. Heartbeats use
169
+ their own deadline and remain fresh while a longer claim delay is pending.
170
+
123
171
  ## Protected state
124
172
 
125
173
  Credential files are written atomically with mode `0600` below a mode `0700`
@@ -129,7 +177,32 @@ state.
129
177
  - macOS: `~/Library/Application Support/CrewX Bridge/config.json`
130
178
  - Linux: `${XDG_CONFIG_HOME:-~/.config}/crewx/bridge/config.json`
131
179
 
132
- The local journal contains command/run IDs and PIDs, never run tokens.
180
+ The local command journal records `prepared`, `accepted`, and terminal outcomes
181
+ before they are reported, so a lost response or redelivered command cannot
182
+ start a second child or overwrite a recorded success. It contains command/run
183
+ IDs and PIDs, never run credentials. The supervised CLI keeps final assistant
184
+ messages, errors, and lifecycle outcomes in its own bounded owner-only outbox
185
+ until CrewX acknowledges them.
186
+
187
+ Each start command may include the agent profile's persisted opaque runner
188
+ scope. It is a non-secret local-state key, not an authorization credential, and
189
+ keeps the runner's outbox and owner lock stable across token rotation. Older
190
+ servers may omit it; Bridge then derives a compatibility scope from server URL,
191
+ agent ID, and adapter.
192
+
193
+ ## Compatibility and rollout
194
+
195
+ Deploy a server that accepts the optional runner scope and health fields before
196
+ updating pilot machines, then publish protocol, CLI, and Bridge in that order.
197
+ The new Bridge remains compatible with the previous server: it retries a
198
+ heartbeat without `health` only when a 422 explicitly identifies that field,
199
+ and retains terminal outcomes for legacy lease-bound completion when the
200
+ durable outcome endpoint returns 405 or a structured
201
+ `endpoint_unsupported` error. A structured `command_missing` 404 is quarantined
202
+ and pauses new claims so an ambiguous terminal result cannot disappear.
203
+ Unrelated validation failures are not hidden. Rolling a pilot machine back to the prior client remains safe
204
+ because the server treats the new fields as optional; use a cold restart only
205
+ when intentionally abandoning automatic run resumption.
133
206
 
134
207
  See [`docs/BRIDGE_ARCHITECTURE.md`](../../docs/BRIDGE_ARCHITECTURE.md) in the
135
208
  CrewX monorepo for the threat model, protocol, leasing lifecycle, and security
package/dist/api.d.ts CHANGED
@@ -1,11 +1,18 @@
1
- import { type BridgeCommandCompletion, type BridgeCommandFailure, type BridgeCommandClaimResponse, type BridgeEnrollmentRequest, type BridgeEnrollmentResponse, type BridgeFoldersSyncRequest, type BridgeHeartbeatRequest, type BridgeLeaseRequest } from "crewx-agent-protocol";
1
+ import { type BridgeCommandCompletion, type BridgeCommandFailure, type BridgeCommandClaimResponse, type BridgeCommandOutcomeRequest, type BridgeEnrollmentRequest, type BridgeEnrollmentResponse, type BridgeFoldersSyncRequest, type BridgeHeartbeatRequest, type BridgeLeaseRequest } from "crewx-agent-protocol";
2
+ import { z } from "zod";
2
3
  import { type BridgeConfig } from "./config.js";
4
+ declare const BridgeStatusSchema: z.ZodObject<{
5
+ ok: z.ZodLiteral<true>;
6
+ connected: z.ZodLiteral<true>;
7
+ }, z.core.$loose>;
3
8
  export declare function enrollMachine(url: string, input: BridgeEnrollmentRequest): Promise<BridgeEnrollmentResponse>;
4
9
  export declare class BridgeApi {
5
10
  readonly baseUrl: string;
6
11
  readonly token: string;
12
+ private heartbeatHealthSupported;
7
13
  constructor(config: Pick<BridgeConfig, "url" | "token">);
8
14
  heartbeat(input: BridgeHeartbeatRequest): Promise<void>;
15
+ status(): Promise<z.infer<typeof BridgeStatusSchema>>;
9
16
  prepareServiceRestart(): Promise<{
10
17
  preparedRuns: number;
11
18
  skippedRuns: number;
@@ -16,5 +23,7 @@ export declare class BridgeApi {
16
23
  renew(commandId: string, input: BridgeLeaseRequest): Promise<void>;
17
24
  complete(commandId: string, input: BridgeCommandCompletion): Promise<void>;
18
25
  fail(commandId: string, input: BridgeCommandFailure): Promise<void>;
26
+ reconcileOutcome(commandId: string, input: BridgeCommandOutcomeRequest): Promise<void>;
19
27
  }
28
+ export {};
20
29
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,aAAa,CAAC;AAuIpE,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAWnC;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBAEX,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,OAAO,CAAC;IAKjD,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,qBAAqB,IAAI,OAAO,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAgBI,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,KAAK,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAe5C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAYV,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;CAW1E"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,aAAa,CAAC;AAcpE,QAAA,MAAM,kBAAkB;;;iBAKR,CAAC;AAyLjB,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAWnC;AAED,qBAAa,SAAS;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,wBAAwB,CAAsB;gBAE1C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,GAAG,OAAO,CAAC;IAKjD,SAAS,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmCvD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAMrD,qBAAqB,IAAI,OAAO,CAAC;QACrC,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IAgBI,WAAW,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAK3D,KAAK,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAe5C,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYlE,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,IAAI,CAAC;IAYV,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYnE,gBAAgB,CACpB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,IAAI,CAAC;CAYjB"}
package/dist/api.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as tls from "node:tls";
2
- import { BridgeCommandClaimResponseSchema, BridgeEnrollmentRequestSchema, BridgeEnrollmentResponseSchema, BridgeFoldersSyncRequestSchema, BridgeHeartbeatRequestSchema, } from "crewx-agent-protocol";
2
+ import { BridgeCommandClaimResponseSchema, BridgeCommandOutcomeRequestSchema, BridgeCommandOutcomeResponseSchema, BridgeEnrollmentRequestSchema, BridgeEnrollmentResponseSchema, BridgeFoldersSyncRequestSchema, BridgeHeartbeatRequestSchema, } from "crewx-agent-protocol";
3
3
  import { z } from "zod";
4
4
  import { REQUEST_TIMEOUT_MS } from "./constants.js";
5
5
  import { normalizeServerUrl } from "./config.js";
@@ -15,6 +15,12 @@ const ServiceRestartSchema = z
15
15
  skipped_runs: z.number().int().nonnegative(),
16
16
  })
17
17
  .strict();
18
+ const BridgeStatusSchema = z
19
+ .object({
20
+ ok: z.literal(true),
21
+ connected: z.literal(true),
22
+ })
23
+ .passthrough();
18
24
  function trustSystemCertificateAuthorities() {
19
25
  if (typeof tls.getCACertificates !== "function" ||
20
26
  typeof tls.setDefaultCACertificates !== "function") {
@@ -36,6 +42,27 @@ trustSystemCertificateAuthorities();
36
42
  function apiBase(url) {
37
43
  return `${normalizeServerUrl(url)}/api/bridge/v1`;
38
44
  }
45
+ function retryAfterMilliseconds(value) {
46
+ if (!value)
47
+ return undefined;
48
+ const seconds = Number(value);
49
+ if (Number.isFinite(seconds) && seconds >= 0) {
50
+ return Math.ceil(seconds * 1_000);
51
+ }
52
+ const retryAt = Date.parse(value);
53
+ if (!Number.isFinite(retryAt))
54
+ return undefined;
55
+ return Math.max(0, retryAt - Date.now());
56
+ }
57
+ function responseValidationFields(payload) {
58
+ if (typeof payload !== "object" || payload === null)
59
+ return [];
60
+ const errors = payload.errors;
61
+ if (typeof errors !== "object" || errors === null || Array.isArray(errors)) {
62
+ return [];
63
+ }
64
+ return Object.keys(errors).filter((field) => /^[A-Za-z0-9_.-]{1,100}$/.test(field));
65
+ }
39
66
  async function parseResponseBody(response) {
40
67
  const maximumBytes = 256 * 1024;
41
68
  const length = Number(response.headers.get("content-length") ?? "0");
@@ -85,6 +112,15 @@ async function parseResponseBody(response) {
85
112
  throw new BridgeError("invalid_response", "CrewX returned invalid JSON.");
86
113
  }
87
114
  }
115
+ function responseErrorCode(payload) {
116
+ if (typeof payload !== "object" || payload === null || Array.isArray(payload)) {
117
+ return undefined;
118
+ }
119
+ const code = payload.code;
120
+ return typeof code === "string" && /^[a-z][a-z0-9_]{0,79}$/.test(code)
121
+ ? code
122
+ : undefined;
123
+ }
88
124
  async function request(baseUrl, token, method, path, body) {
89
125
  let response;
90
126
  try {
@@ -92,27 +128,56 @@ async function request(baseUrl, token, method, path, body) {
92
128
  method,
93
129
  headers: {
94
130
  Accept: "application/json",
95
- "Content-Type": "application/json",
96
131
  "User-Agent": "crewx-bridge",
132
+ ...(body !== undefined ? { "Content-Type": "application/json" } : {}),
97
133
  ...(token ? { Authorization: `Bearer ${token}` } : {}),
98
134
  },
99
- body: JSON.stringify(body),
135
+ ...(body !== undefined ? { body: JSON.stringify(body) } : {}),
100
136
  redirect: "error",
101
137
  signal: AbortSignal.timeout(REQUEST_TIMEOUT_MS),
102
138
  });
103
139
  }
104
140
  catch (error) {
105
- throw new BridgeError("network_error", redactSecrets(`Unable to reach CrewX: ${errorMessage(error)}`, token ? [token] : []), 1, { cause: error });
141
+ throw new BridgeError("network_error", redactSecrets(`Unable to reach CrewX: ${errorMessage(error)}`, token ? [token] : []), 1, { cause: error, retryable: true });
142
+ }
143
+ let payload;
144
+ try {
145
+ payload = await parseResponseBody(response);
146
+ }
147
+ catch (error) {
148
+ if (response.ok)
149
+ throw error;
150
+ // An upstream proxy may return HTML, invalid UTF-8, or a truncated body
151
+ // for a 5xx. Preserve the bounded HTTP status/retry semantics instead of
152
+ // misclassifying the response as a permanent parse failure.
153
+ payload = {};
106
154
  }
107
- const payload = await parseResponseBody(response);
108
155
  if (!response.ok) {
156
+ const serverCode = responseErrorCode(payload);
109
157
  const possibleMessage = typeof payload === "object" &&
110
158
  payload !== null &&
111
159
  typeof payload.message === "string"
112
160
  ? payload.message
113
161
  : undefined;
114
162
  const serverMessage = possibleMessage ?? `CrewX returned HTTP ${response.status}.`;
115
- throw new BridgeError(response.status === 401 ? "unauthorized" : "api_error", redactSecrets(serverMessage, token ? [token] : []));
163
+ const code = response.status === 401
164
+ ? "unauthorized"
165
+ : response.status === 408
166
+ ? "request_timeout"
167
+ : response.status === 429
168
+ ? "rate_limited"
169
+ : response.status >= 500
170
+ ? "server_error"
171
+ : "api_error";
172
+ throw new BridgeError(code, redactSecrets(serverMessage, token ? [token] : []), 1, {
173
+ status: response.status,
174
+ retryable: response.status === 408 ||
175
+ response.status === 429 ||
176
+ response.status >= 500,
177
+ retryAfterMs: retryAfterMilliseconds(response.headers.get("retry-after")),
178
+ ...(serverCode ? { serverCode } : {}),
179
+ validationFields: responseValidationFields(payload),
180
+ });
116
181
  }
117
182
  return payload;
118
183
  }
@@ -128,13 +193,39 @@ export async function enrollMachine(url, input) {
128
193
  export class BridgeApi {
129
194
  baseUrl;
130
195
  token;
196
+ heartbeatHealthSupported;
131
197
  constructor(config) {
132
198
  this.baseUrl = apiBase(config.url);
133
199
  this.token = config.token;
134
200
  }
135
201
  async heartbeat(input) {
136
202
  const body = BridgeHeartbeatRequestSchema.parse(input);
137
- OkSchema.parse(await request(this.baseUrl, this.token, "POST", "/heartbeat", body));
203
+ const send = async (payload) => {
204
+ OkSchema.parse(await request(this.baseUrl, this.token, "POST", "/heartbeat", payload));
205
+ };
206
+ if (this.heartbeatHealthSupported === false) {
207
+ const { health: _health, ...legacyBody } = body;
208
+ await send(legacyBody);
209
+ return;
210
+ }
211
+ try {
212
+ await send(body);
213
+ this.heartbeatHealthSupported = true;
214
+ }
215
+ catch (error) {
216
+ const healthValidationRejected = error instanceof BridgeError &&
217
+ error.status === 422 &&
218
+ (error.validationFields.includes("health") ||
219
+ /\bhealth\b/i.test(error.message));
220
+ if (!body.health || !healthValidationRejected)
221
+ throw error;
222
+ const { health: _health, ...legacyBody } = body;
223
+ await send(legacyBody);
224
+ this.heartbeatHealthSupported = false;
225
+ }
226
+ }
227
+ async status() {
228
+ return BridgeStatusSchema.parse(await request(this.baseUrl, this.token, "GET", "/status"));
138
229
  }
139
230
  async prepareServiceRestart() {
140
231
  const result = ServiceRestartSchema.parse(await request(this.baseUrl, this.token, "POST", "/service-restart", {}));
@@ -167,5 +258,9 @@ export class BridgeApi {
167
258
  async fail(commandId, input) {
168
259
  StatusSchema.parse(await request(this.baseUrl, this.token, "POST", `/commands/${encodeURIComponent(commandId)}/fail`, input));
169
260
  }
261
+ async reconcileOutcome(commandId, input) {
262
+ const body = BridgeCommandOutcomeRequestSchema.parse(input);
263
+ BridgeCommandOutcomeResponseSchema.parse(await request(this.baseUrl, this.token, "PUT", `/commands/${encodeURIComponent(commandId)}/outcome`, body));
264
+ }
170
265
  }
171
266
  //# sourceMappingURL=api.js.map
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -72,7 +72,7 @@ export declare function bridgeStateDirectory(environment?: BridgePathEnvironment
72
72
  export declare function bridgeConfigPath(environment?: BridgePathEnvironment, platform?: NodeJS.Platform): string;
73
73
  export declare function bridgeJournalPath(environment?: BridgePathEnvironment, platform?: NodeJS.Platform): string;
74
74
  export declare function ensureSecureDirectory(path: string): Promise<void>;
75
- export declare function readSecureText(path: string): Promise<string | undefined>;
75
+ export declare function readSecureText(path: string, maximumBytes?: number): Promise<string | undefined>;
76
76
  export declare function writeSecureText(path: string, contents: string): Promise<void>;
77
77
  export declare function readBridgeConfig(environment?: BridgePathEnvironment, platform?: NodeJS.Platform): Promise<BridgeConfig>;
78
78
  export declare function saveBridgeConfig(config: BridgeConfig, environment?: BridgePathEnvironment, platform?: NodeJS.Platform): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,wBAAwB;;;;;kBAO1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;kBAoBhC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYpB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2BxD;AAED,wBAAgB,qBAAqB,CACnC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CASR;AAED,wBAAgB,oBAAoB,CAClC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAUR;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAER;AA6BD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8B9E;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnF;AAED,wBAAsB,gBAAgB,CACpC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAahD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB,eAAO,MAAM,wBAAwB;;;;;kBAO1B,CAAC;AACZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;kBAoBhC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAYpB,CAAC;AACZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,wBAAwB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,uBAAuB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CA2BxD;AAED,wBAAgB,qBAAqB,CACnC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CASR;AAED,wBAAgB,oBAAoB,CAClC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAUR;AAED,wBAAgB,gBAAgB,CAC9B,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAER;AAED,wBAAgB,iBAAiB,CAC/B,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAER;AA6BD,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAIvE;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,YAAY,SAAkB,GAC7B,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA8B7B;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BnF;AAED,wBAAsB,gBAAgB,CACpC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,YAAY,CAAC,CAyBvB;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,YAAY,EACpB,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAahD"}
package/dist/config.js CHANGED
@@ -124,7 +124,7 @@ export async function ensureSecureDirectory(path) {
124
124
  await chmod(path, 0o700);
125
125
  await verifySecureNode(path, "directory");
126
126
  }
127
- export async function readSecureText(path) {
127
+ export async function readSecureText(path, maximumBytes = 2 * 1024 * 1024) {
128
128
  try {
129
129
  await verifySecureNode(dirname(path), "directory");
130
130
  await verifySecureNode(path, "file");
@@ -145,7 +145,7 @@ export async function readSecureText(path) {
145
145
  if (uid !== undefined && info.uid !== uid) {
146
146
  throw new BridgeError("unsafe_owner", `${path} changed ownership.`);
147
147
  }
148
- if (info.size > 2 * 1024 * 1024) {
148
+ if (info.size > maximumBytes) {
149
149
  throw new BridgeError("unsafe_state_size", `${path} exceeds the maximum protected state size.`);
150
150
  }
151
151
  return await handle.readFile("utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type BridgePathEnvironment } from "./config.js";
2
+ export interface BridgeDaemonLockLike {
3
+ acquire(): Promise<void>;
4
+ release(): Promise<void>;
5
+ }
6
+ export declare function bridgeDaemonLockPath(environment?: BridgePathEnvironment, platform?: NodeJS.Platform): string;
7
+ /**
8
+ * A PID alone is not an ownership proof: an OS can recycle it after the
9
+ * original daemon exits. Bind the lock to an immutable process-start identity
10
+ * so a replacement process with the same PID is still treated as stale.
11
+ */
12
+ export declare function processFingerprint(pid: number, platform?: NodeJS.Platform): string | undefined;
13
+ export declare class BridgeDaemonLock implements BridgeDaemonLockLike {
14
+ private readonly fingerprint;
15
+ private readonly now;
16
+ private readonly recoveryStaleMs;
17
+ readonly path: string;
18
+ readonly recoveryPath: string;
19
+ private held;
20
+ constructor(environment?: BridgePathEnvironment, platform?: NodeJS.Platform, fingerprint?: (pid: number) => string | undefined, now?: () => number, recoveryStaleMs?: number);
21
+ acquire(): Promise<void>;
22
+ private tryCreate;
23
+ private tryAcquireRecovery;
24
+ private isCurrentOwner;
25
+ private alreadyRunning;
26
+ release(): Promise<void>;
27
+ private readExisting;
28
+ }
29
+ //# sourceMappingURL=daemon-lock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-lock.d.ts","sourceRoot":"","sources":["../src/daemon-lock.ts"],"names":[],"mappings":"AAeA,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,aAAa,CAAC;AAerB,MAAM,WAAW,oBAAoB;IACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,CAClC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,GAC1B,MAAM,CAER;AAeD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,MAAM,EACX,QAAQ,kBAAmB,GAC1B,MAAM,GAAG,SAAS,CAkCpB;AAMD,qBAAa,gBAAiB,YAAW,oBAAoB;IAQzD,OAAO,CAAC,QAAQ,CAAC,WAAW;IAE5B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAVlC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,OAAO,CAAC,IAAI,CAA+B;gBAGzC,WAAW,GAAE,qBAAmC,EAChD,QAAQ,kBAAmB,EACV,WAAW,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,SACrB,EAClB,GAAG,GAAE,MAAM,MAAiB,EAC5B,eAAe,SAAS;IAMrC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAoEhB,SAAS;YAmCT,kBAAkB;IAoChC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAShB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAkBhB,YAAY;CAuC3B"}