@balpal4495/quorum 3.1.1 → 3.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/bin/commands/compass.js +108 -65
- package/dist/compass/behavior.d.ts.map +1 -1
- package/dist/compass/behavior.js +58 -67
- package/dist/compass/behavior.js.map +1 -1
- package/dist/compass/schemas.d.ts +26 -26
- package/dist/compass/sources/index.d.ts.map +1 -1
- package/dist/compass/sources/index.js +162 -122
- package/dist/compass/sources/index.js.map +1 -1
- package/package.json +1 -1
package/bin/commands/compass.js
CHANGED
|
@@ -74,7 +74,7 @@ function formatBearings(bearings) {
|
|
|
74
74
|
function inferTags(text) {
|
|
75
75
|
const tags = []
|
|
76
76
|
const lower = text.toLowerCase()
|
|
77
|
-
const keywords = ["
|
|
77
|
+
const keywords = ["cli","api","auth","test","docs","config","llm","module","route","page","component","schema","database","db","webhook","deploy","ui","middleware","service"]
|
|
78
78
|
for (const kw of keywords) if (lower.includes(kw)) tags.push(kw)
|
|
79
79
|
return tags
|
|
80
80
|
}
|
|
@@ -82,7 +82,7 @@ function inferTags(text) {
|
|
|
82
82
|
async function scanDocs(rootDir, area) {
|
|
83
83
|
const findings = []
|
|
84
84
|
let idx = 0
|
|
85
|
-
const
|
|
85
|
+
const SKIP_DIRS = new Set(["node_modules",".git","dist","build","out",".next",".chronicle","coverage",".cache",".turbo",".vercel"])
|
|
86
86
|
async function scanMd(filePath) {
|
|
87
87
|
let content
|
|
88
88
|
try { content = await fs.readFile(filePath, "utf8") } catch { return }
|
|
@@ -96,10 +96,6 @@ async function scanDocs(rootDir, area) {
|
|
|
96
96
|
const context = lines.slice(i + 1, i + 4).join(" ").replace(/```[^`]*```/g, "").trim().slice(0, 200)
|
|
97
97
|
findings.push({ id: `docs-${idx++}`, kind: "docs", source: rel, path: rel, line: i + 1, title: heading, summary: context || heading, confidence: 0.8, tags: inferTags(heading + " " + context) })
|
|
98
98
|
}
|
|
99
|
-
const trimmed = line.trim()
|
|
100
|
-
if (trimmed.startsWith("quorum ") || trimmed.startsWith("npx quorum")) {
|
|
101
|
-
findings.push({ id: `docs-cmd-${idx++}`, kind: "docs", source: rel, path: rel, line: i + 1, title: `CLI usage: ${trimmed.slice(0, 60)}`, summary: `Documented command: ${trimmed}`, confidence: 0.85, tags: ["cli", "command", ...inferTags(trimmed)] })
|
|
102
|
-
}
|
|
103
99
|
}
|
|
104
100
|
}
|
|
105
101
|
async function scanDir(dir) {
|
|
@@ -107,18 +103,24 @@ async function scanDocs(rootDir, area) {
|
|
|
107
103
|
try { entries = await fs.readdir(dir, { withFileTypes: true }) } catch { return }
|
|
108
104
|
for (const entry of entries) {
|
|
109
105
|
const full = path.join(dir, entry.name)
|
|
110
|
-
if (entry.isDirectory() && !
|
|
106
|
+
if (entry.isDirectory() && !SKIP_DIRS.has(entry.name)) await scanDir(full)
|
|
111
107
|
else if (entry.isFile() && entry.name.endsWith(".md")) await scanMd(full)
|
|
112
108
|
}
|
|
113
109
|
}
|
|
114
|
-
|
|
115
|
-
|
|
110
|
+
// Scan all .md files at project root (non-recursive)
|
|
111
|
+
let rootEntries
|
|
112
|
+
try { rootEntries = await fs.readdir(rootDir, { withFileTypes: true }) } catch { rootEntries = [] }
|
|
113
|
+
for (const entry of rootEntries) {
|
|
114
|
+
if (entry.isFile() && entry.name.endsWith(".md")) await scanMd(path.join(rootDir, entry.name))
|
|
115
|
+
}
|
|
116
|
+
// Scan standard documentation directories
|
|
117
|
+
for (const d of ["docs","documentation","doc",".github","wiki"]) {
|
|
118
|
+
const full = path.join(rootDir, d)
|
|
116
119
|
let stat
|
|
117
120
|
try { stat = await fs.stat(full) } catch { continue }
|
|
118
121
|
if (stat.isDirectory()) await scanDir(full)
|
|
119
|
-
else await scanMd(full)
|
|
120
122
|
}
|
|
121
|
-
return area ? findings.filter(f =>
|
|
123
|
+
return area ? findings.filter(f => f.tags.includes(area.toLowerCase()) || f.summary.toLowerCase().includes(area.toLowerCase())) : findings
|
|
122
124
|
}
|
|
123
125
|
|
|
124
126
|
async function scanPackage(rootDir) {
|
|
@@ -138,24 +140,59 @@ async function scanPackage(rootDir) {
|
|
|
138
140
|
async function scanCli(rootDir, area) {
|
|
139
141
|
const findings = []
|
|
140
142
|
let idx = 0
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
143
|
+
// ── CLI tool pattern: look for command files in known CLI layouts ──────────
|
|
144
|
+
for (const base of ["bin/commands", "bin", "src/commands", "src/cli"]) {
|
|
145
|
+
const binDir = path.join(rootDir, base)
|
|
146
|
+
let entries
|
|
147
|
+
try { entries = await fs.readdir(binDir, { withFileTypes: true }) } catch { continue }
|
|
148
|
+
const files = entries.filter(e => e.isFile() && /\.(js|ts)$/.test(e.name))
|
|
149
|
+
for (const entry of files) {
|
|
150
|
+
let content
|
|
151
|
+
try { content = await fs.readFile(path.join(binDir, entry.name), "utf8") } catch { continue }
|
|
152
|
+
const cmdName = entry.name.replace(/\.(js|ts)$/, "")
|
|
153
|
+
const fileRel = `${base}/${entry.name}`
|
|
154
|
+
const subcmds = [...content.matchAll(/case ["']([a-z-]+)["']/g)].map(m => m[1])
|
|
155
|
+
const flags = [...new Set([...content.matchAll(/["'](--[a-z-]+)["']/g)].map(m => m[1]))]
|
|
156
|
+
findings.push({
|
|
157
|
+
id: `cli-${idx++}`, kind: "cli", source: fileRel, path: fileRel,
|
|
158
|
+
title: `Command: ${cmdName}`,
|
|
159
|
+
summary: [cmdName, subcmds.length ? `Subcommands: ${subcmds.join(", ")}` : "", flags.length ? `Flags: ${flags.slice(0,8).join(", ")}` : ""].filter(Boolean).join(" | "),
|
|
160
|
+
confidence: 0.9,
|
|
161
|
+
tags: ["cli","command",cmdName,...subcmds.map(s => `subcommand:${s}`)].filter(Boolean),
|
|
162
|
+
})
|
|
163
|
+
}
|
|
164
|
+
if (findings.length) break
|
|
165
|
+
}
|
|
166
|
+
// ── Web app route pattern: Next.js app router or pages router ─────────────
|
|
167
|
+
if (!findings.length) {
|
|
168
|
+
const SKIP = new Set(["node_modules","_components","_lib","_hooks"])
|
|
169
|
+
async function walkRoutes(dir, prefix, isApiBase) {
|
|
170
|
+
let entries
|
|
171
|
+
try { entries = await fs.readdir(dir, { withFileTypes: true }) } catch { return }
|
|
172
|
+
for (const e of entries) {
|
|
173
|
+
if (SKIP.has(e.name) || e.name.startsWith(".")) continue
|
|
174
|
+
const full = path.join(dir, e.name)
|
|
175
|
+
const rel = path.relative(rootDir, full).replace(/\\/g, "/")
|
|
176
|
+
if (e.isDirectory()) {
|
|
177
|
+
const seg = e.name.startsWith("(") ? "" : ("/" + e.name)
|
|
178
|
+
await walkRoutes(full, prefix + seg, isApiBase || e.name === "api")
|
|
179
|
+
} else if (e.isFile() && /\.(tsx?|jsx?)$/.test(e.name)) {
|
|
180
|
+
const name = e.name.replace(/\.(tsx?|jsx?)$/, "")
|
|
181
|
+
const isPage = ["page","index"].includes(name) && !["_app","_document","_error"].includes(name)
|
|
182
|
+
const isRoute = name === "route"
|
|
183
|
+
if (!isPage && !isRoute) continue
|
|
184
|
+
const route = prefix || "/"
|
|
185
|
+
const isApi = isApiBase || isRoute || prefix.startsWith("/api")
|
|
186
|
+
findings.push({ id: `route-${idx++}`, kind: "route", source: rel, path: rel, title: isApi ? `API: ${route}` : `Page: ${route}`, summary: isApi ? `API route at ${route}` : `Page/screen at ${route}`, confidence: 0.85, tags: [isApi ? "api" : "page", "route", ...inferTags(route + " " + rel)] })
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
for (const base of ["app","pages","src/app","src/pages"]) {
|
|
191
|
+
const routeBase = path.join(rootDir, base)
|
|
192
|
+
try { await fs.stat(routeBase) } catch { continue }
|
|
193
|
+
await walkRoutes(routeBase, "", base.includes("api"))
|
|
194
|
+
if (findings.length) break
|
|
195
|
+
}
|
|
159
196
|
}
|
|
160
197
|
return area ? findings.filter(f => f.tags.includes(area.toLowerCase()) || f.summary.toLowerCase().includes(area.toLowerCase())) : findings
|
|
161
198
|
}
|
|
@@ -163,15 +200,21 @@ async function scanCli(rootDir, area) {
|
|
|
163
200
|
async function scanRepo(rootDir) {
|
|
164
201
|
const findings = []
|
|
165
202
|
let idx = 0
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
203
|
+
const SKIP = new Set(["node_modules",".git","dist","build","out",".next",".chronicle","coverage",".cache",".turbo",".vercel","public","static","assets","images","fonts"])
|
|
204
|
+
const SOURCE_HINTS = new Set(["src","lib","app","modules","packages","services","components","api","server","client","core","shared","common","utils","hooks","stores","models","types","schemas","db","database"])
|
|
205
|
+
let entries
|
|
206
|
+
try { entries = await fs.readdir(rootDir, { withFileTypes: true }) } catch { return findings }
|
|
207
|
+
for (const entry of entries) {
|
|
208
|
+
if (!entry.isDirectory() || SKIP.has(entry.name) || entry.name.startsWith(".")) continue
|
|
209
|
+
const isSource = SOURCE_HINTS.has(entry.name)
|
|
210
|
+
let subEntries = []
|
|
211
|
+
try { subEntries = await fs.readdir(path.join(rootDir, entry.name), { withFileTypes: true }) } catch {}
|
|
212
|
+
const subDirs = subEntries.filter(e => e.isDirectory() && !SKIP.has(e.name) && !e.name.startsWith(".")).map(e => e.name)
|
|
213
|
+
const fileCount = subEntries.filter(e => e.isFile()).length
|
|
214
|
+
if (fileCount === 0 && subDirs.length === 0) continue
|
|
215
|
+
const desc = subDirs.length ? `Contains: ${subDirs.slice(0, 6).join(", ")}${subDirs.length > 6 ? "\u2026" : ""}` : `${fileCount} files`
|
|
216
|
+
findings.push({ id: `repo-${idx++}`, kind: "code", source: `${entry.name}/`, path: `${entry.name}/`, title: `${isSource ? "Source" : "Directory"}: ${entry.name}/`, summary: desc, confidence: isSource ? 0.9 : 0.7, tags: ["code", entry.name, isSource ? "source" : "directory", ...inferTags(entry.name + " " + desc)] })
|
|
217
|
+
}
|
|
175
218
|
return findings
|
|
176
219
|
}
|
|
177
220
|
|
|
@@ -200,16 +243,14 @@ function formatTerrain(findings, limit = 40) {
|
|
|
200
243
|
// ── Behaviour mapping ─────────────────────────────────────────────────────────
|
|
201
244
|
|
|
202
245
|
function inferArea(f) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
246
|
+
// For routes, derive area from route path segments
|
|
247
|
+
if (f.kind === "route" && f.path) {
|
|
248
|
+
const parts = f.path.split("/").filter(p => p && !p.startsWith("(") && !p.startsWith("[") && !["app","pages","src","route","page","index"].includes(p))
|
|
249
|
+
if (parts.length) return parts[0]
|
|
206
250
|
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
function extractCommand(text) {
|
|
211
|
-
const m = text.match(/quorum\s+(\w+)/)
|
|
212
|
-
return m ? m[1] : ""
|
|
251
|
+
// Fall back to first meaningful tag
|
|
252
|
+
const SKIP = new Set(["cli","command","llm","deterministic","code","source","directory","module","docs","api","route","page","package","identity","description","binary","exports","dependencies","test"])
|
|
253
|
+
return f.tags?.find(t => !SKIP.has(t)) ?? "general"
|
|
213
254
|
}
|
|
214
255
|
|
|
215
256
|
function findingToRef(f) {
|
|
@@ -218,32 +259,34 @@ function findingToRef(f) {
|
|
|
218
259
|
|
|
219
260
|
function mapBehaviors(findings, area) {
|
|
220
261
|
const behaviors = []
|
|
221
|
-
const gaps = []
|
|
222
262
|
|
|
223
|
-
|
|
224
|
-
for (const f of
|
|
263
|
+
// CLI command behaviors
|
|
264
|
+
for (const f of findings.filter(f => f.kind === "cli")) {
|
|
225
265
|
behaviors.push({ id: `behavior-cli-${f.id}`, area: inferArea(f), name: f.title, current_behavior: f.summary, evidence: [findingToRef(f)], confidence: f.confidence })
|
|
226
266
|
}
|
|
227
267
|
|
|
228
|
-
|
|
229
|
-
for (const f of
|
|
230
|
-
|
|
231
|
-
const alreadyPresent = cmd.length > 3 && behaviors.some(b => b.current_behavior.toLowerCase().includes(cmd.toLowerCase()))
|
|
232
|
-
if (!alreadyPresent && cmd) {
|
|
233
|
-
behaviors.push({ id: `behavior-docs-${f.id}`, area: inferArea(f), name: `Documented: ${f.title}`, current_behavior: f.summary, evidence: [findingToRef(f)], confidence: f.confidence * 0.9 })
|
|
234
|
-
}
|
|
268
|
+
// Web route behaviors
|
|
269
|
+
for (const f of findings.filter(f => f.kind === "route")) {
|
|
270
|
+
behaviors.push({ id: `behavior-route-${f.id}`, area: inferArea(f), name: f.title, current_behavior: f.summary, evidence: [findingToRef(f)], confidence: f.confidence })
|
|
235
271
|
}
|
|
236
272
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
273
|
+
// Documented feature headings (deduplicated, limited to avoid noise)
|
|
274
|
+
const codeNames = new Set(behaviors.map(b => b.name.toLowerCase()))
|
|
275
|
+
for (const f of findings.filter(f => f.kind === "docs").slice(0, 20)) {
|
|
276
|
+
const titleLower = f.title.toLowerCase()
|
|
277
|
+
if ([...codeNames].some(n => n.includes(titleLower.slice(0, 15)) || titleLower.includes(n.slice(0, 15)))) continue
|
|
278
|
+
behaviors.push({ id: `behavior-docs-${f.id}`, area: inferArea(f), name: f.title, current_behavior: f.summary, evidence: [findingToRef(f)], confidence: f.confidence * 0.7 })
|
|
279
|
+
codeNames.add(titleLower)
|
|
243
280
|
}
|
|
244
281
|
|
|
245
|
-
|
|
246
|
-
|
|
282
|
+
// Gaps: documented areas with no code artifact
|
|
283
|
+
const gaps = []
|
|
284
|
+
const codeAreas = new Set(behaviors.filter(b => ["cli","route","code"].includes(b.evidence[0]?.kind)).map(b => b.area))
|
|
285
|
+
const docOnlyAreas = behaviors.filter(b => b.evidence[0]?.kind === "docs").map(b => b.area)
|
|
286
|
+
for (const docArea of new Set(docOnlyAreas)) {
|
|
287
|
+
if (!codeAreas.has(docArea) && docArea !== "general") {
|
|
288
|
+
gaps.push({ id: `gap-${docArea}`, area: docArea, gap: `'${docArea}' is documented but no corresponding route, command, or source module was found.`, why_it_matters: `May indicate planned-but-unbuilt functionality.`, confidence: 0.6 })
|
|
289
|
+
}
|
|
247
290
|
}
|
|
248
291
|
|
|
249
292
|
const filtered = area ? behaviors.filter(b => b.area.toLowerCase().includes(area.toLowerCase()) || b.name.toLowerCase().includes(area.toLowerCase())) : behaviors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../modules/compass/behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACyD,WAAW,EAC9E,gBAAgB,EAAE,oBAAoB,EACvC,MAAM,YAAY,CAAA;AAInB,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,KAAK,GAAE,gBAAqB,GAC3B,WAAW,
|
|
1
|
+
{"version":3,"file":"behavior.d.ts","sourceRoot":"","sources":["../../modules/compass/behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACyD,WAAW,EAC9E,gBAAgB,EAAE,oBAAoB,EACvC,MAAM,YAAY,CAAA;AAInB,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,oBAAoB,EAAE,EAChC,KAAK,GAAE,gBAAqB,GAC3B,WAAW,CA2Fb;AAID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAkB7D"}
|
package/dist/compass/behavior.js
CHANGED
|
@@ -3,9 +3,8 @@ export function mapBehaviorsFromFindings(findings, input = {}) {
|
|
|
3
3
|
const behaviors = [];
|
|
4
4
|
const gaps = [];
|
|
5
5
|
const contradictions = [];
|
|
6
|
-
//
|
|
7
|
-
const
|
|
8
|
-
for (const f of cliFindings) {
|
|
6
|
+
// CLI command behaviors
|
|
7
|
+
for (const f of findings.filter(f => f.kind === "cli")) {
|
|
9
8
|
behaviors.push({
|
|
10
9
|
id: `behavior-cli-${f.id}`,
|
|
11
10
|
area: inferArea(f),
|
|
@@ -17,56 +16,52 @@ export function mapBehaviorsFromFindings(findings, input = {}) {
|
|
|
17
16
|
confidence: f.confidence,
|
|
18
17
|
});
|
|
19
18
|
}
|
|
20
|
-
//
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
current_behavior: f.summary,
|
|
33
|
-
evidence: [findingToRef(f)],
|
|
34
|
-
basis: ["documented"],
|
|
35
|
-
confidence: f.confidence * 0.9,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
19
|
+
// Web route behaviors (code findings with "route" tag)
|
|
20
|
+
for (const f of findings.filter(f => f.kind === "code" && f.tags.includes("route"))) {
|
|
21
|
+
behaviors.push({
|
|
22
|
+
id: `behavior-route-${f.id}`,
|
|
23
|
+
area: inferArea(f),
|
|
24
|
+
name: f.title,
|
|
25
|
+
description: f.summary,
|
|
26
|
+
current_behavior: f.summary,
|
|
27
|
+
evidence: [findingToRef(f)],
|
|
28
|
+
basis: ["implemented"],
|
|
29
|
+
confidence: f.confidence,
|
|
30
|
+
});
|
|
38
31
|
}
|
|
39
|
-
//
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
32
|
+
// Documented feature headings (deduplicated, limited to reduce noise)
|
|
33
|
+
const codeNames = new Set(behaviors.map(b => b.name.toLowerCase()));
|
|
34
|
+
for (const f of findings.filter(f => f.kind === "docs").slice(0, 20)) {
|
|
35
|
+
const titleLower = f.title.toLowerCase();
|
|
36
|
+
if ([...codeNames].some(n => n.includes(titleLower.slice(0, 15)) || titleLower.includes(n.slice(0, 15))))
|
|
37
|
+
continue;
|
|
38
|
+
behaviors.push({
|
|
39
|
+
id: `behavior-docs-${f.id}`,
|
|
40
|
+
area: inferArea(f),
|
|
41
|
+
name: f.title,
|
|
42
|
+
description: f.summary,
|
|
43
|
+
current_behavior: f.summary,
|
|
44
|
+
evidence: [findingToRef(f)],
|
|
45
|
+
basis: ["documented"],
|
|
46
|
+
confidence: f.confidence * 0.7,
|
|
47
|
+
});
|
|
48
|
+
codeNames.add(titleLower);
|
|
49
|
+
}
|
|
50
|
+
// Dynamic gap detection: documented areas with no implemented artifact
|
|
51
|
+
const implementedAreas = new Set(behaviors.filter(b => b.basis[0] === "implemented").map(b => b.area));
|
|
52
|
+
const docAreas = behaviors.filter(b => b.basis[0] === "documented").map(b => b.area);
|
|
53
|
+
for (const docArea of new Set(docAreas)) {
|
|
54
|
+
if (!implementedAreas.has(docArea) && docArea !== "general") {
|
|
48
55
|
gaps.push({
|
|
49
|
-
id: `gap-${
|
|
50
|
-
area:
|
|
51
|
-
gap: `
|
|
52
|
-
why_it_matters:
|
|
53
|
-
evidence:
|
|
54
|
-
confidence: 0.
|
|
56
|
+
id: `gap-${docArea}`,
|
|
57
|
+
area: docArea,
|
|
58
|
+
gap: `'${docArea}' is documented but no corresponding route, command, or source module was found.`,
|
|
59
|
+
why_it_matters: "May indicate planned-but-unbuilt functionality.",
|
|
60
|
+
evidence: [],
|
|
61
|
+
confidence: 0.6,
|
|
55
62
|
});
|
|
56
63
|
}
|
|
57
64
|
}
|
|
58
|
-
// Gap: no product-direction module (Compass itself)
|
|
59
|
-
const hasCompass = behaviors.some(b => b.name.toLowerCase().includes("compass"));
|
|
60
|
-
if (!hasCompass) {
|
|
61
|
-
gaps.push({
|
|
62
|
-
id: "gap-product-direction",
|
|
63
|
-
area: "product direction",
|
|
64
|
-
gap: "No product behaviour mapping or direction module currently exists.",
|
|
65
|
-
why_it_matters: "Quorum helps agents avoid repeating engineering mistakes, but has no module to help avoid repeating product-direction mistakes.",
|
|
66
|
-
evidence: [],
|
|
67
|
-
confidence: 0.93,
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
65
|
// Filter by area if provided
|
|
71
66
|
const filteredBehaviors = input.area
|
|
72
67
|
? behaviors.filter(b => b.area.toLowerCase().includes(input.area.toLowerCase()) ||
|
|
@@ -115,24 +110,20 @@ function findingToRef(f) {
|
|
|
115
110
|
};
|
|
116
111
|
}
|
|
117
112
|
function inferArea(f) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
if (
|
|
129
|
-
return
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
return "general";
|
|
133
|
-
}
|
|
134
|
-
function extractCommand(text) {
|
|
135
|
-
const match = text.match(/`(quorum [^`]+)`/);
|
|
136
|
-
return match?.[1] ?? "";
|
|
113
|
+
// Route findings: derive area from the route path segments
|
|
114
|
+
if (f.tags.includes("route") && f.path) {
|
|
115
|
+
const parts = f.path.split("/").filter(p => p && !p.startsWith("(") && !p.startsWith("[") &&
|
|
116
|
+
!["app", "pages", "src", "route", "page", "index"].includes(p));
|
|
117
|
+
if (parts.length)
|
|
118
|
+
return parts[0];
|
|
119
|
+
}
|
|
120
|
+
// Domain-specific tags take priority
|
|
121
|
+
const DOMAIN = ["auth", "payments", "database", "onboarding", "api", "llm", "config", "webhook", "middleware", "pii", "deploy"];
|
|
122
|
+
const domain = f.tags.find(t => DOMAIN.includes(t));
|
|
123
|
+
if (domain)
|
|
124
|
+
return domain;
|
|
125
|
+
// First non-infrastructure tag
|
|
126
|
+
const SKIP = new Set(["cli", "command", "code", "source", "directory", "module", "docs", "route", "page", "ui", "package", "identity", "description", "binary", "exports", "dependencies", "testing", "guaranteed-behavior", "workflow", "ci", "test"]);
|
|
127
|
+
return f.tags.find(t => !SKIP.has(t) && !t.startsWith("subcommand:")) ?? "general";
|
|
137
128
|
}
|
|
138
129
|
//# sourceMappingURL=behavior.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../modules/compass/behavior.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAEhF,MAAM,UAAU,wBAAwB,CACtC,QAAgC,EAChC,QAA0B,EAAE;IAE5B,MAAM,SAAS,GAAsB,EAAE,CAAA;IACvC,MAAM,IAAI,GAAyB,EAAE,CAAA;IACrC,MAAM,cAAc,GAAmC,EAAE,CAAA;IAEzD,
|
|
1
|
+
{"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../modules/compass/behavior.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,8 @@ export declare const CompassEvidenceRefSchema: z.ZodObject<{
|
|
|
12
12
|
}, "strip", z.ZodTypeAny, {
|
|
13
13
|
id: string;
|
|
14
14
|
confidence: number;
|
|
15
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
16
15
|
source: string;
|
|
16
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
17
17
|
summary: string;
|
|
18
18
|
path?: string | undefined;
|
|
19
19
|
line?: number | undefined;
|
|
@@ -22,8 +22,8 @@ export declare const CompassEvidenceRefSchema: z.ZodObject<{
|
|
|
22
22
|
}, {
|
|
23
23
|
id: string;
|
|
24
24
|
confidence: number;
|
|
25
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
26
25
|
source: string;
|
|
26
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
27
27
|
summary: string;
|
|
28
28
|
path?: string | undefined;
|
|
29
29
|
line?: number | undefined;
|
|
@@ -142,8 +142,8 @@ export declare const ProductPathwaySchema: z.ZodObject<{
|
|
|
142
142
|
}, "strip", z.ZodTypeAny, {
|
|
143
143
|
id: string;
|
|
144
144
|
confidence: number;
|
|
145
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
146
145
|
source: string;
|
|
146
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
147
147
|
summary: string;
|
|
148
148
|
path?: string | undefined;
|
|
149
149
|
line?: number | undefined;
|
|
@@ -152,8 +152,8 @@ export declare const ProductPathwaySchema: z.ZodObject<{
|
|
|
152
152
|
}, {
|
|
153
153
|
id: string;
|
|
154
154
|
confidence: number;
|
|
155
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
156
155
|
source: string;
|
|
156
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
157
157
|
summary: string;
|
|
158
158
|
path?: string | undefined;
|
|
159
159
|
line?: number | undefined;
|
|
@@ -210,8 +210,8 @@ export declare const ProductPathwaySchema: z.ZodObject<{
|
|
|
210
210
|
evidence: {
|
|
211
211
|
id: string;
|
|
212
212
|
confidence: number;
|
|
213
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
214
213
|
source: string;
|
|
214
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
215
215
|
summary: string;
|
|
216
216
|
path?: string | undefined;
|
|
217
217
|
line?: number | undefined;
|
|
@@ -262,8 +262,8 @@ export declare const ProductPathwaySchema: z.ZodObject<{
|
|
|
262
262
|
evidence: {
|
|
263
263
|
id: string;
|
|
264
264
|
confidence: number;
|
|
265
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
266
265
|
source: string;
|
|
266
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
267
267
|
summary: string;
|
|
268
268
|
path?: string | undefined;
|
|
269
269
|
line?: number | undefined;
|
|
@@ -337,8 +337,8 @@ export declare const ProductBetSchema: z.ZodObject<{
|
|
|
337
337
|
}, "strip", z.ZodTypeAny, {
|
|
338
338
|
id: string;
|
|
339
339
|
confidence: number;
|
|
340
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
341
340
|
source: string;
|
|
341
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
342
342
|
summary: string;
|
|
343
343
|
path?: string | undefined;
|
|
344
344
|
line?: number | undefined;
|
|
@@ -347,8 +347,8 @@ export declare const ProductBetSchema: z.ZodObject<{
|
|
|
347
347
|
}, {
|
|
348
348
|
id: string;
|
|
349
349
|
confidence: number;
|
|
350
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
351
350
|
source: string;
|
|
351
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
352
352
|
summary: string;
|
|
353
353
|
path?: string | undefined;
|
|
354
354
|
line?: number | undefined;
|
|
@@ -405,8 +405,8 @@ export declare const ProductBetSchema: z.ZodObject<{
|
|
|
405
405
|
evidence: {
|
|
406
406
|
id: string;
|
|
407
407
|
confidence: number;
|
|
408
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
409
408
|
source: string;
|
|
409
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
410
410
|
summary: string;
|
|
411
411
|
path?: string | undefined;
|
|
412
412
|
line?: number | undefined;
|
|
@@ -449,8 +449,8 @@ export declare const ProductBetSchema: z.ZodObject<{
|
|
|
449
449
|
evidence: {
|
|
450
450
|
id: string;
|
|
451
451
|
confidence: number;
|
|
452
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
453
452
|
source: string;
|
|
453
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
454
454
|
summary: string;
|
|
455
455
|
path?: string | undefined;
|
|
456
456
|
line?: number | undefined;
|
|
@@ -545,8 +545,8 @@ export declare const ProductIdeaScoreSchema: z.ZodObject<{
|
|
|
545
545
|
}, "strip", z.ZodTypeAny, {
|
|
546
546
|
id: string;
|
|
547
547
|
confidence: number;
|
|
548
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
549
548
|
source: string;
|
|
549
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
550
550
|
summary: string;
|
|
551
551
|
path?: string | undefined;
|
|
552
552
|
line?: number | undefined;
|
|
@@ -555,8 +555,8 @@ export declare const ProductIdeaScoreSchema: z.ZodObject<{
|
|
|
555
555
|
}, {
|
|
556
556
|
id: string;
|
|
557
557
|
confidence: number;
|
|
558
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
559
558
|
source: string;
|
|
559
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
560
560
|
summary: string;
|
|
561
561
|
path?: string | undefined;
|
|
562
562
|
line?: number | undefined;
|
|
@@ -573,8 +573,8 @@ export declare const ProductIdeaScoreSchema: z.ZodObject<{
|
|
|
573
573
|
evidence: {
|
|
574
574
|
id: string;
|
|
575
575
|
confidence: number;
|
|
576
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
577
576
|
source: string;
|
|
577
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
578
578
|
summary: string;
|
|
579
579
|
path?: string | undefined;
|
|
580
580
|
line?: number | undefined;
|
|
@@ -607,8 +607,8 @@ export declare const ProductIdeaScoreSchema: z.ZodObject<{
|
|
|
607
607
|
evidence: {
|
|
608
608
|
id: string;
|
|
609
609
|
confidence: number;
|
|
610
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
611
610
|
source: string;
|
|
611
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
612
612
|
summary: string;
|
|
613
613
|
path?: string | undefined;
|
|
614
614
|
line?: number | undefined;
|
|
@@ -719,8 +719,8 @@ export declare const PathwaysLLMSchema: z.ZodObject<{
|
|
|
719
719
|
}, "strip", z.ZodTypeAny, {
|
|
720
720
|
id: string;
|
|
721
721
|
confidence: number;
|
|
722
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
723
722
|
source: string;
|
|
723
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
724
724
|
summary: string;
|
|
725
725
|
path?: string | undefined;
|
|
726
726
|
line?: number | undefined;
|
|
@@ -729,8 +729,8 @@ export declare const PathwaysLLMSchema: z.ZodObject<{
|
|
|
729
729
|
}, {
|
|
730
730
|
id: string;
|
|
731
731
|
confidence: number;
|
|
732
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
733
732
|
source: string;
|
|
733
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
734
734
|
summary: string;
|
|
735
735
|
path?: string | undefined;
|
|
736
736
|
line?: number | undefined;
|
|
@@ -787,8 +787,8 @@ export declare const PathwaysLLMSchema: z.ZodObject<{
|
|
|
787
787
|
evidence: {
|
|
788
788
|
id: string;
|
|
789
789
|
confidence: number;
|
|
790
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
791
790
|
source: string;
|
|
791
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
792
792
|
summary: string;
|
|
793
793
|
path?: string | undefined;
|
|
794
794
|
line?: number | undefined;
|
|
@@ -839,8 +839,8 @@ export declare const PathwaysLLMSchema: z.ZodObject<{
|
|
|
839
839
|
evidence: {
|
|
840
840
|
id: string;
|
|
841
841
|
confidence: number;
|
|
842
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
843
842
|
source: string;
|
|
843
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
844
844
|
summary: string;
|
|
845
845
|
path?: string | undefined;
|
|
846
846
|
line?: number | undefined;
|
|
@@ -893,8 +893,8 @@ export declare const PathwaysLLMSchema: z.ZodObject<{
|
|
|
893
893
|
evidence: {
|
|
894
894
|
id: string;
|
|
895
895
|
confidence: number;
|
|
896
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
897
896
|
source: string;
|
|
897
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
898
898
|
summary: string;
|
|
899
899
|
path?: string | undefined;
|
|
900
900
|
line?: number | undefined;
|
|
@@ -947,8 +947,8 @@ export declare const PathwaysLLMSchema: z.ZodObject<{
|
|
|
947
947
|
evidence: {
|
|
948
948
|
id: string;
|
|
949
949
|
confidence: number;
|
|
950
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
951
950
|
source: string;
|
|
951
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
952
952
|
summary: string;
|
|
953
953
|
path?: string | undefined;
|
|
954
954
|
line?: number | undefined;
|
|
@@ -1024,8 +1024,8 @@ export declare const BetsLLMSchema: z.ZodObject<{
|
|
|
1024
1024
|
}, "strip", z.ZodTypeAny, {
|
|
1025
1025
|
id: string;
|
|
1026
1026
|
confidence: number;
|
|
1027
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1028
1027
|
source: string;
|
|
1028
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1029
1029
|
summary: string;
|
|
1030
1030
|
path?: string | undefined;
|
|
1031
1031
|
line?: number | undefined;
|
|
@@ -1034,8 +1034,8 @@ export declare const BetsLLMSchema: z.ZodObject<{
|
|
|
1034
1034
|
}, {
|
|
1035
1035
|
id: string;
|
|
1036
1036
|
confidence: number;
|
|
1037
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1038
1037
|
source: string;
|
|
1038
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1039
1039
|
summary: string;
|
|
1040
1040
|
path?: string | undefined;
|
|
1041
1041
|
line?: number | undefined;
|
|
@@ -1092,8 +1092,8 @@ export declare const BetsLLMSchema: z.ZodObject<{
|
|
|
1092
1092
|
evidence: {
|
|
1093
1093
|
id: string;
|
|
1094
1094
|
confidence: number;
|
|
1095
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1096
1095
|
source: string;
|
|
1096
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1097
1097
|
summary: string;
|
|
1098
1098
|
path?: string | undefined;
|
|
1099
1099
|
line?: number | undefined;
|
|
@@ -1136,8 +1136,8 @@ export declare const BetsLLMSchema: z.ZodObject<{
|
|
|
1136
1136
|
evidence: {
|
|
1137
1137
|
id: string;
|
|
1138
1138
|
confidence: number;
|
|
1139
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1140
1139
|
source: string;
|
|
1140
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1141
1141
|
summary: string;
|
|
1142
1142
|
path?: string | undefined;
|
|
1143
1143
|
line?: number | undefined;
|
|
@@ -1182,8 +1182,8 @@ export declare const BetsLLMSchema: z.ZodObject<{
|
|
|
1182
1182
|
evidence: {
|
|
1183
1183
|
id: string;
|
|
1184
1184
|
confidence: number;
|
|
1185
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1186
1185
|
source: string;
|
|
1186
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1187
1187
|
summary: string;
|
|
1188
1188
|
path?: string | undefined;
|
|
1189
1189
|
line?: number | undefined;
|
|
@@ -1228,8 +1228,8 @@ export declare const BetsLLMSchema: z.ZodObject<{
|
|
|
1228
1228
|
evidence: {
|
|
1229
1229
|
id: string;
|
|
1230
1230
|
confidence: number;
|
|
1231
|
-
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1232
1231
|
source: string;
|
|
1232
|
+
kind: "code" | "unknown" | "issue" | "chronicle" | "advisor" | "sentinel" | "docs" | "tests" | "config" | "cli" | "package" | "analytics" | "support" | "inference" | "assumption";
|
|
1233
1233
|
summary: string;
|
|
1234
1234
|
path?: string | undefined;
|
|
1235
1235
|
line?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/compass/sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgD,MAAM,aAAa,CAAA;AAE9F,wBAAgB,UAAU,IAAI,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../modules/compass/sources/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAgD,MAAM,aAAa,CAAA;AAE9F,wBAAgB,UAAU,IAAI,aAAa,CAqF1C;AAED,wBAAgB,aAAa,IAAI,aAAa,CA4C7C;AAED,wBAAgB,SAAS,IAAI,aAAa,CAwFzC;AAED,wBAAgB,UAAU,IAAI,aAAa,CA+D1C;AAED,wBAAgB,WAAW,IAAI,aAAa,CA+C3C;AAED,wBAAgB,YAAY,IAAI,aAAa,CA6B5C;AAwCD,wBAAgB,cAAc,IAAI,aAAa,EAAE,CAShD"}
|
|
@@ -5,19 +5,9 @@ export function docsSource() {
|
|
|
5
5
|
async scan(input) {
|
|
6
6
|
const { promises: fs } = await import("fs");
|
|
7
7
|
const path = await import("path");
|
|
8
|
-
const targets = [
|
|
9
|
-
"README.md",
|
|
10
|
-
"SETUP.md",
|
|
11
|
-
"CLAUDE.md",
|
|
12
|
-
"AGENTS.md",
|
|
13
|
-
"GEMINI.md",
|
|
14
|
-
"modules/README.md",
|
|
15
|
-
"quorum/CLAUDE.md",
|
|
16
|
-
"quorum/SETUP.md",
|
|
17
|
-
"docs",
|
|
18
|
-
];
|
|
19
8
|
const findings = [];
|
|
20
9
|
let idx = 0;
|
|
10
|
+
const SKIP_DIRS = new Set(["node_modules", ".git", "dist", "build", "out", ".next", ".chronicle", "coverage", ".cache", ".turbo", ".vercel"]);
|
|
21
11
|
async function scanMarkdown(filePath) {
|
|
22
12
|
let content;
|
|
23
13
|
try {
|
|
@@ -28,13 +18,11 @@ export function docsSource() {
|
|
|
28
18
|
}
|
|
29
19
|
const rel = path.relative(input.rootDir, filePath).replace(/\\/g, "/");
|
|
30
20
|
const lines = content.split("\n");
|
|
31
|
-
// Extract headings as structural claims
|
|
32
21
|
for (let i = 0; i < lines.length; i++) {
|
|
33
22
|
const line = lines[i];
|
|
34
23
|
const headingMatch = line.match(/^#{1,3}\s+(.+)/);
|
|
35
24
|
if (headingMatch) {
|
|
36
25
|
const heading = headingMatch[1].trim();
|
|
37
|
-
// Grab up to 3 lines of context below
|
|
38
26
|
const context = lines
|
|
39
27
|
.slice(i + 1, i + 4)
|
|
40
28
|
.join(" ")
|
|
@@ -53,21 +41,6 @@ export function docsSource() {
|
|
|
53
41
|
tags: inferTags(heading + " " + context),
|
|
54
42
|
});
|
|
55
43
|
}
|
|
56
|
-
// Extract CLI code blocks (``` lines starting with quorum)
|
|
57
|
-
if (line.trim().startsWith("quorum ") || line.trim().startsWith("npx quorum")) {
|
|
58
|
-
const cmd = line.trim();
|
|
59
|
-
findings.push({
|
|
60
|
-
id: `docs-cmd-${idx++}`,
|
|
61
|
-
kind: "docs",
|
|
62
|
-
source: rel,
|
|
63
|
-
path: rel,
|
|
64
|
-
line: i + 1,
|
|
65
|
-
title: `CLI usage: ${cmd.slice(0, 60)}`,
|
|
66
|
-
summary: `Documented command: ${cmd}`,
|
|
67
|
-
confidence: 0.85,
|
|
68
|
-
tags: ["cli", "command", ...inferTags(cmd)],
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
44
|
}
|
|
72
45
|
}
|
|
73
46
|
async function scanDir(dir) {
|
|
@@ -80,7 +53,7 @@ export function docsSource() {
|
|
|
80
53
|
}
|
|
81
54
|
for (const entry of entries) {
|
|
82
55
|
const full = path.join(dir, entry.name);
|
|
83
|
-
if (entry.isDirectory() && !
|
|
56
|
+
if (entry.isDirectory() && !SKIP_DIRS.has(entry.name)) {
|
|
84
57
|
await scanDir(full);
|
|
85
58
|
}
|
|
86
59
|
else if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
@@ -88,8 +61,22 @@ export function docsSource() {
|
|
|
88
61
|
}
|
|
89
62
|
}
|
|
90
63
|
}
|
|
91
|
-
|
|
92
|
-
|
|
64
|
+
// Scan all .md files at project root (non-recursive)
|
|
65
|
+
let rootEntries = [];
|
|
66
|
+
try {
|
|
67
|
+
rootEntries = await fs.readdir(input.rootDir, { withFileTypes: true });
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
rootEntries = [];
|
|
71
|
+
}
|
|
72
|
+
for (const entry of rootEntries) {
|
|
73
|
+
if (entry.isFile() && entry.name.endsWith(".md")) {
|
|
74
|
+
await scanMarkdown(path.join(input.rootDir, entry.name));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// Scan standard documentation directories recursively
|
|
78
|
+
for (const d of ["docs", "documentation", "doc", ".github", "wiki"]) {
|
|
79
|
+
const full = path.join(input.rootDir, d);
|
|
93
80
|
let stat;
|
|
94
81
|
try {
|
|
95
82
|
stat = await fs.stat(full);
|
|
@@ -97,12 +84,8 @@ export function docsSource() {
|
|
|
97
84
|
catch {
|
|
98
85
|
continue;
|
|
99
86
|
}
|
|
100
|
-
if (stat.isDirectory())
|
|
87
|
+
if (stat.isDirectory())
|
|
101
88
|
await scanDir(full);
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
await scanMarkdown(full);
|
|
105
|
-
}
|
|
106
89
|
}
|
|
107
90
|
return area(input.area, findings);
|
|
108
91
|
},
|
|
@@ -162,58 +145,100 @@ export function cliSource() {
|
|
|
162
145
|
const path = await import("path");
|
|
163
146
|
const findings = [];
|
|
164
147
|
let idx = 0;
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
}
|
|
170
|
-
catch {
|
|
171
|
-
return [];
|
|
172
|
-
}
|
|
173
|
-
for (const file of commandFiles) {
|
|
174
|
-
const cmdName = file.replace(".js", "");
|
|
175
|
-
const filePath = path.join(binDir, file);
|
|
176
|
-
let content;
|
|
148
|
+
// ── CLI tool pattern ──────────────────────────────────────────────────
|
|
149
|
+
for (const base of ["bin/commands", "bin", "src/commands", "src/cli"]) {
|
|
150
|
+
const binDir = path.join(input.rootDir, base);
|
|
151
|
+
let entries;
|
|
177
152
|
try {
|
|
178
|
-
|
|
153
|
+
entries = await fs.readdir(binDir, { withFileTypes: true });
|
|
179
154
|
}
|
|
180
155
|
catch {
|
|
181
156
|
continue;
|
|
182
157
|
}
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
158
|
+
const files = entries.filter((e) => e.isFile() && /\.(js|ts)$/.test(e.name));
|
|
159
|
+
for (const entry of files) {
|
|
160
|
+
let content;
|
|
161
|
+
try {
|
|
162
|
+
content = await fs.readFile(path.join(binDir, entry.name), "utf8");
|
|
163
|
+
}
|
|
164
|
+
catch {
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
const cmdName = entry.name.replace(/\.(js|ts)$/, "");
|
|
168
|
+
const relPath = `${base}/${entry.name}`;
|
|
169
|
+
const subcommands = [...content.matchAll(/case ["']([a-z-]+)["']/g)].map(m => m[1]);
|
|
170
|
+
const flags = [...new Set([...content.matchAll(/["'](--[a-z-]+)["']/g)].map(m => m[1]))];
|
|
171
|
+
findings.push({
|
|
172
|
+
id: `cli-${idx++}`,
|
|
173
|
+
kind: "cli",
|
|
174
|
+
source: relPath,
|
|
175
|
+
path: relPath,
|
|
176
|
+
title: `Command: ${cmdName}`,
|
|
177
|
+
summary: [
|
|
178
|
+
cmdName,
|
|
179
|
+
subcommands.length ? `Subcommands: ${subcommands.join(", ")}` : "",
|
|
180
|
+
flags.length ? `Flags: ${flags.slice(0, 8).join(", ")}` : "",
|
|
181
|
+
].filter(Boolean).join(" | "),
|
|
182
|
+
confidence: 0.9,
|
|
183
|
+
tags: ["cli", "command", cmdName, ...subcommands.map((s) => `subcommand:${s}`)].filter(Boolean),
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
if (findings.length)
|
|
187
|
+
break;
|
|
188
|
+
}
|
|
189
|
+
// ── Web app route pattern (Next.js app/pages router) ──────────────────
|
|
190
|
+
if (!findings.length) {
|
|
191
|
+
const SKIP_ROUTE = new Set(["node_modules", "_components", "_lib", "_hooks"]);
|
|
192
|
+
async function walkRoutes(dir, prefix, isApiBase) {
|
|
193
|
+
let entries;
|
|
194
|
+
try {
|
|
195
|
+
entries = await fs.readdir(dir, { withFileTypes: true });
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
for (const e of entries) {
|
|
201
|
+
if (SKIP_ROUTE.has(e.name) || e.name.startsWith("."))
|
|
202
|
+
continue;
|
|
203
|
+
const full = path.join(dir, e.name);
|
|
204
|
+
const rel = path.relative(input.rootDir, full).replace(/\\/g, "/");
|
|
205
|
+
if (e.isDirectory()) {
|
|
206
|
+
const seg = e.name.startsWith("(") ? "" : ("/" + e.name);
|
|
207
|
+
await walkRoutes(full, prefix + seg, isApiBase || e.name === "api");
|
|
208
|
+
}
|
|
209
|
+
else if (e.isFile() && /\.(tsx?|jsx?)$/.test(e.name)) {
|
|
210
|
+
const name = e.name.replace(/\.(tsx?|jsx?)$/, "");
|
|
211
|
+
const isPage = ["page", "index"].includes(name) && !["_app", "_document", "_error"].includes(name);
|
|
212
|
+
const isRoute = name === "route";
|
|
213
|
+
if (!isPage && !isRoute)
|
|
214
|
+
continue;
|
|
215
|
+
const route = prefix || "/";
|
|
216
|
+
const isApi = isApiBase || isRoute || prefix.startsWith("/api");
|
|
217
|
+
findings.push({
|
|
218
|
+
id: `route-${idx++}`,
|
|
219
|
+
kind: "code",
|
|
220
|
+
source: rel,
|
|
221
|
+
path: rel,
|
|
222
|
+
title: isApi ? `API: ${route}` : `Page: ${route}`,
|
|
223
|
+
summary: isApi ? `API route at ${route}` : `Page/screen at ${route}`,
|
|
224
|
+
confidence: 0.85,
|
|
225
|
+
tags: [isApi ? "api" : "ui", "route", ...inferTags(route + " " + rel)],
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
for (const base of ["app", "pages", "src/app", "src/pages"]) {
|
|
231
|
+
const routeBase = path.join(input.rootDir, base);
|
|
232
|
+
try {
|
|
233
|
+
await fs.stat(routeBase);
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
await walkRoutes(routeBase, "", base.includes("api"));
|
|
239
|
+
if (findings.length)
|
|
240
|
+
break;
|
|
241
|
+
}
|
|
217
242
|
}
|
|
218
243
|
return area(input.area, findings);
|
|
219
244
|
},
|
|
@@ -228,31 +253,47 @@ export function repoSource() {
|
|
|
228
253
|
const path = await import("path");
|
|
229
254
|
const findings = [];
|
|
230
255
|
let idx = 0;
|
|
231
|
-
|
|
232
|
-
const
|
|
256
|
+
const SKIP = new Set(["node_modules", ".git", "dist", "build", "out", ".next", ".chronicle", "coverage", ".cache", ".turbo", ".vercel", "public", "static", "assets", "images", "fonts"]);
|
|
257
|
+
const SOURCE_HINTS = new Set(["src", "lib", "app", "modules", "packages", "services", "components", "api", "server", "client", "core", "shared", "common", "utils", "hooks", "stores", "models", "types", "schemas", "db", "database"]);
|
|
258
|
+
let rootEntries;
|
|
233
259
|
try {
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
});
|
|
247
|
-
}
|
|
260
|
+
rootEntries = await fs.readdir(input.rootDir, { withFileTypes: true });
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
return findings;
|
|
264
|
+
}
|
|
265
|
+
for (const entry of rootEntries) {
|
|
266
|
+
if (!entry.isDirectory() || SKIP.has(entry.name) || entry.name.startsWith("."))
|
|
267
|
+
continue;
|
|
268
|
+
const isSource = SOURCE_HINTS.has(entry.name);
|
|
269
|
+
let subEntries = [];
|
|
270
|
+
try {
|
|
271
|
+
subEntries = await fs.readdir(path.join(input.rootDir, entry.name), { withFileTypes: true });
|
|
248
272
|
}
|
|
273
|
+
catch { }
|
|
274
|
+
const subDirs = subEntries.filter((e) => e.isDirectory() && !SKIP.has(e.name) && !e.name.startsWith(".")).map((e) => e.name);
|
|
275
|
+
const fileCount = subEntries.filter((e) => e.isFile()).length;
|
|
276
|
+
if (fileCount === 0 && subDirs.length === 0)
|
|
277
|
+
continue;
|
|
278
|
+
const desc = subDirs.length
|
|
279
|
+
? `Contains: ${subDirs.slice(0, 6).join(", ")}${subDirs.length > 6 ? "\u2026" : ""}`
|
|
280
|
+
: `${fileCount} files`;
|
|
281
|
+
findings.push({
|
|
282
|
+
id: `repo-${idx++}`,
|
|
283
|
+
kind: "code",
|
|
284
|
+
source: `${entry.name}/`,
|
|
285
|
+
path: `${entry.name}/`,
|
|
286
|
+
title: `${isSource ? "Source" : "Directory"}: ${entry.name}/`,
|
|
287
|
+
summary: desc,
|
|
288
|
+
confidence: isSource ? 0.9 : 0.7,
|
|
289
|
+
tags: ["code", entry.name, isSource ? "source" : "directory", ...inferTags(entry.name + " " + desc)],
|
|
290
|
+
});
|
|
249
291
|
}
|
|
250
|
-
|
|
251
|
-
// Scan workflows
|
|
292
|
+
// GitHub Actions workflows
|
|
252
293
|
const workflowsDir = path.join(input.rootDir, ".github", "workflows");
|
|
253
294
|
try {
|
|
254
|
-
const
|
|
255
|
-
for (const file of
|
|
295
|
+
const wfEntries = await fs.readdir(workflowsDir);
|
|
296
|
+
for (const file of wfEntries.filter((f) => f.endsWith(".yml") || f.endsWith(".yaml"))) {
|
|
256
297
|
const content = await fs.readFile(path.join(workflowsDir, file), "utf8");
|
|
257
298
|
const nameMatch = content.match(/^name:\s*(.+)$/m);
|
|
258
299
|
findings.push({
|
|
@@ -263,7 +304,7 @@ export function repoSource() {
|
|
|
263
304
|
title: `Workflow: ${nameMatch?.[1]?.trim() ?? file}`,
|
|
264
305
|
summary: `CI/CD workflow: ${nameMatch?.[1]?.trim() ?? file}`,
|
|
265
306
|
confidence: 0.8,
|
|
266
|
-
tags: ["workflow", "ci", "
|
|
307
|
+
tags: ["workflow", "ci", "deploy"],
|
|
267
308
|
});
|
|
268
309
|
}
|
|
269
310
|
}
|
|
@@ -281,6 +322,7 @@ export function testsSource() {
|
|
|
281
322
|
const path = await import("path");
|
|
282
323
|
const findings = [];
|
|
283
324
|
let idx = 0;
|
|
325
|
+
const SKIP_TEST = new Set(["node_modules", "dist", "build", ".next", ".cache", "coverage"]);
|
|
284
326
|
async function walkTests(dir) {
|
|
285
327
|
let entries;
|
|
286
328
|
try {
|
|
@@ -291,10 +333,10 @@ export function testsSource() {
|
|
|
291
333
|
}
|
|
292
334
|
for (const entry of entries) {
|
|
293
335
|
const full = path.join(dir, entry.name);
|
|
294
|
-
if (entry.isDirectory() && !
|
|
336
|
+
if (entry.isDirectory() && !SKIP_TEST.has(entry.name) && !entry.name.startsWith(".")) {
|
|
295
337
|
await walkTests(full);
|
|
296
338
|
}
|
|
297
|
-
else if (entry.isFile() && (
|
|
339
|
+
else if (entry.isFile() && /\.(test|spec)\.(ts|js|tsx|jsx)$/.test(entry.name)) {
|
|
298
340
|
let content;
|
|
299
341
|
try {
|
|
300
342
|
content = await fs.readFile(full, "utf8");
|
|
@@ -303,7 +345,6 @@ export function testsSource() {
|
|
|
303
345
|
continue;
|
|
304
346
|
}
|
|
305
347
|
const rel = path.relative(input.rootDir, full).replace(/\\/g, "/");
|
|
306
|
-
// Extract describe/it/test names
|
|
307
348
|
const describeMatches = [...content.matchAll(/(?:describe|it|test)\s*\(\s*["'`]([^"'`]+)/g)];
|
|
308
349
|
const behaviors = describeMatches.map(m => m[1]).slice(0, 5);
|
|
309
350
|
if (behaviors.length > 0) {
|
|
@@ -312,7 +353,7 @@ export function testsSource() {
|
|
|
312
353
|
kind: "tests",
|
|
313
354
|
source: rel,
|
|
314
355
|
path: rel,
|
|
315
|
-
title: `Test: ${path.basename(entry.name
|
|
356
|
+
title: `Test: ${path.basename(entry.name).replace(/\.(test|spec)\.(ts|js|tsx|jsx)$/, "")}`,
|
|
316
357
|
summary: `Regression-protected: ${behaviors.join("; ")}`,
|
|
317
358
|
confidence: 0.85,
|
|
318
359
|
tags: ["test", "guaranteed-behavior", ...inferTags(behaviors.join(" "))],
|
|
@@ -321,8 +362,7 @@ export function testsSource() {
|
|
|
321
362
|
}
|
|
322
363
|
}
|
|
323
364
|
}
|
|
324
|
-
await walkTests(
|
|
325
|
-
await walkTests(path.join(input.rootDir, "evals"));
|
|
365
|
+
await walkTests(input.rootDir);
|
|
326
366
|
return area(input.area, findings);
|
|
327
367
|
},
|
|
328
368
|
};
|
|
@@ -365,20 +405,20 @@ function inferTags(text) {
|
|
|
365
405
|
const tags = [];
|
|
366
406
|
const lower = text.toLowerCase();
|
|
367
407
|
const patterns = [
|
|
368
|
-
[/onboard|
|
|
369
|
-
[/auth|jwt|session|login|token/, "auth"],
|
|
370
|
-
[/database|migration|sql|postgres|mysql/, "database"],
|
|
371
|
-
[/payment|stripe|billing|checkout/, "payments"],
|
|
408
|
+
[/onboard|install|setup|get.?started/, "onboarding"],
|
|
409
|
+
[/auth|jwt|session|login|token|oauth|saml/, "auth"],
|
|
410
|
+
[/database|migration|sql|postgres|mysql|mongo|redis|prisma/, "database"],
|
|
411
|
+
[/payment|stripe|billing|checkout|invoice|subscription/, "payments"],
|
|
372
412
|
[/pii|privacy|gdpr|personal.?data/, "pii"],
|
|
373
|
-
[/
|
|
374
|
-
[/
|
|
375
|
-
[/
|
|
376
|
-
[/
|
|
377
|
-
[/council|deliberate|validate/, "council"],
|
|
378
|
-
[/compass|pathway|bet|direction/, "compass"],
|
|
413
|
+
[/api|endpoint|rest|graphql|rpc|webhook/, "api"],
|
|
414
|
+
[/component|page|view|screen|widget|layout/, "ui"],
|
|
415
|
+
[/deploy|pipeline|release|ci|cd/, "deploy"],
|
|
416
|
+
[/config|setting|env|environment|dotenv/, "config"],
|
|
379
417
|
[/cli|command|terminal/, "cli"],
|
|
380
|
-
[/test|
|
|
381
|
-
[/llm|gpt|claude|openai|anthropic|gemini/, "llm"],
|
|
418
|
+
[/test|spec|fixture/, "testing"],
|
|
419
|
+
[/llm|gpt|claude|openai|anthropic|gemini|model/, "llm"],
|
|
420
|
+
[/middleware|interceptor|guard|filter/, "middleware"],
|
|
421
|
+
[/worker|job|queue|cron|schedule/, "service"],
|
|
382
422
|
];
|
|
383
423
|
for (const [rx, tag] of patterns) {
|
|
384
424
|
if (rx.test(lower))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../modules/compass/sources/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../modules/compass/sources/index.ts"],"names":[],"mappings":"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"}
|