ai-spector 0.9.2 → 0.9.7

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.
Files changed (93) hide show
  1. package/dist/cli.js +85 -7
  2. package/dist/cli.js.map +1 -1
  3. package/dist/core/comments/filters.d.ts +4 -0
  4. package/dist/core/comments/filters.d.ts.map +1 -1
  5. package/dist/core/comments/filters.js +12 -0
  6. package/dist/core/comments/filters.js.map +1 -1
  7. package/dist/core/comments/meta.d.ts +9 -0
  8. package/dist/core/comments/meta.d.ts.map +1 -0
  9. package/dist/core/comments/meta.js +51 -0
  10. package/dist/core/comments/meta.js.map +1 -0
  11. package/dist/core/comments/migrate.d.ts +19 -0
  12. package/dist/core/comments/migrate.d.ts.map +1 -0
  13. package/dist/core/comments/migrate.js +165 -0
  14. package/dist/core/comments/migrate.js.map +1 -0
  15. package/dist/core/comments/paths.d.ts +3 -2
  16. package/dist/core/comments/paths.d.ts.map +1 -1
  17. package/dist/core/comments/paths.js +16 -5
  18. package/dist/core/comments/paths.js.map +1 -1
  19. package/dist/core/comments/storage.d.ts +8 -1
  20. package/dist/core/comments/storage.d.ts.map +1 -1
  21. package/dist/core/comments/storage.js +53 -34
  22. package/dist/core/comments/storage.js.map +1 -1
  23. package/dist/core/comments/target-paths.d.ts +22 -0
  24. package/dist/core/comments/target-paths.d.ts.map +1 -0
  25. package/dist/core/comments/target-paths.js +86 -0
  26. package/dist/core/comments/target-paths.js.map +1 -0
  27. package/dist/core/comments/types.d.ts +3 -0
  28. package/dist/core/comments/types.d.ts.map +1 -1
  29. package/dist/core/comments/types.js.map +1 -1
  30. package/dist/core/docops/bootstrap.d.ts +8 -0
  31. package/dist/core/docops/bootstrap.d.ts.map +1 -1
  32. package/dist/core/docops/bootstrap.js +60 -2
  33. package/dist/core/docops/bootstrap.js.map +1 -1
  34. package/dist/core/docops/init.d.ts.map +1 -1
  35. package/dist/core/docops/init.js +13 -38
  36. package/dist/core/docops/init.js.map +1 -1
  37. package/dist/core/docops/migrate.d.ts +1 -0
  38. package/dist/core/docops/migrate.d.ts.map +1 -1
  39. package/dist/core/docops/migrate.js +28 -48
  40. package/dist/core/docops/migrate.js.map +1 -1
  41. package/dist/core/docops/paths.d.ts +15 -0
  42. package/dist/core/docops/paths.d.ts.map +1 -1
  43. package/dist/core/docops/paths.js +50 -3
  44. package/dist/core/docops/paths.js.map +1 -1
  45. package/dist/core/docops/registry/discover.d.ts +12 -0
  46. package/dist/core/docops/registry/discover.d.ts.map +1 -0
  47. package/dist/core/docops/registry/discover.js +111 -0
  48. package/dist/core/docops/registry/discover.js.map +1 -0
  49. package/dist/core/docops/registry/index.d.ts +7 -0
  50. package/dist/core/docops/registry/index.d.ts.map +1 -0
  51. package/dist/core/docops/registry/index.js +5 -0
  52. package/dist/core/docops/registry/index.js.map +1 -0
  53. package/dist/core/docops/registry/load.d.ts +22 -0
  54. package/dist/core/docops/registry/load.d.ts.map +1 -0
  55. package/dist/core/docops/registry/load.js +126 -0
  56. package/dist/core/docops/registry/load.js.map +1 -0
  57. package/dist/core/docops/registry/paths.d.ts +11 -0
  58. package/dist/core/docops/registry/paths.d.ts.map +1 -0
  59. package/dist/core/docops/registry/paths.js +24 -0
  60. package/dist/core/docops/registry/paths.js.map +1 -0
  61. package/dist/core/docops/registry/sync.d.ts +13 -0
  62. package/dist/core/docops/registry/sync.d.ts.map +1 -0
  63. package/dist/core/docops/registry/sync.js +267 -0
  64. package/dist/core/docops/registry/sync.js.map +1 -0
  65. package/dist/core/docops/registry/types.d.ts +46 -0
  66. package/dist/core/docops/registry/types.d.ts.map +1 -0
  67. package/dist/core/docops/registry/types.js +2 -0
  68. package/dist/core/docops/registry/types.js.map +1 -0
  69. package/dist/core/operations/comments.d.ts +9 -1
  70. package/dist/core/operations/comments.d.ts.map +1 -1
  71. package/dist/core/operations/comments.js +15 -6
  72. package/dist/core/operations/comments.js.map +1 -1
  73. package/dist/core/operations/docops.d.ts +16 -0
  74. package/dist/core/operations/docops.d.ts.map +1 -1
  75. package/dist/core/operations/docops.js +77 -0
  76. package/dist/core/operations/docops.js.map +1 -1
  77. package/dist/core/prototype/build-manifest.d.ts.map +1 -1
  78. package/dist/core/prototype/build-manifest.js +5 -3
  79. package/dist/core/prototype/build-manifest.js.map +1 -1
  80. package/dist/core/reviews/doc-resolve.d.ts.map +1 -1
  81. package/dist/core/reviews/doc-resolve.js +17 -5
  82. package/dist/core/reviews/doc-resolve.js.map +1 -1
  83. package/dist/core/reviews/registry-v4.d.ts +15 -0
  84. package/dist/core/reviews/registry-v4.d.ts.map +1 -0
  85. package/dist/core/reviews/registry-v4.js +89 -0
  86. package/dist/core/reviews/registry-v4.js.map +1 -0
  87. package/dist/core/reviews/storage.d.ts.map +1 -1
  88. package/dist/core/reviews/storage.js +64 -2
  89. package/dist/core/reviews/storage.js.map +1 -1
  90. package/dist/core/reviews/types.d.ts +20 -6
  91. package/dist/core/reviews/types.d.ts.map +1 -1
  92. package/dist/core/reviews/types.js.map +1 -1
  93. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.js","sourceRoot":"","sources":["../../../src/core/comments/meta.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAOpF,SAAS,YAAY,CAAC,GAA4B,EAAE,WAAwB;IAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;IAChC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACjD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;QACvF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,CAAC,MAA8B,CAAC;IAChD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,CAAwB,CAAC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM;KACP,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC9C,MAAM,QAAQ,GACZ,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QACjD,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE;QACnB,CAAC,CAAC,WAAW,KAAK,WAAW;YAC3B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,EAAE,CAAC;IAEX,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IACxC,IAAI,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE/C,OAAO;QACL,GAAI,CAA2B;QAC/B,WAAW;QACX,QAAQ,EAAE,QAAQ,IAAI,QAAQ;QAC9B,QAAQ,EAAE,QAAQ,IAAI,CAAC,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC;QAClF,MAAM;KACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAY;IACjD,OAAO,mBAAmB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { type CommentStorageLocation } from "./target-paths.js";
2
+ export interface CommentsMigrateOptions {
3
+ projectRoot: string;
4
+ dryRun?: boolean;
5
+ }
6
+ export interface CommentsMigrateResult {
7
+ moved: number;
8
+ skipped: number;
9
+ warnings: string[];
10
+ actions: string[];
11
+ }
12
+ export declare function migrateCommentsToTargetIds(opts: CommentsMigrateOptions): Promise<CommentsMigrateResult>;
13
+ /** Resolve list/get location: prefer ID-based dir when registry knows entity. */
14
+ export declare function resolveCommentListLocation(projectRoot: string, filters: {
15
+ entityId?: string;
16
+ screenId?: string;
17
+ filePath?: string;
18
+ }): Promise<CommentStorageLocation | null>;
19
+ //# sourceMappingURL=migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../../src/core/comments/migrate.ts"],"names":[],"mappings":"AAWA,OAAO,EASL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAG3B,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAyGD,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,qBAAqB,CAAC,CAqEhC;AAED,iFAAiF;AACjF,wBAAsB,0BAA0B,CAC9C,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;IACP,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAqBxC"}
@@ -0,0 +1,165 @@
1
+ import { cp, mkdir, readdir, rm } from "node:fs/promises";
2
+ import { basename, dirname, join } from "node:path";
3
+ import { loadOrDeriveDocopsConfig } from "../docops/config.js";
4
+ import { findDocumentEntityIdForPaths, loadRegistryIndex, } from "../docops/registry/index.js";
5
+ import { pathExists, readJson, writeJsonAtomic } from "../util/fs.js";
6
+ import { normalizeThreadMeta } from "./meta.js";
7
+ import { normalizeLogicalPath, screenStemFromPrototypeUrl } from "./paths.js";
8
+ import { COMMENTS_DOCUMENTS_SEGMENT, COMMENTS_SCREENS_SEGMENT, documentLocation, legacyLocation, locationFromRelativeThreadDir, parseCommentStoragePath, screenLocation, threadDirForLocation, } from "./target-paths.js";
9
+ import { isPrototypeAnchor, threadCommentType } from "./types.js";
10
+ function resolveDocumentTarget(index, filePath) {
11
+ const candidates = [filePath, normalizeLogicalPath(filePath)];
12
+ const entityId = findDocumentEntityIdForPaths(index, candidates);
13
+ if (!entityId)
14
+ return null;
15
+ return documentLocation(entityId);
16
+ }
17
+ function resolveScreenTarget(index, meta) {
18
+ if (!meta)
19
+ return null;
20
+ if (isPrototypeAnchor(meta.anchor)) {
21
+ const url = meta.anchor.url?.trim();
22
+ for (const screen of index.screens) {
23
+ const path = screen.prototypePath?.replace(/^\/+/, "") ?? "";
24
+ if (url && (path === url || screenStemFromPrototypeUrl(path) === screenStemFromPrototypeUrl(url))) {
25
+ return screenLocation(screen.screenId);
26
+ }
27
+ }
28
+ if (meta.targetId && index.screensById.has(meta.targetId)) {
29
+ return screenLocation(meta.targetId);
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+ function resolveTargetLocation(index, storagePath, meta) {
35
+ const parsed = parseCommentStoragePath(storagePath);
36
+ if (parsed?.kind === "document")
37
+ return parsed;
38
+ if (parsed?.kind === "prototype_screen")
39
+ return parsed;
40
+ if (!meta)
41
+ return null;
42
+ const commentType = threadCommentType(meta);
43
+ if (commentType === "prototype") {
44
+ return resolveScreenTarget(index, meta);
45
+ }
46
+ return resolveDocumentTarget(index, meta.filePath);
47
+ }
48
+ async function copyThreadDir(src, dest) {
49
+ await mkdir(dirname(dest), { recursive: true });
50
+ await cp(src, dest, { recursive: true, force: true });
51
+ }
52
+ async function discoverLegacyThreadDirs(projectRoot, commentsRoot) {
53
+ const rootAbs = join(projectRoot, commentsRoot);
54
+ if (!(await pathExists(rootAbs)))
55
+ return [];
56
+ const out = [];
57
+ async function walk(dir) {
58
+ const entries = await readdir(dir, { withFileTypes: true });
59
+ const hasMeta = entries.some((e) => e.isFile() && e.name === "meta_data.json");
60
+ if (hasMeta) {
61
+ out.push(dir);
62
+ return;
63
+ }
64
+ for (const ent of entries) {
65
+ if (ent.isDirectory()) {
66
+ await walk(join(dir, ent.name));
67
+ }
68
+ }
69
+ }
70
+ const top = await readdir(rootAbs, { withFileTypes: true });
71
+ for (const ent of top) {
72
+ if (!ent.isDirectory())
73
+ continue;
74
+ if (ent.name === COMMENTS_DOCUMENTS_SEGMENT || ent.name === COMMENTS_SCREENS_SEGMENT) {
75
+ continue;
76
+ }
77
+ await walk(join(rootAbs, ent.name));
78
+ }
79
+ const prototypeDir = join(rootAbs, "prototype");
80
+ if (await pathExists(prototypeDir)) {
81
+ await walk(prototypeDir);
82
+ }
83
+ return out;
84
+ }
85
+ function upgradedMeta(meta, location) {
86
+ return {
87
+ ...meta,
88
+ targetId: location.targetId,
89
+ commentType: location.kind === "prototype_screen" ? "prototype" : "document",
90
+ };
91
+ }
92
+ export async function migrateCommentsToTargetIds(opts) {
93
+ const config = await loadOrDeriveDocopsConfig(opts.projectRoot);
94
+ const commentsRoot = config.paths.comments;
95
+ const dryRun = opts.dryRun ?? false;
96
+ const actions = [];
97
+ const warnings = [];
98
+ let moved = 0;
99
+ let skipped = 0;
100
+ const index = await loadRegistryIndex(opts.projectRoot, config);
101
+ if (index.documents.length === 0) {
102
+ warnings.push("Registry has no document entities — run `docops registry sync` first.");
103
+ }
104
+ const legacyDirs = await discoverLegacyThreadDirs(opts.projectRoot, commentsRoot);
105
+ for (const threadDirAbs of legacyDirs) {
106
+ const metaPath = join(threadDirAbs, "meta_data.json");
107
+ const raw = await readJson(metaPath);
108
+ const meta = normalizeThreadMeta(raw);
109
+ if (!meta) {
110
+ warnings.push(`Skip invalid meta: ${metaPath}`);
111
+ skipped++;
112
+ continue;
113
+ }
114
+ const parentRel = locationFromRelativeThreadDir(commentsRoot, threadDirAbs, opts.projectRoot);
115
+ if (parentRel.kind !== "legacy") {
116
+ skipped++;
117
+ continue;
118
+ }
119
+ const target = resolveTargetLocation(index, parentRel.storagePath, meta);
120
+ if (!target) {
121
+ warnings.push(`No registry target for thread ${meta.threadId} (${meta.filePath || parentRel.storagePath})`);
122
+ skipped++;
123
+ continue;
124
+ }
125
+ const threadId = basename(threadDirAbs);
126
+ const destDir = join(opts.projectRoot, threadDirForLocation(target, threadId, commentsRoot));
127
+ if (await pathExists(destDir)) {
128
+ actions.push(`skip ${threadId} — destination exists (${target.storagePath})`);
129
+ skipped++;
130
+ continue;
131
+ }
132
+ actions.push(`move ${parentRel.storagePath}/${threadId} → ${target.storagePath}/${threadId}`);
133
+ if (!dryRun) {
134
+ await copyThreadDir(threadDirAbs, destDir);
135
+ const newMeta = upgradedMeta(meta, target);
136
+ await writeJsonAtomic(join(destDir, "meta_data.json"), newMeta);
137
+ await rm(threadDirAbs, { recursive: true, force: true });
138
+ }
139
+ moved++;
140
+ }
141
+ return { moved, skipped, warnings, actions };
142
+ }
143
+ /** Resolve list/get location: prefer ID-based dir when registry knows entity. */
144
+ export async function resolveCommentListLocation(projectRoot, filters) {
145
+ const config = await loadOrDeriveDocopsConfig(projectRoot);
146
+ if (filters.entityId?.trim()) {
147
+ return documentLocation(filters.entityId.trim());
148
+ }
149
+ if (filters.screenId?.trim()) {
150
+ return screenLocation(filters.screenId.trim());
151
+ }
152
+ if (!filters.filePath?.trim())
153
+ return null;
154
+ const index = await loadRegistryIndex(projectRoot, config);
155
+ const fp = filters.filePath.trim();
156
+ if (fp === "prototype" || fp.startsWith("prototype/")) {
157
+ return legacyLocation(fp);
158
+ }
159
+ const entityId = findDocumentEntityIdForPaths(index, [fp, normalizeLogicalPath(fp)]);
160
+ if (entityId) {
161
+ return documentLocation(entityId);
162
+ }
163
+ return legacyLocation(fp);
164
+ }
165
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../../src/core/comments/migrate.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,10 @@
2
2
  export declare function normalizeLogicalPath(filePath: string): string;
3
3
  /**
4
4
  * Map comment logical_path (e.g. `srs/01-overview`) to repo-relative doc file.
5
- * Returns null when the prefix is unknown.
5
+ * When ``repoPrefixBySegment`` is set (from docops ``docTypes``), each layer uses
6
+ * its configured folder (e.g. ``docs/srs``, ``detail-design``).
6
7
  */
7
- export declare function logicalPathToDocPath(logicalPath: string): string | null;
8
+ export declare function logicalPathToDocPath(logicalPath: string, repoPrefixBySegment?: Record<string, string>): string | null;
8
9
  /** Map prototype thread filePath (e.g. `prototype/src/login.html`) to repo HTML path. */
9
10
  export declare function logicalPathToPrototypePath(logicalPath: string): string | null;
10
11
  /** Doc or prototype repo-relative path for a thread's logical filePath. */
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/core/comments/paths.ts"],"names":[],"mappings":"AAIA,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwBvE;AAED,yFAAyF;AACzF,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7E;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED,wFAAwF;AACxF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAOtF;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,YAAY,GAAE,MAAsC,GAAG,MAAM,CAE5F;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,sEAAsE;AACtE,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAGR;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/core/comments/paths.ts"],"names":[],"mappings":"AAIA,4EAA4E;AAC5E,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAU7D;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3C,MAAM,GAAG,IAAI,CAmCf;AAED,yFAAyF;AACzF,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7E;AAED,2EAA2E;AAC3E,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAGnE;AAED,wFAAwF;AACxF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI9D;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAOtF;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,YAAY,GAAE,MAAsC,GAAG,MAAM,CAE5F;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED,sEAAsE;AACtE,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAGR;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER;AAED,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER"}
@@ -15,27 +15,38 @@ export function normalizeLogicalPath(filePath) {
15
15
  }
16
16
  /**
17
17
  * Map comment logical_path (e.g. `srs/01-overview`) to repo-relative doc file.
18
- * Returns null when the prefix is unknown.
18
+ * When ``repoPrefixBySegment`` is set (from docops ``docTypes``), each layer uses
19
+ * its configured folder (e.g. ``docs/srs``, ``detail-design``).
19
20
  */
20
- export function logicalPathToDocPath(logicalPath) {
21
+ export function logicalPathToDocPath(logicalPath, repoPrefixBySegment) {
21
22
  const p = normalizeLogicalPath(logicalPath);
22
23
  if (!p) {
23
24
  return null;
24
25
  }
26
+ const resolve = (segment, rest) => {
27
+ const folder = repoPrefixBySegment?.[segment]?.trim().replace(/\\/g, "/").replace(/\/+$/, "");
28
+ if (folder) {
29
+ const suffix = rest ? `${rest}.md` : ".md";
30
+ return `${folder}/${suffix}`.replace(/\/\.md$/, ".md");
31
+ }
32
+ return null;
33
+ };
25
34
  if (p.startsWith("srs/") || p === "srs") {
26
- return `docs/srs/${p === "srs" ? "" : p.slice("srs/".length)}.md`.replace(/\/\.md$/, ".md");
35
+ const rest = p === "srs" ? "" : p.slice("srs/".length);
36
+ return (resolve("srs", rest) ??
37
+ `docs/srs/${rest ? `${rest}.md` : ".md"}`.replace(/\/\.md$/, ".md"));
27
38
  }
28
39
  if (p.startsWith("basic-design/") || p.startsWith("bd/")) {
29
40
  const rest = p.startsWith("basic-design/")
30
41
  ? p.slice("basic-design/".length)
31
42
  : p.slice("bd/".length);
32
- return `docs/basic-design/${rest}.md`;
43
+ return resolve("basic-design", rest) ?? `docs/basic-design/${rest}.md`;
33
44
  }
34
45
  if (p.startsWith("detail-design/") || p.startsWith("dd/")) {
35
46
  const rest = p.startsWith("detail-design/")
36
47
  ? p.slice("detail-design/".length)
37
48
  : p.slice("dd/".length);
38
- return `docs/detail-design/${rest}.md`;
49
+ return resolve("detail-design", rest) ?? `docs/detail-design/${rest}.md`;
39
50
  }
40
51
  return null;
41
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/core/comments/paths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/core/comments/paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,4EAA4E;AAC5E,MAAM,UAAU,oBAAoB,CAAC,QAAgB;IACnD,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,WAAmB,EACnB,mBAA4C;IAE5C,MAAM,CAAC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,OAAe,EAAE,IAAY,EAAiB,EAAE;QAC/D,MAAM,MAAM,GAAG,mBAAmB,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9F,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;YAC3C,OAAO,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvD,OAAO,CACL,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;YACpB,YAAY,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CACpE,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,qBAAqB,IAAI,KAAK,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC;YACzC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAClC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,sBAAsB,IAAI,KAAK,CAAC;IAC3E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,0BAA0B,CAAC,WAAmB;IAC5D,MAAM,CAAC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IACzD,OAAO,oBAAoB,CAAC,WAAW,CAAC,IAAI,0BAA0B,CAAC,WAAW,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,MAAM,CAAC,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC5C,OAAO,CAAC,KAAK,WAAW,IAAI,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,0BAA0B,CAAC,GAAW;IACpD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC3C,OAAO,IAAI,IAAI,OAAO,CAAC;AACzB,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,qBAAqB,CAAC,WAAmB,EAAE,UAAkB;IAC3E,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,EAAE,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,EAAE,KAAK,WAAW,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAAC,eAAuB,oBAAoB,CAAC,QAAQ;IAClF,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,mBAAmB,CAAC,QAAQ,CAAC;AACtC,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB;IAC3D,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,WAAmB,EACnB,QAAgB,EAChB,eAAuB,oBAAoB,CAAC,QAAQ;IAEpD,MAAM,EAAE,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,WAAmB,EACnB,QAAgB,EAChB,eAAuB,oBAAoB,CAAC,QAAQ;IAEpD,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,iBAAiB,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,QAAgB,EAChB,eAAuB,oBAAoB,CAAC,QAAQ;IAEpD,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,eAAe,CAAC;AAC7E,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { type CommentStorageLocation } from "./target-paths.js";
1
2
  import type { CommentListFilters } from "./filters.js";
2
3
  import type { CommentType, ThreadDetail, ThreadStatus, ThreadSummary } from "./types.js";
3
4
  export interface ListThreadsOptions {
@@ -14,6 +15,8 @@ export interface ResolveThreadOptions {
14
15
  projectRoot: string;
15
16
  logicalPath: string;
16
17
  threadId: string;
18
+ entityId?: string;
19
+ screenId?: string;
17
20
  /** Resolver email override. */
18
21
  resolvedBy?: number | string;
19
22
  resolvedByUsername?: string;
@@ -29,7 +32,11 @@ export interface ResolveThreadResult {
29
32
  dryRun: boolean;
30
33
  }
31
34
  export declare function listThreads(opts: ListThreadsOptions): Promise<ThreadSummary[]>;
32
- export declare function getThread(projectRoot: string, logicalPath: string, threadId: string): Promise<ThreadDetail | null>;
35
+ export declare function getThread(projectRoot: string, logicalPath: string, threadId: string, opts?: {
36
+ entityId?: string;
37
+ screenId?: string;
38
+ }): Promise<ThreadDetail | null>;
39
+ export declare function getThreadAtLocation(projectRoot: string, location: CommentStorageLocation, threadId: string): Promise<ThreadDetail | null>;
33
40
  export declare function findThreadById(projectRoot: string, threadId: string): Promise<ThreadDetail | null>;
34
41
  export declare function resolveThread(opts: ResolveThreadOptions): Promise<ResolveThreadResult>;
35
42
  export declare function getGitHeadSha(projectRoot: string): Promise<string | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/comments/storage.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAGV,WAAW,EACX,YAAY,EAEZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;CAC/B;AAaD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,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;AAoJD,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CAwCpF;AAED,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CA8B9B;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,CAoF9B;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,CA4BrE"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/core/comments/storage.ts"],"names":[],"mappings":"AAYA,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAGV,WAAW,EACX,YAAY,EAEZ,YAAY,EACZ,aAAa,EACd,MAAM,YAAY,CAAC;AAUpB,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,wCAAwC;IACxC,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;CAC/B;AAaD,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IACzB,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;AA2JD,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC,CA8CpF;AAED,wBAAsB,SAAS,CAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAU9B;AAED,wBAAsB,mBAAmB,CACvC,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAmC9B;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,CAkG9B;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,CA4BrE"}
@@ -3,7 +3,10 @@ import { readdir, readFile, writeFile } from "node:fs/promises";
3
3
  import { basename, dirname, join, relative } from "node:path";
4
4
  import { promisify } from "node:util";
5
5
  import { pathExists, readJson, writeJson } from "../util/fs.js";
6
- import { logicalPathToTargetPath, normalizeLogicalPath, threadDirRel, threadMetaRel, commentsRootRel, } from "./paths.js";
6
+ import { logicalPathToTargetPath, } from "./paths.js";
7
+ import { normalizeThreadMeta } from "./meta.js";
8
+ import { parseCommentStoragePath, threadDirForLocation, threadMetaForLocation, } from "./target-paths.js";
9
+ import { resolveCommentListLocation } from "./migrate.js";
7
10
  import { loadOrDeriveDocopsConfig } from "../docops/config.js";
8
11
  import { threadMatchesFilters } from "./filters.js";
9
12
  import { isDocumentAnchor, isPrototypeAnchor, threadCommentType, } from "./types.js";
@@ -20,18 +23,7 @@ function resolveListFilters(opts) {
20
23
  };
21
24
  }
22
25
  function isThreadMeta(raw) {
23
- if (!raw || typeof raw !== "object") {
24
- return false;
25
- }
26
- const m = raw;
27
- if (typeof m.threadId !== "string" ||
28
- typeof m.filePath !== "string" ||
29
- typeof m.status !== "string" ||
30
- typeof m.version !== "number" ||
31
- m.anchor == null) {
32
- return false;
33
- }
34
- return isDocumentAnchor(m.anchor) || isPrototypeAnchor(m.anchor);
26
+ return normalizeThreadMeta(raw) !== null;
35
27
  }
36
28
  function isCommentBody(raw) {
37
29
  if (!raw || typeof raw !== "object") {
@@ -92,13 +84,14 @@ async function loadCommentBodies(threadDir) {
92
84
  comments.sort((a, b) => a.createdAt.localeCompare(b.createdAt));
93
85
  return comments;
94
86
  }
95
- function toSummary(projectRoot, logicalPath, meta, replyCount) {
96
- const threadDir = threadDirRel(logicalPath, meta.threadId);
87
+ function toSummary(projectRoot, location, meta, replyCount, commentsRoot) {
88
+ const normalized = normalizeThreadMeta(meta);
89
+ const threadDir = threadDirForLocation(location, meta.threadId, commentsRoot);
97
90
  return {
98
- ...meta,
91
+ ...normalized,
99
92
  replyCount,
100
93
  threadDir,
101
- docPath: logicalPathToTargetPath(meta.filePath),
94
+ docPath: logicalPathToTargetPath(normalized.filePath),
102
95
  };
103
96
  }
104
97
  async function commentReadRoots(projectRoot) {
@@ -133,13 +126,23 @@ async function discoverThreadMetas(projectRoot) {
133
126
  }
134
127
  const threadDir = dirname(abs);
135
128
  const threadId = basename(threadDir);
136
- const logicalPath = relative(commentsRoot, dirname(threadDir)).replace(/\\/g, "/");
137
- const key = `${logicalPath}\0${threadId}`;
129
+ const storagePath = relative(commentsRoot, dirname(threadDir)).replace(/\\/g, "/");
130
+ const location = parseCommentStoragePath(storagePath) ?? {
131
+ kind: "legacy",
132
+ targetId: storagePath,
133
+ storagePath,
134
+ };
135
+ const key = `${location.storagePath}\0${threadId}`;
138
136
  if (seen.has(key)) {
139
137
  continue;
140
138
  }
141
139
  seen.add(key);
142
- found.push({ logicalPath, threadId, metaPath: abs });
140
+ found.push({
141
+ location,
142
+ threadId,
143
+ metaPath: abs,
144
+ commentsRoot: commentsRootRelPath,
145
+ });
143
146
  }
144
147
  }
145
148
  await walk(commentsRoot);
@@ -156,7 +159,7 @@ export async function listThreads(opts) {
156
159
  continue;
157
160
  }
158
161
  const replyCount = await countCommentFiles(dirname(item.metaPath));
159
- const summary = toSummary(opts.projectRoot, item.logicalPath, meta, replyCount);
162
+ const summary = toSummary(opts.projectRoot, item.location, meta, replyCount, item.commentsRoot);
160
163
  if (!threadMatchesFilters(summary, filters)) {
161
164
  continue;
162
165
  }
@@ -184,14 +187,24 @@ export async function listThreads(opts) {
184
187
  });
185
188
  return summaries;
186
189
  }
187
- export async function getThread(projectRoot, logicalPath, threadId) {
188
- const lp = normalizeLogicalPath(logicalPath);
190
+ export async function getThread(projectRoot, logicalPath, threadId, opts) {
191
+ const location = await resolveCommentListLocation(projectRoot, {
192
+ filePath: logicalPath,
193
+ entityId: opts?.entityId,
194
+ screenId: opts?.screenId,
195
+ });
196
+ if (!location) {
197
+ return null;
198
+ }
199
+ return getThreadAtLocation(projectRoot, location, threadId);
200
+ }
201
+ export async function getThreadAtLocation(projectRoot, location, threadId) {
189
202
  const config = await loadOrDeriveDocopsConfig(projectRoot);
190
203
  const roots = await commentReadRoots(projectRoot);
191
204
  let metaPath = null;
192
205
  let commentsRoot = config.paths.comments;
193
206
  for (const rootRel of roots) {
194
- const candidate = join(projectRoot, threadMetaRel(lp, threadId, rootRel));
207
+ const candidate = join(projectRoot, threadMetaForLocation(location, threadId, rootRel));
195
208
  if (await pathExists(candidate)) {
196
209
  metaPath = candidate;
197
210
  commentsRoot = rootRel;
@@ -205,12 +218,12 @@ export async function getThread(projectRoot, logicalPath, threadId) {
205
218
  if (!isThreadMeta(meta)) {
206
219
  return null;
207
220
  }
208
- const threadDir = join(projectRoot, threadDirRel(lp, threadId, commentsRoot));
221
+ const threadDir = join(projectRoot, threadDirForLocation(location, threadId, commentsRoot));
209
222
  const replyCount = await countCommentFiles(threadDir);
210
223
  const comments = await loadCommentBodies(threadDir);
211
224
  const events = await readEvents(join(threadDir, "events.jsonl"));
212
225
  return {
213
- ...toSummary(projectRoot, lp, meta, replyCount),
226
+ ...toSummary(projectRoot, location, meta, replyCount, commentsRoot),
214
227
  comments,
215
228
  events,
216
229
  };
@@ -221,16 +234,22 @@ export async function findThreadById(projectRoot, threadId) {
221
234
  if (!match) {
222
235
  return null;
223
236
  }
224
- return getThread(projectRoot, match.logicalPath, threadId);
237
+ return getThreadAtLocation(projectRoot, match.location, threadId);
225
238
  }
226
239
  export async function resolveThread(opts) {
227
- const lp = normalizeLogicalPath(opts.logicalPath);
228
- const config = await loadOrDeriveDocopsConfig(opts.projectRoot);
240
+ const location = await resolveCommentListLocation(opts.projectRoot, {
241
+ filePath: opts.logicalPath,
242
+ entityId: opts.entityId,
243
+ screenId: opts.screenId,
244
+ });
245
+ if (!location) {
246
+ throw new Error(`Cannot resolve comment location for: ${opts.logicalPath || opts.entityId || opts.screenId}`);
247
+ }
229
248
  const roots = await commentReadRoots(opts.projectRoot);
230
249
  let metaPath = null;
231
- let commentsRoot = config.paths.comments;
250
+ let commentsRoot = (await loadOrDeriveDocopsConfig(opts.projectRoot)).paths.comments;
232
251
  for (const rootRel of roots) {
233
- const candidate = join(opts.projectRoot, threadMetaRel(lp, opts.threadId, rootRel));
252
+ const candidate = join(opts.projectRoot, threadMetaForLocation(location, opts.threadId, rootRel));
234
253
  if (await pathExists(candidate)) {
235
254
  metaPath = candidate;
236
255
  commentsRoot = rootRel;
@@ -238,7 +257,7 @@ export async function resolveThread(opts) {
238
257
  }
239
258
  }
240
259
  if (!metaPath) {
241
- throw new Error(`Thread not found: ${commentsRootRel(commentsRoot)}/${lp}/${opts.threadId}/meta_data.json`);
260
+ throw new Error(`Thread not found: ${threadMetaForLocation(location, opts.threadId, commentsRoot)}`);
242
261
  }
243
262
  const meta = await readJson(metaPath);
244
263
  if (opts.expectedVersion != null && meta.version !== opts.expectedVersion) {
@@ -274,7 +293,7 @@ export async function resolveThread(opts) {
274
293
  username: actor.username,
275
294
  role: actor.role,
276
295
  };
277
- const threadDir = join(opts.projectRoot, threadDirRel(lp, opts.threadId, commentsRoot));
296
+ const threadDir = join(opts.projectRoot, threadDirForLocation(location, opts.threadId, commentsRoot));
278
297
  const eventsPath = join(threadDir, "events.jsonl");
279
298
  const commitMessageSuggestion = isPrototypeAnchor(meta.anchor)
280
299
  ? `resolve prototype comment thread ${opts.threadId} on ${meta.anchor.url} (${meta.anchor.selector})`
@@ -292,7 +311,7 @@ export async function resolveThread(opts) {
292
311
  }
293
312
  const replyCount = await countCommentFiles(threadDir);
294
313
  return {
295
- thread: toSummary(opts.projectRoot, lp, updated, replyCount),
314
+ thread: toSummary(opts.projectRoot, location, updated, replyCount, commentsRoot),
296
315
  commitMessageSuggestion,
297
316
  dryRun: opts.dryRun === true,
298
317
  };
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/core/comments/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/core/comments/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export declare const COMMENTS_DOCUMENTS_SEGMENT = "documents";
2
+ export declare const COMMENTS_SCREENS_SEGMENT = "screens";
3
+ export type CommentTargetKind = "document" | "prototype_screen" | "legacy";
4
+ export interface CommentStorageLocation {
5
+ kind: CommentTargetKind;
6
+ /** Canonical list key — entity UUID, screenId, or legacy logical path. */
7
+ targetId: string;
8
+ /** Path under comments root (no leading slash). */
9
+ storagePath: string;
10
+ }
11
+ export declare function isDocumentEntityId(id: string): boolean;
12
+ export declare function documentThreadsDirRel(entityId: string, commentsRoot?: string): string;
13
+ export declare function screenThreadsDirRel(screenId: string, commentsRoot?: string): string;
14
+ export declare function threadDirForLocation(location: CommentStorageLocation, threadId: string, commentsRoot?: string): string;
15
+ export declare function threadMetaForLocation(location: CommentStorageLocation, threadId: string, commentsRoot?: string): string;
16
+ /** Parse relative path under comments root into a storage location. */
17
+ export declare function parseCommentStoragePath(relativePath: string): CommentStorageLocation | null;
18
+ export declare function locationFromRelativeThreadDir(commentsRoot: string, threadDirAbs: string, projectRoot: string): CommentStorageLocation;
19
+ export declare function legacyLocation(logicalPath: string): CommentStorageLocation;
20
+ export declare function documentLocation(entityId: string): CommentStorageLocation;
21
+ export declare function screenLocation(screenId: string): CommentStorageLocation;
22
+ //# sourceMappingURL=target-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-paths.d.ts","sourceRoot":"","sources":["../../../src/core/comments/target-paths.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,0BAA0B,cAAc,CAAC;AACtD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,iBAAiB,CAAC;IACxB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;CACrB;AAKD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAGR;AAMD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,sBAAsB,EAChC,QAAQ,EAAE,MAAM,EAChB,YAAY,GAAE,MAAsC,GACnD,MAAM,CAER;AAED,uEAAuE;AACvE,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI,CA2B3F;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,sBAAsB,CASxB;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,sBAAsB,CAG1E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAOzE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,sBAAsB,CAOvE"}