ai-spector 0.3.0 → 0.3.2
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 +136 -14
- package/dist/cli.js +97 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/comments.d.ts +41 -0
- package/dist/commands/comments.d.ts.map +1 -0
- package/dist/commands/comments.js +138 -0
- package/dist/commands/comments.js.map +1 -0
- package/dist/commands/init.d.ts +4 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +22 -5
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/sync-cursor.d.ts +6 -0
- package/dist/commands/sync-cursor.d.ts.map +1 -0
- package/dist/commands/sync-cursor.js +18 -0
- package/dist/commands/sync-cursor.js.map +1 -0
- package/dist/comments/anchor.d.ts +16 -0
- package/dist/comments/anchor.d.ts.map +1 -0
- package/dist/comments/anchor.js +59 -0
- package/dist/comments/anchor.js.map +1 -0
- package/dist/comments/inbox.d.ts +83 -0
- package/dist/comments/inbox.d.ts.map +1 -0
- package/dist/comments/inbox.js +180 -0
- package/dist/comments/inbox.js.map +1 -0
- package/dist/comments/paths.d.ts +12 -0
- package/dist/comments/paths.d.ts.map +1 -0
- package/dist/comments/paths.js +54 -0
- package/dist/comments/paths.js.map +1 -0
- package/dist/comments/plan.d.ts +20 -0
- package/dist/comments/plan.d.ts.map +1 -0
- package/dist/comments/plan.js +62 -0
- package/dist/comments/plan.js.map +1 -0
- package/dist/comments/storage.d.ts +30 -0
- package/dist/comments/storage.d.ts.map +1 -0
- package/dist/comments/storage.js +272 -0
- package/dist/comments/storage.js.map +1 -0
- package/dist/comments/types.d.ts +54 -0
- package/dist/comments/types.d.ts.map +1 -0
- package/dist/comments/types.js +2 -0
- package/dist/comments/types.js.map +1 -0
- package/dist/config/load.d.ts +2 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +4 -0
- package/dist/config/load.js.map +1 -1
- package/dist/graph/detail-sections.js +1 -1
- package/dist/graph/detail-sections.js.map +1 -1
- package/dist/graph/doc-extract.d.ts +9 -3
- package/dist/graph/doc-extract.d.ts.map +1 -1
- package/dist/graph/doc-extract.js +86 -58
- package/dist/graph/doc-extract.js.map +1 -1
- package/dist/postinstall.d.ts +3 -0
- package/dist/postinstall.d.ts.map +1 -0
- package/dist/postinstall.js +44 -0
- package/dist/postinstall.js.map +1 -0
- package/documents-basic-design.json +1 -1
- package/package.json +3 -5
- package/scaffold/.ai-spector/.docflow/config/dag.basic-design.graph-seeds.json +11 -7
- package/scaffold/.ai-spector/.docflow/config/dag.basic-design.json +1 -1
- package/scaffold/{.cursor → cursor}/commands/_generate-graph.md +10 -2
- package/scaffold/{.cursor → cursor}/commands/_workflow.md +7 -3
- package/scaffold/{.cursor → cursor}/commands/generate-basic-design.md +27 -17
- package/scaffold/cursor/commands/resolve-comments.md +145 -0
- package/scaffold/cursor/skills/_skill-router.md +22 -0
- package/scaffold/cursor/skills/ai-spector/SKILL.md +47 -0
- package/scaffold/cursor/skills/ai-spector-generate/SKILL.md +41 -0
- package/scaffold/cursor/skills/ai-spector-graph/SKILL.md +39 -0
- package/scaffold/cursor/skills/ai-spector-resolve-comments/SKILL.md +42 -0
- package/templates/basic_design/detail-api-template.md +2 -2
- package/templates/basic_design/detail-screen-template.md +2 -2
- package/scaffold/.cursor/skills/ai-spector/SKILL.md +0 -62
- /package/scaffold/{.cursor → cursor}/commands/_cli-failures.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/_graph.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/_prerequisites.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/analyze.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/generate-detail-design.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/generate-srs.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/graph-impact.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/impact.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/index.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/link-graph.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/summary.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/sync-graph.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/validate-graph.md +0 -0
- /package/scaffold/{.cursor → cursor}/commands/visualize-graph.md +0 -0
- /package/scaffold/{.cursor → cursor}/mcp.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/comments/plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ThreadDetail, ThreadStatus, ThreadSummary } from "./types.js";
|
|
2
|
+
export interface ListThreadsOptions {
|
|
3
|
+
projectRoot: string;
|
|
4
|
+
filePath?: string;
|
|
5
|
+
status?: ThreadStatus | "all";
|
|
6
|
+
}
|
|
7
|
+
export interface ResolveThreadOptions {
|
|
8
|
+
projectRoot: string;
|
|
9
|
+
logicalPath: string;
|
|
10
|
+
threadId: string;
|
|
11
|
+
resolvedBy?: number | string;
|
|
12
|
+
resolvedInCommitSha?: string;
|
|
13
|
+
dryRun?: boolean;
|
|
14
|
+
/** Expected meta_data.json version for optimistic locking */
|
|
15
|
+
expectedVersion?: number;
|
|
16
|
+
}
|
|
17
|
+
export interface ResolveThreadResult {
|
|
18
|
+
thread: ThreadSummary;
|
|
19
|
+
commitMessageSuggestion: string;
|
|
20
|
+
dryRun: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function listThreads(opts: ListThreadsOptions): Promise<ThreadSummary[]>;
|
|
23
|
+
export declare function getThread(projectRoot: string, logicalPath: string, threadId: string): Promise<ThreadDetail | null>;
|
|
24
|
+
export declare function findThreadById(projectRoot: string, threadId: string): Promise<ThreadDetail | null>;
|
|
25
|
+
export declare function resolveThread(opts: ResolveThreadOptions): Promise<ResolveThreadResult>;
|
|
26
|
+
export declare function getGitHeadSha(projectRoot: string): Promise<string | null>;
|
|
27
|
+
/** First non-deleted comment body per thread (for inbox previews). */
|
|
28
|
+
export declare function loadCommentBodiesForThreads(projectRoot: string, threads: ThreadSummary[]): Promise<Map<string, string>>;
|
|
29
|
+
export declare function formatThreadListText(threads: ThreadSummary[]): string;
|
|
30
|
+
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/comments/storage.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAGV,YAAY,EAEZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAIpB,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;CAC/B;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,aAAa,CAAC;IACtB,uBAAuB,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,OAAO,CAAC;CACjB;AAoID,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8BpF;AAED,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmB9B;AAED,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,mBAAmB,CAAC,CA8D9B;AAED,wBAAsB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW/E;AAED,sEAAsE;AACtE,wBAAsB,2BAA2B,CAC/C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,aAAa,EAAE,GACvB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAU9B;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,CAiBrE"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { readdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import { basename, dirname, join, relative } from "node:path";
|
|
4
|
+
import { promisify } from "node:util";
|
|
5
|
+
import { pathExists, readJson, writeJson } from "../util/fs.js";
|
|
6
|
+
import { logicalPathToDocPath, normalizeLogicalPath, threadDirRel, threadEventsRel, threadMetaRel, } from "./paths.js";
|
|
7
|
+
const exec = promisify(execFile);
|
|
8
|
+
function isThreadMeta(raw) {
|
|
9
|
+
if (!raw || typeof raw !== "object") {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
const m = raw;
|
|
13
|
+
return (typeof m.threadId === "string" &&
|
|
14
|
+
typeof m.filePath === "string" &&
|
|
15
|
+
typeof m.status === "string" &&
|
|
16
|
+
typeof m.version === "number" &&
|
|
17
|
+
m.anchor != null &&
|
|
18
|
+
typeof m.anchor.startLine === "number");
|
|
19
|
+
}
|
|
20
|
+
function isCommentBody(raw) {
|
|
21
|
+
if (!raw || typeof raw !== "object") {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
const c = raw;
|
|
25
|
+
return typeof c.commentId === "string" && typeof c.body === "string";
|
|
26
|
+
}
|
|
27
|
+
async function readEvents(eventsPath) {
|
|
28
|
+
if (!(await pathExists(eventsPath))) {
|
|
29
|
+
return [];
|
|
30
|
+
}
|
|
31
|
+
const raw = await readFile(eventsPath, "utf8");
|
|
32
|
+
const events = [];
|
|
33
|
+
for (const line of raw.split("\n")) {
|
|
34
|
+
const trimmed = line.trim();
|
|
35
|
+
if (!trimmed) {
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
try {
|
|
39
|
+
events.push(JSON.parse(trimmed));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
/* skip malformed lines */
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return events;
|
|
46
|
+
}
|
|
47
|
+
async function countCommentFiles(threadDir) {
|
|
48
|
+
let count = 0;
|
|
49
|
+
const entries = await readdir(threadDir, { withFileTypes: true });
|
|
50
|
+
for (const ent of entries) {
|
|
51
|
+
if (!ent.isFile()) {
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (ent.name === "meta_data.json" || ent.name === "events.jsonl") {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
count += 1;
|
|
58
|
+
}
|
|
59
|
+
return count;
|
|
60
|
+
}
|
|
61
|
+
async function loadCommentBodies(threadDir) {
|
|
62
|
+
const comments = [];
|
|
63
|
+
const entries = await readdir(threadDir, { withFileTypes: true });
|
|
64
|
+
for (const ent of entries) {
|
|
65
|
+
if (!ent.isFile()) {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
if (ent.name === "meta_data.json" || ent.name === "events.jsonl") {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const raw = await readJson(join(threadDir, ent.name));
|
|
72
|
+
if (isCommentBody(raw)) {
|
|
73
|
+
comments.push(raw);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
comments.sort((a, b) => a.createdAt.localeCompare(b.createdAt));
|
|
77
|
+
return comments;
|
|
78
|
+
}
|
|
79
|
+
function toSummary(projectRoot, logicalPath, meta, replyCount) {
|
|
80
|
+
const threadDir = threadDirRel(logicalPath, meta.threadId);
|
|
81
|
+
return {
|
|
82
|
+
...meta,
|
|
83
|
+
replyCount,
|
|
84
|
+
threadDir,
|
|
85
|
+
docPath: logicalPathToDocPath(meta.filePath),
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
async function discoverThreadMetas(projectRoot) {
|
|
89
|
+
const commentsRoot = join(projectRoot, "comments");
|
|
90
|
+
if (!(await pathExists(commentsRoot))) {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
const found = [];
|
|
94
|
+
async function walk(dir) {
|
|
95
|
+
let entries;
|
|
96
|
+
try {
|
|
97
|
+
entries = await readdir(dir, { withFileTypes: true });
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
for (const ent of entries) {
|
|
103
|
+
const abs = join(dir, ent.name);
|
|
104
|
+
if (ent.isDirectory()) {
|
|
105
|
+
await walk(abs);
|
|
106
|
+
continue;
|
|
107
|
+
}
|
|
108
|
+
if (ent.name !== "meta_data.json") {
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
const threadDir = dirname(abs);
|
|
112
|
+
const threadId = basename(threadDir);
|
|
113
|
+
const logicalPath = relative(commentsRoot, dirname(threadDir)).replace(/\\/g, "/");
|
|
114
|
+
found.push({ logicalPath, threadId, metaPath: abs });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
await walk(commentsRoot);
|
|
118
|
+
return found;
|
|
119
|
+
}
|
|
120
|
+
export async function listThreads(opts) {
|
|
121
|
+
const fileFilter = opts.filePath ? normalizeLogicalPath(opts.filePath) : undefined;
|
|
122
|
+
const statusFilter = opts.status ?? "open";
|
|
123
|
+
const discovered = await discoverThreadMetas(opts.projectRoot);
|
|
124
|
+
const summaries = [];
|
|
125
|
+
for (const item of discovered) {
|
|
126
|
+
if (fileFilter && normalizeLogicalPath(item.logicalPath) !== fileFilter) {
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const meta = await readJson(item.metaPath);
|
|
130
|
+
if (!isThreadMeta(meta)) {
|
|
131
|
+
continue;
|
|
132
|
+
}
|
|
133
|
+
if (statusFilter !== "all" && meta.status !== statusFilter) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
const replyCount = await countCommentFiles(dirname(item.metaPath));
|
|
137
|
+
summaries.push(toSummary(opts.projectRoot, item.logicalPath, meta, replyCount));
|
|
138
|
+
}
|
|
139
|
+
summaries.sort((a, b) => {
|
|
140
|
+
const lineDiff = a.anchor.startLine - b.anchor.startLine;
|
|
141
|
+
if (lineDiff !== 0) {
|
|
142
|
+
return lineDiff;
|
|
143
|
+
}
|
|
144
|
+
return a.updatedAt.localeCompare(b.updatedAt);
|
|
145
|
+
});
|
|
146
|
+
return summaries;
|
|
147
|
+
}
|
|
148
|
+
export async function getThread(projectRoot, logicalPath, threadId) {
|
|
149
|
+
const lp = normalizeLogicalPath(logicalPath);
|
|
150
|
+
const metaPath = join(projectRoot, threadMetaRel(lp, threadId));
|
|
151
|
+
if (!(await pathExists(metaPath))) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
const meta = await readJson(metaPath);
|
|
155
|
+
if (!isThreadMeta(meta)) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
const threadDir = join(projectRoot, threadDirRel(lp, threadId));
|
|
159
|
+
const replyCount = await countCommentFiles(threadDir);
|
|
160
|
+
const comments = await loadCommentBodies(threadDir);
|
|
161
|
+
const events = await readEvents(join(threadDir, "events.jsonl"));
|
|
162
|
+
return {
|
|
163
|
+
...toSummary(projectRoot, lp, meta, replyCount),
|
|
164
|
+
comments,
|
|
165
|
+
events,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
export async function findThreadById(projectRoot, threadId) {
|
|
169
|
+
const discovered = await discoverThreadMetas(projectRoot);
|
|
170
|
+
const match = discovered.find((d) => d.threadId === threadId);
|
|
171
|
+
if (!match) {
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
return getThread(projectRoot, match.logicalPath, threadId);
|
|
175
|
+
}
|
|
176
|
+
export async function resolveThread(opts) {
|
|
177
|
+
const lp = normalizeLogicalPath(opts.logicalPath);
|
|
178
|
+
const metaPath = join(opts.projectRoot, threadMetaRel(lp, opts.threadId));
|
|
179
|
+
if (!(await pathExists(metaPath))) {
|
|
180
|
+
throw new Error(`Thread not found: comments/${lp}/${opts.threadId}/meta_data.json`);
|
|
181
|
+
}
|
|
182
|
+
const meta = await readJson(metaPath);
|
|
183
|
+
if (opts.expectedVersion != null && meta.version !== opts.expectedVersion) {
|
|
184
|
+
throw new Error(`Stale thread version: expected ${opts.expectedVersion}, found ${meta.version}. Re-read meta_data.json and retry.`);
|
|
185
|
+
}
|
|
186
|
+
if (meta.status === "resolved") {
|
|
187
|
+
throw new Error(`Thread ${opts.threadId} is already resolved.`);
|
|
188
|
+
}
|
|
189
|
+
const commitSha = opts.resolvedInCommitSha?.trim() || (await getGitHeadSha(opts.projectRoot));
|
|
190
|
+
const now = new Date().toISOString();
|
|
191
|
+
const resolvedBy = opts.resolvedBy ?? "local";
|
|
192
|
+
const nextVersion = meta.version + 1;
|
|
193
|
+
const updated = {
|
|
194
|
+
...meta,
|
|
195
|
+
status: "resolved",
|
|
196
|
+
resolvedAt: now,
|
|
197
|
+
resolvedBy,
|
|
198
|
+
resolvedInCommitSha: commitSha,
|
|
199
|
+
updatedAt: now,
|
|
200
|
+
version: nextVersion,
|
|
201
|
+
};
|
|
202
|
+
const event = {
|
|
203
|
+
at: now,
|
|
204
|
+
type: "resolved",
|
|
205
|
+
resolvedInCommitSha: commitSha ?? undefined,
|
|
206
|
+
by: resolvedBy,
|
|
207
|
+
};
|
|
208
|
+
const threadDir = join(opts.projectRoot, threadDirRel(lp, opts.threadId));
|
|
209
|
+
const eventsPath = join(opts.projectRoot, threadEventsRel(lp, opts.threadId));
|
|
210
|
+
const commitMessageSuggestion = `resolve comment thread ${opts.threadId} on ${meta.filePath} ` +
|
|
211
|
+
`(lines ${meta.anchor.startLine}-${meta.anchor.endLine})`;
|
|
212
|
+
if (!opts.dryRun) {
|
|
213
|
+
await writeJson(metaPath, updated);
|
|
214
|
+
const line = `${JSON.stringify(event)}\n`;
|
|
215
|
+
if (await pathExists(eventsPath)) {
|
|
216
|
+
await writeFile(eventsPath, line, { flag: "a" });
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
await writeFile(eventsPath, line, "utf8");
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
const replyCount = await countCommentFiles(threadDir);
|
|
223
|
+
return {
|
|
224
|
+
thread: toSummary(opts.projectRoot, lp, updated, replyCount),
|
|
225
|
+
commitMessageSuggestion,
|
|
226
|
+
dryRun: opts.dryRun === true,
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
export async function getGitHeadSha(projectRoot) {
|
|
230
|
+
try {
|
|
231
|
+
const { stdout } = await exec("git", ["rev-parse", "HEAD"], {
|
|
232
|
+
cwd: projectRoot,
|
|
233
|
+
encoding: "utf8",
|
|
234
|
+
});
|
|
235
|
+
const sha = stdout.trim();
|
|
236
|
+
return sha || null;
|
|
237
|
+
}
|
|
238
|
+
catch {
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/** First non-deleted comment body per thread (for inbox previews). */
|
|
243
|
+
export async function loadCommentBodiesForThreads(projectRoot, threads) {
|
|
244
|
+
const map = new Map();
|
|
245
|
+
for (const t of threads) {
|
|
246
|
+
const detail = await getThread(projectRoot, t.filePath, t.threadId);
|
|
247
|
+
const first = detail?.comments.find((c) => !c.deletedAt);
|
|
248
|
+
if (first) {
|
|
249
|
+
map.set(t.threadId, first.body);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return map;
|
|
253
|
+
}
|
|
254
|
+
export function formatThreadListText(threads) {
|
|
255
|
+
if (threads.length === 0) {
|
|
256
|
+
return "No comment threads found.";
|
|
257
|
+
}
|
|
258
|
+
const lines = threads.map((t) => {
|
|
259
|
+
const doc = t.docPath ?? "(unknown doc path)";
|
|
260
|
+
return [
|
|
261
|
+
`${t.threadId}`,
|
|
262
|
+
` file: ${t.filePath} → ${doc}`,
|
|
263
|
+
` status: ${t.status} | lines ${t.anchor.startLine}-${t.anchor.endLine} | lang ${t.anchor.language}`,
|
|
264
|
+
` branch: ${t.originBranch} | replies: ${t.replyCount}`,
|
|
265
|
+
t.anchor.lineExcerpt ? ` excerpt: ${t.anchor.lineExcerpt}` : null,
|
|
266
|
+
]
|
|
267
|
+
.filter(Boolean)
|
|
268
|
+
.join("\n");
|
|
269
|
+
});
|
|
270
|
+
return lines.join("\n\n");
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/comments/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export type ThreadStatus = "open" | "resolved";
|
|
2
|
+
export type AnchorState = "active" | "drifted" | "missing";
|
|
3
|
+
export interface CommentAnchor {
|
|
4
|
+
branchName: string;
|
|
5
|
+
baseCommitSha: string;
|
|
6
|
+
filePath: string;
|
|
7
|
+
language: string;
|
|
8
|
+
startLine: number;
|
|
9
|
+
endLine: number;
|
|
10
|
+
lineExcerpt?: string;
|
|
11
|
+
anchorState?: AnchorState;
|
|
12
|
+
}
|
|
13
|
+
export interface ThreadMeta {
|
|
14
|
+
threadId: string;
|
|
15
|
+
filePath: string;
|
|
16
|
+
originBranch: string;
|
|
17
|
+
status: ThreadStatus;
|
|
18
|
+
version: number;
|
|
19
|
+
createdAt: string;
|
|
20
|
+
updatedAt: string;
|
|
21
|
+
createdBy: number | string;
|
|
22
|
+
resolvedAt: string | null;
|
|
23
|
+
resolvedBy: number | string | null;
|
|
24
|
+
resolvedInCommitSha: string | null;
|
|
25
|
+
anchor: CommentAnchor;
|
|
26
|
+
}
|
|
27
|
+
export interface CommentBody {
|
|
28
|
+
commentId: string;
|
|
29
|
+
threadId: string;
|
|
30
|
+
body: string;
|
|
31
|
+
authorId: number | string;
|
|
32
|
+
createdAt: string;
|
|
33
|
+
parentCommentId: string | null;
|
|
34
|
+
editedAt: string | null;
|
|
35
|
+
deletedAt: string | null;
|
|
36
|
+
}
|
|
37
|
+
export type CommentEventType = "thread_created" | "reply_added" | "comment_edited" | "comment_deleted" | "resolved" | "reopened";
|
|
38
|
+
export interface CommentEvent {
|
|
39
|
+
at: string;
|
|
40
|
+
type: CommentEventType;
|
|
41
|
+
by?: number | string;
|
|
42
|
+
commentId?: string;
|
|
43
|
+
resolvedInCommitSha?: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ThreadSummary extends ThreadMeta {
|
|
46
|
+
replyCount: number;
|
|
47
|
+
threadDir: string;
|
|
48
|
+
docPath: string | null;
|
|
49
|
+
}
|
|
50
|
+
export interface ThreadDetail extends ThreadSummary {
|
|
51
|
+
comments: CommentBody[];
|
|
52
|
+
events: CommentEvent[];
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/comments/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,CAAC;AAE/C,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAE3D,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,gBAAgB,GACxB,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,iBAAiB,GACjB,UAAU,GACV,UAAU,CAAC;AAEf,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/comments/types.ts"],"names":[],"mappings":""}
|
package/dist/config/load.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import type { DocflowConfig, DocumentsManifest } from "./types.js";
|
|
|
3
3
|
export declare function packageBundleRoot(): string;
|
|
4
4
|
/** Bundled project scaffold for `ai-spector init`. */
|
|
5
5
|
export declare function scaffoldBundleRoot(): string;
|
|
6
|
+
/** Cursor commands/skills/MCP bundled under scaffold (not `.cursor/` — root gitignore). */
|
|
7
|
+
export declare function scaffoldCursorBundleRoot(): string;
|
|
6
8
|
export declare function findProjectRoot(start?: string): string;
|
|
7
9
|
export declare function loadDocflowConfig(root?: string): Promise<{
|
|
8
10
|
root: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKnE,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAgB,GAAG,MAAM,CAkB7D;AAgBD,wBAAsB,iBAAiB,CACrC,IAAI,SAAoB,GACvB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAYtE;AAED,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,GACpB,MAAM,CAER;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC,CASD;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAS9E"}
|
|
1
|
+
{"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAKnE,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,sDAAsD;AACtD,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED,2FAA2F;AAC3F,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,wBAAgB,eAAe,CAAC,KAAK,SAAgB,GAAG,MAAM,CAkB7D;AAgBD,wBAAsB,iBAAiB,CACrC,IAAI,SAAoB,GACvB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAYtE;AAED,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,GACpB,MAAM,CAER;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAsB,qBAAqB,IAAI,OAAO,CAAC;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B,CAAC,CASD;AAED,wBAAsB,2BAA2B,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAS9E"}
|
package/dist/config/load.js
CHANGED
|
@@ -11,6 +11,10 @@ export function packageBundleRoot() {
|
|
|
11
11
|
export function scaffoldBundleRoot() {
|
|
12
12
|
return join(packageBundleRoot(), "scaffold");
|
|
13
13
|
}
|
|
14
|
+
/** Cursor commands/skills/MCP bundled under scaffold (not `.cursor/` — root gitignore). */
|
|
15
|
+
export function scaffoldCursorBundleRoot() {
|
|
16
|
+
return join(scaffoldBundleRoot(), "cursor");
|
|
17
|
+
}
|
|
14
18
|
export function findProjectRoot(start = process.cwd()) {
|
|
15
19
|
let dir = resolve(start);
|
|
16
20
|
for (;;) {
|
package/dist/config/load.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,mEAAmE;AACnE,MAAM,UAAU,iBAAiB;IAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,UAAU,CAAC,CAAC;AAC/C,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,CAAC,kBAAkB,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;IACnD,IAAI,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzB,SAAS,CAAC;QACR,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;YACvC,OAAO,GAAG,CAAC;QACb,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;YACnB,MAAM;QACR,CAAC;QACD,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,qDAAqD,WAAW,OAAO,WAAW,GAAG,CACtF,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,KAAK,EAAE,2CAA2C;IAClD,QAAQ,EAAE,4CAA4C;IACtD,SAAS,EAAE,uBAAuB;CAC1B,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAI,GAAG,eAAe,EAAE;IAExB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAyB,UAAU,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAkB;QAC5B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,CAAC;QACzB,KAAK,EAAE;YACL,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CAAC,KAAK;YAC9C,QAAQ,EAAE,GAAG,CAAC,KAAK,EAAE,QAAQ,IAAI,aAAa,CAAC,QAAQ;YACvD,SAAS,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,IAAI,aAAa,CAAC,SAAS;SAC3D;KACF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AACtC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CACxC,IAAY,EACZ,MAAqB;IAErB,OAAO,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,YAAoB;IAChE,OAAO,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,2BAA2B,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,iCAAiC,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,2BAA2B,CAAC,CAAC;AAChE,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,IAAI,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB;IAIzC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,IAAI,CAAC,UAAU,EAAE,gBAAgB,CAAC,CACnC,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B;IAC/C,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,IAAI,CAAC,UAAU,EAAE,6BAA6B,CAAC,CAChD,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,0CAA0C,UAAU,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
|
@@ -6,7 +6,7 @@ const BLOCKQUOTE_LINE_RE = /^\s*>/;
|
|
|
6
6
|
const FIELD_LINE_RE = /^\s*\*\*[^*]+:\*\*/;
|
|
7
7
|
const TABLE_LINE_RE = /^\s*\|/;
|
|
8
8
|
const HR_RE = /^---+\s*$/;
|
|
9
|
-
const BD_INSTANCE_PATH_RE = /docs\/basic-design\/(?:api\/|screens\/
|
|
9
|
+
const BD_INSTANCE_PATH_RE = /docs\/basic-design\/(?:api\/|screens\/)/i;
|
|
10
10
|
/** List-chapter basic-design documents (api-list, screen map, db-design). */
|
|
11
11
|
export function isBasicDesignListChapterDocument(node) {
|
|
12
12
|
return node.type === "document" && isBasicDesignListChapterDocumentId(node.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detail-sections.js","sourceRoot":"","sources":["../../src/graph/detail-sections.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EACL,8BAA8B,EAC9B,mBAAmB,EACnB,kCAAkC,GACnC,MAAM,eAAe,CAAC;AAEvB,MAAM,UAAU,GAAG,mBAAmB,CAAC;AACvC,MAAM,iBAAiB,GAAG,mCAAmC,CAAC;AAC9D,MAAM,kBAAkB,GAAG,OAAO,CAAC;AACnC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,MAAM,aAAa,GAAG,QAAQ,CAAC;AAC/B,MAAM,KAAK,GAAG,WAAW,CAAC;AAS1B,MAAM,mBAAmB,GACvB,
|
|
1
|
+
{"version":3,"file":"detail-sections.js","sourceRoot":"","sources":["../../src/graph/detail-sections.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,10 +26,16 @@ export type DetailFileKind = "useCaseDetail" | "featureDetail";
|
|
|
26
26
|
export type BasicDesignDetailKind = "apiDetail" | "screenDetail";
|
|
27
27
|
/** Classify markdown under docs/srs as list chapter vs per-domain detail file. */
|
|
28
28
|
export declare function classifySrsDetailFile(relativePath: string): DetailFileKind | null;
|
|
29
|
-
/** Classify markdown under docs/basic-design as list chapter vs per-
|
|
29
|
+
/** Classify markdown under docs/basic-design as list chapter vs per-endpoint/per-screen detail. */
|
|
30
30
|
export declare function classifyBasicDesignDetailFile(relativePath: string): BasicDesignDetailKind | null;
|
|
31
31
|
export declare function documentIdForDomainDetail(kind: DetailFileKind, domainId: string): string;
|
|
32
|
-
export declare function documentIdForBasicDesignDetail(kind: BasicDesignDetailKind,
|
|
32
|
+
export declare function documentIdForBasicDesignDetail(kind: BasicDesignDetailKind, relativePath: string): string;
|
|
33
|
+
export interface BasicDesignDetailMeta {
|
|
34
|
+
title: string;
|
|
35
|
+
featureIds: string[];
|
|
36
|
+
}
|
|
37
|
+
/** Title and optional related features from per-endpoint / per-screen detail markdown. */
|
|
38
|
+
export declare function extractBasicDesignDetailMeta(content: string, kind: BasicDesignDetailKind, relativePath: string): BasicDesignDetailMeta;
|
|
33
39
|
export interface DetailDomainMeta {
|
|
34
40
|
title?: string;
|
|
35
41
|
description?: string;
|
|
@@ -57,7 +63,7 @@ interface ParsedDomain {
|
|
|
57
63
|
}
|
|
58
64
|
export declare function extractDomainFromMarkdown(content: string, relativePath: string): ParsedDomain;
|
|
59
65
|
export declare function parsedDomainToPatch(parsed: ParsedDomain, relativePath: string): ExtractPatch;
|
|
60
|
-
/** Document nodes + sections for per-UC/F SRS or per-
|
|
66
|
+
/** Document nodes + sections for per-UC/F SRS or per-endpoint/per-screen basic-design files. */
|
|
61
67
|
export declare function detailFileToPatch(relativePath: string, content: string, options?: BuildDocExtractPatchOptions): ExtractPatch;
|
|
62
68
|
export declare function mergeParsedDomains(domains: ParsedDomain[]): ParsedDomain;
|
|
63
69
|
/** Per-domain template shells (outputPattern — no section coverage required). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doc-extract.d.ts","sourceRoot":"","sources":["../../src/graph/doc-extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,aAAa,CAAC;AAcxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAOnD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,eAAO,MAAM,uBAAuB;;;CAG1B,CAAC;AAmBX,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAcrD;AAMD,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,eAAe,CAAC;AAC/D,MAAM,MAAM,qBAAqB,GAAG,WAAW,GAAG,cAAc,CAAC;AAMjE,kFAAkF;AAClF,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAejF;AAED,
|
|
1
|
+
{"version":3,"file":"doc-extract.d.ts","sourceRoot":"","sources":["../../src/graph/doc-extract.ts"],"names":[],"mappings":"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"}
|