@remnic/core 9.3.661 → 9.3.662
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/dist/access-cli.js +5 -5
- package/dist/access-http.js +6 -6
- package/dist/access-mcp.js +5 -5
- package/dist/access-service.js +4 -4
- package/dist/{chunk-5G2DNO54.js → chunk-2KDQI363.js} +2 -2
- package/dist/{chunk-EMSC4P66.js → chunk-35HP3TGR.js} +2 -2
- package/dist/{chunk-7F7LC6HW.js → chunk-4KDLCMLK.js} +3 -3
- package/dist/{chunk-RQRKQJYM.js → chunk-5AYAZN45.js} +2 -2
- package/dist/{chunk-34NSUPWS.js → chunk-6RHNCKHG.js} +5 -1
- package/dist/chunk-6RHNCKHG.js.map +1 -0
- package/dist/{chunk-D44FQVCU.js → chunk-DFAXGZKI.js} +2 -2
- package/dist/{chunk-4SYURHI6.js → chunk-HSCJYHYV.js} +6 -6
- package/dist/{chunk-MHYRRV43.js → chunk-TGOOJCGA.js} +4 -4
- package/dist/{chunk-LFZUFZQR.js → chunk-WOQIHC67.js} +2 -2
- package/dist/{chunk-BP5O3GYD.js → chunk-YYQRVNSV.js} +2 -2
- package/dist/cli.js +9 -9
- package/dist/index.js +10 -10
- package/dist/namespaces/migrate.js +4 -4
- package/dist/namespaces/search.js +3 -3
- package/dist/operator-toolkit.js +5 -5
- package/dist/orchestrator.js +4 -4
- package/dist/qmd.d.ts +33 -1
- package/dist/qmd.js +7 -1
- package/dist/search/factory.js +2 -2
- package/dist/search/index.js +2 -2
- package/package.json +3 -2
- package/scripts/build-with-heap.mjs +25 -0
- package/src/qmd.ts +6 -0
- package/dist/chunk-34NSUPWS.js.map +0 -1
- /package/dist/{chunk-5G2DNO54.js.map → chunk-2KDQI363.js.map} +0 -0
- /package/dist/{chunk-EMSC4P66.js.map → chunk-35HP3TGR.js.map} +0 -0
- /package/dist/{chunk-7F7LC6HW.js.map → chunk-4KDLCMLK.js.map} +0 -0
- /package/dist/{chunk-RQRKQJYM.js.map → chunk-5AYAZN45.js.map} +0 -0
- /package/dist/{chunk-D44FQVCU.js.map → chunk-DFAXGZKI.js.map} +0 -0
- /package/dist/{chunk-4SYURHI6.js.map → chunk-HSCJYHYV.js.map} +0 -0
- /package/dist/{chunk-MHYRRV43.js.map → chunk-TGOOJCGA.js.map} +0 -0
- /package/dist/{chunk-LFZUFZQR.js.map → chunk-WOQIHC67.js.map} +0 -0
- /package/dist/{chunk-BP5O3GYD.js.map → chunk-YYQRVNSV.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -94,7 +94,7 @@ import {
|
|
|
94
94
|
registerTrainingExportAdapter,
|
|
95
95
|
runBulkImportCliCommand,
|
|
96
96
|
runWearablesCliCommand
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-HSCJYHYV.js";
|
|
98
98
|
import "./chunk-MC4FJXPA.js";
|
|
99
99
|
import "./chunk-LQHDIS7L.js";
|
|
100
100
|
import "./chunk-7F7Z6MOS.js";
|
|
@@ -147,8 +147,8 @@ import {
|
|
|
147
147
|
parseXrayBudgetFlag,
|
|
148
148
|
parseXrayCliOptions
|
|
149
149
|
} from "./chunk-SXYCVRLK.js";
|
|
150
|
-
import "./chunk-
|
|
151
|
-
import "./chunk-
|
|
150
|
+
import "./chunk-5AYAZN45.js";
|
|
151
|
+
import "./chunk-YYQRVNSV.js";
|
|
152
152
|
import {
|
|
153
153
|
parseStrictCliDate
|
|
154
154
|
} from "./chunk-3T74IZB3.js";
|
|
@@ -192,7 +192,7 @@ import {
|
|
|
192
192
|
saveTaxonomy,
|
|
193
193
|
validateSlug,
|
|
194
194
|
validateTaxonomy
|
|
195
|
-
} from "./chunk-
|
|
195
|
+
} from "./chunk-TGOOJCGA.js";
|
|
196
196
|
import {
|
|
197
197
|
WEARABLE_SOURCE_PREFIX,
|
|
198
198
|
buildExtractionTurns,
|
|
@@ -496,7 +496,7 @@ import "./chunk-HQ6NIBL6.js";
|
|
|
496
496
|
import "./chunk-OADWQ5CR.js";
|
|
497
497
|
import {
|
|
498
498
|
EngramAccessHttpServer
|
|
499
|
-
} from "./chunk-
|
|
499
|
+
} from "./chunk-4KDLCMLK.js";
|
|
500
500
|
import "./chunk-SEDEKFYQ.js";
|
|
501
501
|
import "./chunk-RKNJBZ55.js";
|
|
502
502
|
import "./chunk-J64TK33U.js";
|
|
@@ -510,7 +510,7 @@ import {
|
|
|
510
510
|
} from "./chunk-7WV3F5DQ.js";
|
|
511
511
|
import {
|
|
512
512
|
EngramMcpServer
|
|
513
|
-
} from "./chunk-
|
|
513
|
+
} from "./chunk-2KDQI363.js";
|
|
514
514
|
import {
|
|
515
515
|
REMNIC_CHATGPT_MEMORY_INSPECTOR_CANONICAL_TOOL,
|
|
516
516
|
REMNIC_CHATGPT_MEMORY_INSPECTOR_MIME_TYPE,
|
|
@@ -531,7 +531,7 @@ import {
|
|
|
531
531
|
EngramAccessService,
|
|
532
532
|
computeProcedureStats,
|
|
533
533
|
formatProcedureStatsText
|
|
534
|
-
} from "./chunk-
|
|
534
|
+
} from "./chunk-DFAXGZKI.js";
|
|
535
535
|
import "./chunk-GDASG7NC.js";
|
|
536
536
|
import "./chunk-GDB4J2H3.js";
|
|
537
537
|
import {
|
|
@@ -566,8 +566,8 @@ import {
|
|
|
566
566
|
storagePathHash
|
|
567
567
|
} from "./chunk-FF4KLI5W.js";
|
|
568
568
|
import "./chunk-2MXEVL75.js";
|
|
569
|
-
import "./chunk-
|
|
570
|
-
import "./chunk-
|
|
569
|
+
import "./chunk-WOQIHC67.js";
|
|
570
|
+
import "./chunk-35HP3TGR.js";
|
|
571
571
|
import {
|
|
572
572
|
MeilisearchBackend
|
|
573
573
|
} from "./chunk-FZC2WSDB.js";
|
|
@@ -589,7 +589,7 @@ import "./chunk-OIF36KGD.js";
|
|
|
589
589
|
import "./chunk-7DTASS5T.js";
|
|
590
590
|
import {
|
|
591
591
|
QmdClient
|
|
592
|
-
} from "./chunk-
|
|
592
|
+
} from "./chunk-6RHNCKHG.js";
|
|
593
593
|
import "./chunk-YNQ6DFSV.js";
|
|
594
594
|
import "./chunk-BMFZLLNI.js";
|
|
595
595
|
import {
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
listNamespaces,
|
|
3
3
|
runNamespaceMigration,
|
|
4
4
|
verifyNamespaces
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-YYQRVNSV.js";
|
|
6
6
|
import "../chunk-TBLGI2LT.js";
|
|
7
|
-
import "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
import "../chunk-WOQIHC67.js";
|
|
8
|
+
import "../chunk-35HP3TGR.js";
|
|
9
9
|
import "../chunk-FZC2WSDB.js";
|
|
10
10
|
import "../chunk-CYEPCZN5.js";
|
|
11
11
|
import "../chunk-ZJH723NM.js";
|
|
@@ -19,7 +19,7 @@ import "../chunk-7OGJQP7T.js";
|
|
|
19
19
|
import "../chunk-E6ZDCOHM.js";
|
|
20
20
|
import "../chunk-OIF36KGD.js";
|
|
21
21
|
import "../chunk-7DTASS5T.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-6RHNCKHG.js";
|
|
23
23
|
import "../chunk-YNQ6DFSV.js";
|
|
24
24
|
import "../chunk-O75CRYGF.js";
|
|
25
25
|
import "../chunk-3ONXXHQO.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
NamespaceSearchRouter,
|
|
3
3
|
namespaceCollectionName
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-WOQIHC67.js";
|
|
5
|
+
import "../chunk-35HP3TGR.js";
|
|
6
6
|
import "../chunk-FZC2WSDB.js";
|
|
7
7
|
import "../chunk-CYEPCZN5.js";
|
|
8
8
|
import "../chunk-ZJH723NM.js";
|
|
@@ -16,7 +16,7 @@ import "../chunk-7OGJQP7T.js";
|
|
|
16
16
|
import "../chunk-E6ZDCOHM.js";
|
|
17
17
|
import "../chunk-OIF36KGD.js";
|
|
18
18
|
import "../chunk-7DTASS5T.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-6RHNCKHG.js";
|
|
20
20
|
import "../chunk-YNQ6DFSV.js";
|
|
21
21
|
import "../chunk-O75CRYGF.js";
|
|
22
22
|
import "../chunk-3ONXXHQO.js";
|
package/dist/operator-toolkit.js
CHANGED
|
@@ -11,8 +11,8 @@ import {
|
|
|
11
11
|
summarizeMemoryWorthLegacyCounters,
|
|
12
12
|
summarizeObservationThroughput,
|
|
13
13
|
summarizeTierDistribution
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import "./chunk-
|
|
14
|
+
} from "./chunk-5AYAZN45.js";
|
|
15
|
+
import "./chunk-YYQRVNSV.js";
|
|
16
16
|
import "./chunk-AL4RAJL5.js";
|
|
17
17
|
import "./chunk-YBPYIAA5.js";
|
|
18
18
|
import "./chunk-TBLGI2LT.js";
|
|
@@ -26,8 +26,8 @@ import "./chunk-PHK3HARR.js";
|
|
|
26
26
|
import "./chunk-NDAH7BJ5.js";
|
|
27
27
|
import "./chunk-Z5LAYHGJ.js";
|
|
28
28
|
import "./chunk-A7EF2XRO.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-WOQIHC67.js";
|
|
30
|
+
import "./chunk-35HP3TGR.js";
|
|
31
31
|
import "./chunk-FZC2WSDB.js";
|
|
32
32
|
import "./chunk-CYEPCZN5.js";
|
|
33
33
|
import "./chunk-ZJH723NM.js";
|
|
@@ -41,7 +41,7 @@ import "./chunk-7OGJQP7T.js";
|
|
|
41
41
|
import "./chunk-E6ZDCOHM.js";
|
|
42
42
|
import "./chunk-OIF36KGD.js";
|
|
43
43
|
import "./chunk-7DTASS5T.js";
|
|
44
|
-
import "./chunk-
|
|
44
|
+
import "./chunk-6RHNCKHG.js";
|
|
45
45
|
import "./chunk-YNQ6DFSV.js";
|
|
46
46
|
import "./chunk-O75CRYGF.js";
|
|
47
47
|
import "./chunk-3ONXXHQO.js";
|
package/dist/orchestrator.js
CHANGED
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
sanitizeSessionKeyForFilename,
|
|
29
29
|
shouldFilterLifecycleRecallCandidate,
|
|
30
30
|
summarizeGraphShadowComparison
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-TGOOJCGA.js";
|
|
32
32
|
import "./chunk-4SKKVWLQ.js";
|
|
33
33
|
import "./chunk-7HYPN2GC.js";
|
|
34
34
|
import "./chunk-666A3MOW.js";
|
|
@@ -146,8 +146,8 @@ import "./chunk-5RIRL3XL.js";
|
|
|
146
146
|
import "./chunk-JGSKJHF7.js";
|
|
147
147
|
import "./chunk-FF4KLI5W.js";
|
|
148
148
|
import "./chunk-2MXEVL75.js";
|
|
149
|
-
import "./chunk-
|
|
150
|
-
import "./chunk-
|
|
149
|
+
import "./chunk-WOQIHC67.js";
|
|
150
|
+
import "./chunk-35HP3TGR.js";
|
|
151
151
|
import "./chunk-FZC2WSDB.js";
|
|
152
152
|
import "./chunk-CYEPCZN5.js";
|
|
153
153
|
import "./chunk-ZJH723NM.js";
|
|
@@ -161,7 +161,7 @@ import "./chunk-7OGJQP7T.js";
|
|
|
161
161
|
import "./chunk-E6ZDCOHM.js";
|
|
162
162
|
import "./chunk-OIF36KGD.js";
|
|
163
163
|
import "./chunk-7DTASS5T.js";
|
|
164
|
-
import "./chunk-
|
|
164
|
+
import "./chunk-6RHNCKHG.js";
|
|
165
165
|
import "./chunk-YNQ6DFSV.js";
|
|
166
166
|
import "./chunk-CI7RKSRE.js";
|
|
167
167
|
import "./chunk-6HMYUWXR.js";
|
package/dist/qmd.d.ts
CHANGED
|
@@ -105,6 +105,7 @@ interface QmdDoctorReport {
|
|
|
105
105
|
error?: string;
|
|
106
106
|
}
|
|
107
107
|
declare const QMD_SUPPORTED_VERSION = "2.5.3";
|
|
108
|
+
type QmdRuntimeEnv = Record<string, string | undefined>;
|
|
108
109
|
declare function parseQmdVersion(version: string | null): QmdVersionTuple | null;
|
|
109
110
|
declare function parseQmdVersionOutput(stdout: string, stderr: string): string | null;
|
|
110
111
|
declare function compareQmdVersions(left: QmdVersionTuple | null, right: QmdVersionTuple | null): number;
|
|
@@ -128,6 +129,37 @@ declare function getQmdPostInstallProbeTargets(qmdPath: string, qmdPathSource: "
|
|
|
128
129
|
declare function buildDefaultStructuredSearches(query: string, options?: SearchQueryOptions, strategy?: QmdSearchStrategy): QmdStructuredSearch[];
|
|
129
130
|
declare function parseQmdExplain(value: unknown): QmdSearchExplain | undefined;
|
|
130
131
|
declare function getQmdCommandName(args: string[]): string;
|
|
132
|
+
declare class QmdDaemonSession {
|
|
133
|
+
private child;
|
|
134
|
+
private initialized;
|
|
135
|
+
private buffer;
|
|
136
|
+
private startPromise;
|
|
137
|
+
private pendingRequests;
|
|
138
|
+
private readonly qmdPath;
|
|
139
|
+
private readonly runtimeEnv;
|
|
140
|
+
private readonly indexName?;
|
|
141
|
+
constructor(qmdPath: string, runtimeEnv?: QmdRuntimeEnv, indexName?: string);
|
|
142
|
+
/** Spawn the qmd mcp child process and perform MCP handshake. */
|
|
143
|
+
start(): Promise<boolean>;
|
|
144
|
+
/** Call an MCP tool and return the parsed result. */
|
|
145
|
+
callTool(name: string, args: Record<string, unknown>, timeoutMs?: number, signal?: AbortSignal): Promise<unknown>;
|
|
146
|
+
/** Kill stdio process and clear state so the next probe can restart. */
|
|
147
|
+
invalidate(): void;
|
|
148
|
+
/** Kill stdio process and wait briefly for the child handle to close. */
|
|
149
|
+
close(timeoutMs?: number): Promise<void>;
|
|
150
|
+
isActive(): boolean;
|
|
151
|
+
/** True while the process is spawned but the MCP handshake has not yet completed. */
|
|
152
|
+
isLoading(): boolean;
|
|
153
|
+
private sendRequest;
|
|
154
|
+
private sendNotification;
|
|
155
|
+
private handleStdoutData;
|
|
156
|
+
private handleMessage;
|
|
157
|
+
private cleanup;
|
|
158
|
+
}
|
|
159
|
+
declare function retainSharedDaemonSession(qmdPath: string, runtimeEnv?: QmdRuntimeEnv, indexName?: string, cliVersion?: string | null): QmdDaemonSession;
|
|
160
|
+
declare function releaseSharedDaemonSession(session: QmdDaemonSession | null): Promise<void>;
|
|
161
|
+
declare const sharedDaemonSessionCountForTest: () => number;
|
|
162
|
+
|
|
131
163
|
declare class QmdClient implements SearchBackend {
|
|
132
164
|
private readonly collection;
|
|
133
165
|
private readonly maxResults;
|
|
@@ -272,4 +304,4 @@ declare class QmdClient implements SearchBackend {
|
|
|
272
304
|
ensureCollection(memoryDir: string, collectionOrExecution?: string | SearchExecutionOptions, execution?: SearchExecutionOptions): Promise<"present" | "missing" | "unknown" | "skipped">;
|
|
273
305
|
}
|
|
274
306
|
|
|
275
|
-
export { QMD_SUPPORTED_VERSION, type QmdCapabilities, type QmdChunkStrategy, QmdClient, type QmdClientOptions, type QmdDoctorReport, type QmdSearchStrategy, type QmdStructuredSearch, type QmdStructuredSearchType, type QmdSubprocessStrategy, type QmdVersionStatus, type QmdVersionTuple, buildDefaultStructuredSearches, compareQmdVersions, getQmdCommandName, getQmdPostInstallProbeTargets, parseQmdExplain, parseQmdVersion, parseQmdVersionOutput, resolveQmdCapabilities, shouldAutoUpgradeQmd, versionAtLeast };
|
|
307
|
+
export { QMD_SUPPORTED_VERSION, type QmdCapabilities, type QmdChunkStrategy, QmdClient, type QmdClientOptions, type QmdDoctorReport, type QmdSearchStrategy, type QmdStructuredSearch, type QmdStructuredSearchType, type QmdSubprocessStrategy, type QmdVersionStatus, type QmdVersionTuple, buildDefaultStructuredSearches, compareQmdVersions, getQmdCommandName, getQmdPostInstallProbeTargets, parseQmdExplain, parseQmdVersion, parseQmdVersionOutput, releaseSharedDaemonSession as releaseSharedDaemonSessionForTest, resolveQmdCapabilities, retainSharedDaemonSession as retainSharedDaemonSessionForTest, sharedDaemonSessionCountForTest, shouldAutoUpgradeQmd, versionAtLeast };
|
package/dist/qmd.js
CHANGED
|
@@ -8,10 +8,13 @@ import {
|
|
|
8
8
|
parseQmdExplain,
|
|
9
9
|
parseQmdVersion,
|
|
10
10
|
parseQmdVersionOutput,
|
|
11
|
+
releaseSharedDaemonSession,
|
|
11
12
|
resolveQmdCapabilities,
|
|
13
|
+
retainSharedDaemonSession,
|
|
14
|
+
sharedDaemonSessionCountForTest,
|
|
12
15
|
shouldAutoUpgradeQmd,
|
|
13
16
|
versionAtLeast
|
|
14
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-6RHNCKHG.js";
|
|
15
18
|
import "./chunk-YNQ6DFSV.js";
|
|
16
19
|
import "./chunk-O75CRYGF.js";
|
|
17
20
|
import "./chunk-AWJ2FHCF.js";
|
|
@@ -30,7 +33,10 @@ export {
|
|
|
30
33
|
parseQmdExplain,
|
|
31
34
|
parseQmdVersion,
|
|
32
35
|
parseQmdVersionOutput,
|
|
36
|
+
releaseSharedDaemonSession as releaseSharedDaemonSessionForTest,
|
|
33
37
|
resolveQmdCapabilities,
|
|
38
|
+
retainSharedDaemonSession as retainSharedDaemonSessionForTest,
|
|
39
|
+
sharedDaemonSessionCountForTest,
|
|
34
40
|
shouldAutoUpgradeQmd,
|
|
35
41
|
versionAtLeast
|
|
36
42
|
};
|
package/dist/search/factory.js
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createConversationIndexRuntime,
|
|
3
3
|
createConversationSearchBackend,
|
|
4
4
|
createSearchBackend
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-35HP3TGR.js";
|
|
6
6
|
import "../chunk-FZC2WSDB.js";
|
|
7
7
|
import "../chunk-CYEPCZN5.js";
|
|
8
8
|
import "../chunk-ZJH723NM.js";
|
|
@@ -15,7 +15,7 @@ import "../chunk-7OGJQP7T.js";
|
|
|
15
15
|
import "../chunk-E6ZDCOHM.js";
|
|
16
16
|
import "../chunk-OIF36KGD.js";
|
|
17
17
|
import "../chunk-7DTASS5T.js";
|
|
18
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-6RHNCKHG.js";
|
|
19
19
|
import "../chunk-YNQ6DFSV.js";
|
|
20
20
|
import "../chunk-O75CRYGF.js";
|
|
21
21
|
import "../chunk-3ONXXHQO.js";
|
package/dist/search/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
createConversationIndexRuntime,
|
|
3
3
|
createConversationSearchBackend,
|
|
4
4
|
createSearchBackend
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-35HP3TGR.js";
|
|
6
6
|
import {
|
|
7
7
|
MeilisearchBackend
|
|
8
8
|
} from "../chunk-FZC2WSDB.js";
|
|
@@ -29,7 +29,7 @@ import "../chunk-7OGJQP7T.js";
|
|
|
29
29
|
import "../chunk-E6ZDCOHM.js";
|
|
30
30
|
import "../chunk-OIF36KGD.js";
|
|
31
31
|
import "../chunk-7DTASS5T.js";
|
|
32
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-6RHNCKHG.js";
|
|
33
33
|
import "../chunk-YNQ6DFSV.js";
|
|
34
34
|
import "../chunk-O75CRYGF.js";
|
|
35
35
|
import "../chunk-3ONXXHQO.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.3.
|
|
3
|
+
"version": "9.3.662",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -2856,6 +2856,7 @@
|
|
|
2856
2856
|
"src",
|
|
2857
2857
|
"dist",
|
|
2858
2858
|
"skills",
|
|
2859
|
+
"scripts/build-with-heap.mjs",
|
|
2859
2860
|
"scripts/ensure-better-sqlite3.mjs",
|
|
2860
2861
|
"scripts/faiss_index.py",
|
|
2861
2862
|
"scripts/faiss_requirements.txt"
|
|
@@ -2905,7 +2906,7 @@
|
|
|
2905
2906
|
"core"
|
|
2906
2907
|
],
|
|
2907
2908
|
"scripts": {
|
|
2908
|
-
"build": "
|
|
2909
|
+
"build": "node ./scripts/build-with-heap.mjs",
|
|
2909
2910
|
"check-types": "tsc --noEmit",
|
|
2910
2911
|
"test": "tsx --test 'src/**/*.test.ts'",
|
|
2911
2912
|
"postinstall": "node ./scripts/ensure-better-sqlite3.mjs"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Runs tsup with deterministic heap headroom for its DTS worker.
|
|
3
|
+
// The DTS build sits near the default V8 heap cliff (see PR #1562):
|
|
4
|
+
// unrelated lockfile refreshes flipped it to ERR_WORKER_OUT_OF_MEMORY.
|
|
5
|
+
// A Node wrapper (not a NODE_OPTIONS= shell prefix) keeps the build
|
|
6
|
+
// script portable to Windows' cmd.exe script shell.
|
|
7
|
+
import { spawnSync } from "node:child_process";
|
|
8
|
+
|
|
9
|
+
const HEAP_DEFAULT = "--max-old-space-size=8192";
|
|
10
|
+
const existing = process.env.NODE_OPTIONS?.trim();
|
|
11
|
+
// Caller-supplied NODE_OPTIONS goes last so V8's last-wins parsing lets
|
|
12
|
+
// callers override the default heap limit.
|
|
13
|
+
const nodeOptions = existing ? `${HEAP_DEFAULT} ${existing}` : HEAP_DEFAULT;
|
|
14
|
+
|
|
15
|
+
const result = spawnSync("tsup", process.argv.slice(2), {
|
|
16
|
+
stdio: "inherit",
|
|
17
|
+
env: { ...process.env, NODE_OPTIONS: nodeOptions },
|
|
18
|
+
// .bin shims are .cmd files on Windows and need a shell to execute.
|
|
19
|
+
shell: process.platform === "win32",
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
if (result.error) {
|
|
23
|
+
console.error(`[build-with-heap] failed to launch tsup: ${result.error.message}`);
|
|
24
|
+
}
|
|
25
|
+
process.exit(result.status ?? 1);
|
package/src/qmd.ts
CHANGED
|
@@ -1212,6 +1212,12 @@ async function releaseSharedDaemonSession(session: QmdDaemonSession | null): Pro
|
|
|
1212
1212
|
}
|
|
1213
1213
|
}
|
|
1214
1214
|
|
|
1215
|
+
// Test-only seams (#1537): lifecycle tests assert the pool reaches zero after
|
|
1216
|
+
// every holder disposes — the property the stop()-teardown fix restores.
|
|
1217
|
+
export const sharedDaemonSessionCountForTest = (): number => SHARED_DAEMON_SESSIONS.size;
|
|
1218
|
+
export { retainSharedDaemonSession as retainSharedDaemonSessionForTest };
|
|
1219
|
+
export { releaseSharedDaemonSession as releaseSharedDaemonSessionForTest };
|
|
1220
|
+
|
|
1215
1221
|
// ---------------------------------------------------------------------------
|
|
1216
1222
|
// QmdClient
|
|
1217
1223
|
// ---------------------------------------------------------------------------
|