kibi-cli 2.0.0 → 2.1.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/dist/cli-register-proof.d.ts.map +1 -1
- package/dist/cli-register-proof.js +25 -1
- package/dist/cli-register-reporting.d.ts.map +1 -1
- package/dist/cli-register-reporting.js +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2 -0
- package/dist/commands/check-generated.d.ts +7 -0
- package/dist/commands/check-generated.d.ts.map +1 -0
- package/dist/commands/check-generated.js +192 -0
- package/dist/commands/check.d.ts.map +1 -1
- package/dist/commands/check.js +3 -2
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +122 -1
- package/dist/commands/engine.d.ts.map +1 -1
- package/dist/commands/engine.js +3 -1
- package/dist/commands/init-helpers.d.ts.map +1 -1
- package/dist/commands/init-helpers.js +13 -7
- package/dist/commands/proof-explain.d.ts +10 -0
- package/dist/commands/proof-explain.d.ts.map +1 -0
- package/dist/commands/proof-explain.js +45 -0
- package/dist/commands/proof-impact.d.ts +7 -0
- package/dist/commands/proof-impact.d.ts.map +1 -0
- package/dist/commands/proof-impact.js +39 -0
- package/dist/commands/proof-migrate-legacy.js +1 -1
- package/dist/commands/proof-prune.js +1 -1
- package/dist/commands/prove.js +4 -4
- package/dist/commands/report.d.ts.map +1 -1
- package/dist/commands/report.js +17 -2
- package/dist/commands/sync/manifest.d.ts +1 -0
- package/dist/commands/sync/manifest.d.ts.map +1 -1
- package/dist/commands/sync/manifest.js +18 -16
- package/dist/commands/sync/persistence.d.ts.map +1 -1
- package/dist/commands/sync/persistence.js +6 -0
- package/dist/engine.d.ts +3 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +134 -61
- package/dist/env/bootstrap.d.ts +84 -0
- package/dist/env/bootstrap.d.ts.map +1 -0
- package/dist/env/bootstrap.js +310 -0
- package/dist/extractors/manifest.d.ts.map +1 -1
- package/dist/extractors/manifest.js +1 -1
- package/dist/extractors/markdown.d.ts +2 -0
- package/dist/extractors/markdown.d.ts.map +1 -1
- package/dist/extractors/markdown.js +19 -0
- package/dist/extractors/symbols-coordinator.d.ts +8 -0
- package/dist/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/extractors/symbols-coordinator.js +40 -0
- package/dist/extractors/symbols-ts.d.ts +8 -19
- package/dist/extractors/symbols-ts.d.ts.map +1 -1
- package/dist/extractors/symbols-ts.js +33 -503
- package/dist/intent-search.d.ts.map +1 -1
- package/dist/intent-search.js +4 -5
- package/dist/operations/modeling/model-requirement.d.ts.map +1 -1
- package/dist/operations/modeling/model-requirement.js +4 -0
- package/dist/operations/modeling/suggest-predicates.d.ts +1 -1
- package/dist/operations/modeling/suggest-predicates.d.ts.map +1 -1
- package/dist/operations/modeling/suggest-predicates.js +30 -3
- package/dist/operations/mutation/symbol-granularity.d.ts.map +1 -1
- package/dist/operations/mutation/symbol-granularity.js +9 -87
- package/dist/operations/planning/compile-intent.d.ts +49 -0
- package/dist/operations/planning/compile-intent.d.ts.map +1 -1
- package/dist/operations/planning/compile-intent.js +63 -3
- package/dist/operations/proof/baseline-diff.d.ts +41 -0
- package/dist/operations/proof/baseline-diff.d.ts.map +1 -0
- package/dist/operations/proof/baseline-diff.js +153 -0
- package/dist/operations/proof/explain.d.ts +75 -0
- package/dist/operations/proof/explain.d.ts.map +1 -0
- package/dist/operations/proof/explain.js +294 -0
- package/dist/operations/proof/impact.d.ts +45 -0
- package/dist/operations/proof/impact.d.ts.map +1 -0
- package/dist/operations/proof/impact.js +118 -0
- package/dist/operations/proof/ingest-proof.d.ts.map +1 -1
- package/dist/operations/proof/ingest-proof.js +44 -3
- package/dist/operations/proof/migrate-legacy-receipts.d.ts.map +1 -1
- package/dist/operations/proof/migrate-legacy-receipts.js +21 -17
- package/dist/operations/proof/prune-receipts.js +1 -1
- package/dist/operations/proof/receipt-document.js +2 -2
- package/dist/operations/semantic-advisor/analysis-receipt.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analysis-receipt.js +3 -9
- package/dist/operations/semantic-advisor/analyze-prose.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/analyze-prose.js +18 -67
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts +63 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.d.ts.map +1 -0
- package/dist/operations/semantic-advisor/plugin-orchestration.js +489 -0
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts +15 -2
- package/dist/operations/semantic-advisor/predicate-rules-core.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-core.js +7 -140
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts +11 -12
- package/dist/operations/semantic-advisor/predicate-rules-launcher.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-launcher.js +6 -94
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts +16 -0
- package/dist/operations/semantic-advisor/predicate-rules-policy.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-policy.js +7 -150
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts +9 -0
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product-tail.js +7 -102
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts +13 -0
- package/dist/operations/semantic-advisor/predicate-rules-product.d.ts.map +1 -1
- package/dist/operations/semantic-advisor/predicate-rules-product.js +7 -133
- package/dist/operations/semantic-advisor/types.d.ts +1 -0
- package/dist/operations/semantic-advisor/types.d.ts.map +1 -1
- package/dist/plugins/compose-ontology-packs.d.ts +51 -0
- package/dist/plugins/compose-ontology-packs.d.ts.map +1 -0
- package/dist/plugins/compose-ontology-packs.js +257 -0
- package/dist/plugins/compose-semantic-classifier.d.ts +42 -0
- package/dist/plugins/compose-semantic-classifier.d.ts.map +1 -0
- package/dist/plugins/compose-semantic-classifier.js +211 -0
- package/dist/plugins/external-allowlist.d.ts +10 -0
- package/dist/plugins/external-allowlist.d.ts.map +1 -0
- package/dist/plugins/external-allowlist.js +16 -0
- package/dist/plugins/index.d.ts +9 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +33 -0
- package/dist/plugins/load-plugin.d.ts +19 -0
- package/dist/plugins/load-plugin.d.ts.map +1 -0
- package/dist/plugins/load-plugin.js +59 -0
- package/dist/plugins/project-config.d.ts +28 -0
- package/dist/plugins/project-config.d.ts.map +1 -0
- package/dist/plugins/project-config.js +90 -0
- package/dist/plugins/registry.d.ts +93 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +338 -0
- package/dist/plugins/resolve-package.d.ts +47 -0
- package/dist/plugins/resolve-package.d.ts.map +1 -0
- package/dist/plugins/resolve-package.js +262 -0
- package/dist/plugins/source-analysis-service.d.ts +44 -0
- package/dist/plugins/source-analysis-service.d.ts.map +1 -0
- package/dist/plugins/source-analysis-service.js +232 -0
- package/dist/prolog/janitor.d.ts.map +1 -1
- package/dist/prolog/janitor.js +1 -1
- package/dist/prolog/store-lock.d.ts +1 -1
- package/dist/prolog/store-lock.d.ts.map +1 -1
- package/dist/proof/inspect.js +1 -1
- package/dist/proof/producers/playwright-case-id.js +2 -2
- package/dist/proof/producers/playwright-reporter.js +4 -4
- package/dist/public/extractors/symbols-coordinator.d.ts +1 -1
- package/dist/public/extractors/symbols-coordinator.d.ts.map +1 -1
- package/dist/public/extractors/symbols-coordinator.js +1 -1
- package/dist/public/impact/analyzer.d.ts +1 -1
- package/dist/public/impact/analyzer.d.ts.map +1 -1
- package/dist/public/impact/analyzer.js +6 -4
- package/dist/public/operations/catalog.d.ts +4 -1
- package/dist/public/operations/catalog.d.ts.map +1 -1
- package/dist/public/operations/check-executor.js +1 -1
- package/dist/public/operations/check-helpers.d.ts +1 -1
- package/dist/public/operations/check-helpers.d.ts.map +1 -1
- package/dist/public/operations/check-helpers.js +1 -1
- package/dist/public/operations/contracts.d.ts.map +1 -1
- package/dist/public/operations/contracts.js +35 -12
- package/dist/public/operations/discovery-entities.d.ts +12 -0
- package/dist/public/operations/discovery-entities.d.ts.map +1 -1
- package/dist/public/operations/discovery-entities.js +34 -0
- package/dist/public/operations/discovery-executors.d.ts.map +1 -1
- package/dist/public/operations/discovery-executors.js +23 -18
- package/dist/public/operations/prolog-json.d.ts +1 -1
- package/dist/public/operations/prolog-json.d.ts.map +1 -1
- package/dist/public/operations/prolog-json.js +7 -7
- package/dist/public/operations/runtime-types.d.ts +16 -1
- package/dist/public/operations/runtime-types.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts +1 -1
- package/dist/public/operations/specs/check-rules.generated.d.ts.map +1 -1
- package/dist/public/operations/specs/check-rules.generated.js +2 -1
- package/dist/public/operations/specs/check.d.ts +1 -1
- package/dist/public/operations/specs/discovery.d.ts +3 -0
- package/dist/public/operations/specs/discovery.d.ts.map +1 -1
- package/dist/public/operations/specs/discovery.js +3 -0
- package/dist/public/operations/specs/proof.js +1 -1
- package/dist/public/operations/specs/reporting.d.ts +1 -0
- package/dist/public/operations/specs/reporting.d.ts.map +1 -1
- package/dist/public/operations/specs/reporting.js +2 -2
- package/dist/public/operations/specs/semantic.d.ts +1 -1
- package/dist/public/operations/specs/semantic.d.ts.map +1 -1
- package/dist/public/operations/specs/semantic.js +54 -4
- package/dist/public/operations/symbol-repair-plan.d.ts.map +1 -1
- package/dist/public/operations/symbol-repair-plan.js +3 -1
- package/dist/public/operations/types.d.ts +5 -0
- package/dist/public/operations/types.d.ts.map +1 -1
- package/dist/public/proof-protocol.js +4 -4
- package/dist/public/skills/kibi-usage/SKILL.md +4 -1
- package/dist/public/skills/kibi-usage/resources/proof.md +45 -0
- package/dist/public/symbol-granularity.d.ts +1 -1
- package/dist/public/symbol-granularity.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.d.ts.map +1 -1
- package/dist/public/symbol-granularity.generated.js +38 -5
- package/dist/report/html-report.css +1239 -281
- package/dist/runtime/cli-runtime.d.ts.map +1 -1
- package/dist/runtime/cli-runtime.js +18 -0
- package/dist/traceability/symbol-extract.d.ts +24 -7
- package/dist/traceability/symbol-extract.d.ts.map +1 -1
- package/dist/traceability/symbol-extract.js +64 -208
- package/dist/utils/rule-registry.generated.d.ts +5 -0
- package/dist/utils/rule-registry.generated.d.ts.map +1 -1
- package/dist/utils/rule-registry.generated.js +6 -0
- package/package.json +14 -11
- package/src/public/extractors/symbols-coordinator.ts +1 -0
- package/src/public/impact/analyzer.ts +15 -12
- package/src/public/operations/check-executor.ts +1 -1
- package/src/public/operations/check-helpers.ts +2 -2
- package/src/public/operations/contracts.ts +40 -12
- package/src/public/operations/discovery-entities.ts +46 -0
- package/src/public/operations/discovery-executors.ts +39 -26
- package/src/public/operations/prolog-json.ts +13 -5
- package/src/public/operations/runtime-types.ts +21 -2
- package/src/public/operations/specs/check-rules.generated.ts +2 -1
- package/src/public/operations/specs/discovery.ts +3 -0
- package/src/public/operations/specs/proof.ts +1 -1
- package/src/public/operations/specs/reporting.ts +2 -2
- package/src/public/operations/specs/semantic.ts +79 -17
- package/src/public/operations/symbol-repair-plan.ts +3 -4
- package/src/public/operations/types.ts +5 -0
- package/src/public/proof-fingerprint.ts +1 -1
- package/src/public/proof-protocol-types.d.ts +1 -1
- package/src/public/proof-protocol.ts +4 -4
- package/src/public/skills/kibi-usage/SKILL.md +4 -1
- package/src/public/skills/kibi-usage/resources/proof.md +45 -0
- package/src/public/symbol-granularity.generated.ts +45 -12
- package/src/public/symbol-granularity.ts +3 -3
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
Kibi — repo-local, per-branch, queryable long-term memory for software projects
|
|
3
|
+
Copyright (C) 2026 Piotr Franczyk
|
|
4
|
+
|
|
5
|
+
This program is free software: you can redistribute it and/or modify
|
|
6
|
+
it under the terms of the GNU Affero General Public License as published by
|
|
7
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
8
|
+
(at your option) any later version.
|
|
9
|
+
*/
|
|
10
|
+
import { executeProofImpact, proofImpactExitCode, } from "../operations/proof/impact.js";
|
|
11
|
+
import { createCliRuntime } from "../runtime/cli-runtime.js";
|
|
12
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
13
|
+
export async function proofImpactCommand(options) {
|
|
14
|
+
const runtime = createCliRuntime();
|
|
15
|
+
const context = await runtime.open({
|
|
16
|
+
name: "kibi_proof_impact",
|
|
17
|
+
effects: [],
|
|
18
|
+
requiresProlog: true,
|
|
19
|
+
execute: async () => undefined,
|
|
20
|
+
}, {});
|
|
21
|
+
let completed = false;
|
|
22
|
+
try {
|
|
23
|
+
const { result, text } = await executeProofImpact(context);
|
|
24
|
+
if (options.json) {
|
|
25
|
+
process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
process.stdout.write(text);
|
|
29
|
+
}
|
|
30
|
+
completed = true;
|
|
31
|
+
await runtime.afterSuccess({ name: "kibi_proof_impact" }, context);
|
|
32
|
+
return { exitCode: proofImpactExitCode(result) };
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
await runtime.close(context, completed
|
|
36
|
+
? { status: "success", result: 0 }
|
|
37
|
+
: { status: "error", error: 1 });
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { executeMigrateLegacyReceipts } from "../operations/proof/migrate-legacy-receipts.js";
|
|
19
19
|
import { createCliRuntime } from "../runtime/cli-runtime.js";
|
|
20
|
-
// implements REQ-kibi-
|
|
20
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
21
21
|
export async function proofMigrateLegacyCommand(options) {
|
|
22
22
|
const runtime = createCliRuntime();
|
|
23
23
|
const context = await runtime.open({
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { executePruneReceipts } from "../operations/proof/prune-receipts.js";
|
|
19
19
|
import { createCliRuntime } from "../runtime/cli-runtime.js";
|
|
20
|
-
// implements REQ-kibi-
|
|
20
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
21
21
|
export async function proofPruneCommand(options) {
|
|
22
22
|
const keepRaw = options.keep ?? "1";
|
|
23
23
|
const keep = Number.parseInt(keepRaw, 10);
|
package/dist/commands/prove.js
CHANGED
|
@@ -16,7 +16,7 @@ import { createCliRuntime } from "../runtime/cli-runtime.js";
|
|
|
16
16
|
* Snapshot-relevant changes come first (receipt-only and ignored edits do
|
|
17
17
|
* not affect the hash), and the list is capped to keep the error readable.
|
|
18
18
|
*/
|
|
19
|
-
// implements REQ-kibi-
|
|
19
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
20
20
|
export function describeWorkspaceDrift(snapshot) {
|
|
21
21
|
if (!snapshot.available)
|
|
22
22
|
return " (workspace snapshot unavailable)";
|
|
@@ -40,7 +40,7 @@ export function describeWorkspaceDrift(snapshot) {
|
|
|
40
40
|
* trimmed, non-empty ids. Empty selectors yield an empty set; blank items
|
|
41
41
|
* fail fast instead of silently narrowing the selection.
|
|
42
42
|
*/
|
|
43
|
-
// implements REQ-kibi-
|
|
43
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
44
44
|
export function parseIntegrationSelector(value, flagName) {
|
|
45
45
|
if (value === undefined || value.trim() === "")
|
|
46
46
|
return new Set();
|
|
@@ -84,7 +84,7 @@ async function runChild(commandArgv, cwd, env) {
|
|
|
84
84
|
child.once("close", (code) => resolve(code ?? 1));
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
|
-
// implements REQ-kibi-
|
|
87
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
88
88
|
export function commandEnvironment(integration, commandArgv, snapshot, workspaceRoot, testIds, outputPath) {
|
|
89
89
|
return {
|
|
90
90
|
...process.env,
|
|
@@ -240,7 +240,7 @@ function summarize(result) {
|
|
|
240
240
|
parts.push(`unchanged ${result.unchanged}`);
|
|
241
241
|
return parts.join(", ");
|
|
242
242
|
}
|
|
243
|
-
// implements REQ-kibi-
|
|
243
|
+
// implements REQ-kibi-verification-evidence-contract
|
|
244
244
|
export async function proveCommand(options, deps = {}) {
|
|
245
245
|
const workspaceRoot = options.workspaceRoot ?? process.cwd();
|
|
246
246
|
const ingestProof = deps.ingestProof ?? executeIngestProof;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/commands/report.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,kBAAkB,EAExB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;AAGjC,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,cAAc,GAAG,QAAQ,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,YAAY,CAAC,EAAE,CACb,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,KAAK,EAAE,MAAM,KACV,OAAO,CAAC,cAAc,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B,CAAC,CAAC;AA+HH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgChE;AAeD,wBAAsB,aAAa,CACjC,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,iBAAsB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAyEjB"}
|
package/dist/commands/report.js
CHANGED
|
@@ -7,7 +7,6 @@ import { coverageSpec } from "../public/operations/specs/reporting.js";
|
|
|
7
7
|
import { KIBI_BRAND, renderKibiBadge } from "../report/brand.js";
|
|
8
8
|
import { renderHtmlReport, } from "../report/html-report.js";
|
|
9
9
|
import { resolveReportRepository, } from "../report/repository.js";
|
|
10
|
-
import { createCliRuntime } from "../runtime/cli-runtime.js";
|
|
11
10
|
import { listGitRemotes } from "./github-init.js";
|
|
12
11
|
function gitCommitSha(cwd) {
|
|
13
12
|
try {
|
|
@@ -79,6 +78,9 @@ async function executeCoverageInContext(context, tags, limit) {
|
|
|
79
78
|
};
|
|
80
79
|
}
|
|
81
80
|
async function loadCoverage(tags, limit) {
|
|
81
|
+
// Lazy-load the CLI runtime so coverage suites that inject loadCoverage do
|
|
82
|
+
// not pull the engine/plugin graph into every reportCommand import.
|
|
83
|
+
const { createCliRuntime } = await import("../runtime/cli-runtime.js");
|
|
82
84
|
const runtime = createCliRuntime();
|
|
83
85
|
const runtimeSpec = coverageSpec;
|
|
84
86
|
const context = await runtime.open(runtimeSpec);
|
|
@@ -118,8 +120,21 @@ export async function openReport(filePath) {
|
|
|
118
120
|
detached: true,
|
|
119
121
|
stdio: "ignore",
|
|
120
122
|
});
|
|
121
|
-
|
|
123
|
+
const timer = setTimeout(() => {
|
|
124
|
+
try {
|
|
125
|
+
child.unref();
|
|
126
|
+
}
|
|
127
|
+
catch {
|
|
128
|
+
// Best-effort unref if the child never spawned.
|
|
129
|
+
}
|
|
130
|
+
reject(new Error(`Timed out opening report via ${command}`));
|
|
131
|
+
}, 5_000);
|
|
132
|
+
child.once("error", (error) => {
|
|
133
|
+
clearTimeout(timer);
|
|
134
|
+
reject(error);
|
|
135
|
+
});
|
|
122
136
|
child.once("spawn", () => {
|
|
137
|
+
clearTimeout(timer);
|
|
123
138
|
child.unref();
|
|
124
139
|
resolve();
|
|
125
140
|
});
|
|
@@ -31,6 +31,7 @@ export { COARSE_GRANULARITY_REASONS };
|
|
|
31
31
|
export declare function isCoarseGranularityAnchor(entry: ManifestSymbolEntry): boolean;
|
|
32
32
|
export declare function refreshManifestCoordinates(manifestPath: string, workspaceRoot: string, deps?: Partial<ManifestDeps> & {
|
|
33
33
|
refreshSymbolCoordinates?: boolean;
|
|
34
|
+
quiet?: boolean;
|
|
34
35
|
}): Promise<void>;
|
|
35
36
|
export declare function hasAllGeneratedCoordinates(entry: ManifestSymbolEntry): boolean;
|
|
36
37
|
export declare function isEligibleForCoordinateRefresh(sourceFile: string | undefined, workspaceRoot: string, deps?: Partial<ManifestDeps>): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/manifest.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAML,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,0BAA0B,EAG3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,UAAU,YAAY;IACpB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,2BAA2B,EAAE,OAAO,2BAA2B,CAAC;CACjE;AAkBD,eAAO,MAAM,8BAA8B,QAc1C,CAAC;AAaF;;;;;;;;;GASG;AACH,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAG7E;AAoHD,wBAAsB,0BAA0B,CAE9C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/manifest.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,aAAa,EACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,EAML,uBAAuB,EACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,KAAK,mBAAmB,EACxB,uBAAuB,EACxB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACL,0BAA0B,EAG3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAE5E,UAAU,YAAY;IACpB,QAAQ,EAAE,OAAO,QAAQ,CAAC;IAC1B,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,SAAS,EAAE,OAAO,SAAS,CAAC;IAC5B,YAAY,EAAE,OAAO,YAAY,CAAC;IAClC,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,UAAU,EAAE,OAAO,UAAU,CAAC;IAC9B,aAAa,EAAE,OAAO,aAAa,CAAC;IACpC,uBAAuB,EAAE,OAAO,uBAAuB,CAAC;IACxD,2BAA2B,EAAE,OAAO,2BAA2B,CAAC;CACjE;AAkBD,eAAO,MAAM,8BAA8B,QAc1C,CAAC;AAaF;;;;;;;;;GASG;AACH,OAAO,EAAE,0BAA0B,EAAE,CAAC;AAEtC,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAG7E;AAoHD,wBAAsB,0BAA0B,CAE9C,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAuMf;AAED,wBAAgB,0BAA0B,CAExC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAOT;AAED,wBAAgB,8BAA8B,CAE5C,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAC3B,OAAO,CAUT"}
|
|
@@ -285,22 +285,24 @@ manifestPath, workspaceRoot, deps) {
|
|
|
285
285
|
// The generated coordinates live in the artifact beside the manifest, not
|
|
286
286
|
// in the authored symbols.yaml this command also rewrites; naming the
|
|
287
287
|
// artifact keeps diff audits pointed at the file that actually changed.
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
288
|
+
if (!deps?.quiet) {
|
|
289
|
+
const counts = `(refreshed=${refreshed}, unchanged=${unchanged}, failed=${failures.length})`;
|
|
290
|
+
if (coordinatesPath !== null) {
|
|
291
|
+
console.log(`\u2713 Refreshed symbol coordinates in ${path.relative(workspaceRoot, coordinatesPath)} ${counts}`);
|
|
292
|
+
}
|
|
293
|
+
else {
|
|
294
|
+
console.log(`\u2713 Normalized symbol manifest ${path.relative(workspaceRoot, manifestPath)} ${counts}`);
|
|
295
|
+
}
|
|
296
|
+
const maxReportedFailures = 10;
|
|
297
|
+
for (const failure of failures.slice(0, maxReportedFailures)) {
|
|
298
|
+
console.log(` failed ${failure.id}: ${failure.reason}`);
|
|
299
|
+
}
|
|
300
|
+
if (failures.length > maxReportedFailures) {
|
|
301
|
+
console.log(` ... and ${failures.length - maxReportedFailures} more failed symbol(s)`);
|
|
302
|
+
}
|
|
303
|
+
if (failures.length > 0) {
|
|
304
|
+
console.log(" Symbols without a published coordinate entry are dropped from coverage on the next plain sync until they succeed.");
|
|
305
|
+
}
|
|
304
306
|
}
|
|
305
307
|
}
|
|
306
308
|
export function hasAllGeneratedCoordinates(
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/persistence.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiHrD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AA8CD,iFAAiF;AACjF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAED,0EAA0E;AAC1E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,8EAA8E;AAC9E,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,SAAS,qBAAqB,EAAE,GAC9C,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAmCD,wBAAsB,eAAe,CAEnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAChD,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/commands/sync/persistence.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAEV,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAiHrD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AA8CD,iFAAiF;AACjF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,OAAO,CAAC,MAAM,CAAC,CAkCjB;AAED,0EAA0E;AAC1E,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,OAAO,CAAC,MAAM,CAAC,CAmBjB;AAED,8EAA8E;AAC9E,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,aAAa,EACrB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,aAAa,EAAE,SAAS,qBAAqB,EAAE,GAC9C,OAAO,CAAC,MAAM,CAAC,CAuBjB;AAmCD,wBAAsB,eAAe,CAEnC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EACtB,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,GAChD,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAyPvD;AA4BD,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,MAAM,CAER;AAGD,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,gBAAgB,EAAE,EAC3B,kBAAkB,EAAE,qBAAqB,EAAE,EAC3C,OAAO,GAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAO,GACvC,OAAO,CAAC;IAAE,iBAAiB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC,CAmO7D"}
|
|
@@ -340,6 +340,12 @@ prolog, results, entityIds, options = {}) {
|
|
|
340
340
|
if (entity.type === "req" && entity.semantic_inventory) {
|
|
341
341
|
props.push(`semantic_inventory=${toPrologString(JSON.stringify(entity.semantic_inventory))}`);
|
|
342
342
|
}
|
|
343
|
+
if (entity.type === "req" && entity.proof_exempt !== undefined) {
|
|
344
|
+
props.push(`proof_exempt=${entity.proof_exempt}`);
|
|
345
|
+
}
|
|
346
|
+
if (entity.type === "req" && entity.proof_exempt_reason !== undefined) {
|
|
347
|
+
props.push(`proof_exempt_reason=${toPrologString(entity.proof_exempt_reason)}`);
|
|
348
|
+
}
|
|
343
349
|
if (sourceFile)
|
|
344
350
|
props.push(`sourceFile=${toPrologString(sourceFile)}`);
|
|
345
351
|
if (entity.type === "symbol") {
|
package/dist/engine.d.ts
CHANGED
|
@@ -58,6 +58,8 @@ export declare class EngineClient {
|
|
|
58
58
|
start(allowSpawn?: boolean): Promise<void>;
|
|
59
59
|
private connect;
|
|
60
60
|
private attachSocket;
|
|
61
|
+
/** Settle a pending RPC at most once (abort vs response race-safe). */
|
|
62
|
+
private settlePending;
|
|
61
63
|
private handleResponse;
|
|
62
64
|
private request;
|
|
63
65
|
query(goal: string, signal?: AbortSignal): Promise<PrologQueryResult>;
|
|
@@ -73,7 +75,7 @@ export declare class EngineClient {
|
|
|
73
75
|
save(signal?: AbortSignal): Promise<PrologQueryResult>;
|
|
74
76
|
storageStatus(): Promise<PrologQueryResult>;
|
|
75
77
|
checkpoint(): Promise<PrologQueryResult>;
|
|
76
|
-
queryStatusJson(): Promise<PrologQueryResult>;
|
|
78
|
+
queryStatusJson(signal?: AbortSignal): Promise<PrologQueryResult>;
|
|
77
79
|
compact(): Promise<PrologQueryResult>;
|
|
78
80
|
exportStorage(targetDirectory: string): Promise<PrologQueryResult>;
|
|
79
81
|
invalidateCache(): void;
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAO9C,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AACrD,eAAO,MAAM,uBAAuB,QACY,CAAC;AAOjD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,OAAO,GACtB,MAAM,IAAI,CAIZ;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,GACjB,wBAAwB,GAAG,IAAI,CAgBjC;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,wBAAwB,GAAG,IAAI,CAyBjC;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,EACzC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GACxC,OAAO,CAWT;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,wBAAwB,GAAG,IAAI,EACzC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GACxC,MAAM,CASR;
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,sCAAsC,CAAC;AAO9C,YAAY,EACV,wBAAwB,EACxB,eAAe,EACf,aAAa,GACd,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,sBAAsB,QAAiB,CAAC;AACrD,eAAO,MAAM,uBAAuB,QACY,CAAC;AAOjD,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,OAAO,GACtB,MAAM,IAAI,CAIZ;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAKhE;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,GACjB,wBAAwB,GAAG,IAAI,CAgBjC;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,GAAG,SAAS,GAC7B,wBAAwB,GAAG,IAAI,CAyBjC;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,EACzC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GACxC,OAAO,CAWT;AAED,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,wBAAwB,GAAG,IAAI,EACzC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,GACxC,MAAM,CASR;AAqLD,wBAAgB,gBAAgB,IAAI,MAAM,CAqBzC;AAaD;;;;;GAKG;AAEH,wBAAgB,yBAAyB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAuBlE;AAGD,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAkBR;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAW3E;AAED,wBAAgB,mBAAmB,CACjC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,MAAM,CAER;AA2DD,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC,CAAC;AAEH,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACb,sBAAsB,CAuDxB;AAwLD,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,8EAA8E;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC;CACzC,CAAC;AAEF,2EAA2E;AAE3E,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAU;IAC/C,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,OAAO,CAAqC;IACpD,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,oBAAoB,CAAS;gBAEzB,OAAO,EAAE,mBAAmB;IAelC,KAAK,CAAC,UAAU,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAQ/B,OAAO;IA8FrB,OAAO,CAAC,YAAY;IA8BpB,uEAAuE;IACvE,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,cAAc;YAkBR,OAAO;IAmEf,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAS3E;uEACmE;IAC7D,OAAO,CAAC,CAAC,GAAG,iBAAiB,EACjC,OAAO,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC;IAIP,UAAU,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKhE,aAAa,CACjB,KAAK,EAAE,sBAAsB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC;IA6B7B,cAAc,CAClB,KAAK,EAAE,sBAAsB,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,uBAAuB,CAAC;IAyBnC,qDAAqD;IACrD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAiBzB,YAAY,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAMjD,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAItD,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI3C,UAAU,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIxC,eAAe,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOjE,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIrC,aAAa,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOxE,eAAe,IAAI,IAAI;IAIvB,SAAS,IAAI,OAAO;YAIN,oBAAoB;YAMpB,mBAAmB;YA0BnB,uBAAuB;IA6BrC,MAAM,IAAI,MAAM;IASV,IAAI,CAAC,cAAc,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB1C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CASjC;AAGD,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAoJf;AAkFD,wBAAsB,eAAe,CAAC,OAAO,EAAE;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+oBhB"}
|
package/dist/engine.js
CHANGED
|
@@ -783,16 +783,26 @@ export class EngineClient {
|
|
|
783
783
|
socket.on("close", () => {
|
|
784
784
|
this.socket = null;
|
|
785
785
|
const error = new Error("Kibi engine connection closed");
|
|
786
|
-
for (const pending of this.pending.values())
|
|
787
|
-
pending.reject(error);
|
|
786
|
+
for (const pending of this.pending.values()) {
|
|
787
|
+
this.settlePending(pending, () => pending.reject(error));
|
|
788
|
+
}
|
|
788
789
|
this.pending.clear();
|
|
789
790
|
});
|
|
790
791
|
socket.on("error", (error) => {
|
|
791
|
-
for (const pending of this.pending.values())
|
|
792
|
-
pending.reject(error);
|
|
792
|
+
for (const pending of this.pending.values()) {
|
|
793
|
+
this.settlePending(pending, () => pending.reject(error));
|
|
794
|
+
}
|
|
793
795
|
this.pending.clear();
|
|
794
796
|
});
|
|
795
797
|
}
|
|
798
|
+
/** Settle a pending RPC at most once (abort vs response race-safe). */
|
|
799
|
+
settlePending(pending, settle) {
|
|
800
|
+
if (pending.settled)
|
|
801
|
+
return false;
|
|
802
|
+
pending.settled = true;
|
|
803
|
+
settle();
|
|
804
|
+
return true;
|
|
805
|
+
}
|
|
796
806
|
handleResponse(value) {
|
|
797
807
|
if (value === null || typeof value !== "object")
|
|
798
808
|
return;
|
|
@@ -803,55 +813,20 @@ export class EngineClient {
|
|
|
803
813
|
if (!pending)
|
|
804
814
|
return;
|
|
805
815
|
this.pending.delete(response.id);
|
|
806
|
-
if (response.ok)
|
|
807
|
-
pending.resolve(response.result);
|
|
808
|
-
|
|
809
|
-
|
|
816
|
+
if (response.ok) {
|
|
817
|
+
this.settlePending(pending, () => pending.resolve(response.result));
|
|
818
|
+
}
|
|
819
|
+
else {
|
|
820
|
+
this.settlePending(pending, () => pending.reject(new Error(response.error ?? "Kibi engine request failed")));
|
|
821
|
+
}
|
|
810
822
|
}
|
|
811
823
|
async request(request, signal) {
|
|
824
|
+
// Connect/reconcile before taking the client queue. Holding requestTail
|
|
825
|
+
// across start()→reconcileAttachment()→queryStatusJson() deadlocks because
|
|
826
|
+
// that nested status RPC needs the same queue (see command-first clients).
|
|
812
827
|
await this.start();
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
throw new Error("Kibi engine is not connected");
|
|
816
|
-
const id = ++this.requestId;
|
|
817
|
-
const result = new Promise((resolve, reject) => {
|
|
818
|
-
this.pending.set(id, {
|
|
819
|
-
resolve: resolve,
|
|
820
|
-
reject,
|
|
821
|
-
});
|
|
822
|
-
try {
|
|
823
|
-
socket.write(frame({
|
|
824
|
-
...request,
|
|
825
|
-
id,
|
|
826
|
-
protocolVersion: ENGINE_PROTOCOL_VERSION,
|
|
827
|
-
packageVersions: ENGINE_PACKAGE_VERSIONS,
|
|
828
|
-
workspaceRoot: this.workspaceRoot,
|
|
829
|
-
branch: this.branch,
|
|
830
|
-
}));
|
|
831
|
-
}
|
|
832
|
-
catch (error) {
|
|
833
|
-
this.pending.delete(id);
|
|
834
|
-
reject(error instanceof Error ? error : new Error(String(error)));
|
|
835
|
-
return;
|
|
836
|
-
}
|
|
837
|
-
if (signal !== undefined) {
|
|
838
|
-
const abort = () => {
|
|
839
|
-
if (!this.pending.has(id))
|
|
840
|
-
return;
|
|
841
|
-
this.pending.delete(id);
|
|
842
|
-
this.cancel(id);
|
|
843
|
-
reject(new Error("Kibi engine request cancelled"));
|
|
844
|
-
};
|
|
845
|
-
if (signal.aborted)
|
|
846
|
-
abort();
|
|
847
|
-
else
|
|
848
|
-
signal.addEventListener("abort", abort, { once: true });
|
|
849
|
-
}
|
|
850
|
-
});
|
|
851
|
-
return result;
|
|
852
|
-
}
|
|
853
|
-
async query(goal, signal) {
|
|
854
|
-
let result;
|
|
828
|
+
// Serialize query and command frames on one socket so concurrent MCP
|
|
829
|
+
// traffic cannot interleave length-prefixed writes/responses.
|
|
855
830
|
const previous = this.requestTail;
|
|
856
831
|
let release;
|
|
857
832
|
this.requestTail = new Promise((resolve) => {
|
|
@@ -859,14 +834,59 @@ export class EngineClient {
|
|
|
859
834
|
});
|
|
860
835
|
await previous;
|
|
861
836
|
try {
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
837
|
+
const socket = this.socket;
|
|
838
|
+
if (socket === null || socket.destroyed)
|
|
839
|
+
throw new Error("Kibi engine is not connected");
|
|
840
|
+
const id = ++this.requestId;
|
|
841
|
+
return await new Promise((resolve, reject) => {
|
|
842
|
+
this.pending.set(id, {
|
|
843
|
+
resolve: resolve,
|
|
844
|
+
reject,
|
|
845
|
+
settled: false,
|
|
846
|
+
});
|
|
847
|
+
try {
|
|
848
|
+
socket.write(frame({
|
|
849
|
+
...request,
|
|
850
|
+
id,
|
|
851
|
+
protocolVersion: ENGINE_PROTOCOL_VERSION,
|
|
852
|
+
packageVersions: ENGINE_PACKAGE_VERSIONS,
|
|
853
|
+
workspaceRoot: this.workspaceRoot,
|
|
854
|
+
branch: this.branch,
|
|
855
|
+
}));
|
|
856
|
+
}
|
|
857
|
+
catch (error) {
|
|
858
|
+
const pending = this.pending.get(id);
|
|
859
|
+
this.pending.delete(id);
|
|
860
|
+
if (pending) {
|
|
861
|
+
this.settlePending(pending, () => reject(error instanceof Error ? error : new Error(String(error))));
|
|
862
|
+
}
|
|
863
|
+
return;
|
|
864
|
+
}
|
|
865
|
+
if (signal !== undefined) {
|
|
866
|
+
const abort = () => {
|
|
867
|
+
const pending = this.pending.get(id);
|
|
868
|
+
if (!pending || pending.settled)
|
|
869
|
+
return;
|
|
870
|
+
this.pending.delete(id);
|
|
871
|
+
this.cancel(id);
|
|
872
|
+
this.settlePending(pending, () => reject(new Error("Kibi engine request cancelled")));
|
|
873
|
+
};
|
|
874
|
+
if (signal.aborted)
|
|
875
|
+
abort();
|
|
876
|
+
else
|
|
877
|
+
signal.addEventListener("abort", abort, { once: true });
|
|
878
|
+
}
|
|
879
|
+
});
|
|
865
880
|
}
|
|
866
881
|
finally {
|
|
867
882
|
release();
|
|
868
883
|
}
|
|
869
884
|
}
|
|
885
|
+
async query(goal, signal) {
|
|
886
|
+
const result = await this.request({ method: "query", goal }, signal);
|
|
887
|
+
this.lastResult = result;
|
|
888
|
+
return result;
|
|
889
|
+
}
|
|
870
890
|
/** Execute a versioned, goal-free engine command. Raw query remains private
|
|
871
891
|
* compatibility traffic for the in-process Prolog adapter only. */
|
|
872
892
|
async command(command, signal) {
|
|
@@ -952,8 +972,8 @@ export class EngineClient {
|
|
|
952
972
|
async checkpoint() {
|
|
953
973
|
return this.command({ version: 1, kind: "checkpoint" });
|
|
954
974
|
}
|
|
955
|
-
async queryStatusJson() {
|
|
956
|
-
return this.command({ version: 1, kind: "status" });
|
|
975
|
+
async queryStatusJson(signal) {
|
|
976
|
+
return this.command({ version: 1, kind: "status" }, signal);
|
|
957
977
|
}
|
|
958
978
|
async compact() {
|
|
959
979
|
return this.command({ version: 1, kind: "compact" });
|
|
@@ -1299,16 +1319,55 @@ export async function runEngineDaemon(options) {
|
|
|
1299
1319
|
}
|
|
1300
1320
|
mkdirSync(path.dirname(options.socketPath), { recursive: true, mode: 0o700 });
|
|
1301
1321
|
if (existsSync(options.socketPath)) {
|
|
1322
|
+
const isLivePeerSignal = (error) => {
|
|
1323
|
+
if (error && typeof error === "object") {
|
|
1324
|
+
const code = "code" in error ? String(error.code) : "";
|
|
1325
|
+
if (code === "EPIPE" || code === "ECONNRESET")
|
|
1326
|
+
return true;
|
|
1327
|
+
const errno = "errno" in error
|
|
1328
|
+
? Number(error.errno)
|
|
1329
|
+
: Number.NaN;
|
|
1330
|
+
// POSIX EPIPE
|
|
1331
|
+
if (errno === -32)
|
|
1332
|
+
return true;
|
|
1333
|
+
}
|
|
1334
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
1335
|
+
return /\bEPIPE\b|\bECONNRESET\b|broken pipe/i.test(message);
|
|
1336
|
+
};
|
|
1302
1337
|
let live = false;
|
|
1303
1338
|
try {
|
|
1304
1339
|
const existing = await connectSocket(options.socketPath, 100);
|
|
1305
|
-
|
|
1340
|
+
// Keep a permanent error sink. Bun 1.4 can surface write EPIPE from
|
|
1341
|
+
// teardown into the caller promise on some CI runners, replacing the
|
|
1342
|
+
// intended live-listener error.
|
|
1343
|
+
existing.on("error", () => undefined);
|
|
1306
1344
|
live = true;
|
|
1345
|
+
try {
|
|
1346
|
+
existing.destroy();
|
|
1347
|
+
}
|
|
1348
|
+
catch {
|
|
1349
|
+
// Ignore destroy races; live detection already succeeded.
|
|
1350
|
+
}
|
|
1351
|
+
existing.unref?.();
|
|
1307
1352
|
}
|
|
1308
|
-
catch {
|
|
1309
|
-
//
|
|
1353
|
+
catch (error) {
|
|
1354
|
+
// Bun 1.4 can reject the probe with EPIPE/ECONNRESET against a live
|
|
1355
|
+
// unix listener instead of resolving connect.
|
|
1356
|
+
if (isLivePeerSignal(error)) {
|
|
1357
|
+
live = true;
|
|
1358
|
+
}
|
|
1359
|
+
// Otherwise a refused connection means a stale filesystem socket.
|
|
1310
1360
|
}
|
|
1311
1361
|
if (live) {
|
|
1362
|
+
try {
|
|
1363
|
+
await prolog.terminate();
|
|
1364
|
+
}
|
|
1365
|
+
catch (error) {
|
|
1366
|
+
// Best-effort cleanup; Bun may surface late EPIPE here too.
|
|
1367
|
+
if (!isLivePeerSignal(error)) {
|
|
1368
|
+
// Ignore non-EPIPE terminate failures.
|
|
1369
|
+
}
|
|
1370
|
+
}
|
|
1312
1371
|
throw new Error(`A Kibi engine is already listening at ${options.socketPath}`);
|
|
1313
1372
|
}
|
|
1314
1373
|
try {
|
|
@@ -1326,7 +1385,6 @@ export async function runEngineDaemon(options) {
|
|
|
1326
1385
|
let idleCompactionQueued = false;
|
|
1327
1386
|
const queryCache = new Map();
|
|
1328
1387
|
let freshnessCache = null;
|
|
1329
|
-
const cancelledRequests = new Set();
|
|
1330
1388
|
const clients = new Set();
|
|
1331
1389
|
let shuttingDown = false;
|
|
1332
1390
|
const exactBranchStatus = (result) => {
|
|
@@ -1398,7 +1456,7 @@ export async function runEngineDaemon(options) {
|
|
|
1398
1456
|
void shutdown();
|
|
1399
1457
|
}, engineIdleTimeoutMs());
|
|
1400
1458
|
};
|
|
1401
|
-
const handle = async (request) => {
|
|
1459
|
+
const handle = async (request, cancelledRequests) => {
|
|
1402
1460
|
if (request.protocolVersion !== ENGINE_PROTOCOL_VERSION) {
|
|
1403
1461
|
throw new Error(`Kibi engine protocol mismatch: client=${request.protocolVersion ?? "missing"}, server=${ENGINE_PROTOCOL_VERSION}`);
|
|
1404
1462
|
}
|
|
@@ -1661,6 +1719,13 @@ export async function runEngineDaemon(options) {
|
|
|
1661
1719
|
setImmediate(() => void shutdown());
|
|
1662
1720
|
return { stopped: true };
|
|
1663
1721
|
case "cancel":
|
|
1722
|
+
// Best-effort: marks the id so a *queued* request on this connection
|
|
1723
|
+
// is skipped before handle(). A request already inside
|
|
1724
|
+
// `await prolog.query(...)` cannot be interrupted without redesigning
|
|
1725
|
+
// SWI interactive cancellation; the client still rejects locally on
|
|
1726
|
+
// AbortSignal, but the daemon queue remains occupied until that Prolog
|
|
1727
|
+
// call returns. Cancel marks are per-connection. See
|
|
1728
|
+
// docs/mcp-reference.md ("Engine cancellation limits").
|
|
1664
1729
|
if (typeof request.cancelOf === "number") {
|
|
1665
1730
|
cancelledRequests.add(request.cancelOf);
|
|
1666
1731
|
}
|
|
@@ -1720,6 +1785,9 @@ export async function runEngineDaemon(options) {
|
|
|
1720
1785
|
server.on("connection", (socket) => {
|
|
1721
1786
|
clients.add(socket);
|
|
1722
1787
|
activeClients += 1;
|
|
1788
|
+
// Request ids are per-connection. Cancel marks must not be daemon-global
|
|
1789
|
+
// or Client B's id=1 is poisoned by Client A's cancelOf=1.
|
|
1790
|
+
const cancelledRequests = new Set();
|
|
1723
1791
|
let buffer = Buffer.alloc(0);
|
|
1724
1792
|
socket.on("data", (chunk) => {
|
|
1725
1793
|
try {
|
|
@@ -1742,7 +1810,7 @@ export async function runEngineDaemon(options) {
|
|
|
1742
1810
|
return;
|
|
1743
1811
|
}
|
|
1744
1812
|
try {
|
|
1745
|
-
const result = await handle(request);
|
|
1813
|
+
const result = await handle(request, cancelledRequests);
|
|
1746
1814
|
writeSocketFrame(socket, {
|
|
1747
1815
|
id: request.id,
|
|
1748
1816
|
ok: true,
|
|
@@ -1758,6 +1826,11 @@ export async function runEngineDaemon(options) {
|
|
|
1758
1826
|
serverPackageVersions: ENGINE_PACKAGE_VERSIONS,
|
|
1759
1827
|
});
|
|
1760
1828
|
}
|
|
1829
|
+
finally {
|
|
1830
|
+
// Drop stale cancel marks for in-flight goals that still ran
|
|
1831
|
+
// to completion after cancelOf (SWI cannot interrupt them).
|
|
1832
|
+
cancelledRequests.delete(request.id);
|
|
1833
|
+
}
|
|
1761
1834
|
})
|
|
1762
1835
|
.catch(() => undefined);
|
|
1763
1836
|
});
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/** Preferred project-local Kibi env file (harness-independent). */
|
|
2
|
+
export declare const KIBI_PROJECT_ENV_FILE = ".env.kibi";
|
|
3
|
+
/** Legacy generic dotenv still loaded for compatibility only. */
|
|
4
|
+
export declare const KIBI_LEGACY_ENV_FILE = ".env";
|
|
5
|
+
export type EnvValueSource = "process" | "project_env" | "user_env" | "legacy_env" | "missing";
|
|
6
|
+
export type BootstrapKibiEnvironmentResult = Readonly<{
|
|
7
|
+
workspaceRoot: string;
|
|
8
|
+
userEnvPath: string;
|
|
9
|
+
projectEnvPath: string;
|
|
10
|
+
legacyEnvPath: string;
|
|
11
|
+
/** Attribution for keys present after bootstrap (never includes secret values). */
|
|
12
|
+
sources: Readonly<Record<string, EnvValueSource>>;
|
|
13
|
+
keysLoadedFromUser: readonly string[];
|
|
14
|
+
keysLoadedFromProject: readonly string[];
|
|
15
|
+
keysLoadedFromLegacy: readonly string[];
|
|
16
|
+
}>;
|
|
17
|
+
export type BootstrapKibiEnvironmentOptions = Readonly<{
|
|
18
|
+
env?: NodeJS.ProcessEnv;
|
|
19
|
+
startDir?: string;
|
|
20
|
+
homedir?: string;
|
|
21
|
+
/** Override XDG config home (defaults to env.XDG_CONFIG_HOME). */
|
|
22
|
+
xdgConfigHome?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Keys that were non-empty on the real process before any Kibi file load.
|
|
25
|
+
* Callers normally omit this; the first default-env bootstrap remembers it.
|
|
26
|
+
*/
|
|
27
|
+
initialNonEmptyProcessKeys?: ReadonlySet<string>;
|
|
28
|
+
}>;
|
|
29
|
+
type EnvEntry = Readonly<{
|
|
30
|
+
key: string;
|
|
31
|
+
value: string;
|
|
32
|
+
}>;
|
|
33
|
+
/**
|
|
34
|
+
* Test-only: clear remembered process-key snapshot and last bootstrap result.
|
|
35
|
+
*/
|
|
36
|
+
export declare function resetKibiEnvironmentBootstrapStateForTests(): void;
|
|
37
|
+
/**
|
|
38
|
+
* Last bootstrap against the real `process.env`, if any.
|
|
39
|
+
*/
|
|
40
|
+
export declare function getLastBootstrapResult(): BootstrapKibiEnvironmentResult | null;
|
|
41
|
+
/**
|
|
42
|
+
* Canonical workspace root for Kibi env files and KB attachment.
|
|
43
|
+
* Uses KIBI_WORKSPACE / KIBI_PROJECT_ROOT / KIBI_ROOT, then .kb / .git discovery.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveKibiWorkspaceRoot(startDir?: string, env?: NodeJS.ProcessEnv): string;
|
|
46
|
+
export declare function resolveEnvFilePath(envFileName: string, workspaceRoot: string): string;
|
|
47
|
+
/** User-wide Kibi env file: $XDG_CONFIG_HOME/kibi/env or ~/.config/kibi/env. */
|
|
48
|
+
export declare function resolveKibiUserEnvPath(options?: Readonly<{
|
|
49
|
+
homedir?: string;
|
|
50
|
+
xdgConfigHome?: string;
|
|
51
|
+
env?: NodeJS.ProcessEnv;
|
|
52
|
+
}>): string;
|
|
53
|
+
export declare function resolveKibiProjectEnvPath(workspaceRoot: string, env?: NodeJS.ProcessEnv): string;
|
|
54
|
+
export declare function parseEnvContent(content: string): EnvEntry[];
|
|
55
|
+
/**
|
|
56
|
+
* Load Kibi-owned env files into `process.env` (or an injectable env object).
|
|
57
|
+
* Blank values are treated as unset (never applied, never overwrite).
|
|
58
|
+
* Existing non-empty process keys are never overwritten. Project overrides user.
|
|
59
|
+
* Legacy `.env` only gap-fills and is attributed as `legacy_env`.
|
|
60
|
+
* Call only from CLI/MCP entrypoints — not on library import.
|
|
61
|
+
*/
|
|
62
|
+
export declare function bootstrapKibiEnvironment(options?: BootstrapKibiEnvironmentOptions): BootstrapKibiEnvironmentResult;
|
|
63
|
+
/**
|
|
64
|
+
* Resolve a secret source label from an actual bootstrap result.
|
|
65
|
+
* Never reconstructs attribution by re-reading files alone.
|
|
66
|
+
*/
|
|
67
|
+
export declare function secretSourceFromBootstrap(key: string, bootstrap: BootstrapKibiEnvironmentResult, env?: NodeJS.ProcessEnv): EnvValueSource;
|
|
68
|
+
export type InspectSecretSourceOptions = BootstrapKibiEnvironmentOptions & Readonly<{
|
|
69
|
+
/** @deprecated Prefer bootstrap result sources; kept for targeted tests. */
|
|
70
|
+
initialProcessKeys?: ReadonlySet<string>;
|
|
71
|
+
}>;
|
|
72
|
+
/**
|
|
73
|
+
* Read-only secret attribution via a dry bootstrap on an env snapshot.
|
|
74
|
+
* Prefer `secretSourceFromBootstrap` with the real entrypoint bootstrap result.
|
|
75
|
+
* Never returns secret values.
|
|
76
|
+
*/
|
|
77
|
+
export declare function inspectSecretSource(key: string, options?: InspectSecretSourceOptions): EnvValueSource;
|
|
78
|
+
/**
|
|
79
|
+
* Whether a secret is available for provider use (non-empty after resolution).
|
|
80
|
+
* Blank values are unset.
|
|
81
|
+
*/
|
|
82
|
+
export declare function isSecretAvailable(key: string, options?: InspectSecretSourceOptions): boolean;
|
|
83
|
+
export {};
|
|
84
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/env/bootstrap.ts"],"names":[],"mappings":"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"}
|