@adhd/sox-embedding-provider 0.5.2 → 0.5.3

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
@@ -43,6 +43,8 @@ interface EmbeddingProviderConfig {
43
43
  type: string; // 'fastembed' | 'remote'
44
44
  model: string;
45
45
  options?: Record<string, unknown>;
46
+ host?: 'shared' | 'private'; // default 'shared' — see "Host posture" below
47
+ idleGraceMs?: number; // how long an idle shared host lingers (default 30000)
46
48
  }
47
49
  ```
48
50
 
@@ -107,9 +109,48 @@ Built-in models (`modelId` → dimensions):
107
109
  | `bge-m3` | 1024 | 8192 | 100+ languages, long context, ~570M params |
108
110
  | `codexembed-400m` | 1024 | 8192 | code-only, ~1.6GB RAM, long context |
109
111
 
110
- fastembed inference is routed through a single process-wide shared child process rather than a
111
- worker per provider instance, so multiple `FastembedProvider`s constructed in the same Node process
112
- (even concurrently) never race each other for the same native ONNX runtime.
112
+ fastembed inference is routed through **one machine-wide, peer-spawned, self-reaping host
113
+ process** per `(model, execution-provider, cacheDir)` not one ONNX host per consumer process.
114
+ The first consumer to need it peer-spawns the host through the service-proxy's `ensureBackend()`
115
+ singleton spawn-lock; every other consumer on the box dials that same host over a Unix domain
116
+ socket. The host is compute-only (it holds no store connection) and it **reaps itself**: a
117
+ debounced, ref-counted teardown retires it `idleGraceMs` after the last client disconnects and its
118
+ last in-flight request drains. There is no supervised service and no daemon.
119
+
120
+ #### Host posture
121
+
122
+ `EmbeddingProviderConfig.host` is a typed closed union (default `'shared'`), applied
123
+ process-wide before the accessor is constructed and reported in `health().host`:
124
+
125
+ - `'shared'` — funnel through the machine-wide host above. `getSharedFastembedProcess()` returns a
126
+ `FunneledFastembedClient`; its `terminate()` is a **no-op** (a consumer must never kill a host
127
+ other consumers are using).
128
+ - `'private'` — the pre-funnel per-process fork (CI/diagnostics). `getSharedFastembedProcess()`
129
+ returns the private pool directly.
130
+
131
+ `EmbeddingProviderConfig.idleGraceMs` (typed config, default `DEFAULT_EMBED_HOST_IDLE_GRACE_MS` =
132
+ 30 s) sets how long a zero-client host lingers before it reaps itself. A host that fails to come up
133
+ throws a typed `TransientEmbeddingError` naming the socket — it never silently falls back to a
134
+ private host.
135
+
136
+ #### Lifecycle helpers
137
+
138
+ ```typescript
139
+ import {
140
+ getPrivateFastembedProcess, // the PRIVATE (un-funneled) per-process pool
141
+ resetSharedFastembedHost, // heal: ask the live shared host to re-fork its private pool
142
+ getSharedFastembedProcess, // the host-aware accessor (shared by default)
143
+ FunneledFastembedClient, // what getSharedFastembedProcess() returns under 'shared'
144
+ } from '@adhd/sox-embedding-provider';
145
+
146
+ const client = getSharedFastembedProcess(); // FunneledFastembedClient under the default
147
+ const vec = await client.request({ type: 'embed', text: 'hello' });
148
+ console.log(client.started, client.pendingCount, client.hostSocketPath);
149
+ ```
150
+
151
+ `resetSharedFastembedHost()` is the recovery path for a wedged private child: under `'shared'` it
152
+ asks the live host to tear down and re-fork its private ONNX pool (without killing the host other
153
+ consumers share); under `'private'` the accessor's `terminate()` path is unchanged.
113
154
 
114
155
  ### remote — call an HTTP embedding endpoint
115
156
 
@@ -13,16 +13,27 @@
13
13
  * `backendSocketPath()` (the SAME derivation the service-proxy uses, so
14
14
  * there is never a port-selection problem and never a clash).
15
15
  *
16
- * ── Host selection is typed config, never an env toggle (ADR-0013) ─────────────
16
+ * ── Host selection AND the idle bound are typed config, never env toggles ──────
17
17
  *
18
18
  * `host` is a closed union (`'shared' | 'private'`) carried on
19
- * `EmbeddingProviderConfig.host` and reported in `health()`. There is
20
- * deliberately NO `SOX_EMBED_HOST=shared|private` variable: a behavior switch
21
- * must be visible, validated, and auditable, not an ambient string. The only
22
- * env reads here are ADR-0013 D3/D5 shapes:
19
+ * `EmbeddingProviderConfig.host` and reported in `health()`. `idleGraceMs` is the
20
+ * same shape: a typed field on `EmbeddingProviderConfig.idleGraceMs` (applied by
21
+ * `createEmbeddingProvider()`), reported in the host's `embedding.health`, and
22
+ * carried on the resolved `EmbedHostConfig` the SPAWNER reads and forwards to the
23
+ * spawned host. There is deliberately NO `SOX_EMBED_HOST=shared|private`
24
+ * variable: a behavior switch must be visible, validated, and auditable, not an
25
+ * ambient string.
26
+ *
27
+ * `SOX_EMBED_HOST_IDLE_GRACE_MS` still exists, but it is the INTERNAL
28
+ * cross-process transport between the spawner and the spawned host — the spawner
29
+ * writes the resolved `EmbedHostConfig.idleGraceMs` into the child's env and the
30
+ * host consumes it. It is not the public configuration surface; set the typed
31
+ * `idleGraceMs` (or `configureEmbedHostIdleGraceMs()`) instead. (Owner directive:
32
+ * "the time bound should be configurable" — typed config, not an ADR-0013 D3 env
33
+ * tuning constant. This supersedes ADR-0020 D2's env-tuning framing.)
34
+ *
35
+ * The remaining env reads are ADR-0013 D5 shapes:
23
36
  *
24
- * - `SOX_EMBED_HOST_IDLE_GRACE_MS` — a numeric tuning constant (D3): how long
25
- * the host lingers after its last client leaves. Additive/numeric only.
26
37
  * - `SOX_ECOSYSTEM_HOME` — host config (D5): where the socket lives.
27
38
  * - `SOX_EMBED_HOST_MAIN` / `SOX_EMBED_HOST_SOCKET` — host-injected transport
28
39
  * config (D5) / test seams; they select a path, they never enable a feature.
@@ -38,7 +49,13 @@ export interface EmbedHostConfig {
38
49
  host: EmbedHostMode;
39
50
  /** The directory the host UDS is created under (ADR-0004: `$SOX_ECOSYSTEM_HOME/run`). */
40
51
  socketDir: string;
41
- /** How long the host lingers with zero clients and zero in-flight work before it reaps itself. */
52
+ /**
53
+ * How long the host lingers with zero clients and zero in-flight work before
54
+ * it reaps itself. Typed config (owner directive: "the time bound should be
55
+ * configurable"): the SPAWNER reads this resolved value and forwards it to the
56
+ * spawned host, which consumes it. Set it via
57
+ * `EmbeddingProviderConfig.idleGraceMs` / `configureEmbedHostIdleGraceMs()`.
58
+ */
42
59
  idleGraceMs: number;
43
60
  }
44
61
  /**
@@ -57,22 +74,46 @@ export interface EmbedHostConfig {
57
74
  export declare const EMBED_HOST_PROTOCOL_VERSION = 1;
58
75
  /** Default grace before a zero-client host reaps itself. Sized to the short-lived-CLI arrival cadence. */
59
76
  export declare const DEFAULT_EMBED_HOST_IDLE_GRACE_MS = 30000;
77
+ /**
78
+ * The internal cross-process transport variable the spawner uses to hand the
79
+ * resolved `EmbedHostConfig.idleGraceMs` to the spawned host. Not a public knob
80
+ * — set the typed `idleGraceMs` instead.
81
+ */
82
+ export declare const EMBED_HOST_IDLE_GRACE_ENV = "SOX_EMBED_HOST_IDLE_GRACE_MS";
60
83
  /**
61
84
  * Apply the typed `host` field from an `EmbeddingProviderConfig`. Passing
62
85
  * `undefined` leaves the current posture unchanged (so a `remote` provider
63
86
  * without a `host` field never resets a deliberate `'private'` selection).
64
87
  */
65
88
  export declare function configureEmbedHostHost(host: EmbedHostMode | undefined): void;
66
- /** TEST-ONLY: clear the process-wide host override back to the `'shared'` default. */
89
+ /**
90
+ * Apply the typed `idleGraceMs` field from an `EmbeddingProviderConfig`. Passing
91
+ * `undefined` leaves the current value unchanged (so a provider without the field
92
+ * never resets a deliberate selection). A non-positive or non-finite value is
93
+ * rejected loudly — never silently treated as "off".
94
+ */
95
+ export declare function configureEmbedHostIdleGraceMs(idleGraceMs: number | undefined): void;
96
+ /** TEST-ONLY: clear the process-wide host + idle-grace overrides back to defaults. */
67
97
  export declare function __resetEmbedHostConfigForTests(): void;
68
98
  /**
69
99
  * Resolve the funnel configuration. `host` defaults to `'shared'`; `idleGraceMs`
70
- * is a numeric tuning constant (ADR-0013 D3) with a hard default.
100
+ * is typed config (with the transport env / hard default as fallbacks). The
101
+ * SPAWNER reads the resolved `idleGraceMs` and forwards it to the spawned host —
102
+ * see `funnelClient.ts`'s `doEnsure()` — which is what makes this field the
103
+ * consumed surface rather than a dead declaration.
71
104
  */
72
105
  export declare function resolveEmbedHostConfig(): EmbedHostConfig;
73
106
  /**
74
- * ADR-0013 D3 tuning constant: `SOX_EMBED_HOST_IDLE_GRACE_MS`. A non-positive or
75
- * non-numeric value is rejected loudly (never silently treated as "off").
107
+ * Resolve the idle grace, in priority order:
108
+ *
109
+ * 1. the typed override (`configureEmbedHostIdleGraceMs()` /
110
+ * `EmbeddingProviderConfig.idleGraceMs`) — the public surface;
111
+ * 2. the internal transport env (`SOX_EMBED_HOST_IDLE_GRACE_ENV`) the spawner
112
+ * writes for the spawned host;
113
+ * 3. `DEFAULT_EMBED_HOST_IDLE_GRACE_MS`.
114
+ *
115
+ * A non-positive or non-numeric transport value is rejected loudly (never
116
+ * silently treated as "off").
76
117
  */
77
118
  export declare function resolveEmbedHostIdleGraceMs(): number;
78
119
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"embedHostConfig.d.ts","sourceRoot":"","sources":["../src/embedHostConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAYH,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,iIAAiI;IACjI,IAAI,EAAE,aAAa,CAAC;IACpB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,0GAA0G;AAC1G,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAcvD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAM5E;AAED,sFAAsF;AACtF,wBAAgB,8BAA8B,IAAI,IAAI,CAErD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,CAMxD;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAUpD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAIlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAgBjD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAE1E"}
1
+ {"version":3,"file":"embedHostConfig.d.ts","sourceRoot":"","sources":["../src/embedHostConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAYH,6EAA6E;AAC7E,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,iIAAiI;IACjI,IAAI,EAAE,aAAa,CAAC;IACpB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,0GAA0G;AAC1G,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAwBvD;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,iCAAiC,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAM5E;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQnF;AAED,sFAAsF;AACtF,wBAAgB,8BAA8B,IAAI,IAAI,CAGrD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,IAAI,eAAe,CAMxD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAWpD;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAIlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG3F;AAED,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAgBjD;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,CAE1E"}
@@ -13,16 +13,27 @@
13
13
  * `backendSocketPath()` (the SAME derivation the service-proxy uses, so
14
14
  * there is never a port-selection problem and never a clash).
15
15
  *
16
- * ── Host selection is typed config, never an env toggle (ADR-0013) ─────────────
16
+ * ── Host selection AND the idle bound are typed config, never env toggles ──────
17
17
  *
18
18
  * `host` is a closed union (`'shared' | 'private'`) carried on
19
- * `EmbeddingProviderConfig.host` and reported in `health()`. There is
20
- * deliberately NO `SOX_EMBED_HOST=shared|private` variable: a behavior switch
21
- * must be visible, validated, and auditable, not an ambient string. The only
22
- * env reads here are ADR-0013 D3/D5 shapes:
19
+ * `EmbeddingProviderConfig.host` and reported in `health()`. `idleGraceMs` is the
20
+ * same shape: a typed field on `EmbeddingProviderConfig.idleGraceMs` (applied by
21
+ * `createEmbeddingProvider()`), reported in the host's `embedding.health`, and
22
+ * carried on the resolved `EmbedHostConfig` the SPAWNER reads and forwards to the
23
+ * spawned host. There is deliberately NO `SOX_EMBED_HOST=shared|private`
24
+ * variable: a behavior switch must be visible, validated, and auditable, not an
25
+ * ambient string.
26
+ *
27
+ * `SOX_EMBED_HOST_IDLE_GRACE_MS` still exists, but it is the INTERNAL
28
+ * cross-process transport between the spawner and the spawned host — the spawner
29
+ * writes the resolved `EmbedHostConfig.idleGraceMs` into the child's env and the
30
+ * host consumes it. It is not the public configuration surface; set the typed
31
+ * `idleGraceMs` (or `configureEmbedHostIdleGraceMs()`) instead. (Owner directive:
32
+ * "the time bound should be configurable" — typed config, not an ADR-0013 D3 env
33
+ * tuning constant. This supersedes ADR-0020 D2's env-tuning framing.)
34
+ *
35
+ * The remaining env reads are ADR-0013 D5 shapes:
23
36
  *
24
- * - `SOX_EMBED_HOST_IDLE_GRACE_MS` — a numeric tuning constant (D3): how long
25
- * the host lingers after its last client leaves. Additive/numeric only.
26
37
  * - `SOX_ECOSYSTEM_HOME` — host config (D5): where the socket lives.
27
38
  * - `SOX_EMBED_HOST_MAIN` / `SOX_EMBED_HOST_SOCKET` — host-injected transport
28
39
  * config (D5) / test seams; they select a path, they never enable a feature.
@@ -65,6 +76,21 @@ export const DEFAULT_EMBED_HOST_IDLE_GRACE_MS = 30_000;
65
76
  * hidden).
66
77
  */
67
78
  let _hostOverride = null;
79
+ /**
80
+ * Process-wide idle-grace override. `null` ⇒ resolve from the transport env (or
81
+ * the default). This is the TYPED public surface for the time bound: the owner
82
+ * directive is that the bound be configurable as config, not as an ambient
83
+ * ADR-0013 D3 env constant. Set via `configureEmbedHostIdleGraceMs()` (which
84
+ * `createEmbeddingProvider()` calls with `EmbeddingProviderConfig.idleGraceMs`)
85
+ * before the host is spawned.
86
+ */
87
+ let _idleGraceOverride = null;
88
+ /**
89
+ * The internal cross-process transport variable the spawner uses to hand the
90
+ * resolved `EmbedHostConfig.idleGraceMs` to the spawned host. Not a public knob
91
+ * — set the typed `idleGraceMs` instead.
92
+ */
93
+ export const EMBED_HOST_IDLE_GRACE_ENV = 'SOX_EMBED_HOST_IDLE_GRACE_MS';
68
94
  /**
69
95
  * Apply the typed `host` field from an `EmbeddingProviderConfig`. Passing
70
96
  * `undefined` leaves the current posture unchanged (so a `remote` provider
@@ -78,13 +104,31 @@ export function configureEmbedHostHost(host) {
78
104
  }
79
105
  _hostOverride = host;
80
106
  }
81
- /** TEST-ONLY: clear the process-wide host override back to the `'shared'` default. */
107
+ /**
108
+ * Apply the typed `idleGraceMs` field from an `EmbeddingProviderConfig`. Passing
109
+ * `undefined` leaves the current value unchanged (so a provider without the field
110
+ * never resets a deliberate selection). A non-positive or non-finite value is
111
+ * rejected loudly — never silently treated as "off".
112
+ */
113
+ export function configureEmbedHostIdleGraceMs(idleGraceMs) {
114
+ if (idleGraceMs === undefined)
115
+ return;
116
+ if (!Number.isFinite(idleGraceMs) || idleGraceMs <= 0) {
117
+ throw new TypeError(`EmbedHostConfig.idleGraceMs must be a positive number, got ${String(idleGraceMs)}`);
118
+ }
119
+ _idleGraceOverride = idleGraceMs;
120
+ }
121
+ /** TEST-ONLY: clear the process-wide host + idle-grace overrides back to defaults. */
82
122
  export function __resetEmbedHostConfigForTests() {
83
123
  _hostOverride = null;
124
+ _idleGraceOverride = null;
84
125
  }
85
126
  /**
86
127
  * Resolve the funnel configuration. `host` defaults to `'shared'`; `idleGraceMs`
87
- * is a numeric tuning constant (ADR-0013 D3) with a hard default.
128
+ * is typed config (with the transport env / hard default as fallbacks). The
129
+ * SPAWNER reads the resolved `idleGraceMs` and forwards it to the spawned host —
130
+ * see `funnelClient.ts`'s `doEnsure()` — which is what makes this field the
131
+ * consumed surface rather than a dead declaration.
88
132
  */
89
133
  export function resolveEmbedHostConfig() {
90
134
  return {
@@ -94,16 +138,26 @@ export function resolveEmbedHostConfig() {
94
138
  };
95
139
  }
96
140
  /**
97
- * ADR-0013 D3 tuning constant: `SOX_EMBED_HOST_IDLE_GRACE_MS`. A non-positive or
98
- * non-numeric value is rejected loudly (never silently treated as "off").
141
+ * Resolve the idle grace, in priority order:
142
+ *
143
+ * 1. the typed override (`configureEmbedHostIdleGraceMs()` /
144
+ * `EmbeddingProviderConfig.idleGraceMs`) — the public surface;
145
+ * 2. the internal transport env (`SOX_EMBED_HOST_IDLE_GRACE_ENV`) the spawner
146
+ * writes for the spawned host;
147
+ * 3. `DEFAULT_EMBED_HOST_IDLE_GRACE_MS`.
148
+ *
149
+ * A non-positive or non-numeric transport value is rejected loudly (never
150
+ * silently treated as "off").
99
151
  */
100
152
  export function resolveEmbedHostIdleGraceMs() {
101
- const raw = process.env['SOX_EMBED_HOST_IDLE_GRACE_MS'];
153
+ if (_idleGraceOverride !== null)
154
+ return _idleGraceOverride;
155
+ const raw = process.env[EMBED_HOST_IDLE_GRACE_ENV];
102
156
  if (raw === undefined || raw === '')
103
157
  return DEFAULT_EMBED_HOST_IDLE_GRACE_MS;
104
158
  const parsed = Number(raw);
105
159
  if (!Number.isFinite(parsed) || parsed <= 0) {
106
- throw new TypeError(`SOX_EMBED_HOST_IDLE_GRACE_MS must be a positive number, got ${JSON.stringify(raw)}`);
160
+ throw new TypeError(`${EMBED_HOST_IDLE_GRACE_ENV} must be a positive number, got ${JSON.stringify(raw)}`);
107
161
  }
108
162
  return parsed;
109
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"embedHostConfig.js","sourceRoot":"","sources":["../src/embedHostConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedHostConfig.js","sourceRoot":"","sources":["../src/embedHostConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAqB1D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC;AAE7C,0GAA0G;AAC1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC;AAEvD;;;;;;;;;GASG;AACH,IAAI,aAAa,GAAyB,IAAI,CAAC;AAE/C;;;;;;;GAOG;AACH,IAAI,kBAAkB,GAAkB,IAAI,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,8BAA8B,CAAC;AAExE;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAA+B;IACpE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO;IAC/B,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CAAC,oDAAoD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAAC,WAA+B;IAC3E,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO;IACtC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,SAAS,CACjB,8DAA8D,MAAM,CAAC,WAAW,CAAC,EAAE,CACpF,CAAC;IACJ,CAAC;IACD,kBAAkB,GAAG,WAAW,CAAC;AACnC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,8BAA8B;IAC5C,aAAa,GAAG,IAAI,CAAC;IACrB,kBAAkB,GAAG,IAAI,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,IAAI,EAAE,aAAa,IAAI,QAAQ;QAC/B,SAAS,EAAE,yBAAyB,EAAE;QACtC,WAAW,EAAE,2BAA2B,EAAE;KAC3C,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,2BAA2B;IACzC,IAAI,kBAAkB,KAAK,IAAI;QAAE,OAAO,kBAAkB,CAAC;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACnD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,gCAAgC,CAAC;IAC7E,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,SAAS,CACjB,GAAG,yBAAyB,mCAAmC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB;IACvC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;IAClG,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,EAAU,EAAE,QAAgB;IACjF,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,OAAO,mBAAmB,2BAA2B,IAAI,OAAO,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;AACrF,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,mBAAmB,CAAC,GAAoB,EAAE,GAAW;IACnE,OAAO,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,wBAAwB;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACpD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAE/D,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;IACpD,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IAExC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACtE,IAAI,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO,WAAW,CAAC;IAEhD,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAC3F,CAAC;IAAC,MAAM,CAAC;QACP,6EAA6E;QAC7E,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,GAAoB;IAChE,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC;AAC9D,CAAC"}
@@ -28,13 +28,26 @@
28
28
  *
29
29
  * - `activeClients` — live UDS client connections, from `serveBackend`'s
30
30
  * `onClientCountChange` hook (the cross-process half);
31
- * - `privateClient.pendingCount` — this host's own in-flight requests (the
32
- * in-process half).
33
- *
34
- * `activeClients === 0 && pendingCount === 0` arms the grace timer; a new client
31
+ * - `inFlight` — THIS host's own request depth, incremented synchronously at
32
+ * the top of every handler invocation and decremented in its `finally` (the
33
+ * in-process half). It is deliberately NOT the private pool's
34
+ * `pendingCount`: that counter is incremented only AFTER `ensureProcess()`
35
+ * (the fork) resolves, so it reads 0 during a cold-start fork and would arm
36
+ * a reap over live work. `inFlight` is the synchronous truth.
37
+ *
38
+ * `activeClients === 0 && inFlight === 0` arms the grace timer; a new client
35
39
  * or request cancels it. On expiry the private pool is terminated, the listener
36
40
  * closed (which unlinks the socket), and the process exits 0. The private pool's
37
41
  * ONNX child is forked `detached: false`, so it dies with the host — no orphans.
42
+ *
43
+ * ── The accessor is resolved at EVERY use, never captured ──────────────────────
44
+ *
45
+ * `embedding.reset` terminates AND nulls the private singleton
46
+ * (`resetPrivateFastembedProcess()`); a host that captured the accessor once
47
+ * would keep forwarding through the terminated reference and answer every later
48
+ * request with `shared fastembed process terminated`. Every use
49
+ * (the request handler, `armIfIdle`, `teardown`, `health`) therefore calls
50
+ * `getPrivateFastembedProcess()` fresh.
38
51
  */
39
52
  /**
40
53
  * Start the host: bind the UDS, serve `embedding.*`, and arm the debounced
@@ -1 +1 @@
1
- {"version":3,"file":"embedHostMain.d.ts","sourceRoot":"","sources":["../src/embedHostMain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAyBH;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA2GlD"}
1
+ {"version":3,"file":"embedHostMain.d.ts","sourceRoot":"","sources":["../src/embedHostMain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AAyBH;;;;;GAKG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CA4HlD"}
@@ -28,13 +28,26 @@
28
28
  *
29
29
  * - `activeClients` — live UDS client connections, from `serveBackend`'s
30
30
  * `onClientCountChange` hook (the cross-process half);
31
- * - `privateClient.pendingCount` — this host's own in-flight requests (the
32
- * in-process half).
31
+ * - `inFlight` — THIS host's own request depth, incremented synchronously at
32
+ * the top of every handler invocation and decremented in its `finally` (the
33
+ * in-process half). It is deliberately NOT the private pool's
34
+ * `pendingCount`: that counter is incremented only AFTER `ensureProcess()`
35
+ * (the fork) resolves, so it reads 0 during a cold-start fork and would arm
36
+ * a reap over live work. `inFlight` is the synchronous truth.
33
37
  *
34
- * `activeClients === 0 && pendingCount === 0` arms the grace timer; a new client
38
+ * `activeClients === 0 && inFlight === 0` arms the grace timer; a new client
35
39
  * or request cancels it. On expiry the private pool is terminated, the listener
36
40
  * closed (which unlinks the socket), and the process exits 0. The private pool's
37
41
  * ONNX child is forked `detached: false`, so it dies with the host — no orphans.
42
+ *
43
+ * ── The accessor is resolved at EVERY use, never captured ──────────────────────
44
+ *
45
+ * `embedding.reset` terminates AND nulls the private singleton
46
+ * (`resetPrivateFastembedProcess()`); a host that captured the accessor once
47
+ * would keep forwarding through the terminated reference and answer every later
48
+ * request with `shared fastembed process terminated`. Every use
49
+ * (the request handler, `armIfIdle`, `teardown`, `health`) therefore calls
50
+ * `getPrivateFastembedProcess()` fresh.
38
51
  */
39
52
  import { fileURLToPath } from 'node:url';
40
53
  import { resolve } from 'node:path';
@@ -68,8 +81,14 @@ export async function runEmbedHost() {
68
81
  process.exit(2);
69
82
  }
70
83
  const idleGraceMs = resolveEmbedHostIdleGraceMs();
71
- const privateClient = getPrivateFastembedProcess();
72
84
  let activeClients = 0;
85
+ /**
86
+ * This host's own in-flight request depth. Incremented synchronously before
87
+ * the handler's first `await` and decremented in its `finally`, so it covers a
88
+ * request's entire synchronous prefix — including the cold-start fork, where
89
+ * the private pool's `pendingCount` still reads 0.
90
+ */
91
+ let inFlight = 0;
73
92
  let idleTimer = null;
74
93
  let shuttingDown = false;
75
94
  let handle = null;
@@ -85,7 +104,9 @@ export async function runEmbedHost() {
85
104
  shuttingDown = true;
86
105
  cancelIdle();
87
106
  try {
88
- await privateClient.terminate();
107
+ // Resolve the accessor at teardown time: a preceding `embedding.reset`
108
+ // may have swapped the private singleton for a fresh one.
109
+ await getPrivateFastembedProcess().terminate();
89
110
  }
90
111
  catch {
91
112
  /* best-effort — the ONNX child dies with us regardless (detached:false) */
@@ -101,7 +122,11 @@ export async function runEmbedHost() {
101
122
  const armIfIdle = () => {
102
123
  if (shuttingDown || idleTimer)
103
124
  return;
104
- if (activeClients !== 0 || privateClient.pendingCount !== 0)
125
+ if (activeClients !== 0 || inFlight !== 0)
126
+ return;
127
+ // Defensive second gate: the private pool's own counter, resolved per use so
128
+ // a post-reset pool is never the stale terminated reference.
129
+ if (getPrivateFastembedProcess().pendingCount !== 0)
105
130
  return;
106
131
  idleTimer = setTimeout(() => {
107
132
  idleTimer = null;
@@ -111,18 +136,22 @@ export async function runEmbedHost() {
111
136
  idleTimer.unref?.();
112
137
  };
113
138
  const handler = async (req) => {
114
- // Any inbound request is demand — cancel a pending reap.
139
+ // Any inbound request is demand — cancel a pending reap, and count this
140
+ // request as in-flight BEFORE the first await (the synchronous prefix).
115
141
  cancelIdle();
142
+ inFlight++;
116
143
  const id = req.id;
117
144
  const method = req.method;
118
- if (!HOST_METHODS.has(method)) {
119
- return fail(id, -32601, `method not found: ${method}`);
120
- }
121
145
  try {
146
+ if (!HOST_METHODS.has(method)) {
147
+ return fail(id, -32601, `method not found: ${method}`);
148
+ }
122
149
  if (method === 'embedding.health') {
150
+ const pc = getPrivateFastembedProcess();
123
151
  return ok(id, {
124
- started: privateClient.started,
125
- pendingCount: privateClient.pendingCount,
152
+ started: pc.started,
153
+ pendingCount: pc.pendingCount,
154
+ inFlight,
126
155
  activeClients,
127
156
  idleGraceMs,
128
157
  });
@@ -132,15 +161,17 @@ export async function runEmbedHost() {
132
161
  return ok(id, { reset: true });
133
162
  }
134
163
  // embedding.init | embedding.embed | embedding.embedBatch — forward the
135
- // payload 1:1 to the PRIVATE pool (never the funnel accessor).
164
+ // payload 1:1 to the PRIVATE pool (never the funnel accessor), resolving
165
+ // it per use so a reset mid-life never leaves us on a terminated pool.
136
166
  const params = (req.params ?? {});
137
- const result = await privateClient.request(params);
167
+ const result = await getPrivateFastembedProcess().request(params);
138
168
  return ok(id, result);
139
169
  }
140
170
  catch (e) {
141
171
  return fail(id, -32603, e instanceof Error ? e.message : String(e));
142
172
  }
143
173
  finally {
174
+ inFlight--;
144
175
  // A request may have drained the last in-flight work with no clients
145
176
  // attached (e.g. a one-shot embed) — re-arm the reap.
146
177
  if (activeClients === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"embedHostMain.js","sourceRoot":"","sources":["../src/embedHostMain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embedHostMain.js","sourceRoot":"","sources":["../src/embedHostMain.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"funnelClient.d.ts","sourceRoot":"","sources":["../src/funnelClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAWH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAoB5C,oDAAoD;AACpD,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAOD,qBAAa,uBAAwB,YAAW,qBAAqB;IACnE,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,gBAAgB,CAAK;;IAM7B,gFAAgF;IAChF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,iEAAiE;IACjE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,mFAAmF;IACnF,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IAEK,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;IAqCb;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,aAAa;IA8DrB,4EAA4E;IAC5E,OAAO,CAAC,UAAU;YASJ,QAAQ;IAiEtB,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAYhC;;;OAGG;YACW,OAAO;IAcrB;;OAEG;IACH,OAAO,CAAC,cAAc;CAKvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9D"}
1
+ {"version":3,"file":"funnelClient.d.ts","sourceRoot":"","sources":["../src/funnelClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAYH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,QAAS,CAAC;AACjD,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAoB5C,oDAAoD;AACpD,wBAAgB,iCAAiC,IAAI,IAAI,CAExD;AAOD,qBAAa,uBAAwB,YAAW,qBAAqB;IACnE,OAAO,CAAC,IAAI,CAAkC;IAC9C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,yBAAyB,CAAK;IACtC,OAAO,CAAC,gBAAgB,CAAK;;IAM7B,gFAAgF;IAChF,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,iEAAiE;IACjE,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,mFAAmF;IACnF,IAAI,cAAc,IAAI,MAAM,GAAG,IAAI,CAElC;IAEK,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,CAAC,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;IAqCb;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAMhC,OAAO,CAAC,QAAQ;IAchB,OAAO,CAAC,aAAa;IA8DrB,4EAA4E;IAC5E,OAAO,CAAC,UAAU;YASJ,QAAQ;IA0EtB,OAAO,CAAC,iBAAiB;IAOzB;;;;;OAKG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAYhC;;;OAGG;YACW,OAAO;IAcrB;;OAEG;IACH,OAAO,CAAC,cAAc;CAKvB;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE9D"}
@@ -29,7 +29,7 @@
29
29
  */
30
30
  import { dialBackend, ensureBackend, probeSocketLive } from '@adhd/sox-service-proxy';
31
31
  import { TransientEmbeddingError, PermanentEmbeddingError } from './errors.js';
32
- import { embedHostSingletonKey, embedHostSocketPath, resolveEmbedHostConfig, resolveEmbedHostMainPath, resolveEmbedHostStderrLogPath, } from './embedHostConfig.js';
32
+ import { EMBED_HOST_IDLE_GRACE_ENV, embedHostSingletonKey, embedHostSocketPath, resolveEmbedHostConfig, resolveEmbedHostMainPath, resolveEmbedHostStderrLogPath, } from './embedHostConfig.js';
33
33
  /** Consecutive failed ensures before the breaker opens. */
34
34
  export const ENSURE_FAILURE_THRESHOLD = 3;
35
35
  /** How long the breaker stays open (fail-fast window) once tripped. */
@@ -224,7 +224,16 @@ export class FunneledFastembedClient {
224
224
  singletonKey: key,
225
225
  command: process.execPath,
226
226
  args: [resolveEmbedHostMainPath()],
227
- env: { ...process.env, SOX_EMBED_HOST_SOCKET: socketPath, SOX_EMBED_HOST_KEY: key },
227
+ env: {
228
+ ...process.env,
229
+ SOX_EMBED_HOST_SOCKET: socketPath,
230
+ // Internal cross-process transport for the typed idle bound: the
231
+ // spawned host consumes the value the spawner resolved here
232
+ // (`EmbedHostConfig.idleGraceMs`), which is what makes the resolved
233
+ // config field the consumed surface rather than a dead declaration.
234
+ // The public knob is `EmbeddingProviderConfig.idleGraceMs`.
235
+ [EMBED_HOST_IDLE_GRACE_ENV]: String(cfg.idleGraceMs),
236
+ },
228
237
  stderrLogPath: resolveEmbedHostStderrLogPath(cfg),
229
238
  readyTimeoutMs: HOST_READY_TIMEOUT_MS,
230
239
  });
@@ -1 +1 @@
1
- {"version":3,"file":"funnelClient.js","sourceRoot":"","sources":["../src/funnelClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"funnelClient.js","sourceRoot":"","sources":["../src/funnelClient.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -44,6 +44,14 @@ export interface EmbeddingProviderConfig {
44
44
  * it is a closed union, never an env toggle, and is reported in `health()`.
45
45
  */
46
46
  host?: 'shared' | 'private';
47
+ /**
48
+ * How long the peer-shared host lingers with zero clients and zero in-flight
49
+ * work before it reaps itself, in milliseconds. Typed config (owner directive:
50
+ * "the time bound should be configurable") — applied process-wide before the
51
+ * host is spawned, and reported in the host's `embedding.health`. Defaults to
52
+ * `DEFAULT_EMBED_HOST_IDLE_GRACE_MS` (30 s). Must be a positive number.
53
+ */
54
+ idleGraceMs?: number;
47
55
  }
48
56
  export { TransientEmbeddingError, PermanentEmbeddingError, ResolutionError } from './errors.js';
49
57
  /**
@@ -161,7 +169,7 @@ export { getPrivateFastembedProcess, FastembedProcessPool, AdaptiveFastembedProc
161
169
  * re-fork its private pool (memory-core's `reinitEmbedProvider` routes here).
162
170
  */
163
171
  export { FunneledFastembedClient, resetSharedFastembedHost } from './funnelClient.js';
164
- export { resolveEmbedHostConfig, configureEmbedHostHost, resolveEmbedHostSocketDir, embedHostSingletonKey, embedHostSocketPath, resolveEmbedHostMainPath, resolveEmbedHostIdleGraceMs, EMBED_HOST_PROTOCOL_VERSION, type EmbedHostConfig, type EmbedHostMode, } from './embedHostConfig.js';
172
+ export { resolveEmbedHostConfig, configureEmbedHostHost, configureEmbedHostIdleGraceMs, resolveEmbedHostSocketDir, embedHostSingletonKey, embedHostSocketPath, resolveEmbedHostMainPath, resolveEmbedHostIdleGraceMs, EMBED_HOST_PROTOCOL_VERSION, DEFAULT_EMBED_HOST_IDLE_GRACE_MS, EMBED_HOST_IDLE_GRACE_ENV, type EmbedHostConfig, type EmbedHostMode, } from './embedHostConfig.js';
165
173
  export declare function createEmbeddingProvider(config: EmbeddingProviderConfig): Promise<EmbeddingProvider>;
166
174
  /**
167
175
  * Single source of truth for the fastembed warmup/init timeout budget.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@ import { join } from 'node:path';
6
6
  // Local binding so this module's own throws/type-guards use the SAME classes the
7
7
  // barrel re-exports (one home — see `errors.ts`).
8
8
  import { ResolutionError } from './errors.js';
9
- import { configureEmbedHostHost } from './embedHostConfig.js';
9
+ import { configureEmbedHostHost, configureEmbedHostIdleGraceMs } from './embedHostConfig.js';
10
10
  // ── Error taxonomy — three tiers, no silent degradation ──────────────────────
11
11
  // Defined in `errors.ts` so `funnelClient.ts` can throw them without importing
12
12
  // this barrel (which re-exports the funnel client) — re-exported here so the
@@ -51,7 +51,7 @@ export { getPrivateFastembedProcess, FastembedProcessPool, AdaptiveFastembedProc
51
51
  * re-fork its private pool (memory-core's `reinitEmbedProvider` routes here).
52
52
  */
53
53
  export { FunneledFastembedClient, resetSharedFastembedHost } from './funnelClient.js';
54
- export { resolveEmbedHostConfig, configureEmbedHostHost, resolveEmbedHostSocketDir, embedHostSingletonKey, embedHostSocketPath, resolveEmbedHostMainPath, resolveEmbedHostIdleGraceMs, EMBED_HOST_PROTOCOL_VERSION, } from './embedHostConfig.js';
54
+ export { resolveEmbedHostConfig, configureEmbedHostHost, configureEmbedHostIdleGraceMs, resolveEmbedHostSocketDir, embedHostSingletonKey, embedHostSocketPath, resolveEmbedHostMainPath, resolveEmbedHostIdleGraceMs, EMBED_HOST_PROTOCOL_VERSION, DEFAULT_EMBED_HOST_IDLE_GRACE_MS, EMBED_HOST_IDLE_GRACE_ENV, } from './embedHostConfig.js';
55
55
  // ── Factory ───────────────────────────────────────────────────────────────────
56
56
  export async function createEmbeddingProvider(config) {
57
57
  if (!config.type || typeof config.type !== 'string') {
@@ -68,6 +68,17 @@ export async function createEmbeddingProvider(config) {
68
68
  throw new ResolutionError(`Invalid embedding host mode: ${err instanceof Error ? err.message : String(err)}`);
69
69
  }
70
70
  }
71
+ // Typed idle bound (owner directive: "the time bound should be configurable").
72
+ // Applied process-wide before the host is spawned; the spawner forwards the
73
+ // resolved value to the host, which consumes it.
74
+ if (config.idleGraceMs !== undefined) {
75
+ try {
76
+ configureEmbedHostIdleGraceMs(config.idleGraceMs);
77
+ }
78
+ catch (err) {
79
+ throw new ResolutionError(`Invalid embedding idle grace: ${err instanceof Error ? err.message : String(err)}`);
80
+ }
81
+ }
71
82
  switch (config.type) {
72
83
  case 'fastembed':
73
84
  return createFastembedProvider(config);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adhd/sox-embedding-provider",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "Pluggable text→vector embedding provider — generic EmbeddingProvider interface, config-driven model resolution, async batch-first API (AsyncIterable). Default: fastembed (local ONNX, >=3 model dims proven). Loud-fail: createEmbeddingProvider() throws ResolutionError if config is invalid or model cannot load — no silent downgrade.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -30,8 +30,8 @@
30
30
  "dependencies": {
31
31
  "@huggingface/transformers": "^4.2.0",
32
32
  "fastembed": "^2.1.0",
33
- "@adhd/sox-telemetry": "^0.3.1",
34
- "@adhd/sox-service-proxy": "^0.4.1"
33
+ "@adhd/sox-service-proxy": "^0.4.2",
34
+ "@adhd/sox-telemetry": "^0.3.1"
35
35
  },
36
36
  "sox": {
37
37
  "area": "data",