@remnic/core 9.3.639 → 9.3.641
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 +26 -26
- package/dist/access-http.d.ts +5 -5
- package/dist/access-http.js +16 -16
- package/dist/access-mcp.d.ts +5 -5
- package/dist/access-mcp.js +15 -15
- package/dist/{access-service-jyYute38.d.ts → access-service-DFXIlGvZ.d.ts} +2 -2
- package/dist/access-service.d.ts +5 -5
- package/dist/access-service.js +14 -14
- package/dist/action-confidence.d.ts +2 -2
- package/dist/active-memory-bridge.d.ts +2 -2
- package/dist/active-recall.d.ts +2 -2
- package/dist/behavior-learner.d.ts +2 -2
- package/dist/behavior-signals.d.ts +2 -2
- package/dist/bootstrap.d.ts +4 -4
- package/dist/briefing.d.ts +2 -2
- package/dist/briefing.js +3 -3
- package/dist/buffer-surprise-report.d.ts +2 -2
- package/dist/buffer.d.ts +2 -2
- package/dist/bulk-import/index.d.ts +3 -3
- package/dist/bulk-import/index.js +2 -2
- package/dist/calibration.d.ts +2 -2
- package/dist/causal-behavior.d.ts +2 -2
- package/dist/causal-consolidation.d.ts +2 -2
- package/dist/causal-consolidation.js +4 -4
- package/dist/{chunk-2BHNQRE5.js → chunk-3UR4SBZF.js} +314 -77
- package/dist/chunk-3UR4SBZF.js.map +1 -0
- package/dist/{chunk-RJGPH2Q3.js → chunk-4HYLRROV.js} +2 -2
- package/dist/{chunk-3AZDLWDW.js → chunk-4HYWWO3W.js} +3 -3
- package/dist/{chunk-ISMZIMD3.js → chunk-4MNDVDBS.js} +2 -2
- package/dist/{chunk-4VTVCWVB.js → chunk-5IDVOWBE.js} +4 -4
- package/dist/{chunk-BB6FNMMB.js → chunk-6DDBW2V4.js} +5 -5
- package/dist/{chunk-EDQVAMQI.js → chunk-6GIKAUTN.js} +2 -2
- package/dist/{chunk-4HFJQCJZ.js → chunk-7HYPN2GC.js} +2 -2
- package/dist/{chunk-Q6YIJGXJ.js → chunk-7OGJQP7T.js} +2 -2
- package/dist/{chunk-RW5DGAGO.js → chunk-7V36WCUW.js} +2 -2
- package/dist/{chunk-LUDUFZTV.js → chunk-ABP6QMVM.js} +2 -2
- package/dist/chunk-ABP6QMVM.js.map +1 -0
- package/dist/{chunk-FGRV3X3Y.js → chunk-ACNU2UBF.js} +18 -18
- package/dist/{chunk-52XI77OQ.js → chunk-AK4DSORQ.js} +9 -9
- package/dist/{chunk-CMZLMIZI.js → chunk-BEMWL2FZ.js} +2 -2
- package/dist/{chunk-3F7RMHC4.js → chunk-C43KEWEV.js} +1 -1
- package/dist/{chunk-3F7RMHC4.js.map → chunk-C43KEWEV.js.map} +1 -1
- package/dist/{chunk-H2NCNXMS.js → chunk-CKITWVWJ.js} +2 -2
- package/dist/{chunk-AFH2JXSF.js → chunk-DM4US77W.js} +3 -3
- package/dist/{chunk-ORFGK3XI.js → chunk-E6ZDCOHM.js} +2 -2
- package/dist/{chunk-SBHQBC37.js → chunk-ECMMM2VE.js} +2 -2
- package/dist/{chunk-TKWGAOLV.js → chunk-EEC4PCG5.js} +2 -2
- package/dist/{chunk-BTY5XQG3.js → chunk-EGBH5IPJ.js} +4 -4
- package/dist/{chunk-YR6GIWWY.js → chunk-GQL52GQ5.js} +2 -2
- package/dist/{chunk-SHHT4JTC.js → chunk-GYITUZFT.js} +2 -2
- package/dist/{chunk-77NAFXUD.js → chunk-H3HDXD3U.js} +2 -2
- package/dist/{chunk-LASA46TQ.js → chunk-HRXCPKN4.js} +2 -2
- package/dist/{chunk-EKIQBGAY.js → chunk-IENGGY2C.js} +2 -2
- package/dist/{chunk-RAGXUVQW.js → chunk-KVUG7FF7.js} +4 -4
- package/dist/{chunk-DEDTFRH2.js → chunk-MUKXANAM.js} +14 -3
- package/dist/chunk-MUKXANAM.js.map +1 -0
- package/dist/{chunk-UU5LHD6J.js → chunk-NLPH23IQ.js} +2 -2
- package/dist/{chunk-A3UPMOJZ.js → chunk-NV2MGIW7.js} +2 -2
- package/dist/chunk-O75CRYGF.js +15 -0
- package/dist/chunk-O75CRYGF.js.map +1 -0
- package/dist/{chunk-PU44GBL4.js → chunk-OUELRE5E.js} +1 -1
- package/dist/chunk-OUELRE5E.js.map +1 -0
- package/dist/{chunk-J2KFC47S.js → chunk-RFSCIBCB.js} +2 -2
- package/dist/{chunk-IXSTQGYV.js → chunk-RREI7CNM.js} +2 -2
- package/dist/{chunk-C6XO6ONP.js → chunk-SZL2GGFY.js} +2 -2
- package/dist/{chunk-7XRSLMUD.js → chunk-THWT7RJU.js} +2 -2
- package/dist/{chunk-H4RWKZE2.js → chunk-TKNTAUA3.js} +2 -2
- package/dist/{chunk-7OH7KPF5.js → chunk-TTOYT5RB.js} +2 -2
- package/dist/{chunk-UI2UP7XX.js → chunk-U3GQ33JC.js} +36 -7
- package/dist/chunk-U3GQ33JC.js.map +1 -0
- package/dist/{chunk-C3EJ3UIS.js → chunk-WLGE6KEO.js} +3 -3
- package/dist/{chunk-7R37SOT4.js → chunk-Y2XKJJEI.js} +2 -2
- package/dist/{cli-A4AIhv9e.d.ts → cli-DrL2Nv4j.d.ts} +5 -5
- package/dist/cli.d.ts +7 -7
- package/dist/cli.js +30 -30
- package/dist/compat/checks.js +2 -2
- package/dist/compounding/engine.d.ts +2 -2
- package/dist/compounding/engine.js +3 -3
- package/dist/compounding/preference-consolidator.d.ts +2 -2
- package/dist/compression-optimizer.d.ts +2 -2
- package/dist/config.d.ts +2 -2
- package/dist/connectors/codex-materialize-runner.d.ts +2 -2
- package/dist/connectors/codex-materialize-runner.js +3 -3
- package/dist/connectors/codex-materialize.d.ts +2 -2
- package/dist/connectors/index.d.ts +2 -2
- package/dist/connectors/index.js +5 -5
- package/dist/consolidation-provenance-check.d.ts +2 -2
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +2 -2
- package/dist/conversation-index/backend.d.ts +2 -2
- package/dist/conversation-index/backend.js +3 -3
- package/dist/conversation-index/chunker.d.ts +2 -2
- package/dist/conversation-index/faiss-adapter.d.ts +2 -2
- package/dist/conversation-index/faiss-adapter.js +2 -2
- package/dist/conversation-index/indexer.d.ts +2 -2
- package/dist/conversation-index/search.d.ts +2 -2
- package/dist/day-summary.d.ts +2 -2
- package/dist/delinearize.d.ts +2 -2
- package/dist/direct-answer-wiring.d.ts +2 -2
- package/dist/direct-answer.d.ts +2 -2
- package/dist/embedding-fallback.d.ts +2 -2
- package/dist/enrichment/index.d.ts +2 -2
- package/dist/entity-retrieval.d.ts +2 -2
- package/dist/entity-retrieval.js +3 -3
- package/dist/entity-schema.d.ts +2 -2
- package/dist/explicit-capture.d.ts +4 -4
- package/dist/extraction-judge-telemetry.d.ts +2 -2
- package/dist/extraction-judge-training.d.ts +2 -2
- package/dist/extraction-judge.d.ts +2 -2
- package/dist/extraction.d.ts +2 -2
- package/dist/extraction.js +3 -3
- package/dist/fallback-llm.d.ts +2 -2
- package/dist/identity-continuity.d.ts +2 -2
- package/dist/importance.d.ts +2 -2
- package/dist/importers/index.d.ts +2 -2
- package/dist/importers/index.js +2 -2
- package/dist/index.d.ts +10 -10
- package/dist/index.js +41 -41
- package/dist/intent.d.ts +2 -2
- package/dist/lcm/engine.d.ts +2 -2
- package/dist/lcm/index.d.ts +2 -2
- package/dist/lcm/tools.d.ts +2 -2
- package/dist/lifecycle.d.ts +2 -2
- package/dist/live-connectors-runner.d.ts +2 -2
- package/dist/local-llm.d.ts +2 -2
- package/dist/local-llm.js +2 -2
- package/dist/maintenance/memory-governance.d.ts +2 -2
- package/dist/maintenance/memory-governance.js +3 -3
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
- package/dist/maintenance/rebuild-memory-projection.js +4 -4
- package/dist/mcp-memory-inspector-app.d.ts +5 -5
- package/dist/memory-action-policy.d.ts +2 -2
- package/dist/memory-cache.d.ts +2 -2
- package/dist/memory-lifecycle-ledger-utils.d.ts +2 -2
- package/dist/memory-projection-store.d.ts +2 -2
- package/dist/memory-provenance.d.ts +2 -2
- package/dist/memory-worth-outcomes.d.ts +2 -2
- package/dist/migrate/from-engram.js +2 -2
- package/dist/models-json.d.ts +2 -2
- package/dist/namespaces/migrate.d.ts +2 -2
- package/dist/namespaces/migrate.js +10 -10
- package/dist/namespaces/principal.d.ts +2 -2
- package/dist/namespaces/search.d.ts +2 -2
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +2 -2
- package/dist/namespaces/storage.js +3 -3
- package/dist/native-knowledge.d.ts +2 -2
- package/dist/network/tailscale.js +2 -2
- package/dist/operator-toolkit.d.ts +2 -2
- package/dist/operator-toolkit.js +12 -12
- package/dist/{orchestrator-BEDTiuEO.d.ts → orchestrator-DEQW9j0Z.d.ts} +22 -5
- package/dist/orchestrator.d.ts +4 -4
- package/dist/orchestrator.js +25 -23
- package/dist/patterns-cli.d.ts +2 -2
- package/dist/{pipeline-D18UAKlN.d.ts → pipeline-BSTuml0d.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +2 -2
- package/dist/qmd-recall-cache.d.ts +2 -2
- package/dist/qmd.d.ts +5 -2
- package/dist/qmd.js +2 -2
- package/dist/recall-disclosure-escalation.d.ts +2 -2
- package/dist/recall-explain-renderer.d.ts +2 -2
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-planner-llm.d.ts +2 -2
- package/dist/recall-state.d.ts +2 -2
- package/dist/recall-tag-filter.d.ts +2 -2
- package/dist/recall-xray-cli.d.ts +2 -2
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +2 -2
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +2 -2
- package/dist/recall-xray.js +2 -2
- package/dist/resolve-auth-token.d.ts +2 -2
- package/dist/retrieval-agents.d.ts +2 -2
- package/dist/retrieval-tiers.d.ts +2 -2
- package/dist/routing/engine.d.ts +2 -2
- package/dist/routing/store.d.ts +2 -2
- package/dist/runtime/child-process.js +1 -1
- package/dist/schemas.d.ts +22 -22
- package/dist/search/embed-helper.d.ts +2 -2
- package/dist/search/factory.d.ts +2 -2
- package/dist/search/factory.js +5 -5
- package/dist/search/index.d.ts +2 -2
- package/dist/search/index.js +5 -5
- package/dist/search/lancedb-backend.d.ts +2 -2
- package/dist/search/meilisearch-backend.d.ts +2 -2
- package/dist/search/noop-backend.d.ts +2 -2
- package/dist/search/orama-backend.d.ts +2 -2
- package/dist/search/port.d.ts +2 -2
- package/dist/search/remote-backend.d.ts +2 -2
- package/dist/{semantic-consolidation-Byut1ufK.d.ts → semantic-consolidation-DKdYzQOg.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +3 -3
- package/dist/semantic-consolidation.js +4 -4
- package/dist/semantic-rule-promotion.js +3 -3
- package/dist/semantic-rule-verifier.d.ts +2 -2
- package/dist/semantic-rule-verifier.js +3 -3
- package/dist/session-observer-bands.d.ts +2 -2
- package/dist/session-observer-state.d.ts +2 -2
- package/dist/shared-context/manager.d.ts +2 -2
- package/dist/signal.d.ts +2 -2
- package/dist/storage.d.ts +2 -2
- package/dist/storage.js +2 -2
- package/dist/summarizer.d.ts +2 -2
- package/dist/summarizer.js +3 -3
- package/dist/summary-snapshot.d.ts +2 -2
- package/dist/temporal-supersession.d.ts +2 -2
- package/dist/temporal-validity.d.ts +2 -2
- package/dist/threading.d.ts +2 -2
- package/dist/tier-migration.d.ts +2 -2
- package/dist/tier-routing.d.ts +2 -2
- package/dist/topics.d.ts +2 -2
- package/dist/transcript.d.ts +2 -2
- package/dist/transfer/types.d.ts +12 -12
- package/dist/{types-BliCnURB.d.ts → types-ByK7T3L6.d.ts} +2 -0
- package/dist/{types-BzA1FKbg.d.ts → types-D8yUmSik.d.ts} +2 -1
- package/dist/types.d.ts +2 -2
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +2 -2
- package/dist/verified-recall.js +3 -3
- package/package.json +3 -1
- package/src/bulk-import/types.ts +2 -0
- package/src/extraction-timeout.test.ts +6 -1
- package/src/extraction.ts +34 -5
- package/src/importers/base.ts +1 -1
- package/src/orchestrator-flush.test.ts +640 -42
- package/src/orchestrator.ts +389 -70
- package/src/qmd.test.ts +35 -0
- package/src/qmd.ts +16 -1
- package/src/runtime/child-process.test.ts +15 -0
- package/src/runtime/child-process.ts +9 -22
- package/src/types.ts +1 -0
- package/dist/chunk-2BHNQRE5.js.map +0 -1
- package/dist/chunk-DEDTFRH2.js.map +0 -1
- package/dist/chunk-LUDUFZTV.js.map +0 -1
- package/dist/chunk-NNVTUXEB.js +0 -23
- package/dist/chunk-NNVTUXEB.js.map +0 -1
- package/dist/chunk-PU44GBL4.js.map +0 -1
- package/dist/chunk-UI2UP7XX.js.map +0 -1
- /package/dist/{chunk-RJGPH2Q3.js.map → chunk-4HYLRROV.js.map} +0 -0
- /package/dist/{chunk-3AZDLWDW.js.map → chunk-4HYWWO3W.js.map} +0 -0
- /package/dist/{chunk-ISMZIMD3.js.map → chunk-4MNDVDBS.js.map} +0 -0
- /package/dist/{chunk-4VTVCWVB.js.map → chunk-5IDVOWBE.js.map} +0 -0
- /package/dist/{chunk-BB6FNMMB.js.map → chunk-6DDBW2V4.js.map} +0 -0
- /package/dist/{chunk-EDQVAMQI.js.map → chunk-6GIKAUTN.js.map} +0 -0
- /package/dist/{chunk-4HFJQCJZ.js.map → chunk-7HYPN2GC.js.map} +0 -0
- /package/dist/{chunk-Q6YIJGXJ.js.map → chunk-7OGJQP7T.js.map} +0 -0
- /package/dist/{chunk-RW5DGAGO.js.map → chunk-7V36WCUW.js.map} +0 -0
- /package/dist/{chunk-FGRV3X3Y.js.map → chunk-ACNU2UBF.js.map} +0 -0
- /package/dist/{chunk-52XI77OQ.js.map → chunk-AK4DSORQ.js.map} +0 -0
- /package/dist/{chunk-CMZLMIZI.js.map → chunk-BEMWL2FZ.js.map} +0 -0
- /package/dist/{chunk-H2NCNXMS.js.map → chunk-CKITWVWJ.js.map} +0 -0
- /package/dist/{chunk-AFH2JXSF.js.map → chunk-DM4US77W.js.map} +0 -0
- /package/dist/{chunk-ORFGK3XI.js.map → chunk-E6ZDCOHM.js.map} +0 -0
- /package/dist/{chunk-SBHQBC37.js.map → chunk-ECMMM2VE.js.map} +0 -0
- /package/dist/{chunk-TKWGAOLV.js.map → chunk-EEC4PCG5.js.map} +0 -0
- /package/dist/{chunk-BTY5XQG3.js.map → chunk-EGBH5IPJ.js.map} +0 -0
- /package/dist/{chunk-YR6GIWWY.js.map → chunk-GQL52GQ5.js.map} +0 -0
- /package/dist/{chunk-SHHT4JTC.js.map → chunk-GYITUZFT.js.map} +0 -0
- /package/dist/{chunk-77NAFXUD.js.map → chunk-H3HDXD3U.js.map} +0 -0
- /package/dist/{chunk-LASA46TQ.js.map → chunk-HRXCPKN4.js.map} +0 -0
- /package/dist/{chunk-EKIQBGAY.js.map → chunk-IENGGY2C.js.map} +0 -0
- /package/dist/{chunk-RAGXUVQW.js.map → chunk-KVUG7FF7.js.map} +0 -0
- /package/dist/{chunk-UU5LHD6J.js.map → chunk-NLPH23IQ.js.map} +0 -0
- /package/dist/{chunk-A3UPMOJZ.js.map → chunk-NV2MGIW7.js.map} +0 -0
- /package/dist/{chunk-J2KFC47S.js.map → chunk-RFSCIBCB.js.map} +0 -0
- /package/dist/{chunk-IXSTQGYV.js.map → chunk-RREI7CNM.js.map} +0 -0
- /package/dist/{chunk-C6XO6ONP.js.map → chunk-SZL2GGFY.js.map} +0 -0
- /package/dist/{chunk-7XRSLMUD.js.map → chunk-THWT7RJU.js.map} +0 -0
- /package/dist/{chunk-H4RWKZE2.js.map → chunk-TKNTAUA3.js.map} +0 -0
- /package/dist/{chunk-7OH7KPF5.js.map → chunk-TTOYT5RB.js.map} +0 -0
- /package/dist/{chunk-C3EJ3UIS.js.map → chunk-WLGE6KEO.js.map} +0 -0
- /package/dist/{chunk-7R37SOT4.js.map → chunk-Y2XKJJEI.js.map} +0 -0
package/src/qmd.ts
CHANGED
|
@@ -42,6 +42,8 @@ export interface QmdClientOptions {
|
|
|
42
42
|
qmdSearchStrategy?: QmdSearchStrategy;
|
|
43
43
|
/** Subprocess fallback command; default "query" keeps LLM expansion. Issue #1335. */
|
|
44
44
|
qmdSubprocessStrategy?: QmdSubprocessStrategy;
|
|
45
|
+
/** Override automatic qmd fallback probes; defaults to known install paths. */
|
|
46
|
+
qmdFallbackPaths?: string[];
|
|
45
47
|
/** Per-call daemon search timeout in ms; default 8000. Issue #1335. */
|
|
46
48
|
qmdDaemonTimeoutMs?: number;
|
|
47
49
|
}
|
|
@@ -1248,6 +1250,7 @@ export class QmdClient implements SearchBackend {
|
|
|
1248
1250
|
private readonly qmdIndexName?: string;
|
|
1249
1251
|
private readonly qmdSearchStrategy: QmdSearchStrategy;
|
|
1250
1252
|
private readonly qmdSubprocessStrategy: QmdSubprocessStrategy;
|
|
1253
|
+
private readonly qmdFallbackPaths: string[];
|
|
1251
1254
|
private readonly daemonTimeoutMs: number;
|
|
1252
1255
|
private readonly qmdRuntimeEnv: QmdRuntimeEnv;
|
|
1253
1256
|
private qmdPathSource: "auto-path" | "auto-fallback" | "configured" = "auto-path";
|
|
@@ -1303,6 +1306,9 @@ export class QmdClient implements SearchBackend {
|
|
|
1303
1306
|
: "hybrid";
|
|
1304
1307
|
// Default "query" keeps `qmd query` (LLM expansion + rerank) per gotcha #7. Issue #1335.
|
|
1305
1308
|
this.qmdSubprocessStrategy = opts?.qmdSubprocessStrategy === "search" ? "search" : "query";
|
|
1309
|
+
this.qmdFallbackPaths = opts?.qmdFallbackPaths
|
|
1310
|
+
? opts.qmdFallbackPaths.map((candidate) => candidate.trim()).filter(Boolean)
|
|
1311
|
+
: QMD_FALLBACK_PATHS;
|
|
1306
1312
|
// Default 8000ms preserves the historical hardcoded daemon timeout. Issue #1335.
|
|
1307
1313
|
// Floor of 1000ms avoids absurdly small values; callers wanting CPU-only HyDE
|
|
1308
1314
|
// headroom can raise this (e.g. 20000) without code changes.
|
|
@@ -1404,9 +1410,16 @@ export class QmdClient implements SearchBackend {
|
|
|
1404
1410
|
}
|
|
1405
1411
|
|
|
1406
1412
|
private async probeCli(): Promise<boolean> {
|
|
1413
|
+
let configuredProbeFailure: string | null = null;
|
|
1407
1414
|
const markProbeFailure = (err: unknown): void => {
|
|
1408
1415
|
this.lastCliProbeError = err instanceof Error ? err.message : String(err);
|
|
1409
1416
|
};
|
|
1417
|
+
const restoreConfiguredProbeFailure = (): void => {
|
|
1418
|
+
if (!this.configuredQmdPath || !configuredProbeFailure) return;
|
|
1419
|
+
this.qmdPath = this.configuredQmdPath;
|
|
1420
|
+
this.qmdPathSource = "configured";
|
|
1421
|
+
this.lastCliProbeError = configuredProbeFailure;
|
|
1422
|
+
};
|
|
1410
1423
|
const recordProbeSuccess = async (
|
|
1411
1424
|
result: { stdout: string; stderr: string },
|
|
1412
1425
|
qmdPath: string,
|
|
@@ -1428,6 +1441,7 @@ export class QmdClient implements SearchBackend {
|
|
|
1428
1441
|
return true;
|
|
1429
1442
|
} catch (err) {
|
|
1430
1443
|
markProbeFailure(err);
|
|
1444
|
+
configuredProbeFailure = this.lastCliProbeError;
|
|
1431
1445
|
// Do not hard-fail here: fall through to PATH/fallback probing.
|
|
1432
1446
|
// This keeps recall healthy even when configured path is stale.
|
|
1433
1447
|
this.logCliProbeWarning(
|
|
@@ -1444,7 +1458,7 @@ export class QmdClient implements SearchBackend {
|
|
|
1444
1458
|
} catch (err) {
|
|
1445
1459
|
markProbeFailure(err);
|
|
1446
1460
|
// Try fallback paths
|
|
1447
|
-
for (const fallbackPath of
|
|
1461
|
+
for (const fallbackPath of this.qmdFallbackPaths) {
|
|
1448
1462
|
try {
|
|
1449
1463
|
const result = await runQmd(["--version"], QMD_PROBE_TIMEOUT_MS, fallbackPath, undefined, this.qmdRuntimeEnv);
|
|
1450
1464
|
await recordProbeSuccess(result, fallbackPath, "auto-fallback");
|
|
@@ -1456,6 +1470,7 @@ export class QmdClient implements SearchBackend {
|
|
|
1456
1470
|
}
|
|
1457
1471
|
}
|
|
1458
1472
|
this.available = false;
|
|
1473
|
+
restoreConfiguredProbeFailure();
|
|
1459
1474
|
return false;
|
|
1460
1475
|
}
|
|
1461
1476
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import test from "node:test";
|
|
3
|
+
|
|
4
|
+
import { launchProcessSync } from "./child-process.js";
|
|
5
|
+
|
|
6
|
+
test("launchProcessSync executes commands through the shared process wrapper", () => {
|
|
7
|
+
const result = launchProcessSync(
|
|
8
|
+
process.execPath,
|
|
9
|
+
["-e", "process.stdout.write('ok')"],
|
|
10
|
+
{ encoding: "utf8" },
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
assert.equal(result.status, 0);
|
|
14
|
+
assert.equal(result.stdout, "ok");
|
|
15
|
+
});
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import
|
|
1
|
+
import crossSpawn from "cross-spawn";
|
|
2
2
|
|
|
3
|
-
const require = createRequire(import.meta.url);
|
|
4
|
-
const PROCESS_MODULE_NAME = `node:${"child"}_${"process"}`;
|
|
5
|
-
|
|
6
|
-
type ProcessModule = Record<string, unknown>;
|
|
7
3
|
type ProcessOptions = Record<string, unknown>;
|
|
8
4
|
type ProcessStream = {
|
|
9
5
|
destroyed?: boolean;
|
|
@@ -22,9 +18,12 @@ type ProcessResult = {
|
|
|
22
18
|
stderr?: string;
|
|
23
19
|
};
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
21
|
+
type SpawnApi = {
|
|
22
|
+
(command: string, args?: readonly string[], options?: ProcessOptions): CommandChildProcess;
|
|
23
|
+
sync: (command: string, args: readonly string[], options: ProcessOptions) => ProcessResult;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
const spawnApi = crossSpawn as unknown as SpawnApi;
|
|
28
27
|
|
|
29
28
|
export type CommandChildProcess = {
|
|
30
29
|
exitCode?: number | null;
|
|
@@ -43,13 +42,7 @@ export function launchProcess(
|
|
|
43
42
|
args: string[],
|
|
44
43
|
options?: ProcessOptions,
|
|
45
44
|
): CommandChildProcess {
|
|
46
|
-
|
|
47
|
-
const launch = moduleApi["spawn"] as (
|
|
48
|
-
command: string,
|
|
49
|
-
args?: readonly string[],
|
|
50
|
-
options?: ProcessOptions,
|
|
51
|
-
) => CommandChildProcess;
|
|
52
|
-
return launch(command, args, options);
|
|
45
|
+
return spawnApi(command, args, options);
|
|
53
46
|
}
|
|
54
47
|
|
|
55
48
|
export function launchProcessSync(
|
|
@@ -57,11 +50,5 @@ export function launchProcessSync(
|
|
|
57
50
|
args: string[],
|
|
58
51
|
options: ProcessOptions,
|
|
59
52
|
): ProcessResult {
|
|
60
|
-
|
|
61
|
-
const launchSync = moduleApi["spawnSync"] as (
|
|
62
|
-
command: string,
|
|
63
|
-
args: readonly string[],
|
|
64
|
-
options: ProcessOptions,
|
|
65
|
-
) => ProcessResult;
|
|
66
|
-
return launchSync(command, args, options);
|
|
53
|
+
return spawnApi.sync(command, args, options);
|
|
67
54
|
}
|
package/src/types.ts
CHANGED