@saihm/shm 0.38.1 → 0.39.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -3,7 +3,7 @@ Business Source License 1.1
3
3
  Parameters
4
4
 
5
5
  Licensor: SAIHM Project
6
- Licensed Work: SHM (Super-Human Memory) 0.38.1
6
+ Licensed Work: SHM (Super-Human Memory) 0.39.0
7
7
  The Licensed Work is (c) 2026 SAIHM Project.
8
8
  Additional Use Grant: You may make production use of the Licensed Work if
9
9
  you hold a paid SAIHM subscription (a PRO, PRO_FAST,
package/README.md CHANGED
@@ -31,7 +31,7 @@ decision-maker's guide to SAIHM and SHM.
31
31
 
32
32
  ## What SHM gives you
33
33
 
34
- SAIHM keeps your agent's memory safe. SHM makes it work efficiently: it organises that
34
+ SAIHM keeps your agent's memory safe. SHM makes it work efficiently: it organizes that
35
35
  memory and brings the right part of it forward, by meaning, before the agent asks.
36
36
 
37
37
  - **The right memories, not all of them.** SHM ranks what your agent remembers and
@@ -39,8 +39,10 @@ memory and brings the right part of it forward, by meaning, before the agent ask
39
39
  window stays clean and tasks stay apart.
40
40
  - **Ready before the question.** SHM puts the relevant memories in front of your agent
41
41
  as the work begins, and records why each one was chosen.
42
- - **Private by design.** SHM runs on your side, next to your agent. Everything it stores
43
- is encrypted under a key you hold, and its models run on your own machine.
42
+ - **Private by design.** SHM runs on your side, next to your agent. The memories, index and
43
+ answers it keeps are encrypted under a key you hold. Its bookkeeping (cell ids, feed positions,
44
+ workstream names, and which memory was derived from which) is kept in owner-only files. Its
45
+ models run on your own machine.
44
46
  - **Erasure that reaches every copy SHM holds.** When a memory is erased in SAIHM, SHM removes it
45
47
  from its index, its caches and everything it derived from it.
46
48
  - **Picks up where you left off.** SHM can save an encrypted snapshot of its state and
@@ -63,6 +65,10 @@ You need Node.js 20.20 or later, a paid SAIHM subscription, and
63
65
  0.13.0 or later. The [developer guide](#developer-guide) below takes you from install to
64
66
  your first ranked answer.
65
67
 
68
+ On Linux x64, the install also downloads a GPU library of about 270 MB that SHM does not
69
+ use. To skip it, for example on a network that blocks the download, install with
70
+ `ONNXRUNTIME_NODE_INSTALL=skip npm install @saihm/shm`.
71
+
66
72
  ## Support SHM
67
73
 
68
74
  If SHM is useful to you, here is how to help it reach more people:
@@ -123,7 +129,7 @@ const saihm = new McpSaihmClient({ endpoint: "saihm", tenantId: "my-agent", call
123
129
 
124
130
  Before a session opens, SHM confirms with SAIHM that your account holds a paid tier: `PRO`, `PRO_FAST`, `ENTERPRISE` or `ENTERPRISE_FAST`. The session opens as soon as the check passes; any other answer, an error or a timeout keeps it closed, and nothing is locked, written or read until then. The check waits up to 15 seconds by default (`entitlementTimeoutMs`). The first start of the SAIHM MCP server after an install or upgrade can take longer while it downloads, so start it once beforehand or raise the timeout.
125
131
 
126
- SHM takes the tier straight from your account status as SAIHM reports it, never from an environment variable or configuration file. The [licence](#licence) sets the terms of use.
132
+ SHM takes the tier straight from your account status as SAIHM reports it, never from an environment variable or configuration file. The [license](#license) sets the terms of use.
127
133
 
128
134
  ### What's inside
129
135
 
@@ -131,9 +137,9 @@ SHM takes the tier straight from your account status as SAIHM reports it, never
131
137
  - **Proactive context.** `session.proactiveInjector()` assembles the memories relevant to the current task within a budget you set, and records why each one was chosen.
132
138
  - **Encryption at rest.** The index and any persisted memory bodies are encrypted with AES-256-GCM under a key you hold.
133
139
  - **Your sources.** SHM ranks whatever its read port supplies: a folder of Markdown (`MarkdownDirPort`), your own adapter over another store, or several sources federated together (`FederatedReadPort`). Through `McpSaihmClient` it reads and writes SAIHM cells: recall by query, cells shared with you, and the knowledge SHM derives.
134
- - **Resident service.** A resident service (`ResidentSession`, `serveHttp`) keeps the index warm, and host hooks (`HostHookAdapter`) bring relevant memories into a coding session.
140
+ - **Resident service.** A resident service (`ResidentSession`, `serveHttp`) keeps the index warm, and host hooks (`HostHookAdapter`) bring relevant memories into a coding session. By default a hook turn adds at most 4 KB (4,096 bytes); a longer memory arrives cut short, followed by the id of the cell that holds all of it. Set `maxBytes: Infinity` in its `turn` or `action` options to bring whole memories instead.
135
141
 
136
- The embedder and the reranker run on your machine. On first use they download their pretrained models from the Hugging Face Hub and cache them.
142
+ The embedder and the reranker run on your machine. On first use they download their pretrained models from the Hugging Face Hub and cache them in `~/.cache/shm/models`, or in `$XDG_CACHE_HOME/shm/models` when that is set, so reinstalling SHM or running `npm ci` does not download them again.
137
143
 
138
144
  ### SHM and the SAIHM MCP server
139
145
 
@@ -149,9 +155,9 @@ SHM builds on [`@saihm/mcp-server-pro`](https://github.com/SAIHM-Admin/saihm-mcp
149
155
 
150
156
  You can run SHM against your own SAIHM endpoint. SAIHM is not responsible for, and has no comment regarding, endpoints developed and run by others.
151
157
 
152
- ## Licence
158
+ ## License
153
159
 
154
- SHM is licensed under the [Business Source License 1.1](LICENSE). Production use is granted to holders of a paid SAIHM subscription who use SHM with the SAIHM account that holds it. For any other production use, a commercial licence is available through [GitHub Sponsors](https://github.com/sponsors/SAIHM-Admin). Each version converts to the Apache License, Version 2.0 on its Change Date, stated in LICENSE.
160
+ SHM is licensed under the [Business Source License 1.1](LICENSE). Production use is granted to holders of a paid SAIHM subscription who use SHM with the SAIHM account that holds it. For any other production use, a commercial license is available through [GitHub Sponsors](https://github.com/sponsors/SAIHM-Admin). Each version converts to the Apache License, Version 2.0 on its Change Date, stated in LICENSE.
155
161
 
156
162
  See [NOTICE](NOTICE) for third-party notices and [CONTRIBUTING.md](CONTRIBUTING.md) for contributions and security reports.
157
163
 
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/coordination/inbound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAE7C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAa5F;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,qBAAsB,SAAQ,YAAY;;CAKtD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,SAAS,EAAE,CAMrE;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,CAAC;AAE/F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAWlE;AAgCD,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAuClG"}
1
+ {"version":3,"file":"inbound.d.ts","sourceRoot":"","sources":["../../src/coordination/inbound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,SAAS,SAAS,EAAE,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAID,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAE7C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAa5F;AAED,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,qBAAsB,SAAQ,YAAY;;CAKtD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,SAAS,EAAE,CAMrE;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,GAChE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;CAAE,CAAC;AAE/F,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,GAAG,gBAAgB,CAWlE;AAmCD,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CAuClG"}
@@ -66,20 +66,23 @@ function rowsOf(r) {
66
66
  const rows = r["shared"];
67
67
  if (!Array.isArray(rows))
68
68
  throw new ListingError("not a share listing: `shared` is not an array");
69
- return rows.map((row, i) => {
69
+ const out = [];
70
+ for (let i = 0; i < rows.length; i++) {
71
+ const row = rows[i];
70
72
  const o = typeof row === "object" && row !== null ? row : undefined;
71
73
  const sharer = o?.["sharer"];
72
74
  const cellId = o?.["cellId"];
73
- if (o === undefined || typeof sharer !== "string" || typeof cellId !== "string") {
74
- throw new ListingError(`share listing row ${i} has no string sharer and cellId`);
75
+ if (o === undefined || typeof sharer !== "string" || typeof cellId !== "string" || sharer === "" || cellId === "") {
76
+ throw new ListingError(`share listing row ${i} has no non-empty string sharer and cellId`);
75
77
  }
76
- return {
78
+ out.push({
77
79
  sharer,
78
80
  cellId,
79
81
  ...(typeof o["scope"] === "string" ? { scope: o["scope"] } : {}),
80
82
  ...(typeof o["verified"] === "boolean" ? { verified: o["verified"] } : {}),
81
- };
82
- });
83
+ });
84
+ }
85
+ return out;
83
86
  }
84
87
  export function triageInbound(refs, opts = {}) {
85
88
  const seen = opts.seen ?? new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../src/coordination/inbound.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound.js","sourceRoot":"","sources":["../../src/coordination/inbound.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Embedder, EmbedResult } from "./types.js";
2
2
  export declare class LocalMiniLmEmbedder implements Embedder {
3
- readonly modelId = "Xenova/all-MiniLM-L6-v2";
3
+ get modelId(): string;
4
4
  readonly dim = 384;
5
5
  private extractor;
6
6
  private pipe;
@@ -1 +1 @@
1
- {"version":3,"file":"local_minilm.d.ts","sourceRoot":"","sources":["../../src/embed/local_minilm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAExD,qBAAa,mBAAoB,YAAW,QAAQ;IAClD,QAAQ,CAAC,OAAO,6BAA6B;IAC7C,QAAQ,CAAC,GAAG,OAAO;IACnB,OAAO,CAAC,SAAS,CAAuE;YAE1E,IAAI;IAQZ,KAAK,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAoB5D"}
1
+ {"version":3,"file":"local_minilm.d.ts","sourceRoot":"","sources":["../../src/embed/local_minilm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAKxD,qBAAa,mBAAoB,YAAW,QAAQ;IAClD,IAAI,OAAO,IAAI,MAAM,CAEpB;IACD,QAAQ,CAAC,GAAG,OAAO;IACnB,OAAO,CAAC,SAAS,CAAuE;YAE1E,IAAI;IAQZ,KAAK,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC;CAoB5D"}
@@ -1,12 +1,16 @@
1
+ import { loadTransformers, ortRuntime } from "./transformers_runtime.js";
2
+ const MINILM_REPO = "Xenova/all-MiniLM-L6-v2";
1
3
  export class LocalMiniLmEmbedder {
2
- modelId = "Xenova/all-MiniLM-L6-v2";
4
+ get modelId() {
5
+ return ortRuntime() === "wasm" ? "Xenova/all-MiniLM-L6-v2@hft4-q8-wasm" : "Xenova/all-MiniLM-L6-v2@hft4-q8";
6
+ }
3
7
  dim = 384;
4
8
  extractor = null;
5
9
  async pipe() {
6
10
  if (this.extractor)
7
11
  return this.extractor;
8
- const { pipeline } = await import("@xenova/transformers");
9
- const extractor = await pipeline("feature-extraction", this.modelId);
12
+ const { lib, modelOptions } = await loadTransformers();
13
+ const extractor = await lib.pipeline("feature-extraction", MINILM_REPO, { dtype: "q8", ...modelOptions });
10
14
  this.extractor = extractor;
11
15
  return this.extractor;
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"local_minilm.js","sourceRoot":"","sources":["../../src/embed/local_minilm.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,mBAAmB;IACrB,OAAO,GAAG,yBAAyB,CAAC;IACpC,GAAG,GAAG,GAAG,CAAC;IACX,SAAS,GAAkE,IAAI,CAAC;IAEhF,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrE,IAAI,CAAC,SAAS,GAAG,SAA4E,CAAC;QAC9F,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACrF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAEzE,CAAC;YACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,yDAAyD,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,OAAO,GAAG,CAC/F,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;IACjD,CAAC;CACF"}
1
+ {"version":3,"file":"local_minilm.js","sourceRoot":"","sources":["../../src/embed/local_minilm.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEzE,MAAM,WAAW,GAAG,yBAAyB,CAAC;AAE9C,MAAM,OAAO,mBAAmB;IAC9B,IAAI,OAAO;QACT,OAAO,UAAU,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,iCAAiC,CAAC;IAC9G,CAAC;IACQ,GAAG,GAAG,GAAG,CAAC;IACX,SAAS,GAAkE,IAAI,CAAC;IAEhF,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,oBAAoB,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;QAC1G,IAAI,CAAC,SAAS,GAAG,SAA4E,CAAC;QAC9F,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAwB;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;QACrF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAEzE,CAAC;YACF,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CACb,yDAAyD,IAAI,CAAC,MAAM,WAAW,IAAI,CAAC,OAAO,GAAG,CAC/F,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC;QAC3C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;IACjD,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export type OrtRuntime = "native" | "wasm";
2
+ export interface LoadedTransformers {
3
+ readonly lib: typeof import("@huggingface/transformers");
4
+ readonly runtime: OrtRuntime;
5
+ readonly modelOptions: Record<string, unknown>;
6
+ }
7
+ export type NativeProbe = (requireFromLib: NodeJS.Require) => void;
8
+ export declare function ortRuntime(probe?: NativeProbe): OrtRuntime;
9
+ export declare function loadTransformers(): Promise<LoadedTransformers>;
10
+ export declare function chooseModelCacheDir(current: string | null | undefined, xdgCacheHome: string | undefined, home: string, writable: (dir: string) => Promise<boolean>): Promise<string | null | undefined>;
11
+ //# sourceMappingURL=transformers_runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers_runtime.d.ts","sourceRoot":"","sources":["../../src/embed/transformers_runtime.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,cAAc,2BAA2B,CAAC,CAAC;IACzD,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,KAAK,IAAI,CAAC;AASnE,wBAAgB,UAAU,CAAC,KAAK,GAAE,WAAyB,GAAG,UAAU,CAUvE;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAG9D;AAMD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAC1C,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAMpC"}
@@ -0,0 +1,93 @@
1
+ import { accessSync, constants, existsSync } from "node:fs";
2
+ import { createRequire } from "node:module";
3
+ import { homedir } from "node:os";
4
+ import { dirname, isAbsolute, join, sep } from "node:path";
5
+ import { pathToFileURL } from "node:url";
6
+ import { ensureStateDir } from "../store/state_dir.js";
7
+ const probeNative = (requireFromLib) => {
8
+ requireFromLib("onnxruntime-node");
9
+ };
10
+ let decided;
11
+ let loading;
12
+ export function ortRuntime(probe = probeNative) {
13
+ if (!decided) {
14
+ try {
15
+ probe(libRequire());
16
+ decided = { runtime: "native" };
17
+ }
18
+ catch (nativeError) {
19
+ decided = { runtime: "wasm", nativeError };
20
+ }
21
+ }
22
+ return decided.runtime;
23
+ }
24
+ export function loadTransformers() {
25
+ loading ??= load();
26
+ return loading;
27
+ }
28
+ function libRequire() {
29
+ return createRequire(createRequire(import.meta.url).resolve("@huggingface/transformers"));
30
+ }
31
+ export async function chooseModelCacheDir(current, xdgCacheHome, home, writable) {
32
+ if (typeof current !== "string" || !current.split(/[\\/]/).includes("node_modules"))
33
+ return current;
34
+ const base = xdgCacheHome && isAbsolute(xdgCacheHome) ? xdgCacheHome : home ? join(home, ".cache") : "";
35
+ if (!base)
36
+ return current;
37
+ const dir = join(base, "shm", "models") + sep;
38
+ return (await writable(dir)) ? dir : current;
39
+ }
40
+ async function writableDir(dir) {
41
+ try {
42
+ let d = dir.replace(/[\\/]+$/, "");
43
+ while (!existsSync(d)) {
44
+ if (dirname(d) === d)
45
+ return false;
46
+ d = dirname(d);
47
+ }
48
+ accessSync(d, constants.W_OK);
49
+ await ensureStateDir("the model cache", dir);
50
+ accessSync(dir, constants.W_OK);
51
+ return true;
52
+ }
53
+ catch {
54
+ return false;
55
+ }
56
+ }
57
+ async function placeModelCache(lib) {
58
+ lib.env.cacheDir = (await chooseModelCacheDir(lib.env.cacheDir, process.env.XDG_CACHE_HOME, homedir(), writableDir)) ?? null;
59
+ }
60
+ async function load() {
61
+ if (ortRuntime() === "native") {
62
+ const lib = await import("@huggingface/transformers");
63
+ await placeModelCache(lib);
64
+ return { lib, runtime: "native", modelOptions: {} };
65
+ }
66
+ const requireFromLib = libRequire();
67
+ const nativeError = decided?.nativeError;
68
+ const ORT = Symbol.for("onnxruntime");
69
+ const g = globalThis;
70
+ if (!(ORT in g)) {
71
+ const ort = requireFromLib("onnxruntime-web");
72
+ ort.env.wasm.wasmPaths = pathToFileURL(dirname(requireFromLib.resolve("onnxruntime-web")) + "/").href;
73
+ g[ORT] = ort;
74
+ const nodePath = requireFromLib.resolve("onnxruntime-node");
75
+ const Module = requireFromLib("node:module");
76
+ const m = new Module(nodePath);
77
+ m.filename = nodePath;
78
+ m.loaded = true;
79
+ m.exports = ort;
80
+ requireFromLib.cache[nodePath] = m;
81
+ }
82
+ const reason = nativeError instanceof Error ? nativeError.message.split("\n")[0] : String(nativeError);
83
+ process.emitWarning(`SHM: the native ONNX runtime cannot load on ${process.platform}/${process.arch} (${reason}); ` +
84
+ "using its WebAssembly build, which is slower and keeps its own index.", { code: "SHM_ORT_WASM" });
85
+ const lib = await import("@huggingface/transformers");
86
+ await placeModelCache(lib);
87
+ return {
88
+ lib,
89
+ runtime: "wasm",
90
+ modelOptions: { device: "auto", session_options: { executionProviders: ["wasm"] } },
91
+ };
92
+ }
93
+ //# sourceMappingURL=transformers_runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers_runtime.js","sourceRoot":"","sources":["../../src/embed/transformers_runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAYvD,MAAM,WAAW,GAAgB,CAAC,cAAc,EAAE,EAAE;IAClD,cAAc,CAAC,kBAAkB,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,IAAI,OAAqF,CAAC;AAC1F,IAAI,OAAgD,CAAC;AAErD,MAAM,UAAU,UAAU,CAAC,QAAqB,WAAW;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC;YACH,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;YACpB,OAAO,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,WAAW,EAAE,CAAC;YACrB,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC,OAAO,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,IAAI,EAAE,CAAC;IACnB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAkC,EAClC,YAAgC,EAChC,IAAY,EACZ,QAA2C;IAE3C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC;QAAE,OAAO,OAAO,CAAC;IACpG,MAAM,IAAI,GAAG,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxG,IAAI,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,GAAG,CAAC;IAC9C,OAAO,CAAC,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW;IACpC,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;YACnC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,CAAC;QACD,UAAU,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC9B,MAAM,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC7C,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAA+C;IAC5E,GAAG,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,MAAM,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/H,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,IAAI,UAAU,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;QACtD,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;QAC3B,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,cAAc,GAAG,UAAU,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,CAAC;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,CAAC,GAAG,UAAqC,CAAC;IAChD,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC;QAChB,MAAM,GAAG,GAAG,cAAc,CAAC,iBAAiB,CAA+C,CAAC;QAC5F,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC;QACtG,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACb,MAAM,QAAQ,GAAG,cAAc,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAsC,CAAC;QAClF,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACtB,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC;QAChB,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACvG,OAAO,CAAC,WAAW,CACjB,+CAA+C,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,KAAK;QAC7F,uEAAuE,EACzE,EAAE,IAAI,EAAE,cAAc,EAAE,CACzB,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACtD,MAAM,eAAe,CAAC,GAAG,CAAC,CAAC;IAC3B,OAAO;QACL,GAAG;QACH,OAAO,EAAE,MAAM;QACf,YAAY,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,kBAAkB,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;KACpF,CAAC;AACJ,CAAC"}
@@ -6,6 +6,8 @@ import type { SessionAdmission } from "./sessions.js";
6
6
  import { type HostEventName } from "./event.js";
7
7
  import { type HostHookReply } from "./reply.js";
8
8
  export declare const DEFAULT_HOST_TURN_ITEMS = 2;
9
+ export declare const DEFAULT_HOST_MAX_BYTES = 4096;
10
+ export declare const MIN_HOST_HEAD_BYTES = 256;
9
11
  export declare const DEFAULT_HOST_ACTION_ITEMS = 2;
10
12
  export declare const DEFAULT_HOST_OVERFETCH = 15;
11
13
  export declare const DEFAULT_HOST_WINDOWS = 4;
@@ -15,11 +17,13 @@ export interface HostHookAdapterOptions {
15
17
  readonly assemble: (cue: string, budget: InjectionBudget, scope: Scope | undefined) => Promise<InjectionResult>;
16
18
  readonly turn?: {
17
19
  readonly maxItems?: number;
20
+ readonly maxBytes?: number;
18
21
  readonly scope?: Scope;
19
22
  readonly enabled?: boolean;
20
23
  };
21
24
  readonly action?: {
22
25
  readonly maxItems?: number;
26
+ readonly maxBytes?: number;
23
27
  readonly scope?: Scope;
24
28
  readonly enabled?: boolean;
25
29
  readonly cue?: ActionCueOptions;
@@ -40,7 +44,7 @@ export interface HostTurnRecord {
40
44
  readonly channel: HostChannel;
41
45
  readonly eventName: HostEventName;
42
46
  readonly outcome: HostTurnOutcome;
43
- readonly reason?: "no-session-binding" | "foreign-session" | "empty-cue" | "disabled" | "no-scope" | "none-cleared" | "all-shown" | "fence-empty" | "fault";
47
+ readonly reason?: "no-session-binding" | "foreign-session" | "empty-cue" | "disabled" | "no-scope" | "none-cleared" | "all-shown" | "fence-empty" | "over-budget" | "fault";
44
48
  readonly cue: string;
45
49
  readonly scope?: string;
46
50
  readonly cleared: number;
@@ -54,6 +58,11 @@ export interface HostTurnRecord {
54
58
  readonly windowKnown: boolean;
55
59
  readonly shownIds: readonly string[];
56
60
  readonly neutralized: boolean;
61
+ readonly injectedBytes: number;
62
+ readonly shownBytes: readonly number[];
63
+ readonly cut: number;
64
+ readonly deferred: number;
65
+ readonly maxBytes: number | null;
57
66
  readonly elapsedMs: number;
58
67
  }
59
68
  export declare class HostHookAdapter {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/host/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/host/adapter.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,23 @@ import { TranscriptCompactionCounter } from "./compaction.js";
6
6
  import { parseHostEvent } from "./event.js";
7
7
  import { hostReply } from "./reply.js";
8
8
  export const DEFAULT_HOST_TURN_ITEMS = 2;
9
+ export const DEFAULT_HOST_MAX_BYTES = 4096;
10
+ export const MIN_HOST_HEAD_BYTES = 256;
9
11
  export const DEFAULT_HOST_ACTION_ITEMS = 2;
10
12
  export const DEFAULT_HOST_OVERFETCH = 15;
11
13
  export const DEFAULT_HOST_WINDOWS = 4;
12
14
  const RENDERABLE_ID = /^[^<>=\s]+$/;
13
15
  const posIntElse = (v, dflt) => Number.isInteger(v) && v > 0 ? v : dflt;
16
+ const byteCap = (v) => v === Number.POSITIVE_INFINITY ? null : posIntElse(v, DEFAULT_HOST_MAX_BYTES);
17
+ function utf8Head(text, n) {
18
+ const buf = Buffer.from(text, "utf8");
19
+ if (buf.length <= n)
20
+ return text;
21
+ let end = Math.max(0, n);
22
+ while (end > 0 && (buf[end] & 0xc0) === 0x80)
23
+ end -= 1;
24
+ return buf.subarray(0, end).toString("utf8");
25
+ }
14
26
  export class HostHookAdapter {
15
27
  opts;
16
28
  windows = new Map();
@@ -41,6 +53,7 @@ export class HostHookAdapter {
41
53
  cue: "",
42
54
  cleared: 0, ranked: [], novel: 0, shown: 0, suppressed: 0, unrenderable: 0, belowFloor: 0,
43
55
  windowKnown: false, shownIds: [], neutralized: false,
56
+ injectedBytes: 0, shownBytes: [], cut: 0, deferred: 0, maxBytes: null,
44
57
  };
45
58
  const observe = (r) => {
46
59
  try {
@@ -115,30 +128,86 @@ export class HostHookAdapter {
115
128
  return undefined;
116
129
  }
117
130
  const byId = new Map(renderable.map((m) => [m.cellId, m]));
118
- const bodies = taken.flatMap((c) => {
119
- const m = byId.get(c.cellId);
120
- return m === undefined ? [] : [{ cellId: m.cellId, plaintext: m.text, epoch: m.epoch, tier: m.tier, partial: m.partial }];
121
- });
122
- const ctx = buildInjectionContext(bodies);
123
- if (ctx.prompt === "") {
131
+ const maxBytes = byteCap(cfg?.maxBytes);
132
+ const render = (list, head) => {
133
+ let cut = 0;
134
+ const bodies = list.flatMap((c) => {
135
+ const m = byId.get(c.cellId);
136
+ if (m === undefined)
137
+ return [];
138
+ const whole = Buffer.byteLength(m.text, "utf8");
139
+ let text = m.text;
140
+ if (head !== undefined && whole > head) {
141
+ cut += 1;
142
+ text = `${utf8Head(m.text, head)}\n[… cut by SHM to fit this turn: ${whole} bytes in all; recall cell ${m.cellId} for the whole memory]`;
143
+ }
144
+ return [{ cellId: m.cellId, plaintext: text, epoch: m.epoch, tier: m.tier, partial: m.partial || text !== m.text }];
145
+ });
146
+ const ctx = buildInjectionContext(bodies);
147
+ const audit = (channel === "action"
148
+ ? `⇱ SHM standing guidance before this action: ${list.length}${scope !== undefined ? ` [${scope.name}]` : ""}`
149
+ : `⇱ SHM surfaced ${list.length} unasked`) +
150
+ ` (${renderable.length} cleared the relevance floor ${raw.relevanceFloor ?? "off"},` +
151
+ ` ${decision.suppressed.length} already in context${windowId === undefined ? ", window UNKNOWN" : ""})` +
152
+ `${cut > 0 ? ` ✂ ${cut} cut to fit ${maxBytes} bytes` : ""}` +
153
+ `${ctx.neutralized ? " ⚠ a body tried to forge a delimiter" : ""}` +
154
+ `${raw.injected.length > renderable.length ? ` ⚠ ${raw.injected.length - renderable.length} dropped for an unrenderable id` : ""}`;
155
+ const additionalContext = ctx.prompt === "" ? "" : `${audit}\n${ctx.prompt}`;
156
+ return { ctx, additionalContext, bytes: Buffer.byteLength(additionalContext, "utf8"), cut, texts: bodies.map((b) => b.plaintext) };
157
+ };
158
+ let shown = taken;
159
+ let r = render(shown, undefined);
160
+ if (maxBytes !== null) {
161
+ let tries = 0;
162
+ while (r.bytes > maxBytes) {
163
+ const fixed = render(shown, 0).bytes;
164
+ let head = Math.floor((maxBytes - fixed) / shown.length);
165
+ if (head < MIN_HOST_HEAD_BYTES) {
166
+ if (shown.length > 1) {
167
+ shown = shown.slice(0, -1);
168
+ r = render(shown, undefined);
169
+ continue;
170
+ }
171
+ observe({ ...funnel, outcome: "silent", reason: "over-budget", deferred: taken.length, maxBytes });
172
+ return undefined;
173
+ }
174
+ r = render(shown, head);
175
+ while (r.bytes > maxBytes && tries < 3) {
176
+ tries += 1;
177
+ head -= Math.ceil((r.bytes - maxBytes) / shown.length);
178
+ if (head < MIN_HOST_HEAD_BYTES)
179
+ break;
180
+ r = render(shown, head);
181
+ }
182
+ if (r.bytes > maxBytes) {
183
+ if (shown.length > 1) {
184
+ shown = shown.slice(0, -1);
185
+ r = render(shown, undefined);
186
+ tries = 0;
187
+ continue;
188
+ }
189
+ observe({ ...funnel, outcome: "silent", reason: "over-budget", deferred: taken.length, maxBytes });
190
+ return undefined;
191
+ }
192
+ }
193
+ }
194
+ if (r.ctx.prompt === "") {
124
195
  observe({ ...funnel, outcome: "silent", reason: "fence-empty" });
125
196
  return undefined;
126
197
  }
127
198
  if (windowId !== undefined) {
128
- const recorded = selectNovel(taken, history);
199
+ const recorded = selectNovel(shown, history);
129
200
  if (recorded.next !== undefined)
130
201
  this.remember(windowId, recorded.next);
131
202
  }
132
- const shownIds = taken.map((c) => c.cellId);
133
- const audit = (channel === "action"
134
- ? `⇱ SHM standing guidance before this action: ${taken.length}${scope !== undefined ? ` [${scope.name}]` : ""}`
135
- : `⇱ SHM surfaced ${taken.length} unasked`) +
136
- ` (${renderable.length} cleared the relevance floor ${raw.relevanceFloor ?? "off"},` +
137
- ` ${decision.suppressed.length} already in context${windowId === undefined ? ", window UNKNOWN" : ""})` +
138
- `${ctx.neutralized ? " ⚠ a body tried to forge a delimiter" : ""}` +
139
- `${raw.injected.length > renderable.length ? ` ⚠ ${raw.injected.length - renderable.length} dropped for an unrenderable id` : ""}`;
140
- observe({ ...funnel, outcome: "fired", shown: taken.length, shownIds, neutralized: ctx.neutralized });
141
- return hostReply(event.eventName, `${audit}\n${ctx.prompt}`);
203
+ const shownIds = shown.map((c) => c.cellId);
204
+ observe({
205
+ ...funnel, outcome: "fired", shown: shown.length, shownIds, neutralized: r.ctx.neutralized,
206
+ injectedBytes: r.bytes,
207
+ shownBytes: r.texts.map((x) => Buffer.byteLength(x, "utf8")),
208
+ cut: r.cut, deferred: taken.length - shown.length, maxBytes,
209
+ });
210
+ return hostReply(event.eventName, r.additionalContext);
142
211
  }
143
212
  catch {
144
213
  observe({ ...base, outcome: "error", reason: "fault" });
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/host/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/host/adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cross_encoder.d.ts","sourceRoot":"","sources":["../../src/rerank/cross_encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAK5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,YAAW,QAAQ;IACnD,QAAQ,CAAC,OAAO,mCAAmC;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,KAAK,CAAyB;gBAE1B,GAAG,GAAE,kBAAuB;YAO1B,IAAI;IAUZ,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAmBtF"}
1
+ {"version":3,"file":"cross_encoder.d.ts","sourceRoot":"","sources":["../../src/rerank/cross_encoder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAM5D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,YAAW,QAAQ;IACnD,QAAQ,CAAC,OAAO,mCAAmC;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,GAAG,CAA0B;IACrC,OAAO,CAAC,KAAK,CAAyB;gBAE1B,GAAG,GAAE,kBAAuB;YAO1B,IAAI;IAUZ,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,eAAe,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAmBtF"}
@@ -1,3 +1,4 @@
1
+ import { loadTransformers } from "../embed/transformers_runtime.js";
1
2
  export class CrossEncoderReranker {
2
3
  modelId = "Xenova/ms-marco-MiniLM-L-6-v2";
3
4
  batchSize;
@@ -12,9 +13,9 @@ export class CrossEncoderReranker {
12
13
  async load() {
13
14
  if (this.tok && this.model)
14
15
  return { tokenizer: this.tok, model: this.model };
15
- const { AutoTokenizer, AutoModelForSequenceClassification } = await import("@xenova/transformers");
16
- const tokenizer = await AutoTokenizer.from_pretrained(this.modelId);
17
- const model = await AutoModelForSequenceClassification.from_pretrained(this.modelId);
16
+ const { lib, modelOptions } = await loadTransformers();
17
+ const tokenizer = await lib.AutoTokenizer.from_pretrained(this.modelId);
18
+ const model = await lib.AutoModelForSequenceClassification.from_pretrained(this.modelId, { dtype: "q8", ...modelOptions });
18
19
  this.tok = tokenizer;
19
20
  this.model = model;
20
21
  return { tokenizer: this.tok, model: this.model };
@@ -1 +1 @@
1
- {"version":3,"file":"cross_encoder.js","sourceRoot":"","sources":["../../src/rerank/cross_encoder.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,oBAAoB;IACtB,OAAO,GAAG,+BAA+B,CAAC;IAClC,SAAS,CAAS;IAC3B,GAAG,GAAqB,IAAI,CAAC;IAC7B,KAAK,GAAoB,IAAI,CAAC;IAEtC,YAAY,MAA0B,EAAE;QACtC,IAAI,CAAC,SAAS;YACZ,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAK,GAAG,CAAC,SAAoB,IAAI,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAmB,CAAC;gBACrC,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9E,MAAM,EAAE,aAAa,EAAE,kCAAkC,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACnG,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,kCAAkC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrF,IAAI,CAAC,GAAG,GAAG,SAAiC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,KAA4B,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAAsC;QAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,SAAS,CACtB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EACtB,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CACzE,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"cross_encoder.js","sourceRoot":"","sources":["../../src/rerank/cross_encoder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AASpE,MAAM,OAAO,oBAAoB;IACtB,OAAO,GAAG,+BAA+B,CAAC;IAClC,SAAS,CAAS;IAC3B,GAAG,GAAqB,IAAI,CAAC;IAC7B,KAAK,GAAoB,IAAI,CAAC;IAEtC,YAAY,MAA0B,EAAE;QACtC,IAAI,CAAC,SAAS;YACZ,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,IAAK,GAAG,CAAC,SAAoB,IAAI,CAAC;gBAC9D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAmB,CAAC;gBACrC,CAAC,CAAC,EAAE,CAAC;IACX,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9E,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,kCAAkC,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,YAAY,EAAE,CAAC,CAAC;QAC3H,IAAI,CAAC,GAAG,GAAG,SAAiC,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,KAA4B,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAa,EAAE,UAAsC;QAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACtD,MAAM,MAAM,GAAG,SAAS,CACtB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EACtB,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CACzE,CAAC;YACF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -33,6 +33,8 @@ export declare class ResidentSession {
33
33
  private readonly leases;
34
34
  private readonly draining;
35
35
  private readonly retirements;
36
+ private closing;
37
+ private closed;
36
38
  private readonly clock;
37
39
  private readonly startedAtMs;
38
40
  constructor(cfg: ResidentConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"resident.d.ts","sourceRoot":"","sources":["../../src/service/resident.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,qBAAa,eAAe;IAed,OAAO,CAAC,QAAQ,CAAC,GAAG;IAdhC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAER,GAAG,EAAE,cAAc;IAK1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,IAAI,aAAa;IAKlB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAiBrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAqB9D,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAKvC,MAAM,IAAI,cAAc;IAiBxB,IAAI,cAAc,IAAI,MAAM,CAE3B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAY5B,OAAO,CAAC,OAAO;YAsCD,MAAM;CAOrB"}
1
+ {"version":3,"file":"resident.d.ts","sourceRoot":"","sources":["../../src/service/resident.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,MAAM,GAAG,MAAM,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;CAChC;AAED,qBAAa,eAAe;IAiBd,OAAO,CAAC,QAAQ,CAAC,GAAG;IAhBhC,OAAO,CAAC,IAAI,CAA4B;IACxC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,WAAW,CAA8B;IACjD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwC;IACjE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAER,GAAG,EAAE,cAAc;IAK1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAO5B,OAAO,IAAI,aAAa;IAMlB,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;IAiBrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuB9D,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;IAMvC,MAAM,IAAI,cAAc;IAiBxB,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtB,OAAO,CAAC,OAAO;YAuCD,MAAM;CAOrB"}
@@ -1,3 +1,4 @@
1
+ import { SessionClosedError } from "../retrieval/session_closed.js";
1
2
  export class ResidentSession {
2
3
  cfg;
3
4
  live;
@@ -11,6 +12,8 @@ export class ResidentSession {
11
12
  leases = new Map();
12
13
  draining = new Map();
13
14
  retirements = new Set();
15
+ closing;
16
+ closed = false;
14
17
  clock;
15
18
  startedAtMs;
16
19
  constructor(cfg) {
@@ -19,6 +22,8 @@ export class ResidentSession {
19
22
  this.startedAtMs = this.clock();
20
23
  }
21
24
  async start() {
25
+ if (this.closing !== undefined)
26
+ throw new SessionClosedError("ResidentSession.start");
22
27
  if (this.live !== undefined)
23
28
  return;
24
29
  await this.rebuild();
@@ -26,6 +31,8 @@ export class ResidentSession {
26
31
  throw new Error(`ResidentSession.start: first open failed — ${this.lastError ?? "unknown error"}`);
27
32
  }
28
33
  current() {
34
+ if (this.closed)
35
+ throw new SessionClosedError("ResidentSession");
29
36
  if (this.live === undefined)
30
37
  throw new Error("ResidentSession: not started");
31
38
  return this.live;
@@ -33,7 +40,7 @@ export class ResidentSession {
33
40
  async ensureFresh() {
34
41
  const live = this.current();
35
42
  const f = this.cfg.freshness;
36
- if (f === undefined)
43
+ if (f === undefined || this.closing !== undefined)
37
44
  return live;
38
45
  let token;
39
46
  try {
@@ -51,7 +58,11 @@ export class ResidentSession {
51
58
  return this.current();
52
59
  }
53
60
  async use(fn) {
61
+ if (this.closing !== undefined)
62
+ throw new SessionClosedError("ResidentSession.use");
54
63
  await this.ensureFresh();
64
+ if (this.closing !== undefined)
65
+ throw new SessionClosedError("ResidentSession.use");
55
66
  const session = this.current();
56
67
  this.leases.set(session, (this.leases.get(session) ?? 0) + 1);
57
68
  try {
@@ -73,6 +84,8 @@ export class ResidentSession {
73
84
  }
74
85
  }
75
86
  async refresh() {
87
+ if (this.closing !== undefined)
88
+ throw new SessionClosedError("ResidentSession.refresh");
76
89
  await this.rebuild();
77
90
  return this.current();
78
91
  }
@@ -95,22 +108,30 @@ export class ResidentSession {
95
108
  get retireFailures() {
96
109
  return this.retireErrors;
97
110
  }
98
- async close() {
99
- if (this.inflight !== undefined)
100
- await this.inflight;
101
- for (const [session, release] of [...this.draining]) {
102
- this.draining.delete(session);
103
- release();
104
- }
105
- await Promise.allSettled([...this.retirements]);
106
- const s = this.live;
107
- this.live = undefined;
108
- if (s !== undefined)
109
- await s.close();
111
+ close() {
112
+ if (this.closing !== undefined)
113
+ return this.closing;
114
+ this.closing = (async () => {
115
+ if (this.inflight !== undefined)
116
+ await this.inflight;
117
+ for (const [session, release] of [...this.draining]) {
118
+ this.draining.delete(session);
119
+ release();
120
+ }
121
+ await Promise.allSettled([...this.retirements]);
122
+ const s = this.live;
123
+ this.live = undefined;
124
+ this.closed = true;
125
+ if (s !== undefined)
126
+ await s.close();
127
+ })();
128
+ return this.closing;
110
129
  }
111
130
  rebuild() {
112
131
  if (this.inflight !== undefined)
113
132
  return this.inflight;
133
+ if (this.closing !== undefined)
134
+ return Promise.resolve();
114
135
  this.inflight = (async () => {
115
136
  let token;
116
137
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"resident.js","sourceRoot":"","sources":["../../src/service/resident.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resident.js","sourceRoot":"","sources":["../../src/service/resident.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saihm/shm",
3
- "version": "0.38.1",
3
+ "version": "0.39.0",
4
4
  "description": "Super-Human Memory for AI agents: the right memories at the right moment, ranked and encrypted on your machine. The layer that puts SAIHM memory to work.",
5
5
  "keywords": [
6
6
  "ai",
@@ -153,11 +153,11 @@
153
153
  "prepack": "npm run build"
154
154
  },
155
155
  "dependencies": {
156
- "@xenova/transformers": "^2.17.2"
156
+ "@huggingface/transformers": "^4.3.1"
157
157
  },
158
158
  "devDependencies": {
159
+ "@types/node": "^20.19.0",
159
160
  "tsx": "^4.21.0",
160
- "typescript": "^5.6.0",
161
- "@types/node": "^20.19.0"
161
+ "typescript": "^5.6.0"
162
162
  }
163
163
  }