@fenglimg/fabric-server 2.3.0-rc.8 → 2.3.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/README.md +2 -1
- package/dist/index.d.ts +195 -119
- package/dist/index.js +7465 -6002
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -7,7 +7,8 @@ Fabric MCP knowledge server. Runs over stdio transport and serves Claude Code an
|
|
|
7
7
|
- `fab_recall` — single-step recall: returns candidate descriptions + native read paths (no body delivery over MCP; read a body on demand via a native Read of the returned path)
|
|
8
8
|
- `fab_archive_scan` — scan recent work for archive-worthy knowledge candidates
|
|
9
9
|
- `fab_propose` — persist a pending knowledge entry
|
|
10
|
-
- `
|
|
10
|
+
- `fab_pending` — read-only browse/search of pending + canonical knowledge (`list` / `search`)
|
|
11
|
+
- `fab_review` — write-only triage of pending knowledge (`approve` / `reject` / `modify` / `modify-content` / `modify-content-batch` / `modify-layer` / `defer` / `retire`)
|
|
11
12
|
|
|
12
13
|
## Install
|
|
13
14
|
|
package/dist/index.d.ts
CHANGED
|
@@ -32,6 +32,122 @@ type DoctorHealth = {
|
|
|
32
32
|
warnings: number;
|
|
33
33
|
};
|
|
34
34
|
};
|
|
35
|
+
type BacklogAgeMetric = {
|
|
36
|
+
count: number;
|
|
37
|
+
oldest_days: number | null;
|
|
38
|
+
median_age_days: number;
|
|
39
|
+
ages_days: number[];
|
|
40
|
+
};
|
|
41
|
+
declare function checkBacklogAge(projectRoot: string, nowMs?: number): Promise<BacklogAgeMetric>;
|
|
42
|
+
declare function renderBacklogAgeLine(metric: BacklogAgeMetric): string;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* doctor-types.ts — pure public report/check types for the doctor subsystem.
|
|
46
|
+
*
|
|
47
|
+
* Wave W1 extraction from doctor.ts (repo-hygiene-slim). No runtime logic —
|
|
48
|
+
* only type aliases. doctor.ts re-exports these for backward-compatible
|
|
49
|
+
* `import type { DoctorCheck } from "./doctor.js"` consumers.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
type DoctorStatus = "ok" | "warn" | "error";
|
|
53
|
+
type DoctorIssueKind = "fixable_error" | "manual_error" | "warning" | "info";
|
|
54
|
+
type DoctorCheck = {
|
|
55
|
+
name: string;
|
|
56
|
+
status: DoctorStatus;
|
|
57
|
+
message: string;
|
|
58
|
+
kind?: DoctorIssueKind;
|
|
59
|
+
code?: string;
|
|
60
|
+
fixable?: boolean;
|
|
61
|
+
actionHint?: string;
|
|
62
|
+
audience?: "user" | "maintainer";
|
|
63
|
+
};
|
|
64
|
+
type DoctorIssue = {
|
|
65
|
+
code: string;
|
|
66
|
+
name: string;
|
|
67
|
+
message: string;
|
|
68
|
+
path?: string;
|
|
69
|
+
actionHint?: string;
|
|
70
|
+
audience?: "user" | "maintainer";
|
|
71
|
+
};
|
|
72
|
+
type DoctorPayloadLimits = {
|
|
73
|
+
warn_bytes: number;
|
|
74
|
+
hard_bytes: number;
|
|
75
|
+
source: "default" | "config";
|
|
76
|
+
};
|
|
77
|
+
type DoctorSummary = {
|
|
78
|
+
target: string;
|
|
79
|
+
framework: {
|
|
80
|
+
kind: string;
|
|
81
|
+
version: string;
|
|
82
|
+
subkind: string;
|
|
83
|
+
};
|
|
84
|
+
entryPoints: Array<{
|
|
85
|
+
path: string;
|
|
86
|
+
reason: string;
|
|
87
|
+
}>;
|
|
88
|
+
metaRevision: string | null;
|
|
89
|
+
computedMetaRevision: string | null;
|
|
90
|
+
ruleCount: number;
|
|
91
|
+
eventLedgerPath: string;
|
|
92
|
+
fixableErrorCount: number;
|
|
93
|
+
manualErrorCount: number;
|
|
94
|
+
warningCount: number;
|
|
95
|
+
infoCount: number;
|
|
96
|
+
targetFiles: Record<string, boolean>;
|
|
97
|
+
payload_limits: DoctorPayloadLimits;
|
|
98
|
+
health: DoctorHealth;
|
|
99
|
+
};
|
|
100
|
+
type DoctorReport = {
|
|
101
|
+
status: DoctorStatus;
|
|
102
|
+
checks: DoctorCheck[];
|
|
103
|
+
fixable_errors: DoctorIssue[];
|
|
104
|
+
manual_errors: DoctorIssue[];
|
|
105
|
+
warnings: DoctorIssue[];
|
|
106
|
+
infos: DoctorIssue[];
|
|
107
|
+
summary: DoctorSummary;
|
|
108
|
+
};
|
|
109
|
+
type DoctorFixReport = {
|
|
110
|
+
changed: boolean;
|
|
111
|
+
fixed: DoctorIssue[];
|
|
112
|
+
remaining_manual_errors: DoctorIssue[];
|
|
113
|
+
warnings: DoctorIssue[];
|
|
114
|
+
message: string;
|
|
115
|
+
report: DoctorReport;
|
|
116
|
+
};
|
|
117
|
+
type DoctorApplyLintMutationKind = "knowledge_session_hints_stale_cleanup" | "store_counter_floor";
|
|
118
|
+
type DoctorApplyLintMutation = {
|
|
119
|
+
kind: DoctorApplyLintMutationKind;
|
|
120
|
+
path: string;
|
|
121
|
+
detail: string;
|
|
122
|
+
applied: boolean;
|
|
123
|
+
error?: string;
|
|
124
|
+
};
|
|
125
|
+
type DoctorApplyLintReport = {
|
|
126
|
+
changed: boolean;
|
|
127
|
+
mutations: DoctorApplyLintMutation[];
|
|
128
|
+
warnings: DoctorIssue[];
|
|
129
|
+
manual_errors: DoctorIssue[];
|
|
130
|
+
aborted: boolean;
|
|
131
|
+
abort_reason?: string;
|
|
132
|
+
message: string;
|
|
133
|
+
report: DoctorReport;
|
|
134
|
+
};
|
|
135
|
+
type EnrichDescriptionsMode = "auto" | "preview" | "readonly" | "interactive";
|
|
136
|
+
type EnrichDescriptionsCandidate = {
|
|
137
|
+
path: string;
|
|
138
|
+
missing: Array<"intent_clues" | "tech_stack" | "impact" | "must_read_if">;
|
|
139
|
+
modified: boolean;
|
|
140
|
+
added_fields: Array<"intent_clues" | "tech_stack" | "impact" | "must_read_if">;
|
|
141
|
+
error?: string;
|
|
142
|
+
};
|
|
143
|
+
type EnrichDescriptionsReport = {
|
|
144
|
+
mode: EnrichDescriptionsMode;
|
|
145
|
+
dryRun: boolean;
|
|
146
|
+
scanned: number;
|
|
147
|
+
modified: number;
|
|
148
|
+
skipped: number;
|
|
149
|
+
candidates: EnrichDescriptionsCandidate[];
|
|
150
|
+
};
|
|
35
151
|
|
|
36
152
|
declare function extractRuleDescription(source: string): RuleDescription | undefined;
|
|
37
153
|
|
|
@@ -44,7 +160,11 @@ interface AlwaysActiveBody {
|
|
|
44
160
|
/** description.summary — the overflow-degrade fallback when the body cannot
|
|
45
161
|
* fit the injection char budget (the budget is enforced hook-side, D10). */
|
|
46
162
|
summary: string;
|
|
47
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* ISS-20260713-014 / KT-DEC-0036: SessionStart wire is index-only.
|
|
165
|
+
* Body is empty on this path; full text via Read/fab_recall.
|
|
166
|
+
* Field retained for wire compatibility.
|
|
167
|
+
*/
|
|
48
168
|
body: string;
|
|
49
169
|
}
|
|
50
170
|
/**
|
|
@@ -80,6 +200,7 @@ interface KnowledgeCensus {
|
|
|
80
200
|
*/
|
|
81
201
|
declare function buildKnowledgeCensus(projectRoot: string): Promise<KnowledgeCensus>;
|
|
82
202
|
declare function buildAlwaysActiveBodies(projectRoot: string): Promise<AlwaysActiveBody[]>;
|
|
203
|
+
declare function computeReadSetRevision(projectRoot: string): Promise<string>;
|
|
83
204
|
interface StoreCanonicalEntry {
|
|
84
205
|
stableId: string;
|
|
85
206
|
qualifiedId: string;
|
|
@@ -169,6 +290,7 @@ type MetricsRow = {
|
|
|
169
290
|
* dual-write allowlist below.
|
|
170
291
|
*/
|
|
171
292
|
declare const METRIC_COUNTER_NAMES: {
|
|
293
|
+
readonly knowledge_body_read: "knowledge_body_read";
|
|
172
294
|
readonly knowledge_consumed: "knowledge_consumed";
|
|
173
295
|
readonly edit_intent_checked: "edit_intent_checked";
|
|
174
296
|
readonly knowledge_context_planned: "knowledge_context_planned";
|
|
@@ -253,6 +375,7 @@ declare function runDoctorCiteCoverage(projectRoot: string, options: {
|
|
|
253
375
|
until?: number;
|
|
254
376
|
recallWindowMs?: number;
|
|
255
377
|
}): Promise<CiteCoverageReport>;
|
|
378
|
+
|
|
256
379
|
type ArchiveHistoryEntry = {
|
|
257
380
|
session_id_short: string;
|
|
258
381
|
last_attempted_at: string;
|
|
@@ -288,109 +411,10 @@ declare function runDoctorHistoryAll(projectRoot: string, options: {
|
|
|
288
411
|
since: number;
|
|
289
412
|
}): Promise<HistoryAllReport>;
|
|
290
413
|
|
|
291
|
-
type DoctorStatus = "ok" | "warn" | "error";
|
|
292
|
-
type DoctorIssueKind = "fixable_error" | "manual_error" | "warning" | "info";
|
|
293
|
-
type DoctorCheck = {
|
|
294
|
-
name: string;
|
|
295
|
-
status: DoctorStatus;
|
|
296
|
-
message: string;
|
|
297
|
-
kind?: DoctorIssueKind;
|
|
298
|
-
code?: string;
|
|
299
|
-
fixable?: boolean;
|
|
300
|
-
actionHint?: string;
|
|
301
|
-
audience?: "user" | "maintainer";
|
|
302
|
-
};
|
|
303
|
-
type DoctorIssue = {
|
|
304
|
-
code: string;
|
|
305
|
-
name: string;
|
|
306
|
-
message: string;
|
|
307
|
-
path?: string;
|
|
308
|
-
actionHint?: string;
|
|
309
|
-
audience?: "user" | "maintainer";
|
|
310
|
-
};
|
|
311
|
-
type DoctorPayloadLimits = {
|
|
312
|
-
warn_bytes: number;
|
|
313
|
-
hard_bytes: number;
|
|
314
|
-
source: "default" | "config";
|
|
315
|
-
};
|
|
316
|
-
type DoctorSummary = {
|
|
317
|
-
target: string;
|
|
318
|
-
framework: {
|
|
319
|
-
kind: string;
|
|
320
|
-
version: string;
|
|
321
|
-
subkind: string;
|
|
322
|
-
};
|
|
323
|
-
entryPoints: Array<{
|
|
324
|
-
path: string;
|
|
325
|
-
reason: string;
|
|
326
|
-
}>;
|
|
327
|
-
metaRevision: string | null;
|
|
328
|
-
computedMetaRevision: string | null;
|
|
329
|
-
ruleCount: number;
|
|
330
|
-
eventLedgerPath: string;
|
|
331
|
-
fixableErrorCount: number;
|
|
332
|
-
manualErrorCount: number;
|
|
333
|
-
warningCount: number;
|
|
334
|
-
infoCount: number;
|
|
335
|
-
targetFiles: Record<string, boolean>;
|
|
336
|
-
payload_limits: DoctorPayloadLimits;
|
|
337
|
-
health: DoctorHealth;
|
|
338
|
-
};
|
|
339
|
-
type DoctorReport = {
|
|
340
|
-
status: DoctorStatus;
|
|
341
|
-
checks: DoctorCheck[];
|
|
342
|
-
fixable_errors: DoctorIssue[];
|
|
343
|
-
manual_errors: DoctorIssue[];
|
|
344
|
-
warnings: DoctorIssue[];
|
|
345
|
-
infos: DoctorIssue[];
|
|
346
|
-
summary: DoctorSummary;
|
|
347
|
-
};
|
|
348
|
-
type DoctorFixReport = {
|
|
349
|
-
changed: boolean;
|
|
350
|
-
fixed: DoctorIssue[];
|
|
351
|
-
remaining_manual_errors: DoctorIssue[];
|
|
352
|
-
warnings: DoctorIssue[];
|
|
353
|
-
message: string;
|
|
354
|
-
report: DoctorReport;
|
|
355
|
-
};
|
|
356
|
-
type DoctorApplyLintMutationKind = "knowledge_orphan_demote_required" | "knowledge_stale_archive_required" | "knowledge_index_drift" | "knowledge_pending_auto_archive" | "knowledge_session_hints_stale_cleanup" | "knowledge_relevance_fields_missing";
|
|
357
|
-
type DoctorApplyLintMutation = {
|
|
358
|
-
kind: DoctorApplyLintMutationKind;
|
|
359
|
-
path: string;
|
|
360
|
-
detail: string;
|
|
361
|
-
applied: boolean;
|
|
362
|
-
error?: string;
|
|
363
|
-
};
|
|
364
|
-
type DoctorApplyLintReport = {
|
|
365
|
-
changed: boolean;
|
|
366
|
-
mutations: DoctorApplyLintMutation[];
|
|
367
|
-
warnings: DoctorIssue[];
|
|
368
|
-
manual_errors: DoctorIssue[];
|
|
369
|
-
aborted: boolean;
|
|
370
|
-
abort_reason?: string;
|
|
371
|
-
message: string;
|
|
372
|
-
report: DoctorReport;
|
|
373
|
-
};
|
|
374
414
|
declare function runDoctorReport(target: string): Promise<DoctorReport>;
|
|
375
415
|
declare function runDoctorFix(target: string): Promise<DoctorFixReport>;
|
|
376
416
|
declare function runDoctorApplyLint(target: string): Promise<DoctorApplyLintReport>;
|
|
377
417
|
|
|
378
|
-
type EnrichDescriptionsMode = "auto" | "preview" | "readonly" | "interactive";
|
|
379
|
-
type EnrichDescriptionsCandidate = {
|
|
380
|
-
path: string;
|
|
381
|
-
missing: Array<"intent_clues" | "tech_stack" | "impact" | "must_read_if">;
|
|
382
|
-
modified: boolean;
|
|
383
|
-
added_fields: Array<"intent_clues" | "tech_stack" | "impact" | "must_read_if">;
|
|
384
|
-
error?: string;
|
|
385
|
-
};
|
|
386
|
-
type EnrichDescriptionsReport = {
|
|
387
|
-
mode: EnrichDescriptionsMode;
|
|
388
|
-
dryRun: boolean;
|
|
389
|
-
scanned: number;
|
|
390
|
-
modified: number;
|
|
391
|
-
skipped: number;
|
|
392
|
-
candidates: EnrichDescriptionsCandidate[];
|
|
393
|
-
};
|
|
394
418
|
declare function enrichDescriptions(projectRoot: string, opts?: {
|
|
395
419
|
auto?: boolean;
|
|
396
420
|
dryRun?: boolean;
|
|
@@ -646,6 +670,12 @@ declare function explainWhyNotSurfaced(projectRoot: string, query: string): Prom
|
|
|
646
670
|
*/
|
|
647
671
|
declare function extractKnowledge(projectRoot: string, input: FabExtractKnowledgeInput): Promise<FabExtractKnowledgeOutput>;
|
|
648
672
|
|
|
673
|
+
/**
|
|
674
|
+
* fab_review / fab_pending facade (ISS-20260713-013).
|
|
675
|
+
* Action implementations live in review-write-actions / review-search;
|
|
676
|
+
* path/sandbox/list helpers in review-shared; frontmatter in review-frontmatter.
|
|
677
|
+
*/
|
|
678
|
+
|
|
649
679
|
/**
|
|
650
680
|
* v2.0 rc.3 fab_review service (W3-K K2: WRITE-only).
|
|
651
681
|
*
|
|
@@ -892,6 +922,26 @@ declare function readEventLedger(projectRoot: string, options?: ReadEventLedgerO
|
|
|
892
922
|
*/
|
|
893
923
|
declare function flushAndSyncEventLedger(projectRoot: string): void;
|
|
894
924
|
|
|
925
|
+
/**
|
|
926
|
+
* ISS-20260713-011: selection_token mint / LRU cache for plan-context.
|
|
927
|
+
*/
|
|
928
|
+
type SelectionTokenState = {
|
|
929
|
+
token: string;
|
|
930
|
+
revision_hash: string;
|
|
931
|
+
target_paths: string[];
|
|
932
|
+
required_stable_ids: string[];
|
|
933
|
+
ai_selectable_stable_ids: string[];
|
|
934
|
+
created_at: number;
|
|
935
|
+
expires_at: number;
|
|
936
|
+
};
|
|
937
|
+
declare function readSelectionToken(token: string, now?: number): SelectionTokenState | undefined;
|
|
938
|
+
|
|
939
|
+
/**
|
|
940
|
+
* planContext facade (ISS-20260713-011).
|
|
941
|
+
* Scoring / BM25 cache / selection-token live in dedicated modules;
|
|
942
|
+
* this file orchestrates the plan-context pipeline and re-exports the public API.
|
|
943
|
+
*/
|
|
944
|
+
|
|
895
945
|
type PlanContextInput = {
|
|
896
946
|
paths: string[];
|
|
897
947
|
intent?: string;
|
|
@@ -958,17 +1008,7 @@ type PlanContextResult = {
|
|
|
958
1008
|
/** Internal service→tool signal; stripped before MCP output. */
|
|
959
1009
|
payload_over_budget?: boolean;
|
|
960
1010
|
};
|
|
961
|
-
type SelectionTokenState = {
|
|
962
|
-
token: string;
|
|
963
|
-
revision_hash: string;
|
|
964
|
-
target_paths: string[];
|
|
965
|
-
required_stable_ids: string[];
|
|
966
|
-
ai_selectable_stable_ids: string[];
|
|
967
|
-
created_at: number;
|
|
968
|
-
expires_at: number;
|
|
969
|
-
};
|
|
970
1011
|
declare function planContext(projectRoot: string, input: PlanContextInput): Promise<PlanContextResult>;
|
|
971
|
-
declare function readSelectionToken(token: string, now?: number): SelectionTokenState | undefined;
|
|
972
1012
|
|
|
973
1013
|
type RecallInput = PlanContextInput & {
|
|
974
1014
|
/**
|
|
@@ -987,25 +1027,35 @@ type RecallInput = PlanContextInput & {
|
|
|
987
1027
|
* (W1-3 / KT-DEC-0031: surface the related id, do not fetch its body).
|
|
988
1028
|
*/
|
|
989
1029
|
include_related?: boolean;
|
|
1030
|
+
/**
|
|
1031
|
+
* TASK-006 (KT-PIT-0036 observability opt-in): when true, populate
|
|
1032
|
+
* `entry.score_breakdown` with the numbers-only signal decomposition
|
|
1033
|
+
* (bm25/vector/salience/recency/locality/proximity/credibility → final).
|
|
1034
|
+
* Off by default for wire efficiency. Enable when debugging ranking or tuning
|
|
1035
|
+
* scoring weights. The final===score invariant is enforced at the plan-context
|
|
1036
|
+
* service layer (candidate_scores Map) regardless of this flag.
|
|
1037
|
+
*/
|
|
1038
|
+
include_score_breakdown?: boolean;
|
|
990
1039
|
};
|
|
991
1040
|
type FullRuleDescription = PlanContextResult["candidates"][number]["description"];
|
|
992
|
-
type RecallEntryDescription = Pick<FullRuleDescription, "summary"
|
|
1041
|
+
type RecallEntryDescription = Pick<FullRuleDescription, "summary"> & Partial<Pick<FullRuleDescription, "must_read_if" | "impact" | "knowledge_type">>;
|
|
993
1042
|
type RecallEntry = {
|
|
994
1043
|
stable_id: string;
|
|
995
|
-
rank: number;
|
|
996
1044
|
description: RecallEntryDescription;
|
|
997
1045
|
read_path?: string;
|
|
998
|
-
|
|
999
|
-
alias: string;
|
|
1000
|
-
};
|
|
1046
|
+
store_alias?: string;
|
|
1001
1047
|
body_in_context?: boolean;
|
|
1002
|
-
score?: number;
|
|
1003
1048
|
score_breakdown?: RecallScoreBreakdown;
|
|
1004
1049
|
};
|
|
1005
|
-
type RecallResult = Omit<PlanContextResult, "selection_token" | "payload_trimmed" | "payload_over_budget" | "entries" | "candidates" | "candidate_scores"> & {
|
|
1050
|
+
type RecallResult = Omit<PlanContextResult, "selection_token" | "payload_trimmed" | "payload_over_budget" | "entries" | "candidates" | "candidate_scores" | "stale" | "intent" | "dropped" | "preflight_diagnostics"> & {
|
|
1006
1051
|
entries: RecallEntry[];
|
|
1007
|
-
directive: string;
|
|
1008
1052
|
next_steps?: string[];
|
|
1053
|
+
dropped_ids?: string[];
|
|
1054
|
+
dropped_reasons?: {
|
|
1055
|
+
retrieval_budget?: number;
|
|
1056
|
+
payload_budget?: number;
|
|
1057
|
+
};
|
|
1058
|
+
preflight_diagnostics?: PreflightDiagnostic[];
|
|
1009
1059
|
};
|
|
1010
1060
|
declare function recall(projectRoot: string, input: RecallInput): Promise<RecallResult>;
|
|
1011
1061
|
|
|
@@ -1123,7 +1173,33 @@ declare const AGENTS_MD_RESOURCE_URI = "fabric://bootstrap-readme";
|
|
|
1123
1173
|
declare function formatPreexistingRootMessage(projectRoot: string): string | null;
|
|
1124
1174
|
|
|
1125
1175
|
declare const FABRIC_SERVER_INSTRUCTIONS: string;
|
|
1176
|
+
declare function buildServerInstructions(projectRoot: string): string;
|
|
1126
1177
|
declare function createFabricServer(tracker?: InFlightTracker): McpServer;
|
|
1178
|
+
/**
|
|
1179
|
+
* The slice of the MCP `Server` the roots adoption consumes — injectable so
|
|
1180
|
+
* tests can drive it without a live transport.
|
|
1181
|
+
*/
|
|
1182
|
+
interface McpRootsSource {
|
|
1183
|
+
getClientCapabilities(): {
|
|
1184
|
+
roots?: unknown;
|
|
1185
|
+
} | undefined;
|
|
1186
|
+
listRoots(): Promise<{
|
|
1187
|
+
roots: Array<{
|
|
1188
|
+
uri?: string;
|
|
1189
|
+
}>;
|
|
1190
|
+
}>;
|
|
1191
|
+
}
|
|
1192
|
+
/**
|
|
1193
|
+
* ISS werewolf-minigame (rootless MCP spawn, KT-PIT-0046): fetch the client's
|
|
1194
|
+
* workspace roots (when the client declares the `roots` capability) and record
|
|
1195
|
+
* them as project-root candidates via `setMcpRootsHint`. Returns the accepted
|
|
1196
|
+
* absolute paths ([] when the capability is absent or the fetch fails —
|
|
1197
|
+
* best-effort, never sinks startup). Called from `oninitialized`; the
|
|
1198
|
+
* env > CLAUDE_PROJECT_DIR > roots > cwd priority lives in
|
|
1199
|
+
* `resolveProjectRoot`, which every tool call re-runs, so adoption heals
|
|
1200
|
+
* subsequent calls without a restart.
|
|
1201
|
+
*/
|
|
1202
|
+
declare function adoptMcpClientRoots(source: McpRootsSource): Promise<string[]>;
|
|
1127
1203
|
declare function startStdioServer(): Promise<void>;
|
|
1128
1204
|
/**
|
|
1129
1205
|
* Dependencies for the shutdown handler factory. Tests inject `exit` to assert
|
|
@@ -1149,4 +1225,4 @@ interface ShutdownHandlerDeps {
|
|
|
1149
1225
|
*/
|
|
1150
1226
|
declare function createShutdownHandler(deps: ShutdownHandlerDeps): () => void;
|
|
1151
1227
|
|
|
1152
|
-
export { AGENTS_MD_RESOURCE_URI, type AlwaysActiveBody, type ArchiveHistoryEntry, type ArchiveHistoryReport, COLD_EVAL_RUBRIC, type CiteCoverageReport, type ColdEvalBatch, type ColdEvalCandidate, type ColdEvalVerdict, type ConflictEntry, type ConflictJudge, type ConflictLintReport, type ConflictPair, type ConflictVerdict, type ConsumptionEntry, type ConsumptionInspection, type ConsumptionLintConfig, DEFAULT_CONFLICT_SIMILARITY_THRESHOLD, type DoctorApplyLintMutation, type DoctorApplyLintMutationKind, type DoctorApplyLintReport, type DoctorFixReport, type DoctorIssue, type DoctorReport, EVENT_LEDGER_PATH, type EnrichDescriptionsCandidate, type EnrichDescriptionsMode, type EnrichDescriptionsReport, FABRIC_SERVER_INSTRUCTIONS, type HistoryAllReport, type HistoryDayRow, type InFlightTracker, type KnowledgeCensus, LEDGER_PATH, LEGACY_LEDGER_PATH, METRICS_LEDGER_PATH, METRIC_COUNTER_NAMES, type MetricCounterName, type MetricsRow, OPTIONAL_EMBED_PACKAGE, type PlanContextInput, type PlanContextResult, type PrecheckResult, RETIRED_TOKENS, type RecallInput, type RecallResult, type RelatedBrokenLink, type RelatedGraphInspection, type RelatedGraphNode, type RelatedHubEntry, type RequirementProfile, type RetiredReferenceHit, type RetiredReferenceInspection, type RetiredToken, type SelectionTokenState, type ShutdownHandlerDeps, type StoreCanonicalEntry, type StoreReachability, type SurfaceVerdict, type UnboundProjectViolation, type WhyNotSurfacedResult, aggregateConsumption, appendEventLedgerEvent, buildAlwaysActiveBodies, buildColdEvalBatch, buildKnowledgeCensus, buildRelatedGraph, bumpCounter, clearPrecheckCache, collectStoreCanonicalEntries, contextCache, createFabricServer, createInFlightTracker, createShutdownHandler, defaultEmbedCacheDir, detectUnboundProject, drainCounters, enrichDescriptions, evaluateStoreDir, explainWhyNotSurfaced, extractKnowledge, findConflictCandidates, flushAndSyncEventLedger, flushMetrics, formatPreexistingRootMessage, getEventLedgerPath, getLedgerPath, getLegacyLedgerPath, getMetricsLedgerPath, inspectConsumption, inspectRelatedGraph, inspectRetiredReferences, isEmbedderResolvable, lintConflicts, loadConflictEntries, loadEmbedder, pairSimilarity, planContext, precheckStoreReachability, readEmbedConfig, readEventLedger, readFusion, readLedger, readMetrics, readSelectionToken, recall, rehydrateAgentsMetaAt, resolveLedgerPaths, reviewKnowledge, reviewPending, runDoctorApplyLint, runDoctorArchiveHistory, runDoctorCiteCoverage, runDoctorConflictLint, runDoctorFix, runDoctorHistoryAll, runDoctorReport, startMetricsFlush, startRotationTick, startStdioServer, stopMetricsFlush, stopRotationTick };
|
|
1228
|
+
export { AGENTS_MD_RESOURCE_URI, type AlwaysActiveBody, type ArchiveHistoryEntry, type ArchiveHistoryReport, type BacklogAgeMetric, COLD_EVAL_RUBRIC, type CiteCoverageReport, type ColdEvalBatch, type ColdEvalCandidate, type ColdEvalVerdict, type ConflictEntry, type ConflictJudge, type ConflictLintReport, type ConflictPair, type ConflictVerdict, type ConsumptionEntry, type ConsumptionInspection, type ConsumptionLintConfig, DEFAULT_CONFLICT_SIMILARITY_THRESHOLD, type DoctorApplyLintMutation, type DoctorApplyLintMutationKind, type DoctorApplyLintReport, type DoctorFixReport, type DoctorIssue, type DoctorReport, EVENT_LEDGER_PATH, type EnrichDescriptionsCandidate, type EnrichDescriptionsMode, type EnrichDescriptionsReport, FABRIC_SERVER_INSTRUCTIONS, type HistoryAllReport, type HistoryDayRow, type InFlightTracker, type KnowledgeCensus, LEDGER_PATH, LEGACY_LEDGER_PATH, METRICS_LEDGER_PATH, METRIC_COUNTER_NAMES, type McpRootsSource, type MetricCounterName, type MetricsRow, OPTIONAL_EMBED_PACKAGE, type PlanContextInput, type PlanContextResult, type PrecheckResult, RETIRED_TOKENS, type RecallInput, type RecallResult, type RelatedBrokenLink, type RelatedGraphInspection, type RelatedGraphNode, type RelatedHubEntry, type RequirementProfile, type RetiredReferenceHit, type RetiredReferenceInspection, type RetiredToken, type SelectionTokenState, type ShutdownHandlerDeps, type StoreCanonicalEntry, type StoreReachability, type SurfaceVerdict, type UnboundProjectViolation, type WhyNotSurfacedResult, adoptMcpClientRoots, aggregateConsumption, appendEventLedgerEvent, buildAlwaysActiveBodies, buildColdEvalBatch, buildKnowledgeCensus, buildRelatedGraph, buildServerInstructions, bumpCounter, checkBacklogAge, clearPrecheckCache, collectStoreCanonicalEntries, computeReadSetRevision, contextCache, createFabricServer, createInFlightTracker, createShutdownHandler, defaultEmbedCacheDir, detectUnboundProject, drainCounters, enrichDescriptions, evaluateStoreDir, explainWhyNotSurfaced, extractKnowledge, findConflictCandidates, flushAndSyncEventLedger, flushMetrics, formatPreexistingRootMessage, getEventLedgerPath, getLedgerPath, getLegacyLedgerPath, getMetricsLedgerPath, inspectConsumption, inspectRelatedGraph, inspectRetiredReferences, isEmbedderResolvable, lintConflicts, loadConflictEntries, loadEmbedder, pairSimilarity, planContext, precheckStoreReachability, readEmbedConfig, readEventLedger, readFusion, readLedger, readMetrics, readSelectionToken, recall, rehydrateAgentsMetaAt, renderBacklogAgeLine, resolveLedgerPaths, reviewKnowledge, reviewPending, runDoctorApplyLint, runDoctorArchiveHistory, runDoctorCiteCoverage, runDoctorConflictLint, runDoctorFix, runDoctorHistoryAll, runDoctorReport, startMetricsFlush, startRotationTick, startStdioServer, stopMetricsFlush, stopRotationTick };
|