@cyber-dash-tech/revela 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -29
- package/README.zh-CN.md +35 -29
- package/lib/commands/designs.ts +2 -2
- package/lib/commands/domains.ts +2 -2
- package/lib/commands/enable.ts +19 -19
- package/lib/commands/help.ts +5 -3
- package/lib/commands/init.ts +30 -19
- package/lib/commands/review.ts +115 -1
- package/lib/decks-state.ts +13 -3
- package/lib/narrative-state/hash.ts +52 -0
- package/lib/narrative-state/normalize.ts +307 -0
- package/lib/narrative-state/project-compat.ts +14 -0
- package/lib/narrative-state/readiness.ts +289 -0
- package/lib/narrative-state/render-plan.ts +207 -0
- package/lib/narrative-state/types.ts +139 -0
- package/lib/prompt-builder.ts +59 -26
- package/lib/workspace-state/graph.ts +120 -2
- package/lib/workspace-state/types.ts +3 -0
- package/package.json +1 -1
- package/plugin.ts +27 -2
- package/skill/NARRATIVE_SKILL.md +64 -0
- package/tools/decks.ts +180 -2
- package/tools/workspace-scan.ts +14 -1
package/tools/workspace-scan.ts
CHANGED
|
@@ -18,6 +18,17 @@ const EXCLUDE_DIRS = new Set([
|
|
|
18
18
|
"designs", "domains", // Exclude revela plugin assets
|
|
19
19
|
])
|
|
20
20
|
|
|
21
|
+
const EXCLUDE_FILENAMES = new Set([
|
|
22
|
+
"AGENTS.md",
|
|
23
|
+
"DECKS.md",
|
|
24
|
+
"README.md",
|
|
25
|
+
"README.zh-CN.md",
|
|
26
|
+
])
|
|
27
|
+
|
|
28
|
+
function isExcludedFile(entry: string): boolean {
|
|
29
|
+
return entry.startsWith("~$") || EXCLUDE_FILENAMES.has(entry)
|
|
30
|
+
}
|
|
31
|
+
|
|
21
32
|
type FileEntry = {
|
|
22
33
|
path: string
|
|
23
34
|
type: string
|
|
@@ -84,6 +95,8 @@ function scanDir(dir: string, rootDir: string, results: FileEntry[], maxDepth: n
|
|
|
84
95
|
if (stat.isDirectory()) {
|
|
85
96
|
scanDir(fullPath, rootDir, results, maxDepth, depth + 1)
|
|
86
97
|
} else if (stat.isFile()) {
|
|
98
|
+
if (isExcludedFile(entry)) continue
|
|
99
|
+
|
|
87
100
|
const ext = extname(entry).toLowerCase()
|
|
88
101
|
if (DOC_EXTENSIONS.has(ext)) {
|
|
89
102
|
const sourceMaterial = sourceMaterialMetadata(fullPath, rootDir)
|
|
@@ -104,7 +117,7 @@ export default tool({
|
|
|
104
117
|
"Scan the current workspace for document and data files that can be used as research input. " +
|
|
105
118
|
"Returns a structured list of all found files with their type and size. " +
|
|
106
119
|
"Searches for: PDF, Word (docx/doc), Excel (xlsx/xls), PowerPoint (pptx/ppt), CSV, Markdown, and text files. " +
|
|
107
|
-
"Excludes node_modules, .git, dist,
|
|
120
|
+
"Excludes node_modules, .git, dist, the researches/ output directory, project docs, and Office lock files. " +
|
|
108
121
|
"Use this as the first step before reading workspace documents.",
|
|
109
122
|
args: {
|
|
110
123
|
path: tool.schema
|