@saihm/shm 0.38.1 → 0.38.2
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 +1 -1
- package/README.md +4 -0
- package/dist/coordination/inbound.d.ts.map +1 -1
- package/dist/coordination/inbound.js +9 -6
- package/dist/coordination/inbound.js.map +1 -1
- package/dist/embed/local_minilm.d.ts +1 -1
- package/dist/embed/local_minilm.d.ts.map +1 -1
- package/dist/embed/local_minilm.js +7 -3
- package/dist/embed/local_minilm.js.map +1 -1
- package/dist/embed/transformers_runtime.d.ts +10 -0
- package/dist/embed/transformers_runtime.d.ts.map +1 -0
- package/dist/embed/transformers_runtime.js +57 -0
- package/dist/embed/transformers_runtime.js.map +1 -0
- package/dist/rerank/cross_encoder.d.ts.map +1 -1
- package/dist/rerank/cross_encoder.js +4 -3
- package/dist/rerank/cross_encoder.js.map +1 -1
- package/dist/service/resident.d.ts +2 -0
- package/dist/service/resident.d.ts.map +1 -1
- package/dist/service/resident.js +34 -13
- package/dist/service/resident.js.map +1 -1
- package/package.json +4 -4
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.
|
|
6
|
+
Licensed Work: SHM (Super-Human Memory) 0.38.2
|
|
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
|
@@ -63,6 +63,10 @@ You need Node.js 20.20 or later, a paid SAIHM subscription, and
|
|
|
63
63
|
0.13.0 or later. The [developer guide](#developer-guide) below takes you from install to
|
|
64
64
|
your first ranked answer.
|
|
65
65
|
|
|
66
|
+
On Linux x64, the install also downloads a GPU library of about 270 MB that SHM does not
|
|
67
|
+
use. To skip it, for example on a network that blocks the download, install with
|
|
68
|
+
`ONNXRUNTIME_NODE_INSTALL=skip npm install @saihm/shm`.
|
|
69
|
+
|
|
66
70
|
## Support SHM
|
|
67
71
|
|
|
68
72
|
If SHM is useful to you, here is how to help it reach more people:
|
|
@@ -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;
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,kBAAkB,CAAC;AAyB7D,MAAM,UAAU,GAAG,CAAC,CAAC;AAErB,MAAM,UAAU,MAAM,CAAC,GAAc;IACnC,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU,EAAE,QAA2B,EAAE,IAAY;IACjF,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,UAAU,CAClB,GAAG,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,oBAAoB,UAAU,oBAAoB;gBACnF,oDAAoD,CACvD,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IACtC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD;QACE,KAAK,CAAC,2IAA2I,CAAC,CAAC;QACnJ,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,MAAe;IAC7C,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;IAC1D,IAAI,SAAS,KAAK,KAAK;QAAE,MAAM,IAAI,YAAY,CAAC,sGAAsG,CAAC,CAAC;IACxJ,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAAC,MAAe;IAC9C,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,SAAS,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;IACtE,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;QACxB,IAAI,OAAO;YAAE,MAAM,IAAI,YAAY,CAAC,iGAAiG,CAAC,CAAC;QACvI,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7C,CAAC;IACD,IAAI,SAAS,KAAK,IAAI;QAAE,MAAM,IAAI,YAAY,CAAC,sGAAsG,CAAC,CAAC;IACvJ,IAAI,CAAC,CAAC,YAAY,CAAC,KAAK,QAAQ;QAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;IACpE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,YAAY,CAAC,mFAAmF,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,CAAC,GAAG,MAAiC,CAAC;IAC5C,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,YAAY,CAAC,4GAA4G,CAAC,CAAC;IACvI,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,MAAM,CAAC,CAA0B;IACxC,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,+CAA+C,CAAC,CAAC;IAClG,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAY,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAE,GAA+B,CAAC,CAAC,CAAC,SAAS,CAAC;QACjG,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClH,MAAM,IAAI,YAAY,CAAC,qBAAqB,CAAC,4CAA4C,CAAC,CAAC;QAC7F,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,MAAM;YACN,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3E,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,IAA0B,EAAE,OAAuB,EAAE;IACjF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,EAAU,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAE7B,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,CAAC;YAC1D,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,SAAS,IAAI,CAAC,CAAC;YACf,SAAS;QACX,CAAC;QACD,IAAI,SAAS,KAAK,SAAS,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,EAAE,iBAAiB;QACvB,QAAQ,EAAE,IAAI,CAAC,MAAM;QACrB,cAAc,EAAE,IAAI,CAAC,MAAM,GAAG,SAAS;QACvC,aAAa,EAAE,kCAAkC;KAClD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,UAAU;QAC/B,CAAC,CAAC,sBAAsB,KAAK,CAAC,IAAI,uEAAuE;QACzG,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,aAAa,UAAU,CAAC,MAAM,uBAAuB,UAAU,CAAC,MAAM,0BAA0B;YAC/G,KAAK,SAAS,OAAO,IAAI,CAAC,MAAM,mBAAmB,CAAC;IAExD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC1F,CAAC"}
|
|
@@ -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;
|
|
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
|
|
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 {
|
|
9
|
-
const extractor = await pipeline("feature-extraction",
|
|
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":"
|
|
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,10 @@
|
|
|
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
|
+
//# 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":"AAIA,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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { createRequire } from "node:module";
|
|
2
|
+
import { dirname } from "node:path";
|
|
3
|
+
import { pathToFileURL } from "node:url";
|
|
4
|
+
const probeNative = (requireFromLib) => {
|
|
5
|
+
requireFromLib("onnxruntime-node");
|
|
6
|
+
};
|
|
7
|
+
let decided;
|
|
8
|
+
let loading;
|
|
9
|
+
export function ortRuntime(probe = probeNative) {
|
|
10
|
+
if (!decided) {
|
|
11
|
+
try {
|
|
12
|
+
probe(libRequire());
|
|
13
|
+
decided = { runtime: "native" };
|
|
14
|
+
}
|
|
15
|
+
catch (nativeError) {
|
|
16
|
+
decided = { runtime: "wasm", nativeError };
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return decided.runtime;
|
|
20
|
+
}
|
|
21
|
+
export function loadTransformers() {
|
|
22
|
+
loading ??= load();
|
|
23
|
+
return loading;
|
|
24
|
+
}
|
|
25
|
+
function libRequire() {
|
|
26
|
+
return createRequire(createRequire(import.meta.url).resolve("@huggingface/transformers"));
|
|
27
|
+
}
|
|
28
|
+
async function load() {
|
|
29
|
+
if (ortRuntime() === "native") {
|
|
30
|
+
return { lib: await import("@huggingface/transformers"), runtime: "native", modelOptions: {} };
|
|
31
|
+
}
|
|
32
|
+
const requireFromLib = libRequire();
|
|
33
|
+
const nativeError = decided?.nativeError;
|
|
34
|
+
const ORT = Symbol.for("onnxruntime");
|
|
35
|
+
const g = globalThis;
|
|
36
|
+
if (!(ORT in g)) {
|
|
37
|
+
const ort = requireFromLib("onnxruntime-web");
|
|
38
|
+
ort.env.wasm.wasmPaths = pathToFileURL(dirname(requireFromLib.resolve("onnxruntime-web")) + "/").href;
|
|
39
|
+
g[ORT] = ort;
|
|
40
|
+
const nodePath = requireFromLib.resolve("onnxruntime-node");
|
|
41
|
+
const Module = requireFromLib("node:module");
|
|
42
|
+
const m = new Module(nodePath);
|
|
43
|
+
m.filename = nodePath;
|
|
44
|
+
m.loaded = true;
|
|
45
|
+
m.exports = ort;
|
|
46
|
+
requireFromLib.cache[nodePath] = m;
|
|
47
|
+
}
|
|
48
|
+
const reason = nativeError instanceof Error ? nativeError.message.split("\n")[0] : String(nativeError);
|
|
49
|
+
process.emitWarning(`SHM: the native ONNX runtime cannot load on ${process.platform}/${process.arch} (${reason}); ` +
|
|
50
|
+
"using its WebAssembly build, which is slower and keeps its own index.", { code: "SHM_ORT_WASM" });
|
|
51
|
+
return {
|
|
52
|
+
lib: await import("@huggingface/transformers"),
|
|
53
|
+
runtime: "wasm",
|
|
54
|
+
modelOptions: { device: "auto", session_options: { executionProviders: ["wasm"] } },
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=transformers_runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transformers_runtime.js","sourceRoot":"","sources":["../../src/embed/transformers_runtime.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;
|
|
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 {
|
|
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":"
|
|
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;
|
|
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"}
|
package/dist/service/resident.js
CHANGED
|
@@ -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
|
-
|
|
99
|
-
if (this.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
this.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
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":"
|
|
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.
|
|
3
|
+
"version": "0.38.2",
|
|
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
|
-
"@
|
|
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
|
}
|