@bjorntech/key-ferry 0.1.5 → 0.1.7

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
@@ -52,7 +52,7 @@ and preserve any unrelated entries already there:
52
52
  {
53
53
  "plugins": [
54
54
  {
55
- "package": "@bjorntech/key-ferry@0.1.5",
55
+ "package": "@bjorntech/key-ferry@0.1.7",
56
56
  "options": {
57
57
  "enabled": true,
58
58
  "requireStrictEgress": true,
@@ -50,10 +50,20 @@ export interface ProjectKeyFerryManagerService {
50
50
  readonly status: Effect.Effect<SafeStatus>;
51
51
  /** Start or reuse the manager-owned process, failing closed if not ready. */
52
52
  readonly ensureStarted: Effect.Effect<SafeStatus, VarlockError>;
53
+ /** Start/reuse and read the environment under one lifecycle lock. */
54
+ readonly ensureReady: Effect.Effect<{
55
+ readonly status: SafeStatus;
56
+ readonly environment: ResolvedEnvironment;
57
+ }, VarlockError>;
53
58
  /** Internal-only environment capability for a child process or proxy. */
54
59
  readonly environment: Effect.Effect<ResolvedEnvironment, VarlockError>;
55
60
  /** Re-resolve and atomically apply values; failures leave the connection closed. */
56
61
  readonly refresh: Effect.Effect<SafeStatus, VarlockError>;
62
+ /** Refresh and read the resulting environment under one lifecycle lock. */
63
+ readonly refreshReady: Effect.Effect<{
64
+ readonly status: SafeStatus;
65
+ readonly environment: ResolvedEnvironment;
66
+ }, VarlockError>;
57
67
  /** Idempotent teardown of only the process and resources this manager owns. */
58
68
  readonly dispose: Effect.Effect<void>;
59
69
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAwB/D,sEAAsE;AACtE,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,eAAe,EAAE;IACpF,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;QACpB,gBAAgB;QAChB,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,SAAS;KACD,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,OAAO;CAC1B,CAAC;CAAG;AAsDL,uEAAuE;AACvE,MAAM,OAAO,sBAAuB,SAAQ,OAAO,CAAC,OAAO,EAGxD,CAAC,kCAAkC,CAAC;CAAG;AA+D1C,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,OAAO,EAAyC,CAC1F,0BAA0B,CAC3B;CAAG;AAEJ,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IACnF,OAAO,KAAyB,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAwB/D,sEAAsE;AACtE,MAAM,OAAO,YAAa,SAAQ,MAAM,CAAC,WAAW,EAAgB,CAAC,eAAe,EAAE;IACpF,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC;QACpB,gBAAgB;QAChB,aAAa;QACb,cAAc;QACd,gBAAgB;QAChB,WAAW;QACX,UAAU;QACV,gBAAgB;QAChB,SAAS;KACD,CAAC;IACX,OAAO,EAAE,MAAM,CAAC,MAAM;IACtB,SAAS,EAAE,MAAM,CAAC,OAAO;CAC1B,CAAC;CAAG;AAkEL,uEAAuE;AACvE,MAAM,OAAO,sBAAuB,SAAQ,OAAO,CAAC,OAAO,EAGxD,CAAC,kCAAkC,CAAC;CAAG;AA+D1C,MAAM,OAAO,cAAe,SAAQ,OAAO,CAAC,OAAO,EAAyC,CAC1F,0BAA0B,CAC3B;CAAG;AAEJ,mEAAmE;AACnE,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;IACnF,OAAO,KAAyB,CAAC;AACnC,CAAC"}
package/dist/options.d.ts CHANGED
@@ -39,6 +39,6 @@ export interface ValidatedOptions {
39
39
  * `enabled: false` explicitly means no manager layer, MCP transform, or RPC
40
40
  * is installed and existing MCP configuration is left untouched.
41
41
  */
42
- export declare function parseOptions(raw: unknown, directory?: string): ValidatedOptions;
42
+ export declare function parseOptions(raw: unknown, directory?: string, resolveDirectory?: boolean): ValidatedOptions;
43
43
  export declare function managerOptions(options: ValidatedOptions, directory: string): ProjectKeyFerryManagerOptions;
44
44
  //# sourceMappingURL=options.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;KAC1E,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7D,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG;QACzD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;KACzC,CAAC;CACH;AA6JD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAoH/E;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,GAChB,6BAA6B,CA6B/B"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,6BAA6B,EAC7B,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAGxB,MAAM,WAAW,qBAAqB;IACpC,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC;KAC1E,CAAC;CACH;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,2BAA2B,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAC7D,oFAAoF;IACpF,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG;QACzD,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;KACzC,CAAC;CACH;AA4QD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,OAAO,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,gBAAgB,UAAO,GACtB,gBAAgB,CAQlB;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,gBAAgB,EACzB,SAAS,EAAE,MAAM,GAChB,6BAA6B,CA6B/B"}
package/dist/options.js CHANGED
@@ -126,75 +126,47 @@ function normalizeRemoteServer(name, value) {
126
126
  throw new TypeError(`servers.${name}.remote.headers must not be empty`);
127
127
  return { remote: { headers: result } };
128
128
  }
129
- /**
130
- * Decode untrusted OpenCode plugin options without touching process.env.
131
- * `enabled: false` explicitly means no manager layer, MCP transform, or RPC
132
- * is installed and existing MCP configuration is left untouched.
133
- */
134
- export function parseOptions(raw, directory) {
135
- const input = isRecord(raw) ? raw : {};
136
- if ("failClosed" in input)
137
- throw new TypeError("failClosed is not supported; protection is always fail-closed");
138
- const enabled = input.enabled === undefined
139
- ? true
140
- : typeof input.enabled === "boolean"
141
- ? input.enabled
142
- : (() => {
143
- throw new TypeError("enabled must be a boolean");
144
- })();
145
- const resolvedProjectDirectory = input.projectDirectory === undefined
146
- ? directory === undefined
147
- ? undefined
148
- : brandProjectDirectory(directory)
149
- : (() => {
150
- if (typeof input.projectDirectory !== "string" ||
151
- input.projectDirectory.trim().length === 0) {
152
- throw new TypeError("projectDirectory must be a non-empty path");
153
- }
154
- return brandProjectDirectory(resolve(directory ?? process.cwd(), input.projectDirectory));
155
- })();
156
- const command = input.command === undefined ? ["varlock"] : stringArray(input.command, "command");
157
- const startupTimeoutMs = input.startupTimeoutMs === undefined
158
- ? DEFAULT_STARTUP_TIMEOUT_MS
159
- : positiveInteger(input.startupTimeoutMs, "startupTimeoutMs");
160
- const commandTimeoutMs = input.commandTimeoutMs === undefined
161
- ? DEFAULT_COMMAND_TIMEOUT_MS
162
- : positiveInteger(input.commandTimeoutMs, "commandTimeoutMs", MAX_TIMEOUT_MS);
163
- // Accept the old spelling while emitting only the manager's canonical
164
- // reloadTimeoutMs option. This avoids silently turning a refresh timeout
165
- // into a startup timeout for existing configurations.
166
- const usesLegacyReloadName = input.reloadTimeoutMs === undefined && input.refreshTimeoutMs !== undefined;
167
- const reloadInput = input.reloadTimeoutMs ?? input.refreshTimeoutMs;
168
- const reloadTimeoutMs = reloadInput === undefined
129
+ function readBoolean(input, name, fallback) {
130
+ const value = input[name];
131
+ if (value === undefined)
132
+ return fallback;
133
+ if (typeof value !== "boolean")
134
+ throw new TypeError(`${name} must be a boolean`);
135
+ return value;
136
+ }
137
+ function readTimeout(input, name, fallback, maximum) {
138
+ const value = input[name];
139
+ return value === undefined ? fallback : positiveInteger(value, name, maximum);
140
+ }
141
+ function normalizeReloadTimeout(input) {
142
+ const usesLegacyName = input.reloadTimeoutMs === undefined && input.refreshTimeoutMs !== undefined;
143
+ const value = input.reloadTimeoutMs ?? input.refreshTimeoutMs;
144
+ return value === undefined
169
145
  ? DEFAULT_RELOAD_TIMEOUT_MS
170
- : positiveInteger(reloadInput, "reloadTimeoutMs", usesLegacyReloadName ? 900_000 : MAX_RELOAD_TIMEOUT_MS);
171
- const pollIntervalMs = input.pollIntervalMs === undefined
172
- ? DEFAULT_POLL_INTERVAL_MS
173
- : positiveInteger(input.pollIntervalMs, "pollIntervalMs", 10_000);
174
- const requireStrictEgress = input.requireStrictEgress === undefined
175
- ? true
176
- : typeof input.requireStrictEgress === "boolean"
177
- ? input.requireStrictEgress
178
- : (() => {
179
- throw new TypeError("requireStrictEgress must be a boolean");
180
- })();
181
- const allowPrivateNetwork = input.allowPrivateNetwork === undefined
182
- ? false
183
- : typeof input.allowPrivateNetwork === "boolean"
184
- ? input.allowPrivateNetwork
185
- : (() => {
186
- throw new TypeError("allowPrivateNetwork must be a boolean");
187
- })();
146
+ : positiveInteger(value, "reloadTimeoutMs", usesLegacyName ? 900_000 : MAX_RELOAD_TIMEOUT_MS);
147
+ }
148
+ function normalizeServers(input) {
149
+ const rawServers = input.servers;
150
+ if (rawServers === undefined)
151
+ return Object.create(null);
152
+ if (!isRecord(rawServers))
153
+ throw new TypeError("servers must be an object");
188
154
  const servers = Object.create(null);
189
- if (input.servers !== undefined) {
190
- if (!isRecord(input.servers))
191
- throw new TypeError("servers must be an object");
192
- for (const [name, value] of Object.entries(input.servers)) {
193
- if (!name || unsafeName(name))
194
- throw new TypeError("server names must be safe non-empty names");
195
- servers[name] = normalizeServer(name, value);
196
- }
155
+ for (const [name, value] of Object.entries(rawServers)) {
156
+ if (!name || unsafeName(name))
157
+ throw new TypeError("server names must be safe non-empty names");
158
+ servers[name] = normalizeServer(name, value);
197
159
  }
160
+ return servers;
161
+ }
162
+ function normalizeAdapter(input) {
163
+ const command = input.command === undefined ? ["varlock"] : stringArray(input.command, "command");
164
+ const startupTimeoutMs = readTimeout(input, "startupTimeoutMs", DEFAULT_STARTUP_TIMEOUT_MS);
165
+ const commandTimeoutMs = readTimeout(input, "commandTimeoutMs", DEFAULT_COMMAND_TIMEOUT_MS, MAX_TIMEOUT_MS);
166
+ const reloadTimeoutMs = normalizeReloadTimeout(input);
167
+ const pollIntervalMs = readTimeout(input, "pollIntervalMs", DEFAULT_POLL_INTERVAL_MS, 10_000);
168
+ const requireStrictEgress = readBoolean(input, "requireStrictEgress", true);
169
+ const allowPrivateNetwork = readBoolean(input, "allowPrivateNetwork", false);
198
170
  const adapter = {
199
171
  command,
200
172
  startupTimeoutMs,
@@ -203,7 +175,7 @@ export function parseOptions(raw, directory) {
203
175
  pollIntervalMs,
204
176
  requireStrictEgress,
205
177
  allowPrivateNetwork,
206
- servers,
178
+ servers: normalizeServers(input),
207
179
  };
208
180
  // Existing consumers read this property directly. It is deliberately not
209
181
  // enumerable so managerOptions can pass an exact canonical adapter shape.
@@ -212,22 +184,48 @@ export function parseOptions(raw, directory) {
212
184
  enumerable: false,
213
185
  configurable: false,
214
186
  });
187
+ return adapter;
188
+ }
189
+ function validateProjectPath(value) {
190
+ if (typeof value !== "string" || value.trim().length === 0)
191
+ throw new TypeError("projectDirectory must be a non-empty path");
192
+ return value;
193
+ }
194
+ function resolveProjectDirectory(input, directory, resolveDirectory) {
195
+ if (input.projectDirectory === undefined) {
196
+ return directory === undefined ? undefined : brandProjectDirectory(directory);
197
+ }
198
+ const configured = validateProjectPath(input.projectDirectory);
199
+ const value = resolveDirectory ? resolve(directory ?? process.cwd(), configured) : configured;
200
+ return brandProjectDirectory(value);
201
+ }
202
+ function makeValidatedOptions(enabled, projectDirectory, adapter) {
215
203
  const manager = {
216
204
  enabled,
217
- ...(resolvedProjectDirectory === undefined
218
- ? {}
219
- : { projectDirectory: resolvedProjectDirectory }),
205
+ ...(projectDirectory === undefined ? {} : { projectDirectory }),
220
206
  adapter,
221
207
  };
222
208
  return {
223
209
  enabled,
224
- ...(resolvedProjectDirectory === undefined
225
- ? {}
226
- : { projectDirectory: resolvedProjectDirectory }),
210
+ ...(projectDirectory === undefined ? {} : { projectDirectory }),
227
211
  adapter,
228
212
  manager,
229
213
  };
230
214
  }
215
+ /**
216
+ * Decode untrusted OpenCode plugin options without touching process.env.
217
+ * `enabled: false` explicitly means no manager layer, MCP transform, or RPC
218
+ * is installed and existing MCP configuration is left untouched.
219
+ */
220
+ export function parseOptions(raw, directory, resolveDirectory = true) {
221
+ const input = isRecord(raw) ? raw : {};
222
+ if ("failClosed" in input)
223
+ throw new TypeError("failClosed is not supported; protection is always fail-closed");
224
+ const enabled = readBoolean(input, "enabled", true);
225
+ const adapter = normalizeAdapter(input);
226
+ const projectDirectory = resolveProjectDirectory(input, directory, resolveDirectory);
227
+ return makeValidatedOptions(enabled, projectDirectory, adapter);
228
+ }
231
229
  export function managerOptions(options, directory) {
232
230
  const environmentKeys = [
233
231
  ...new Set(Object.values(options.adapter.servers).flatMap((mapping) => {
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/plugin.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Mcp, Plugin } from "@opencode/plugin/effect";
2
2
  import { Types } from "effect";
3
- import type { ProjectKeyFerryManagerFactory, ResolvedEnvironment } from "./contracts.js";
3
+ import type { ProjectKeyFerryManagerFactory, ResolvedEnvironment, SafeStatus } from "./contracts.js";
4
4
  import { type ValidatedOptions } from "./options.js";
5
5
  import { type RemoteRelayFactory, type RemoteRelayHandle } from "./remote.js";
6
6
  export interface McpEditor {
@@ -19,6 +19,9 @@ export interface ProtectionState {
19
19
  * back to direct transport.
20
20
  */
21
21
  export declare function applyProtection(editor: McpEditor, options: ValidatedOptions["adapter"], state: ProtectionState): void;
22
+ export type HealthPollDecision = "noop" | "clear" | "reconcile";
23
+ /** Decide the side-effecting health action separately from its scheduler. */
24
+ export declare function healthPollDecision(phase: SafeStatus["phase"], ready: boolean, remoteHandleCount: number, relayHealthy: boolean, generation: number, observedGeneration: number): HealthPollDecision;
22
25
  /** Construct the native OpenCode V2 plugin. The real manager is injected later. */
23
26
  export declare function makePlugin(factory: ProjectKeyFerryManagerFactory, relayFactory?: RemoteRelayFactory): Plugin.Plugin;
24
27
  //# sourceMappingURL=plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAiB,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EACV,6BAA6B,EAE7B,mBAAmB,EAEpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACjE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;CAC3F;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACpC,KAAK,EAAE,eAAe,GACrB,IAAI,CAoDN;AAwCD,mFAAmF;AACnF,wBAAgB,UAAU,CACxB,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,kBAAkB,GAChC,MAAM,CAAC,MAAM,CAqKf"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAiB,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,KAAK,EACV,6BAA6B,EAE7B,mBAAmB,EACnB,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAML,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EAEvB,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,SAAS;IACxB,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IACjE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC;IACnE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;CAC3F;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACjE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACpC,KAAK,EAAE,eAAe,GACrB,IAAI,CAoDN;AAoCD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;AAoBhE,6EAA6E;AAC7E,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,EAC1B,KAAK,EAAE,OAAO,EACd,iBAAiB,EAAE,MAAM,EACzB,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,GACzB,kBAAkB,CAGpB;AAeD,mFAAmF;AACnF,wBAAgB,UAAU,CACxB,OAAO,EAAE,6BAA6B,EACtC,YAAY,CAAC,EAAE,kBAAkB,GAChC,MAAM,CAAC,MAAM,CA0Kf"}
package/dist/plugin.js CHANGED
@@ -67,13 +67,10 @@ export function applyProtection(editor, options, state) {
67
67
  });
68
68
  }
69
69
  }
70
- const ensureState = (manager) => manager
71
- .withExclusive(Effect.gen(function* () {
72
- const status = yield* manager.ensureStarted;
73
- const environment = yield* manager.environment;
74
- return { status: sanitizeStatus(status), environment };
75
- }))
76
- .pipe(Effect.catch((error) => manager.status.pipe(Effect.map((status) => ({
70
+ const ensureState = (manager) => manager.ensureReady.pipe(Effect.map(({ status, environment }) => ({
71
+ status: sanitizeStatus(status),
72
+ environment,
73
+ })), Effect.catch((error) => manager.status.pipe(Effect.map((status) => ({
77
74
  status: sanitizeStatus({ ...status, error }),
78
75
  environment: {},
79
76
  })))));
@@ -95,12 +92,41 @@ function snapshotServers(editor) {
95
92
  }
96
93
  return result;
97
94
  }
95
+ function unavailableHealthDecision(ready, remoteHandleCount) {
96
+ if (ready)
97
+ return "clear";
98
+ if (remoteHandleCount > 0)
99
+ return "clear";
100
+ return "noop";
101
+ }
102
+ function readyHealthDecision(ready, relayHealthy, generation, observedGeneration) {
103
+ if (!relayHealthy)
104
+ return "clear";
105
+ if (generation !== observedGeneration)
106
+ return "reconcile";
107
+ if (!ready)
108
+ return "reconcile";
109
+ return "noop";
110
+ }
111
+ /** Decide the side-effecting health action separately from its scheduler. */
112
+ export function healthPollDecision(phase, ready, remoteHandleCount, relayHealthy, generation, observedGeneration) {
113
+ if (phase !== "ready")
114
+ return unavailableHealthDecision(ready, remoteHandleCount);
115
+ return readyHealthDecision(ready, relayHealthy, generation, observedGeneration);
116
+ }
117
+ function parsePluginOptions(ctx) {
118
+ // Fully validate disabled options without touching the host location.
119
+ // Relative project paths are deliberately left unresolved because they are
120
+ // unused on this path and must not be resolved against process.cwd().
121
+ const preflight = parseOptions(ctx.options, undefined, false);
122
+ return preflight.enabled ? parseOptions(ctx.options, ctx.location.project.directory) : preflight;
123
+ }
98
124
  /** Construct the native OpenCode V2 plugin. The real manager is injected later. */
99
125
  export function makePlugin(factory, relayFactory) {
100
126
  return Plugin.define({
101
127
  id: "key-ferry",
102
128
  effect: (ctx) => {
103
- const parsed = parseOptions(ctx.options, ctx.location.project.directory);
129
+ const parsed = parsePluginOptions(ctx);
104
130
  if (!parsed.enabled)
105
131
  return Effect.void;
106
132
  const program = Effect.gen(function* () {
@@ -149,49 +175,31 @@ export function makePlugin(factory, relayFactory) {
149
175
  yield* ctx.mcp.reload();
150
176
  yield* ctx.rpc.register(KeyFerryRpc, {
151
177
  status: () => manager.status.pipe(Effect.map(publicStatus)),
152
- refresh: (_, context) => manager.withExclusive(Effect.gen(function* () {
178
+ refresh: (_, context) => Effect.gen(function* () {
153
179
  yield* remote.stopAll;
154
180
  setState({ ready: false, environment: {}, remoteHandles: remote.handles });
155
181
  yield* ctx.mcp.reload();
156
- const status = yield* manager.refresh;
157
- const environment = yield* manager.environment;
158
- yield* reconcileRemote(status, environment);
182
+ const next = yield* manager.refreshReady;
183
+ yield* reconcileRemote(next.status, next.environment);
159
184
  yield* ctx.mcp.reload();
160
- return publicStatus(status);
185
+ return publicStatus(next.status);
161
186
  }).pipe(Effect.catch((error) => Effect.sync(() => {
162
187
  remoteDiagnostics = remote.diagnostics;
163
188
  setState({ ready: false, environment: {}, remoteHandles: remote.handles });
164
- }).pipe(Effect.andThen(ctx.mcp.reload()), Effect.andThen(Effect.fail(context.error("unavailable", publicMessage(error), rpcError(error)))))))),
165
- doctor: (_, context) => manager.withExclusive(Effect.gen(function* () {
189
+ }).pipe(Effect.andThen(ctx.mcp.reload()), Effect.andThen(Effect.fail(context.error("unavailable", publicMessage(error), rpcError(error))))))),
190
+ doctor: (_, context) => Effect.gen(function* () {
166
191
  const next = yield* ensureState(manager);
167
192
  yield* reconcileRemote(next.status, next.environment);
168
193
  yield* ctx.mcp.reload();
169
194
  return publicStatus(next.status);
170
- }).pipe(Effect.catch((error) => Effect.fail(context.error("unavailable", publicMessage(error), rpcError(error)))))),
195
+ }).pipe(Effect.catch((error) => Effect.fail(context.error("unavailable", publicMessage(error), rpcError(error))))),
171
196
  });
172
- // The manager owns process health. Poll only safe metadata and disable
173
- // protected servers immediately if the owned process dies. A changed
174
- // generation gets a fresh, allowlisted environment before reconnecting.
175
- yield* Effect.forkScoped(Effect.forever(Effect.gen(function* () {
176
- yield* Effect.sleep("30 seconds");
177
- const status = yield* manager.status;
178
- if (status.phase !== "ready") {
179
- if (state.ready || remote.handles.size > 0) {
180
- yield* remote.stopAll;
181
- setState({ ready: false, environment: {}, remoteHandles: remote.handles });
182
- yield* ctx.mcp.reload();
183
- }
184
- return;
185
- }
186
- const relayHealthy = yield* remote.health;
187
- if (!relayHealthy) {
188
- yield* remote.stopAll;
189
- setState({ ready: false, environment: {}, remoteHandles: remote.handles });
190
- yield* ctx.mcp.reload();
191
- return;
192
- }
193
- if (status.generation === observedGeneration && state.ready)
194
- return;
197
+ const clearProtection = Effect.gen(function* () {
198
+ yield* remote.stopAll;
199
+ setState({ ready: false, environment: {}, remoteHandles: remote.handles });
200
+ yield* ctx.mcp.reload();
201
+ });
202
+ const reconcileGeneration = (status) => Effect.gen(function* () {
195
203
  yield* remote.stopAll;
196
204
  const next = yield* ensureState(manager);
197
205
  observedGeneration = next.status.generation;
@@ -205,6 +213,23 @@ export function makePlugin(factory, relayFactory) {
205
213
  remoteHandles: remote.handles,
206
214
  });
207
215
  yield* ctx.mcp.reload();
216
+ });
217
+ // The manager owns process health. Poll only safe metadata and disable
218
+ // protected servers immediately if the owned process dies. A changed
219
+ // generation gets a fresh, allowlisted environment before reconnecting.
220
+ yield* Effect.forkScoped(Effect.forever(Effect.gen(function* () {
221
+ yield* Effect.sleep("30 seconds");
222
+ const status = yield* manager.status;
223
+ const relayHealthy = yield* status.phase !== "ready"
224
+ ? Effect.succeed(false)
225
+ : remote.health;
226
+ const decision = healthPollDecision(status.phase, state.ready, remote.handles.size, relayHealthy, status.generation, observedGeneration);
227
+ const action = {
228
+ noop: Effect.void,
229
+ clear: clearProtection,
230
+ reconcile: reconcileGeneration(status),
231
+ };
232
+ yield* action[decision];
208
233
  })).pipe(Effect.catch(() => Effect.void)));
209
234
  yield* Effect.addFinalizer(() => remote.stopAll);
210
235
  });
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAO9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,cAAc,EACd,YAAY,GAGb,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GAKnB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAchF;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiB,EACjB,OAAoC,EACpC,KAAsB;IAEtB,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBAClF,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC5D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACvB,OAAO;gBACT,CAAC;gBACD,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAC7B,MAAM,CAAC,OAAO,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;gBAC7E,sEAAsE;gBACtE,sEAAsE;gBACtE,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;oBAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBAC7B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACzB,CAAC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAA2B,CAAC;QACvF,IAAI,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC;QAC3B,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,GAAG,KAAK,CAAC;;gBACrC,QAAQ,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;QACpC,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,OAAO;YACT,CAAC;YACD,MAAM,CAAC,WAAW,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC;YACpE,uEAAuE;YACvE,gEAAgE;YAChE,IAAI,MAAM,CAAC,QAAQ,KAAK,IAAI;gBAAE,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,OAAsC,EAAE,EAAE,CAC7D,OAAO;KACJ,aAAa,CACZ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IAC5C,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAC/C,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;AACzD,CAAC,CAAC,CACH;KACA,IAAI,CACH,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACtB,MAAM,EAAE,cAAc,CAAC,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;IAC5C,WAAW,EAAE,EAAE;CAChB,CAAC,CAAC,CACJ,CACF,CACF,CAAC;AAEN,SAAS,eAAe,CAAC,MAAiB;IACxC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;IACvD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3E,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YAC9D,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvE,GAAG,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YACpE,GAAG,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,UAAU,CACxB,OAAsC,EACtC,YAAiC;IAEjC,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,EAAE,EAAE,WAAW;QACf,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YACd,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAAE,OAAO,MAAM,CAAC,IAAI,CAAC;YACxC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAClC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACxC,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,sBAAsB,CAAC;gBAC9C,IAAI,KAAK,GAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;gBAC/D,IAAI,kBAAkB,GAAG,CAAC,CAAC,CAAC;gBAC5B,IAAI,iBAAiB,GAAgC,EAAE,CAAC;gBACxD,IAAI,eAAe,GAA8C,IAAI,GAAG,EAAE,CAAC;gBAC3E,MAAM,MAAM,GAAG,0BAA0B,CAAC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;gBAC5F,MAAM,QAAQ,GAAG,CAAC,IAAqB,EAAE,EAAE;oBACzC,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC,CAAC;gBACF,MAAM,YAAY,GAAG,CAAC,MAAkB,EAAc,EAAE,CACtD,cAAc,CAAC;oBACb,GAAG,MAAM;oBACT,GAAG,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;iBAC9E,CAAC,CAAC;gBACL,MAAM,eAAe,GAAG,CACtB,MAAkB,EAClB,WAA6C,EAC7C,EAAE,CACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAClB,qEAAqE;oBACrE,oEAAoE;oBACpE,qDAAqD;oBACrD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;wBAC7B,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;4BAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBACnD,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAC1B,MAAM,CAAC,SAAS,CACd,eAAe,EACf,MAAM,CAAC,OAAO,CAAC,OAAO,EACtB,WAAW,EACX,MAAM,CAAC,UAAU,CAClB,EACD,KAAK,CAAC,KAAK,EACX,WAAW,CACZ,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBACxB,CAAC;oBACD,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;oBACvC,MAAM,IAAI,GAAG;wBACX,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,OAAO;wBAC/B,WAAW;wBACX,aAAa,EAAE,MAAM,CAAC,OAAO;qBAC9B,CAAC;oBACF,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACf,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACL,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE;oBAClC,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;oBAC1C,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACvF,CAAC,CAAC,CAAC;gBAEH,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC5C,KAAK,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC5D,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC/C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAExB,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;oBACnC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;oBAC3D,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CACtB,OAAO,CAAC,aAAa,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAClB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBACtB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC3E,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBACxB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;wBACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;wBAC/C,KAAK,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBAC5C,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBACxB,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;wBACf,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;wBACvC,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC7E,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAChC,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,IAAI,CACT,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CACpE,CACF,CACF,CACF,CACF,CACF;oBACH,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CACrB,OAAO,CAAC,aAAa,CACnB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;wBACzC,KAAK,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;wBACtD,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBACxB,OAAO,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnC,CAAC,CAAC,CAAC,IAAI,CACL,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CACrB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CACjF,CACF,CACF;iBACJ,CAAC,CAAC;gBAEH,uEAAuE;gBACvE,qEAAqE;gBACrE,wEAAwE;gBACxE,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CACtB,MAAM,CAAC,OAAO,CACZ,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAClB,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAClC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;oBACrC,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;wBAC7B,IAAI,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;4BAC3C,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;4BACtB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;4BAC3E,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBAC1B,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;wBACtB,QAAQ,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;wBAC3E,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;wBACxB,OAAO;oBACT,CAAC;oBACD,IAAI,MAAM,CAAC,UAAU,KAAK,kBAAkB,IAAI,KAAK,CAAC,KAAK;wBAAE,OAAO;oBACpE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;oBACtB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;oBACzC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;oBAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;wBAClC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAC1B,MAAM,CAAC,SAAS,CACd,eAAe,EACf,MAAM,CAAC,OAAO,CAAC,OAAO,EACtB,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,MAAM,CAAC,UAAU,CACvB,EACD,KAAK,CAAC,KAAK,EACX,WAAW,CACZ,CAAC;wBACF,iBAAiB,GAAG,MAAM,CAAC,WAAW,CAAC;oBACzC,CAAC;oBACD,QAAQ,CAAC;wBACP,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO;wBACpC,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,aAAa,EAAE,MAAM,CAAC,OAAO;qBAC9B,CAAC,CAAC;oBACH,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;gBAC1B,CAAC,CAAC,CACH,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CACxC,CAAC;gBACF,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC,OAAO,CACnB,OAAO,EACP,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CACtE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { spawn } from "node:child_process";
1
2
  import { Context, Effect, Layer } from "effect";
2
3
  export type ProcessPhase = "spawn" | "running" | "timeout" | "capture-limit" | "exit";
3
4
  declare const ProcessError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => import("effect/Cause").YieldableError & {
@@ -52,5 +53,7 @@ declare const Process_base: Context.ServiceClass<Process, "key-ferry/Process", P
52
53
  export declare class Process extends Process_base {
53
54
  }
54
55
  export declare const ProcessLive: Layer.Layer<Process, never, never>;
56
+ /** @internal Test-only seam; not exported from the package entrypoints. */
57
+ export declare const ProcessLiveForTesting: (spawnProcess: typeof spawn) => Layer.Layer<Process, never, never>;
55
58
  export {};
56
59
  //# sourceMappingURL=process.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/services/process.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAkB,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;;;;AAEtF,uEAAuE;AACvE,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,CAAC;IAC1E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;CACzF;AAID,MAAM,MAAM,gBAAgB,GAAG,OAAO,cAAc,EAAE,KAAK,CAAC;;AAE5D,qBAAa,OAAQ,SAAQ,YAA+D;CAAG;AAiP/F,eAAO,MAAM,WAAW,oCAA+D,CAAC"}
1
+ {"version":3,"file":"process.d.ts","sourceRoot":"","sources":["../../src/services/process.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAkB,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhE,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,eAAe,GAAG,MAAM,CAAC;;;;AAEtF,uEAAuE;AACvE,qBAAa,YAAa,SAAQ,kBAAiC;IACjE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,eAAe,GAAG,UAAU,GAAG,QAAQ,GAAG,IAAI,CAAC;IAC3F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;CAAG;AAEL,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,WAAW,CAAC;IAC1E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC7D,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC;CACzF;AAID,MAAM,MAAM,gBAAgB,GAAG,OAAO,cAAc,EAAE,KAAK,CAAC;;AAE5D,qBAAa,OAAQ,SAAQ,YAA+D;CAAG;AAmW/F,eAAO,MAAM,WAAW,oCAAoB,CAAC;AAE7C,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,GAAI,cAAc,OAAO,KAAK,uCAAkC,CAAC"}