daftari 1.30.0 → 1.31.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/CHANGELOG.md +106 -0
- package/README.md +139 -4
- package/dist/access/rbac.d.ts +1 -0
- package/dist/access/rbac.d.ts.map +1 -1
- package/dist/access/rbac.js +7 -0
- package/dist/access/rbac.js.map +1 -1
- package/dist/audit/checks/broken_refs.d.ts +1 -1
- package/dist/audit/checks/broken_refs.d.ts.map +1 -1
- package/dist/audit/checks/broken_refs.js +77 -22
- package/dist/audit/checks/broken_refs.js.map +1 -1
- package/dist/audit/collect.d.ts +1 -0
- package/dist/audit/collect.d.ts.map +1 -1
- package/dist/audit/collect.js +22 -2
- package/dist/audit/collect.js.map +1 -1
- package/dist/audit/index.d.ts.map +1 -1
- package/dist/audit/index.js +9 -3
- package/dist/audit/index.js.map +1 -1
- package/dist/audit/links.d.ts.map +1 -1
- package/dist/audit/links.js +9 -3
- package/dist/audit/links.js.map +1 -1
- package/dist/audit/report.d.ts.map +1 -1
- package/dist/audit/report.js +2 -0
- package/dist/audit/report.js.map +1 -1
- package/dist/audit/types.d.ts +4 -1
- package/dist/audit/types.d.ts.map +1 -1
- package/dist/audit/types.js.map +1 -1
- package/dist/backfill/derive.d.ts.map +1 -1
- package/dist/backfill/derive.js +1 -0
- package/dist/backfill/derive.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +18 -0
- package/dist/cli.js.map +1 -1
- package/dist/court/precedent.d.ts.map +1 -1
- package/dist/court/precedent.js +6 -1
- package/dist/court/precedent.js.map +1 -1
- package/dist/curation/consumes.d.ts +24 -0
- package/dist/curation/consumes.d.ts.map +1 -0
- package/dist/curation/consumes.js +122 -0
- package/dist/curation/consumes.js.map +1 -0
- package/dist/curation/edge-staleness.d.ts +47 -0
- package/dist/curation/edge-staleness.d.ts.map +1 -0
- package/dist/curation/edge-staleness.js +258 -0
- package/dist/curation/edge-staleness.js.map +1 -0
- package/dist/curation/edges.d.ts.map +1 -1
- package/dist/curation/edges.js +164 -10
- package/dist/curation/edges.js.map +1 -1
- package/dist/curation/lint.d.ts +4 -1
- package/dist/curation/lint.d.ts.map +1 -1
- package/dist/curation/lint.js +61 -6
- package/dist/curation/lint.js.map +1 -1
- package/dist/curation/provenance.d.ts +2 -0
- package/dist/curation/provenance.d.ts.map +1 -1
- package/dist/curation/provenance.js +2 -0
- package/dist/curation/provenance.js.map +1 -1
- package/dist/curation/read-log.d.ts +19 -0
- package/dist/curation/read-log.d.ts.map +1 -0
- package/dist/curation/read-log.js +120 -0
- package/dist/curation/read-log.js.map +1 -0
- package/dist/curation/review-throughput.d.ts +24 -0
- package/dist/curation/review-throughput.d.ts.map +1 -0
- package/dist/curation/review-throughput.js +102 -0
- package/dist/curation/review-throughput.js.map +1 -0
- package/dist/curation/staged-actions.d.ts +11 -1
- package/dist/curation/staged-actions.d.ts.map +1 -1
- package/dist/curation/staged-actions.js +102 -24
- package/dist/curation/staged-actions.js.map +1 -1
- package/dist/curation/structural.d.ts +16 -0
- package/dist/curation/structural.d.ts.map +1 -0
- package/dist/curation/structural.js +64 -0
- package/dist/curation/structural.js.map +1 -0
- package/dist/curation/tension-blast.d.ts +4 -0
- package/dist/curation/tension-blast.d.ts.map +1 -1
- package/dist/curation/tension-blast.js +9 -0
- package/dist/curation/tension-blast.js.map +1 -1
- package/dist/curation/tension.d.ts +5 -2
- package/dist/curation/tension.d.ts.map +1 -1
- package/dist/curation/tension.js +68 -25
- package/dist/curation/tension.js.map +1 -1
- package/dist/curation/tier0.d.ts +27 -0
- package/dist/curation/tier0.d.ts.map +1 -0
- package/dist/curation/tier0.js +196 -0
- package/dist/curation/tier0.js.map +1 -0
- package/dist/curation/tier1.d.ts +30 -0
- package/dist/curation/tier1.d.ts.map +1 -0
- package/dist/curation/tier1.js +142 -0
- package/dist/curation/tier1.js.map +1 -0
- package/dist/curation/tier2.d.ts +43 -0
- package/dist/curation/tier2.d.ts.map +1 -0
- package/dist/curation/tier2.js +182 -0
- package/dist/curation/tier2.js.map +1 -0
- package/dist/curation/vault-docs.d.ts +5 -1
- package/dist/curation/vault-docs.d.ts.map +1 -1
- package/dist/curation/vault-docs.js +14 -0
- package/dist/curation/vault-docs.js.map +1 -1
- package/dist/eval/generate.js +22 -5
- package/dist/eval/generate.js.map +1 -1
- package/dist/eval/index.d.ts.map +1 -1
- package/dist/eval/index.js +173 -25
- package/dist/eval/index.js.map +1 -1
- package/dist/eval/llm.js +1 -1
- package/dist/eval/llm.js.map +1 -1
- package/dist/eval/prune.d.ts +24 -0
- package/dist/eval/prune.d.ts.map +1 -0
- package/dist/eval/prune.js +83 -0
- package/dist/eval/prune.js.map +1 -0
- package/dist/eval/storage.d.ts +3 -0
- package/dist/eval/storage.d.ts.map +1 -1
- package/dist/eval/storage.js +14 -0
- package/dist/eval/storage.js.map +1 -1
- package/dist/frontmatter/schema.d.ts.map +1 -1
- package/dist/frontmatter/schema.js +19 -1
- package/dist/frontmatter/schema.js.map +1 -1
- package/dist/frontmatter/types.d.ts +4 -1
- package/dist/frontmatter/types.d.ts.map +1 -1
- package/dist/frontmatter/types.js +8 -0
- package/dist/frontmatter/types.js.map +1 -1
- package/dist/import/index.d.ts.map +1 -1
- package/dist/import/index.js +44 -9
- package/dist/import/index.js.map +1 -1
- package/dist/import/langgraph-store.d.ts +53 -0
- package/dist/import/langgraph-store.d.ts.map +1 -0
- package/dist/import/langgraph-store.js +292 -0
- package/dist/import/langgraph-store.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +56 -18
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/lock.d.ts +9 -1
- package/dist/lifecycle/lock.d.ts.map +1 -1
- package/dist/lifecycle/lock.js +34 -9
- package/dist/lifecycle/lock.js.map +1 -1
- package/dist/okf/export.d.ts +12 -0
- package/dist/okf/export.d.ts.map +1 -0
- package/dist/okf/export.js +115 -0
- package/dist/okf/export.js.map +1 -0
- package/dist/okf/import.d.ts +24 -0
- package/dist/okf/import.d.ts.map +1 -0
- package/dist/okf/import.js +107 -0
- package/dist/okf/import.js.map +1 -0
- package/dist/okf/index.d.ts +2 -0
- package/dist/okf/index.d.ts.map +1 -0
- package/dist/okf/index.js +147 -0
- package/dist/okf/index.js.map +1 -0
- package/dist/okf/map.d.ts +16 -0
- package/dist/okf/map.d.ts.map +1 -0
- package/dist/okf/map.js +149 -0
- package/dist/okf/map.js.map +1 -0
- package/dist/okf/types.d.ts +9 -0
- package/dist/okf/types.d.ts.map +1 -0
- package/dist/okf/types.js +48 -0
- package/dist/okf/types.js.map +1 -0
- package/dist/search/coverage.d.ts.map +1 -1
- package/dist/search/coverage.js +1 -1
- package/dist/search/coverage.js.map +1 -1
- package/dist/search/hybrid.d.ts +19 -0
- package/dist/search/hybrid.d.ts.map +1 -1
- package/dist/search/hybrid.js +58 -10
- package/dist/search/hybrid.js.map +1 -1
- package/dist/search/reindex.d.ts +1 -0
- package/dist/search/reindex.d.ts.map +1 -1
- package/dist/search/reindex.js +41 -11
- package/dist/search/reindex.js.map +1 -1
- package/dist/search/watcher.d.ts +2 -0
- package/dist/search/watcher.d.ts.map +1 -1
- package/dist/search/watcher.js +21 -10
- package/dist/search/watcher.js.map +1 -1
- package/dist/serve/index.d.ts +36 -0
- package/dist/serve/index.d.ts.map +1 -0
- package/dist/serve/index.js +507 -0
- package/dist/serve/index.js.map +1 -0
- package/dist/server.d.ts +10 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +89 -14
- package/dist/server.js.map +1 -1
- package/dist/sleep/index.d.ts +2 -0
- package/dist/sleep/index.d.ts.map +1 -1
- package/dist/sleep/index.js +212 -21
- package/dist/sleep/index.js.map +1 -1
- package/dist/sleep/report.d.ts +3 -0
- package/dist/sleep/report.d.ts.map +1 -1
- package/dist/sleep/report.js +52 -0
- package/dist/sleep/report.js.map +1 -1
- package/dist/sleep/tension-scan-state.d.ts +19 -0
- package/dist/sleep/tension-scan-state.d.ts.map +1 -0
- package/dist/sleep/tension-scan-state.js +0 -0
- package/dist/sleep/tension-scan-state.js.map +1 -0
- package/dist/sleep/tension-scan.d.ts +44 -0
- package/dist/sleep/tension-scan.d.ts.map +1 -0
- package/dist/sleep/tension-scan.js +0 -0
- package/dist/sleep/tension-scan.js.map +1 -0
- package/dist/storage/backend.d.ts +12 -0
- package/dist/storage/backend.d.ts.map +1 -0
- package/dist/storage/backend.js +231 -0
- package/dist/storage/backend.js.map +1 -0
- package/dist/storage/backends/fs.d.ts +4 -0
- package/dist/storage/backends/fs.d.ts.map +1 -0
- package/dist/storage/backends/fs.js +99 -0
- package/dist/storage/backends/fs.js.map +1 -0
- package/dist/storage/fs-walk.d.ts +5 -0
- package/dist/storage/fs-walk.d.ts.map +1 -0
- package/dist/storage/fs-walk.js +28 -0
- package/dist/storage/fs-walk.js.map +1 -0
- package/dist/storage/index-db.d.ts +16 -0
- package/dist/storage/index-db.d.ts.map +1 -1
- package/dist/storage/index-db.js +94 -5
- package/dist/storage/index-db.js.map +1 -1
- package/dist/storage/local.d.ts +1 -0
- package/dist/storage/local.d.ts.map +1 -1
- package/dist/storage/local.js +12 -0
- package/dist/storage/local.js.map +1 -1
- package/dist/storage/sync.d.ts +25 -0
- package/dist/storage/sync.d.ts.map +1 -0
- package/dist/storage/sync.js +308 -0
- package/dist/storage/sync.js.map +1 -0
- package/dist/sync/index.d.ts +2 -0
- package/dist/sync/index.d.ts.map +1 -0
- package/dist/sync/index.js +136 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/themes/clustering.d.ts +6 -11
- package/dist/themes/clustering.d.ts.map +1 -1
- package/dist/themes/clustering.js +76 -84
- package/dist/themes/clustering.js.map +1 -1
- package/dist/tools/consumes.d.ts +14 -0
- package/dist/tools/consumes.d.ts.map +1 -0
- package/dist/tools/consumes.js +99 -0
- package/dist/tools/consumes.js.map +1 -0
- package/dist/tools/curation.d.ts +2 -0
- package/dist/tools/curation.d.ts.map +1 -1
- package/dist/tools/curation.js +53 -15
- package/dist/tools/curation.js.map +1 -1
- package/dist/tools/edge-staleness.d.ts +28 -0
- package/dist/tools/edge-staleness.d.ts.map +1 -0
- package/dist/tools/edge-staleness.js +205 -0
- package/dist/tools/edge-staleness.js.map +1 -0
- package/dist/tools/edges.d.ts.map +1 -1
- package/dist/tools/edges.js +27 -21
- package/dist/tools/edges.js.map +1 -1
- package/dist/tools/read.d.ts +15 -1
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +142 -29
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/receipt.d.ts.map +1 -1
- package/dist/tools/receipt.js +16 -7
- package/dist/tools/receipt.js.map +1 -1
- package/dist/tools/search.d.ts +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +147 -5
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/staged-actions.d.ts +3 -0
- package/dist/tools/staged-actions.d.ts.map +1 -1
- package/dist/tools/staged-actions.js +227 -22
- package/dist/tools/staged-actions.js.map +1 -1
- package/dist/tools/themes.d.ts +8 -0
- package/dist/tools/themes.d.ts.map +1 -1
- package/dist/tools/themes.js +208 -122
- package/dist/tools/themes.js.map +1 -1
- package/dist/tools/tier1.d.ts +14 -0
- package/dist/tools/tier1.d.ts.map +1 -0
- package/dist/tools/tier1.js +169 -0
- package/dist/tools/tier1.js.map +1 -0
- package/dist/tools/tier2.d.ts +27 -0
- package/dist/tools/tier2.d.ts.map +1 -0
- package/dist/tools/tier2.js +344 -0
- package/dist/tools/tier2.js.map +1 -0
- package/dist/tools/write.d.ts +9 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +492 -6
- package/dist/tools/write.js.map +1 -1
- package/dist/utils/config.d.ts +52 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +372 -2
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/run-id.d.ts +3 -0
- package/dist/utils/run-id.d.ts.map +1 -0
- package/dist/utils/run-id.js +19 -0
- package/dist/utils/run-id.js.map +1 -0
- package/dist/utils/vault-gitignore.d.ts +1 -1
- package/dist/utils/vault-gitignore.d.ts.map +1 -1
- package/dist/utils/vault-gitignore.js +4 -1
- package/dist/utils/vault-gitignore.js.map +1 -1
- package/package.json +21 -1
- package/templates/config.yaml +8 -0
package/dist/server.js
CHANGED
|
@@ -8,13 +8,17 @@ import { readFileSync } from "node:fs";
|
|
|
8
8
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
9
9
|
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
10
10
|
import { guestAccess } from "./access/rbac.js";
|
|
11
|
+
import { consumesTools } from "./tools/consumes.js";
|
|
11
12
|
import { curationTools } from "./tools/curation.js";
|
|
13
|
+
import { edgeStalenessTools } from "./tools/edge-staleness.js";
|
|
12
14
|
import { edgeTools } from "./tools/edges.js";
|
|
13
15
|
import { readTools } from "./tools/read.js";
|
|
14
16
|
import { receiptTools } from "./tools/receipt.js";
|
|
15
17
|
import { searchTools } from "./tools/search.js";
|
|
16
18
|
import { stagedActionTools } from "./tools/staged-actions.js";
|
|
17
19
|
import { themesTools } from "./tools/themes.js";
|
|
20
|
+
import { tier1Tools } from "./tools/tier1.js";
|
|
21
|
+
import { tier2Tools } from "./tools/tier2.js";
|
|
18
22
|
import { witnessTools } from "./tools/witness.js";
|
|
19
23
|
import { writeTools } from "./tools/write.js";
|
|
20
24
|
export const SERVER_NAME = "daftari";
|
|
@@ -23,25 +27,96 @@ export const SERVER_NAME = "daftari";
|
|
|
23
27
|
// the package root, so this relative path resolves the same in dev and build.
|
|
24
28
|
const manifest = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf-8"));
|
|
25
29
|
export const SERVER_VERSION = manifest.version;
|
|
30
|
+
// The full registry. Static — assembled once at module load, shared by every
|
|
31
|
+
// server instance and by the tier-exposure helpers below.
|
|
32
|
+
const allTools = [
|
|
33
|
+
...readTools,
|
|
34
|
+
...receiptTools,
|
|
35
|
+
...witnessTools,
|
|
36
|
+
...searchTools,
|
|
37
|
+
...themesTools,
|
|
38
|
+
...writeTools,
|
|
39
|
+
...curationTools,
|
|
40
|
+
...stagedActionTools,
|
|
41
|
+
...edgeTools,
|
|
42
|
+
...consumesTools,
|
|
43
|
+
...tier1Tools,
|
|
44
|
+
...tier2Tools,
|
|
45
|
+
...edgeStalenessTools,
|
|
46
|
+
];
|
|
47
|
+
export function registeredToolNames() {
|
|
48
|
+
return allTools.map((t) => t.name);
|
|
49
|
+
}
|
|
50
|
+
// Tool-exposure tiers (#103). Tiers are additive: standard = core + its own
|
|
51
|
+
// list; full = the whole registry (never enumerated, so a new tool is
|
|
52
|
+
// full-tier by default and only joins a leaner tier deliberately).
|
|
53
|
+
//
|
|
54
|
+
// core is the search-before-derive loop end to end; standard adds the full
|
|
55
|
+
// document lifecycle — including propose/ratify, which IS the write path for
|
|
56
|
+
// RBAC vaults with propose-only roles — plus index diagnostics. Everything
|
|
57
|
+
// else (tensions, themes, witness/receipt epistemics, the edge graph,
|
|
58
|
+
// tier-1/tier-2 dispatch, staleness) is specialist curation surface: full.
|
|
59
|
+
export const CORE_TOOLS = [
|
|
60
|
+
"vault_search",
|
|
61
|
+
"vault_read",
|
|
62
|
+
"vault_write",
|
|
63
|
+
"vault_index",
|
|
64
|
+
"vault_lint",
|
|
65
|
+
"vault_status",
|
|
66
|
+
];
|
|
67
|
+
export const STANDARD_TOOLS = [
|
|
68
|
+
...CORE_TOOLS,
|
|
69
|
+
"vault_append",
|
|
70
|
+
"vault_promote",
|
|
71
|
+
"vault_deprecate",
|
|
72
|
+
"vault_supersede",
|
|
73
|
+
"vault_merge",
|
|
74
|
+
"vault_set_confidence",
|
|
75
|
+
"vault_set_tier",
|
|
76
|
+
"vault_stage_action",
|
|
77
|
+
"vault_ratify",
|
|
78
|
+
"vault_search_related",
|
|
79
|
+
"vault_provenance",
|
|
80
|
+
"vault_reindex",
|
|
81
|
+
];
|
|
82
|
+
// Resolves which tool names ListTools advertises: tier set, plus include,
|
|
83
|
+
// minus exclude — exclude always wins (#104). Pure; exported for tests and
|
|
84
|
+
// for the startup warning in index.ts.
|
|
85
|
+
export function resolveToolExposure(tools) {
|
|
86
|
+
const registered = new Set(registeredToolNames());
|
|
87
|
+
const exposed = tools.tier === "full"
|
|
88
|
+
? new Set(registered)
|
|
89
|
+
: new Set((tools.tier === "core" ? CORE_TOOLS : STANDARD_TOOLS).filter((n) => registered.has(n)));
|
|
90
|
+
// A Set, not an array: the same unknown name in BOTH lists must warn once,
|
|
91
|
+
// not twice.
|
|
92
|
+
const unknown = new Set();
|
|
93
|
+
for (const name of tools.include) {
|
|
94
|
+
if (registered.has(name))
|
|
95
|
+
exposed.add(name);
|
|
96
|
+
else
|
|
97
|
+
unknown.add(name);
|
|
98
|
+
}
|
|
99
|
+
for (const name of tools.exclude) {
|
|
100
|
+
if (registered.has(name))
|
|
101
|
+
exposed.delete(name);
|
|
102
|
+
else
|
|
103
|
+
unknown.add(name);
|
|
104
|
+
}
|
|
105
|
+
return { exposed, unknown: [...unknown] };
|
|
106
|
+
}
|
|
26
107
|
// The server runs as one access identity for its whole lifetime — the
|
|
27
108
|
// --user / --role it was started with. Every tool call is enforced against it.
|
|
28
109
|
// Absent an explicit context the server falls back to the deny-all guest.
|
|
29
|
-
|
|
110
|
+
// `toolsConfig` (#103/#104) narrows what ListTools ADVERTISES; CallTool still
|
|
111
|
+
// accepts every registered name, so an agent holding a cached tool name from
|
|
112
|
+
// a prior session keeps working across a tier change.
|
|
113
|
+
export function createServer(vaultRoot, access = guestAccess(), toolsConfig) {
|
|
30
114
|
const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {} } });
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
...witnessTools,
|
|
35
|
-
...searchTools,
|
|
36
|
-
...themesTools,
|
|
37
|
-
...writeTools,
|
|
38
|
-
...curationTools,
|
|
39
|
-
...stagedActionTools,
|
|
40
|
-
...edgeTools,
|
|
41
|
-
];
|
|
42
|
-
const byName = new Map(tools.map((t) => [t.name, t]));
|
|
115
|
+
const byName = new Map(allTools.map((t) => [t.name, t]));
|
|
116
|
+
const exposedNames = toolsConfig ? resolveToolExposure(toolsConfig).exposed : null;
|
|
117
|
+
const exposed = exposedNames ? allTools.filter((t) => exposedNames.has(t.name)) : allTools;
|
|
43
118
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
44
|
-
tools:
|
|
119
|
+
tools: exposed.map((t) => ({
|
|
45
120
|
name: t.name,
|
|
46
121
|
...(t.title ? { title: t.title } : {}),
|
|
47
122
|
description: t.description,
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,8EAA8E;AAC9E,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,6CAA6C;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAsB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAuB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/dist/sleep/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
export declare const TENSION_SCAN_DEFAULT_MODEL = "claude-sonnet-4-6";
|
|
2
|
+
export declare const TENSION_SCAN_DEFAULT_MODEL_OPENROUTER = "anthropic/claude-sonnet-4.6";
|
|
1
3
|
export declare function wakeQueuePath(vaultRoot: string): string;
|
|
2
4
|
export declare function runSleep(argv: string[]): Promise<number>;
|
|
3
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"AA+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"AAiDA,eAAO,MAAM,0BAA0B,sBAAsB,CAAC;AAC9D,eAAO,MAAM,qCAAqC,gCAAgC,CAAC;AA+EnF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAgF9D"}
|
package/dist/sleep/index.js
CHANGED
|
@@ -1,40 +1,73 @@
|
|
|
1
|
-
// Top-level entry for `daftari sleep` — the
|
|
1
|
+
// Top-level entry for `daftari sleep` — the vault's dreams.
|
|
2
2
|
//
|
|
3
3
|
// Scheduling is the operating system's job (cron, launchd, a CI schedule);
|
|
4
|
-
// daftari ships the cycle, not a daemon.
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
4
|
+
// daftari ships the cycle, not a daemon. Two dream types:
|
|
5
|
+
//
|
|
6
|
+
// circadian (default) — deterministic and LLM-FREE: measures decay, ranks
|
|
7
|
+
// the wake list by blast radius, sweeps expired proposals, writes the wake
|
|
8
|
+
// queue for an external agent, renders the Morning Report. The default
|
|
9
|
+
// dream stays free: no flag combination on the default path can spend.
|
|
10
|
+
//
|
|
11
|
+
// tension-scan — the LLM contradiction pass (explicit opt-in, costs
|
|
12
|
+
// money): retrieves related docs per candidate, judges one pair of claims
|
|
13
|
+
// per call, logs conflicts to the tension ledger. Hard call budget from
|
|
14
|
+
// .daftari/config.yaml (tension_scan.max_llm_calls); judged pairs persist
|
|
15
|
+
// across runs so unchanged content is never paid for twice.
|
|
8
16
|
//
|
|
9
17
|
// Exit codes (the audit convention):
|
|
10
|
-
// 0 —
|
|
18
|
+
// 0 — pass ran, report produced
|
|
11
19
|
// 2 — config/usage error
|
|
12
20
|
// 3 — runtime error (IO failure)
|
|
13
21
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
14
22
|
import { dirname, join, resolve } from "node:path";
|
|
23
|
+
import { resolveAccess } from "../access/rbac.js";
|
|
24
|
+
import { sourceReadable } from "../curation/tension-access.js";
|
|
25
|
+
import { createAnthropicClient } from "../eval/llm.js";
|
|
26
|
+
import { createOpenRouterClient, resolveTransport, } from "../eval/llm-openrouter.js";
|
|
27
|
+
import { ok } from "../frontmatter/types.js";
|
|
28
|
+
import { openIndexForActiveProvider, vaultSearchRelated } from "../tools/search.js";
|
|
29
|
+
import { loadConfig } from "../utils/config.js";
|
|
15
30
|
import { runSleepCycle } from "./cycle.js";
|
|
16
|
-
import { renderJson, renderMarkdown } from "./report.js";
|
|
31
|
+
import { renderJson, renderMarkdown, renderTensionScanJson, renderTensionScanMarkdown, } from "./report.js";
|
|
32
|
+
import { runTensionScan } from "./tension-scan.js";
|
|
17
33
|
const DEFAULT_WAKE_LIMIT = 20;
|
|
34
|
+
// Judge model defaults. Sonnet, not haiku: the demo's false-positive rate
|
|
35
|
+
// (0-1 borderline flags per run over ~30 benign notes) was measured with a
|
|
36
|
+
// frontier judge; the conservatism clause needs one to hold.
|
|
37
|
+
export const TENSION_SCAN_DEFAULT_MODEL = "claude-sonnet-4-6";
|
|
38
|
+
export const TENSION_SCAN_DEFAULT_MODEL_OPENROUTER = "anthropic/claude-sonnet-4.6";
|
|
39
|
+
const DREAM_TYPES = ["circadian", "tension-scan"];
|
|
18
40
|
const HELP = `daftari sleep — the vault's nightly metabolic pass.
|
|
19
41
|
|
|
20
42
|
Usage:
|
|
21
43
|
daftari sleep [--vault <path>] [options]
|
|
44
|
+
daftari sleep --dream tension-scan [--vault <path>] [options]
|
|
22
45
|
daftari sleep --help
|
|
23
46
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
47
|
+
Dream types (--dream, default 'circadian'):
|
|
48
|
+
circadian The free pass (deterministic, no LLM, no document writes):
|
|
49
|
+
1. sweep expired staged actions (housekeeping)
|
|
50
|
+
2. score every document's decay; honor the domain split (generative docs
|
|
51
|
+
going stale is expected — counted, never woken)
|
|
52
|
+
3. build the WAKE LIST: canonical accumulation docs past TTL with
|
|
53
|
+
downstream dependents, ranked by blast radius — and write it to
|
|
54
|
+
.daftari/wake-queue.jsonl for an external agent to re-verify each
|
|
55
|
+
against its sources and stage diffs for ratification
|
|
56
|
+
4. surface tension aging and the court docket head
|
|
57
|
+
5. render the Morning Report, ending at the ratification queue — with the
|
|
58
|
+
rubber-stamp monitor (zero rejections over a long history is a warning,
|
|
59
|
+
not a compliment)
|
|
60
|
+
|
|
61
|
+
tension-scan The contradiction pass (CALLS AN LLM — explicit opt-in):
|
|
62
|
+
for each candidate doc (never-scanned first, then changed since the last
|
|
63
|
+
scan, capped at --max-docs), retrieve related docs and judge ONE pair of
|
|
64
|
+
claims per LLM call. Conservative: related-but-compatible is not a
|
|
65
|
+
conflict; an unparseable verdict defaults to no-conflict. Conflicts land
|
|
66
|
+
on the tension ledger (kind factual|temporal|interpretive), attributed to
|
|
67
|
+
the scan agent. Judged pairs persist in .daftari/tension-scan-state.json
|
|
68
|
+
— unchanged pairs are never re-judged; open tensions are never re-logged.
|
|
36
69
|
|
|
37
|
-
Flags:
|
|
70
|
+
Flags (circadian):
|
|
38
71
|
--vault <path> Vault root (default: current directory).
|
|
39
72
|
--wake-limit <n> Wake-list rows shown in the report (default: ${DEFAULT_WAKE_LIMIT}).
|
|
40
73
|
The queue file always carries the full list.
|
|
@@ -42,11 +75,31 @@ Flags:
|
|
|
42
75
|
--output <md> Markdown report destination (default: stdout).
|
|
43
76
|
--output-json <json> JSON report destination (default: not written).
|
|
44
77
|
|
|
78
|
+
Flags (tension-scan):
|
|
79
|
+
--vault <path> Vault root (default: current directory).
|
|
80
|
+
--max-llm-calls <n> Hard cap on pairwise judgments this pass
|
|
81
|
+
(default: config tension_scan.max_llm_calls, else 200).
|
|
82
|
+
--max-docs <n> Candidate docs per pass
|
|
83
|
+
(default: config tension_scan.max_docs, else 50).
|
|
84
|
+
--model <id> Judge model (default: ${TENSION_SCAN_DEFAULT_MODEL}).
|
|
85
|
+
--transport <t> anthropic (default, ANTHROPIC_API_KEY) or
|
|
86
|
+
openrouter (OPENROUTER_API_KEY); env fallback
|
|
87
|
+
DAFTARI_LLM_TRANSPORT.
|
|
88
|
+
--agent <id> loggedBy identity for logged tensions
|
|
89
|
+
(default: config tension_scan.agent, else
|
|
90
|
+
agent:sleep-tension-scan).
|
|
91
|
+
--user <u> --role <r> RBAC identity. Tension writes obey the
|
|
92
|
+
vault_tension_log rule: both sides readable, or the
|
|
93
|
+
pair is neither judged nor logged. Omitted =>
|
|
94
|
+
unrestricted (the RBAC-unconfigured posture).
|
|
95
|
+
--output <md> Markdown report destination (default: stdout).
|
|
96
|
+
--output-json <json> JSON report destination (default: not written).
|
|
97
|
+
|
|
45
98
|
Scheduling is yours (cron shown; any scheduler works):
|
|
46
99
|
0 3 * * * cd /path/to/vault && npx daftari sleep --output .daftari/morning-report.md
|
|
47
100
|
|
|
48
101
|
Exit codes:
|
|
49
|
-
0 —
|
|
102
|
+
0 — pass ran, report produced
|
|
50
103
|
2 — config/usage error
|
|
51
104
|
3 — runtime error (IO failure)
|
|
52
105
|
`;
|
|
@@ -66,6 +119,14 @@ export async function runSleep(argv) {
|
|
|
66
119
|
return 0;
|
|
67
120
|
}
|
|
68
121
|
const vaultRoot = resolve(readStringArg(argv, "--vault") ?? ".");
|
|
122
|
+
const dream = readStringArg(argv, "--dream") ?? "circadian";
|
|
123
|
+
if (!DREAM_TYPES.includes(dream)) {
|
|
124
|
+
process.stderr.write(`daftari sleep: --dream must be one of ${DREAM_TYPES.join("|")}, got ${dream}\n`);
|
|
125
|
+
return 2;
|
|
126
|
+
}
|
|
127
|
+
if (dream === "tension-scan") {
|
|
128
|
+
return runTensionScanCli(argv, vaultRoot);
|
|
129
|
+
}
|
|
69
130
|
let wakeLimit = DEFAULT_WAKE_LIMIT;
|
|
70
131
|
const rawLimit = readStringArg(argv, "--wake-limit");
|
|
71
132
|
if (rawLimit !== undefined) {
|
|
@@ -126,4 +187,134 @@ export async function runSleep(argv) {
|
|
|
126
187
|
}
|
|
127
188
|
return 0;
|
|
128
189
|
}
|
|
190
|
+
// --- the tension-scan dream ---------------------------------------------------
|
|
191
|
+
// Positive-integer flag parse shared by the two budget flags. Undefined means
|
|
192
|
+
// "not given" (fall back to config); anything non-integer or < 1 is a usage
|
|
193
|
+
// error.
|
|
194
|
+
function readPositiveInt(argv, flagName) {
|
|
195
|
+
const raw = readStringArg(argv, flagName);
|
|
196
|
+
if (raw === undefined)
|
|
197
|
+
return { value: undefined };
|
|
198
|
+
const n = Number(raw);
|
|
199
|
+
if (!Number.isInteger(n) || n < 1) {
|
|
200
|
+
return { value: undefined, error: `${flagName} must be a positive integer` };
|
|
201
|
+
}
|
|
202
|
+
return { value: n };
|
|
203
|
+
}
|
|
204
|
+
// Transport-aware LLM construction (the consolidate loop's pattern): the key
|
|
205
|
+
// check runs before the constructor so a missing key fails fast with a clear
|
|
206
|
+
// message instead of the client's terse internal throw.
|
|
207
|
+
function constructLlm(transport) {
|
|
208
|
+
const keyVar = transport === "openrouter" ? "OPENROUTER_API_KEY" : "ANTHROPIC_API_KEY";
|
|
209
|
+
if (!process.env[keyVar]) {
|
|
210
|
+
return { error: `${keyVar} env var is required (transport: ${transport})` };
|
|
211
|
+
}
|
|
212
|
+
try {
|
|
213
|
+
return {
|
|
214
|
+
llm: transport === "openrouter" ? createOpenRouterClient() : createAnthropicClient(),
|
|
215
|
+
};
|
|
216
|
+
}
|
|
217
|
+
catch (e) {
|
|
218
|
+
return { error: e instanceof Error ? e.message : String(e) };
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
async function runTensionScanCli(argv, vaultRoot) {
|
|
222
|
+
const cfg = loadConfig(vaultRoot);
|
|
223
|
+
if (!cfg.ok) {
|
|
224
|
+
process.stderr.write(`daftari sleep: ${cfg.error.message}\n`);
|
|
225
|
+
return 2;
|
|
226
|
+
}
|
|
227
|
+
const maxLlmCalls = readPositiveInt(argv, "--max-llm-calls");
|
|
228
|
+
if (maxLlmCalls.error) {
|
|
229
|
+
process.stderr.write(`daftari sleep: ${maxLlmCalls.error}\n`);
|
|
230
|
+
return 2;
|
|
231
|
+
}
|
|
232
|
+
const maxDocs = readPositiveInt(argv, "--max-docs");
|
|
233
|
+
if (maxDocs.error) {
|
|
234
|
+
process.stderr.write(`daftari sleep: ${maxDocs.error}\n`);
|
|
235
|
+
return 2;
|
|
236
|
+
}
|
|
237
|
+
const transportRes = resolveTransport(readStringArg(argv, "--transport"));
|
|
238
|
+
if (!transportRes.ok) {
|
|
239
|
+
process.stderr.write(`daftari sleep: ${transportRes.error.message}\n`);
|
|
240
|
+
return 2;
|
|
241
|
+
}
|
|
242
|
+
const transport = transportRes.value;
|
|
243
|
+
const model = readStringArg(argv, "--model") ??
|
|
244
|
+
(transport === "openrouter"
|
|
245
|
+
? TENSION_SCAN_DEFAULT_MODEL_OPENROUTER
|
|
246
|
+
: TENSION_SCAN_DEFAULT_MODEL);
|
|
247
|
+
const llmRes = constructLlm(transport);
|
|
248
|
+
if ("error" in llmRes) {
|
|
249
|
+
process.stderr.write(`daftari sleep: ${llmRes.error}\n`);
|
|
250
|
+
return 2;
|
|
251
|
+
}
|
|
252
|
+
// RBAC: --role builds the same gate vault_tension_log enforces —
|
|
253
|
+
// sourceReadable over both sides of every pair, resolved against the index
|
|
254
|
+
// when it opens (fail-closed to the first-segment rule when it does not).
|
|
255
|
+
// No --role ⇒ unrestricted, matching every read surface when RBAC is off.
|
|
256
|
+
const roleName = readStringArg(argv, "--role");
|
|
257
|
+
const user = readStringArg(argv, "--user");
|
|
258
|
+
let sourceVisible;
|
|
259
|
+
let accessDb;
|
|
260
|
+
let access;
|
|
261
|
+
if (roleName !== undefined) {
|
|
262
|
+
access = resolveAccess(cfg.value, user ?? `agent:${roleName}`, roleName);
|
|
263
|
+
accessDb = openIndexForActiveProvider(vaultRoot);
|
|
264
|
+
const db = accessDb.ok ? accessDb.value : null;
|
|
265
|
+
const ctx = access;
|
|
266
|
+
sourceVisible = (path) => sourceReadable(db, ctx, path);
|
|
267
|
+
}
|
|
268
|
+
const deps = {
|
|
269
|
+
llm: llmRes.llm,
|
|
270
|
+
searchNeighbors: async (path, limit) => {
|
|
271
|
+
const r = await vaultSearchRelated(vaultRoot, { path, limit }, access);
|
|
272
|
+
if (!r.ok)
|
|
273
|
+
return r;
|
|
274
|
+
return ok(r.value.hits.map((h) => h.path));
|
|
275
|
+
},
|
|
276
|
+
...(sourceVisible ? { sourceVisible } : {}),
|
|
277
|
+
};
|
|
278
|
+
try {
|
|
279
|
+
const scan = await runTensionScan({
|
|
280
|
+
vaultRoot,
|
|
281
|
+
agent: readStringArg(argv, "--agent") ?? cfg.value.tensionScan.agent,
|
|
282
|
+
model,
|
|
283
|
+
maxLlmCalls: maxLlmCalls.value ?? cfg.value.tensionScan.maxLlmCalls,
|
|
284
|
+
maxDocs: maxDocs.value ?? cfg.value.tensionScan.maxDocs,
|
|
285
|
+
}, deps);
|
|
286
|
+
if (!scan.ok) {
|
|
287
|
+
process.stderr.write(`daftari sleep: ${scan.error.message}\n`);
|
|
288
|
+
return 3;
|
|
289
|
+
}
|
|
290
|
+
if (scan.value.stateWriteError) {
|
|
291
|
+
process.stderr.write(`daftari sleep: tension-scan state write failed: ${scan.value.stateWriteError} — ` +
|
|
292
|
+
"the next pass re-baselines (some budget will be re-spent)\n");
|
|
293
|
+
}
|
|
294
|
+
const md = renderTensionScanMarkdown(vaultRoot, model, scan.value);
|
|
295
|
+
const outputMd = readStringArg(argv, "--output");
|
|
296
|
+
const outputJson = readStringArg(argv, "--output-json");
|
|
297
|
+
try {
|
|
298
|
+
if (outputMd) {
|
|
299
|
+
await writeFile(resolve(outputMd), md, "utf-8");
|
|
300
|
+
}
|
|
301
|
+
else {
|
|
302
|
+
process.stdout.write(md);
|
|
303
|
+
}
|
|
304
|
+
if (outputJson) {
|
|
305
|
+
await writeFile(resolve(outputJson), renderTensionScanJson(scan.value), "utf-8");
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
catch (e) {
|
|
309
|
+
const reason = e instanceof Error ? e.message : String(e);
|
|
310
|
+
process.stderr.write(`daftari sleep: write failed: ${reason}\n`);
|
|
311
|
+
return 3;
|
|
312
|
+
}
|
|
313
|
+
return 0;
|
|
314
|
+
}
|
|
315
|
+
finally {
|
|
316
|
+
if (accessDb?.ok)
|
|
317
|
+
accessDb.value.close();
|
|
318
|
+
}
|
|
319
|
+
}
|
|
129
320
|
//# sourceMappingURL=index.js.map
|
package/dist/sleep/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,EAAE;AACF,2EAA2E;AAC3E,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sleep/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sleep/report.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { SleepCycleResult } from "./cycle.js";
|
|
2
|
+
import type { TensionScanOutcome } from "./tension-scan.js";
|
|
2
3
|
export interface SleepReport {
|
|
3
4
|
generatedAt: string;
|
|
4
5
|
vault: string;
|
|
@@ -8,4 +9,6 @@ export interface SleepReport {
|
|
|
8
9
|
}
|
|
9
10
|
export declare function renderMarkdown(report: SleepReport): string;
|
|
10
11
|
export declare function renderJson(report: SleepReport): string;
|
|
12
|
+
export declare function renderTensionScanMarkdown(vault: string, model: string, s: TensionScanOutcome): string;
|
|
13
|
+
export declare function renderTensionScanJson(s: TensionScanOutcome): string;
|
|
11
14
|
//# sourceMappingURL=report.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sleep/report.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../src/sleep/report.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,gBAAgB,EAAY,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,gBAAgB,CAAC;IACxB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AASD,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA2F1D;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAEtD;AASD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,CAAC,EAAE,kBAAkB,GACpB,MAAM,CAqDR;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,kBAAkB,GAAG,MAAM,CAEnE"}
|
package/dist/sleep/report.js
CHANGED
|
@@ -84,4 +84,56 @@ export function renderMarkdown(report) {
|
|
|
84
84
|
export function renderJson(report) {
|
|
85
85
|
return `${JSON.stringify(report, null, 2)}\n`;
|
|
86
86
|
}
|
|
87
|
+
// --- tension-scan dream report --------------------------------------------
|
|
88
|
+
//
|
|
89
|
+
// Same posture as the Morning Report: the scan records, it never resolves.
|
|
90
|
+
// Every count is machine-derived from the pass — the anti-theatre
|
|
91
|
+
// instrumentation the demo established (searches, judgments, tensions all
|
|
92
|
+
// counted; no eyeball verification).
|
|
93
|
+
export function renderTensionScanMarkdown(vault, model, s) {
|
|
94
|
+
const lines = [];
|
|
95
|
+
lines.push("# Dream Report — tension scan");
|
|
96
|
+
lines.push("");
|
|
97
|
+
lines.push(`Contradiction pass of ${vault} (judge: ${model}) — conflicts recorded ` +
|
|
98
|
+
`on the tension ledger, nothing resolved. The vault proposes; you ratify.`);
|
|
99
|
+
lines.push("");
|
|
100
|
+
lines.push("## Spend");
|
|
101
|
+
lines.push(`- ${s.candidates} candidate doc(s), ${s.docsScanned} fully scanned · ` +
|
|
102
|
+
`${s.searchCalls} related-doc searches`);
|
|
103
|
+
lines.push(`- ${s.pairsJudged} pairwise LLM judgment(s)` +
|
|
104
|
+
(s.budgetExhausted ? " · **budget exhausted — pass short-circuited**" : ""));
|
|
105
|
+
lines.push(`- skipped without spend: ${s.pairsSkippedJudged} already judged · ` +
|
|
106
|
+
`${s.pairsSkippedExistingTension} already on the ledger · ` +
|
|
107
|
+
`${s.pairsSkippedAccess} access-denied`);
|
|
108
|
+
if (s.parseFailures > 0) {
|
|
109
|
+
lines.push(`- unparseable verdicts (defaulted to no-conflict): ${s.parseFailures}`);
|
|
110
|
+
}
|
|
111
|
+
lines.push("");
|
|
112
|
+
lines.push(`## Tensions logged — ${s.tensionsLogged}`);
|
|
113
|
+
if (s.tensions.length === 0) {
|
|
114
|
+
lines.push("No conflicts found among the judged pairs.");
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
for (const t of s.tensions) {
|
|
118
|
+
lines.push(`- [${t.kind}] ${t.sourceA} <-> ${t.sourceB}` +
|
|
119
|
+
`${t.id ? ` (${t.id})` : ""}${t.reason ? ` — ${t.reason}` : ""}`);
|
|
120
|
+
}
|
|
121
|
+
lines.push("");
|
|
122
|
+
lines.push("Review with `daftari court`; resolve with `vault_tension_resolve`.");
|
|
123
|
+
}
|
|
124
|
+
if (s.tensionLogFailures > 0) {
|
|
125
|
+
lines.push("");
|
|
126
|
+
lines.push(`⚠ ${s.tensionLogFailures} tension write(s) failed — see stderr.`);
|
|
127
|
+
}
|
|
128
|
+
if (s.budgetExhausted) {
|
|
129
|
+
lines.push("");
|
|
130
|
+
lines.push("Budget exhausted before every candidate was scanned — the remainder " +
|
|
131
|
+
"re-enters the next pass's queue (judged pairs are not re-billed).");
|
|
132
|
+
}
|
|
133
|
+
lines.push("");
|
|
134
|
+
return `${lines.join("\n")}\n`;
|
|
135
|
+
}
|
|
136
|
+
export function renderTensionScanJson(s) {
|
|
137
|
+
return `${JSON.stringify(s, null, 2)}\n`;
|
|
138
|
+
}
|
|
87
139
|
//# sourceMappingURL=report.js.map
|
package/dist/sleep/report.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sleep/report.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,2EAA2E;AAC3E,6EAA6E;AAC7E,6DAA6D;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../src/sleep/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type Result } from "../frontmatter/types.js";
|
|
2
|
+
export interface TensionScanState {
|
|
3
|
+
lastScanCommit: string | null;
|
|
4
|
+
scanned: Record<string, string>;
|
|
5
|
+
judgedPairs: string[];
|
|
6
|
+
}
|
|
7
|
+
export declare function emptyTensionScanState(): TensionScanState;
|
|
8
|
+
export declare function tensionScanStatePath(vaultRoot: string): string;
|
|
9
|
+
export declare function scanContentHash(content: string): string;
|
|
10
|
+
export declare function pairHash(a: {
|
|
11
|
+
path: string;
|
|
12
|
+
contentHash: string;
|
|
13
|
+
}, b: {
|
|
14
|
+
path: string;
|
|
15
|
+
contentHash: string;
|
|
16
|
+
}): string;
|
|
17
|
+
export declare function readTensionScanState(vaultRoot: string): TensionScanState;
|
|
18
|
+
export declare function writeTensionScanState(vaultRoot: string, state: TensionScanState): Result<void, Error>;
|
|
19
|
+
//# sourceMappingURL=tension-scan-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tension-scan-state.d.ts","sourceRoot":"","sources":["../../src/sleep/tension-scan-state.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAG/D,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhC,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,qBAAqB,IAAI,gBAAgB,CAExD;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAID,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAKD,wBAAgB,QAAQ,CACtB,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,EACxC,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,GACvC,MAAM,CAGR;AAGD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAkBxE;AAID,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,GACtB,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAarB"}
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tension-scan-state.js","sourceRoot":"","sources":["../../src/sleep/tension-scan-state.ts"],"names":[],"mappings":"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"}
|