specweave 0.17.16 → 0.18.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.
Files changed (161) hide show
  1. package/CLAUDE.md +405 -2495
  2. package/README.md +92 -2
  3. package/dist/plugins/specweave/lib/hooks/sync-living-docs.d.ts.map +1 -1
  4. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js +188 -36
  5. package/dist/plugins/specweave/lib/hooks/sync-living-docs.js.map +1 -1
  6. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts +54 -0
  7. package/dist/plugins/specweave-ado/lib/ado-status-sync.d.ts.map +1 -0
  8. package/dist/plugins/specweave-ado/lib/ado-status-sync.js +86 -0
  9. package/dist/plugins/specweave-ado/lib/ado-status-sync.js.map +1 -0
  10. package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts +139 -0
  11. package/dist/plugins/specweave-github/lib/duplicate-detector.d.ts.map +1 -0
  12. package/dist/plugins/specweave-github/lib/duplicate-detector.js +389 -0
  13. package/dist/plugins/specweave-github/lib/duplicate-detector.js.map +1 -0
  14. package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts +26 -0
  15. package/dist/plugins/specweave-github/lib/enhanced-github-sync.d.ts.map +1 -0
  16. package/dist/plugins/specweave-github/lib/enhanced-github-sync.js +249 -0
  17. package/dist/plugins/specweave-github/lib/enhanced-github-sync.js.map +1 -0
  18. package/dist/plugins/specweave-github/lib/github-client.d.ts +1 -1
  19. package/dist/plugins/specweave-github/lib/github-client.d.ts.map +1 -1
  20. package/dist/plugins/specweave-github/lib/github-client.js +25 -13
  21. package/dist/plugins/specweave-github/lib/github-client.js.map +1 -1
  22. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts +83 -0
  23. package/dist/plugins/specweave-github/lib/github-epic-sync.d.ts.map +1 -0
  24. package/dist/plugins/specweave-github/lib/github-epic-sync.js +451 -0
  25. package/dist/plugins/specweave-github/lib/github-epic-sync.js.map +1 -0
  26. package/dist/plugins/specweave-github/lib/github-status-sync.d.ts +43 -0
  27. package/dist/plugins/specweave-github/lib/github-status-sync.d.ts.map +1 -0
  28. package/dist/plugins/specweave-github/lib/github-status-sync.js +82 -0
  29. package/dist/plugins/specweave-github/lib/github-status-sync.js.map +1 -0
  30. package/dist/plugins/specweave-github/lib/task-sync.d.ts +5 -0
  31. package/dist/plugins/specweave-github/lib/task-sync.d.ts.map +1 -1
  32. package/dist/plugins/specweave-github/lib/task-sync.js +38 -2
  33. package/dist/plugins/specweave-github/lib/task-sync.js.map +1 -1
  34. package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts +66 -0
  35. package/dist/plugins/specweave-jira/lib/jira-epic-sync.d.ts.map +1 -0
  36. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js +274 -0
  37. package/dist/plugins/specweave-jira/lib/jira-epic-sync.js.map +1 -0
  38. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts +56 -0
  39. package/dist/plugins/specweave-jira/lib/jira-status-sync.d.ts.map +1 -0
  40. package/dist/plugins/specweave-jira/lib/jira-status-sync.js +93 -0
  41. package/dist/plugins/specweave-jira/lib/jira-status-sync.js.map +1 -0
  42. package/dist/src/cli/helpers/issue-tracker/index.d.ts.map +1 -1
  43. package/dist/src/cli/helpers/issue-tracker/index.js +48 -3
  44. package/dist/src/cli/helpers/issue-tracker/index.js.map +1 -1
  45. package/dist/src/core/living-docs/hierarchy-mapper.d.ts +142 -0
  46. package/dist/src/core/living-docs/hierarchy-mapper.d.ts.map +1 -0
  47. package/dist/src/core/living-docs/hierarchy-mapper.js +453 -0
  48. package/dist/src/core/living-docs/hierarchy-mapper.js.map +1 -0
  49. package/dist/src/core/living-docs/index.d.ts +10 -84
  50. package/dist/src/core/living-docs/index.d.ts.map +1 -1
  51. package/dist/src/core/living-docs/index.js +10 -164
  52. package/dist/src/core/living-docs/index.js.map +1 -1
  53. package/dist/src/core/living-docs/spec-distributor.d.ts +106 -0
  54. package/dist/src/core/living-docs/spec-distributor.d.ts.map +1 -0
  55. package/dist/src/core/living-docs/spec-distributor.js +823 -0
  56. package/dist/src/core/living-docs/spec-distributor.js.map +1 -0
  57. package/dist/src/core/living-docs/types.d.ts +201 -0
  58. package/dist/src/core/living-docs/types.d.ts.map +1 -0
  59. package/dist/src/core/living-docs/types.js +15 -0
  60. package/dist/src/core/living-docs/types.js.map +1 -0
  61. package/dist/src/core/logging/prompt-logger.d.ts +70 -0
  62. package/dist/src/core/logging/prompt-logger.d.ts.map +1 -0
  63. package/dist/src/core/logging/prompt-logger.js +247 -0
  64. package/dist/src/core/logging/prompt-logger.js.map +1 -0
  65. package/dist/src/core/status-line/status-line-manager.d.ts +15 -24
  66. package/dist/src/core/status-line/status-line-manager.d.ts.map +1 -1
  67. package/dist/src/core/status-line/status-line-manager.js +33 -70
  68. package/dist/src/core/status-line/status-line-manager.js.map +1 -1
  69. package/dist/src/core/status-line/types.d.ts +19 -31
  70. package/dist/src/core/status-line/types.d.ts.map +1 -1
  71. package/dist/src/core/status-line/types.js +5 -9
  72. package/dist/src/core/status-line/types.js.map +1 -1
  73. package/dist/src/core/sync/conflict-resolver.d.ts +66 -0
  74. package/dist/src/core/sync/conflict-resolver.d.ts.map +1 -0
  75. package/dist/src/core/sync/conflict-resolver.js +108 -0
  76. package/dist/src/core/sync/conflict-resolver.js.map +1 -0
  77. package/dist/src/core/sync/enhanced-content-builder.d.ts +77 -0
  78. package/dist/src/core/sync/enhanced-content-builder.d.ts.map +1 -0
  79. package/dist/src/core/sync/enhanced-content-builder.js +199 -0
  80. package/dist/src/core/sync/enhanced-content-builder.js.map +1 -0
  81. package/dist/src/core/sync/label-detector.d.ts +66 -0
  82. package/dist/src/core/sync/label-detector.d.ts.map +1 -0
  83. package/dist/src/core/sync/label-detector.js +211 -0
  84. package/dist/src/core/sync/label-detector.js.map +1 -0
  85. package/dist/src/core/sync/retry-logic.d.ts +64 -0
  86. package/dist/src/core/sync/retry-logic.d.ts.map +1 -0
  87. package/dist/src/core/sync/retry-logic.js +165 -0
  88. package/dist/src/core/sync/retry-logic.js.map +1 -0
  89. package/dist/src/core/sync/spec-increment-mapper.d.ts +100 -0
  90. package/dist/src/core/sync/spec-increment-mapper.d.ts.map +1 -0
  91. package/dist/src/core/sync/spec-increment-mapper.js +424 -0
  92. package/dist/src/core/sync/spec-increment-mapper.js.map +1 -0
  93. package/dist/src/core/sync/status-cache.d.ts +91 -0
  94. package/dist/src/core/sync/status-cache.d.ts.map +1 -0
  95. package/dist/src/core/sync/status-cache.js +140 -0
  96. package/dist/src/core/sync/status-cache.js.map +1 -0
  97. package/dist/src/core/sync/status-mapper.d.ts +69 -0
  98. package/dist/src/core/sync/status-mapper.d.ts.map +1 -0
  99. package/dist/src/core/sync/status-mapper.js +90 -0
  100. package/dist/src/core/sync/status-mapper.js.map +1 -0
  101. package/dist/src/core/sync/status-sync-engine.d.ts +162 -0
  102. package/dist/src/core/sync/status-sync-engine.d.ts.map +1 -0
  103. package/dist/src/core/sync/status-sync-engine.js +347 -0
  104. package/dist/src/core/sync/status-sync-engine.js.map +1 -0
  105. package/dist/src/core/sync/sync-event-logger.d.ts +99 -0
  106. package/dist/src/core/sync/sync-event-logger.d.ts.map +1 -0
  107. package/dist/src/core/sync/sync-event-logger.js +103 -0
  108. package/dist/src/core/sync/sync-event-logger.js.map +1 -0
  109. package/dist/src/core/sync/workflow-detector.d.ts +95 -0
  110. package/dist/src/core/sync/workflow-detector.d.ts.map +1 -0
  111. package/dist/src/core/sync/workflow-detector.js +175 -0
  112. package/dist/src/core/sync/workflow-detector.js.map +1 -0
  113. package/dist/src/core/types/config.d.ts.map +1 -1
  114. package/dist/src/core/types/config.js +31 -0
  115. package/dist/src/core/types/config.js.map +1 -1
  116. package/dist/src/utils/github-url.d.ts +53 -0
  117. package/dist/src/utils/github-url.d.ts.map +1 -0
  118. package/dist/src/utils/github-url.js +90 -0
  119. package/dist/src/utils/github-url.js.map +1 -0
  120. package/dist/src/utils/spec-parser.d.ts +145 -0
  121. package/dist/src/utils/spec-parser.d.ts.map +1 -0
  122. package/dist/src/utils/spec-parser.js +640 -0
  123. package/dist/src/utils/spec-parser.js.map +1 -0
  124. package/package.json +1 -1
  125. package/plugins/specweave/agents/pm/AGENT.md +1 -1
  126. package/plugins/specweave/agents/pm/templates/increment-spec.md +158 -0
  127. package/plugins/specweave/agents/pm/templates/living-docs-spec.md +113 -0
  128. package/plugins/specweave/commands/specweave-done.md +163 -0
  129. package/plugins/specweave/hooks/lib/update-status-line.sh +79 -111
  130. package/plugins/specweave/hooks/post-increment-planning.sh +107 -35
  131. package/plugins/specweave/lib/hooks/sync-living-docs.js +139 -34
  132. package/plugins/specweave/lib/hooks/sync-living-docs.ts +234 -38
  133. package/plugins/specweave/skills/SKILLS-INDEX.md +4 -24
  134. package/plugins/specweave/skills/increment-planner/SKILL.md +94 -0
  135. package/plugins/specweave/skills/increment-work-router/SKILL.md +466 -0
  136. package/plugins/specweave-ado/lib/ado-status-sync.js +80 -0
  137. package/plugins/specweave-ado/lib/ado-status-sync.ts +121 -0
  138. package/plugins/specweave-github/commands/specweave-github-cleanup-duplicates.md +205 -0
  139. package/plugins/specweave-github/commands/specweave-github-sync-epic.md +248 -0
  140. package/plugins/specweave-github/lib/duplicate-detector.js +370 -0
  141. package/plugins/specweave-github/lib/duplicate-detector.ts +525 -0
  142. package/plugins/specweave-github/lib/enhanced-github-sync.js +220 -0
  143. package/plugins/specweave-github/lib/enhanced-github-sync.ts +322 -0
  144. package/plugins/specweave-github/lib/github-client.js +21 -10
  145. package/plugins/specweave-github/lib/github-client.ts +27 -16
  146. package/plugins/specweave-github/lib/github-epic-sync.js +489 -0
  147. package/plugins/specweave-github/lib/github-epic-sync.ts +690 -0
  148. package/plugins/specweave-github/lib/github-status-sync.js +71 -0
  149. package/plugins/specweave-github/lib/github-status-sync.ts +107 -0
  150. package/plugins/specweave-github/lib/task-sync.js +33 -2
  151. package/plugins/specweave-github/lib/task-sync.ts +44 -2
  152. package/plugins/specweave-jira/commands/specweave-jira-sync-epic.md +267 -0
  153. package/plugins/specweave-jira/lib/enhanced-jira-sync.ts.disabled +222 -0
  154. package/plugins/specweave-jira/lib/jira-epic-sync.js +304 -0
  155. package/plugins/specweave-jira/lib/jira-epic-sync.ts +459 -0
  156. package/plugins/specweave-jira/lib/jira-status-sync.js +79 -0
  157. package/plugins/specweave-jira/lib/jira-status-sync.ts +139 -0
  158. package/src/templates/AGENTS.md.template +88 -1
  159. package/src/templates/CLAUDE.md.template +49 -0
  160. package/plugins/specweave/skills/increment-quality-judge/SKILL.md +0 -524
  161. package/plugins/specweave/skills/plugin-installer/SKILL.md +0 -353
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spec-distributor.js","sourceRoot":"","sources":["../../../../src/core/living-docs/spec-distributor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,201 @@
1
+ /**
2
+ * Living Docs Distribution Types
3
+ *
4
+ * Defines the structure for distributing increment specs into hierarchical living docs.
5
+ *
6
+ * Hierarchy:
7
+ * - Epic (SPEC-###.md) - High-level summary
8
+ * - User Stories (us-###.md) - Detailed requirements
9
+ * - Tasks (tasks.md) - Implementation details
10
+ *
11
+ * @author SpecWeave Team
12
+ * @version 2.0.0
13
+ */
14
+ /**
15
+ * Acceptance Criterion
16
+ */
17
+ export interface AcceptanceCriterion {
18
+ id: string;
19
+ description: string;
20
+ priority?: string;
21
+ testable: boolean;
22
+ completed: boolean;
23
+ }
24
+ /**
25
+ * Task Reference (links to tasks.md)
26
+ */
27
+ export interface TaskReference {
28
+ id: string;
29
+ title: string;
30
+ anchor: string;
31
+ path: string;
32
+ acIds: string[];
33
+ }
34
+ /**
35
+ * User Story (detailed requirements)
36
+ */
37
+ export interface UserStory {
38
+ id: string;
39
+ epic?: string;
40
+ title: string;
41
+ description: string;
42
+ acceptanceCriteria: AcceptanceCriterion[];
43
+ tasks: TaskReference[];
44
+ businessRationale?: string;
45
+ priority?: string;
46
+ status: 'pending' | 'in-progress' | 'complete';
47
+ phase?: string;
48
+ created?: string;
49
+ completed?: string;
50
+ }
51
+ /**
52
+ * Implementation History Entry
53
+ */
54
+ export interface ImplementationHistoryEntry {
55
+ increment: string;
56
+ stories: string[];
57
+ status: 'complete' | 'in-progress' | 'planned';
58
+ date?: string;
59
+ notes?: string;
60
+ }
61
+ /**
62
+ * External Tool Links
63
+ */
64
+ export interface ExternalLinks {
65
+ github?: string;
66
+ jira?: string;
67
+ ado?: string;
68
+ }
69
+ /**
70
+ * Epic-level content (SPEC-###.md)
71
+ *
72
+ * High-level summary only, links to user story files.
73
+ */
74
+ export interface EpicFile {
75
+ id: string;
76
+ title: string;
77
+ type: 'epic';
78
+ status: 'active' | 'complete' | 'archived';
79
+ priority?: string;
80
+ created: string;
81
+ lastUpdated: string;
82
+ overview: string;
83
+ businessValue: string[];
84
+ implementationHistory: ImplementationHistoryEntry[];
85
+ userStories: UserStorySummary[];
86
+ externalLinks: ExternalLinks;
87
+ relatedDocs: string[];
88
+ totalStories: number;
89
+ completedStories: number;
90
+ overallProgress: number;
91
+ }
92
+ /**
93
+ * User Story Summary (for epic file)
94
+ */
95
+ export interface UserStorySummary {
96
+ id: string;
97
+ title: string;
98
+ status: 'pending' | 'in-progress' | 'complete';
99
+ phase?: string;
100
+ filePath: string;
101
+ }
102
+ /**
103
+ * User Story-level content (us-###.md)
104
+ *
105
+ * Detailed requirements, acceptance criteria, and task links.
106
+ */
107
+ export interface UserStoryFile {
108
+ id: string;
109
+ epic: string;
110
+ title: string;
111
+ status: 'pending' | 'in-progress' | 'complete';
112
+ priority?: string;
113
+ created: string;
114
+ completed?: string;
115
+ description: string;
116
+ acceptanceCriteria: AcceptanceCriterion[];
117
+ implementation: {
118
+ increment: string;
119
+ tasks: TaskReference[];
120
+ };
121
+ businessRationale?: string;
122
+ testCoverage?: {
123
+ unit?: string;
124
+ integration?: string;
125
+ e2e?: string;
126
+ };
127
+ relatedStories: UserStorySummary[];
128
+ phase?: string;
129
+ }
130
+ /**
131
+ * Result of distributing an increment spec into living docs
132
+ */
133
+ export interface DistributionResult {
134
+ epic: EpicFile;
135
+ userStories: UserStoryFile[];
136
+ incrementId: string;
137
+ specId: string;
138
+ totalStories: number;
139
+ totalFiles: number;
140
+ epicPath: string;
141
+ userStoryPaths: string[];
142
+ success: boolean;
143
+ errors: string[];
144
+ warnings: string[];
145
+ }
146
+ /**
147
+ * Parsed increment spec (from increments/####/spec.md)
148
+ */
149
+ export interface ParsedIncrementSpec {
150
+ incrementId: string;
151
+ title: string;
152
+ overview: string;
153
+ businessValue: string[];
154
+ priority?: string;
155
+ status?: string;
156
+ project?: string;
157
+ userStories: UserStory[];
158
+ implementsSpec?: string;
159
+ externalLinks?: ExternalLinks;
160
+ }
161
+ /**
162
+ * Content classified into epic vs user-story level
163
+ */
164
+ export interface ClassifiedContent {
165
+ epic: {
166
+ id: string;
167
+ title: string;
168
+ overview: string;
169
+ businessValue: string[];
170
+ priority?: string;
171
+ status: string;
172
+ };
173
+ userStories: UserStory[];
174
+ implementationHistory: ImplementationHistoryEntry[];
175
+ externalLinks: ExternalLinks;
176
+ relatedDocs: string[];
177
+ }
178
+ /**
179
+ * Cross-link between files
180
+ */
181
+ export interface CrossLink {
182
+ from: string;
183
+ to: string;
184
+ type: 'epic-to-story' | 'story-to-epic' | 'story-to-story' | 'story-to-task';
185
+ label: string;
186
+ }
187
+ /**
188
+ * Distribution configuration
189
+ */
190
+ export interface DistributionConfig {
191
+ specsDir: string;
192
+ userStoriesSubdir: string;
193
+ epicFilePattern: string;
194
+ userStoryFilePattern: string;
195
+ generateFrontmatter: boolean;
196
+ generateCrossLinks: boolean;
197
+ preserveOriginal: boolean;
198
+ overwriteExisting: boolean;
199
+ createBackups: boolean;
200
+ }
201
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/living-docs/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Living Docs Distribution Types
3
+ *
4
+ * Defines the structure for distributing increment specs into hierarchical living docs.
5
+ *
6
+ * Hierarchy:
7
+ * - Epic (SPEC-###.md) - High-level summary
8
+ * - User Stories (us-###.md) - Detailed requirements
9
+ * - Tasks (tasks.md) - Implementation details
10
+ *
11
+ * @author SpecWeave Team
12
+ * @version 2.0.0
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/core/living-docs/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Attachment interface for files/images passed with prompts
3
+ */
4
+ export interface Attachment {
5
+ path: string;
6
+ name: string;
7
+ type: string;
8
+ }
9
+ /**
10
+ * PromptLogger - Automatic logging of user prompts to increment logs
11
+ *
12
+ * Features:
13
+ * - Logs every user prompt to appropriate increment's logs/ folder
14
+ * - Organized by day (YYYY-MM-DD)
15
+ * - Preserves exact prompt text (character-for-character)
16
+ * - Copies attachments to assets/ subfolder
17
+ * - Smart increment detection (active increments)
18
+ * - Fallback to orphaned logs if no active increment
19
+ */
20
+ export declare class PromptLogger {
21
+ private workingDir;
22
+ constructor(workingDir: string);
23
+ /**
24
+ * Log a user prompt to the daily session file
25
+ *
26
+ * @param promptText - Exact user prompt text
27
+ * @param attachments - Optional attachments (images, files)
28
+ */
29
+ logPrompt(promptText: string, attachments?: Attachment[]): Promise<void>;
30
+ /**
31
+ * Create session file header
32
+ */
33
+ private createSessionHeader;
34
+ /**
35
+ * Build a single prompt entry
36
+ */
37
+ private buildPromptEntry;
38
+ /**
39
+ * Copy attachments to assets folder
40
+ */
41
+ private copyAttachments;
42
+ /**
43
+ * Generate numbered asset filename
44
+ */
45
+ private getAssetFilename;
46
+ /**
47
+ * Get prefix based on file type
48
+ */
49
+ private getTypePrefix;
50
+ /**
51
+ * Find the appropriate increment for logging
52
+ *
53
+ * Priority:
54
+ * 1. Most recently modified active increment (if multiple active)
55
+ * 2. Single active increment
56
+ * 3. null (log to orphaned/)
57
+ *
58
+ * @returns Increment ID or null for orphaned logs
59
+ */
60
+ private findIncrementForLogging;
61
+ /**
62
+ * Ensure README.md exists in logs/ folder
63
+ */
64
+ private ensureLogsReadme;
65
+ /**
66
+ * Create README.md content for logs/ folder
67
+ */
68
+ private createLogsReadme;
69
+ }
70
+ //# sourceMappingURL=prompt-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-logger.d.ts","sourceRoot":"","sources":["../../../../src/core/logging/prompt-logger.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACX,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,MAAM;IAEtC;;;;;OAKG;IACG,SAAS,CACb,UAAU,EAAE,MAAM,EAClB,WAAW,GAAE,UAAU,EAAO,GAC7B,OAAO,CAAC,IAAI,CAAC;IA2ChB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;YACW,eAAe;IAkB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;;;;;;;;OASG;YACW,uBAAuB;IAsDrC;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAqDzB"}
@@ -0,0 +1,247 @@
1
+ import fs from 'fs-extra';
2
+ import path from 'path';
3
+ /**
4
+ * PromptLogger - Automatic logging of user prompts to increment logs
5
+ *
6
+ * Features:
7
+ * - Logs every user prompt to appropriate increment's logs/ folder
8
+ * - Organized by day (YYYY-MM-DD)
9
+ * - Preserves exact prompt text (character-for-character)
10
+ * - Copies attachments to assets/ subfolder
11
+ * - Smart increment detection (active increments)
12
+ * - Fallback to orphaned logs if no active increment
13
+ */
14
+ export class PromptLogger {
15
+ constructor(workingDir) {
16
+ this.workingDir = workingDir;
17
+ }
18
+ /**
19
+ * Log a user prompt to the daily session file
20
+ *
21
+ * @param promptText - Exact user prompt text
22
+ * @param attachments - Optional attachments (images, files)
23
+ */
24
+ async logPrompt(promptText, attachments = []) {
25
+ // Find appropriate increment for logging
26
+ const incrementId = await this.findIncrementForLogging();
27
+ // Determine log directory
28
+ const logDir = incrementId
29
+ ? path.join(this.workingDir, '.specweave/increments', incrementId, 'logs')
30
+ : path.join(this.workingDir, '.specweave/logs/orphaned');
31
+ // Get current date for daily organization
32
+ const now = new Date();
33
+ const dateStr = now.toISOString().slice(0, 10); // YYYY-MM-DD
34
+ const dailyDir = path.join(logDir, dateStr);
35
+ const assetsDir = path.join(dailyDir, 'assets');
36
+ // Ensure directories exist
37
+ await fs.ensureDir(assetsDir);
38
+ // Session file path
39
+ const sessionFile = path.join(dailyDir, 'session.md');
40
+ // Create session file header if new file
41
+ if (!await fs.pathExists(sessionFile)) {
42
+ const header = this.createSessionHeader(dateStr, incrementId);
43
+ await fs.writeFile(sessionFile, header);
44
+ }
45
+ // Build prompt entry
46
+ const time = now.toTimeString().slice(0, 8); // HH:MM:SS
47
+ const entry = this.buildPromptEntry(time, promptText, attachments);
48
+ // Append to session file (atomic operation)
49
+ await fs.appendFile(sessionFile, entry);
50
+ // Copy attachments to assets/
51
+ if (attachments.length > 0) {
52
+ await this.copyAttachments(attachments, assetsDir);
53
+ }
54
+ // Create/update README.md in logs/ folder
55
+ await this.ensureLogsReadme(path.dirname(dailyDir));
56
+ }
57
+ /**
58
+ * Create session file header
59
+ */
60
+ createSessionHeader(date, incrementId) {
61
+ const location = incrementId
62
+ ? `Increment: ${incrementId}`
63
+ : 'Location: Orphaned logs (no active increment)';
64
+ return `# Session Log - ${date}
65
+
66
+ Generated by SpecWeave automatic prompt logging.
67
+ ${location}
68
+
69
+ ---
70
+
71
+ `;
72
+ }
73
+ /**
74
+ * Build a single prompt entry
75
+ */
76
+ buildPromptEntry(time, promptText, attachments) {
77
+ let entry = `## ${time} - User Prompt\n\n`;
78
+ entry += `${promptText}\n\n`;
79
+ if (attachments.length > 0) {
80
+ entry += `**Attachments**:\n`;
81
+ attachments.forEach((att, idx) => {
82
+ const assetFilename = this.getAssetFilename(att, idx + 1);
83
+ entry += `- \`assets/${assetFilename}\` - ${att.name}\n`;
84
+ });
85
+ }
86
+ else {
87
+ entry += `**Attachments**: None\n`;
88
+ }
89
+ entry += `\n---\n\n`;
90
+ return entry;
91
+ }
92
+ /**
93
+ * Copy attachments to assets folder
94
+ */
95
+ async copyAttachments(attachments, assetsDir) {
96
+ for (let i = 0; i < attachments.length; i++) {
97
+ const att = attachments[i];
98
+ const destFilename = this.getAssetFilename(att, i + 1);
99
+ const destPath = path.join(assetsDir, destFilename);
100
+ try {
101
+ await fs.copy(att.path, destPath);
102
+ }
103
+ catch (error) {
104
+ console.error(`Failed to copy attachment ${att.name}:`, error);
105
+ // Continue with other attachments
106
+ }
107
+ }
108
+ }
109
+ /**
110
+ * Generate numbered asset filename
111
+ */
112
+ getAssetFilename(att, index) {
113
+ const ext = path.extname(att.name);
114
+ const typePrefix = this.getTypePrefix(att.type);
115
+ const paddedIndex = String(index).padStart(3, '0');
116
+ return `${typePrefix}-${paddedIndex}${ext}`;
117
+ }
118
+ /**
119
+ * Get prefix based on file type
120
+ */
121
+ getTypePrefix(type) {
122
+ if (type.startsWith('image/'))
123
+ return 'screenshot';
124
+ if (type === 'application/pdf')
125
+ return 'document';
126
+ if (type.startsWith('text/'))
127
+ return 'text';
128
+ return 'file';
129
+ }
130
+ /**
131
+ * Find the appropriate increment for logging
132
+ *
133
+ * Priority:
134
+ * 1. Most recently modified active increment (if multiple active)
135
+ * 2. Single active increment
136
+ * 3. null (log to orphaned/)
137
+ *
138
+ * @returns Increment ID or null for orphaned logs
139
+ */
140
+ async findIncrementForLogging() {
141
+ const incrementsDir = path.join(this.workingDir, '.specweave/increments');
142
+ if (!await fs.pathExists(incrementsDir)) {
143
+ return null;
144
+ }
145
+ // Find all active increments
146
+ const activeIncrements = [];
147
+ const dirs = await fs.readdir(incrementsDir);
148
+ for (const dir of dirs) {
149
+ const metadataPath = path.join(incrementsDir, dir, 'metadata.json');
150
+ if (await fs.pathExists(metadataPath)) {
151
+ try {
152
+ const metadata = await fs.readJson(metadataPath);
153
+ if (metadata.status === 'active') {
154
+ const lastActivity = new Date(metadata.lastActivity || metadata.created || Date.now());
155
+ activeIncrements.push({
156
+ id: dir,
157
+ lastActivity
158
+ });
159
+ }
160
+ }
161
+ catch (error) {
162
+ // Skip invalid metadata files
163
+ continue;
164
+ }
165
+ }
166
+ }
167
+ // No active increments → orphaned logs
168
+ if (activeIncrements.length === 0) {
169
+ return null;
170
+ }
171
+ // Single active → use it
172
+ if (activeIncrements.length === 1) {
173
+ return activeIncrements[0].id;
174
+ }
175
+ // Multiple active (max 2 allowed) → use most recent
176
+ activeIncrements.sort((a, b) => b.lastActivity.getTime() - a.lastActivity.getTime());
177
+ return activeIncrements[0].id;
178
+ }
179
+ /**
180
+ * Ensure README.md exists in logs/ folder
181
+ */
182
+ async ensureLogsReadme(logsDir) {
183
+ const readmePath = path.join(logsDir, 'README.md');
184
+ // Only create if doesn't exist
185
+ if (await fs.pathExists(readmePath)) {
186
+ return;
187
+ }
188
+ const readme = this.createLogsReadme();
189
+ await fs.writeFile(readmePath, readme);
190
+ }
191
+ /**
192
+ * Create README.md content for logs/ folder
193
+ */
194
+ createLogsReadme() {
195
+ const now = new Date().toISOString().replace('T', ' ').slice(0, 19);
196
+ return `# Prompt Logs
197
+
198
+ This folder contains automatic logs of all user prompts for this increment.
199
+
200
+ ## Structure
201
+
202
+ \`\`\`
203
+ logs/
204
+ ├── 2025-11-13/
205
+ │ ├── session.md # All prompts for this day
206
+ │ └── assets/ # Images, screenshots, files
207
+ ├── 2025-11-14/
208
+ │ └── session.md
209
+ └── README.md # This file
210
+ \`\`\`
211
+
212
+ ## Purpose
213
+
214
+ - **Audit trail**: Review what was asked and when
215
+ - **Context preservation**: Understand past decisions
216
+ - **Debug tool**: Trace where certain implementations came from
217
+ - **Knowledge base**: Search past conversations
218
+
219
+ ## Privacy Note
220
+
221
+ These logs contain YOUR prompts exactly as typed. They may include:
222
+ - Code snippets
223
+ - API keys or secrets (review before committing!)
224
+ - Personal information
225
+ - Project-specific details
226
+
227
+ **Recommendation**: Review logs before committing to git.
228
+
229
+ ## Configuration
230
+
231
+ To disable logging, edit \`.specweave/config.json\`:
232
+
233
+ \`\`\`json
234
+ {
235
+ "logging": {
236
+ "enabled": false
237
+ }
238
+ }
239
+ \`\`\`
240
+
241
+ ## Generated by SpecWeave
242
+
243
+ Last updated: ${now}
244
+ `;
245
+ }
246
+ }
247
+ //# sourceMappingURL=prompt-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-logger.js","sourceRoot":"","sources":["../../../../src/core/logging/prompt-logger.ts"],"names":[],"mappings":"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"}