@sudocode-ai/cli 0.1.4 → 0.1.5
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/dist/cli/merge-commands.d.ts +42 -0
- package/dist/cli/merge-commands.d.ts.map +1 -0
- package/dist/cli/merge-commands.js +401 -0
- package/dist/cli/merge-commands.js.map +1 -0
- package/dist/cli/server-commands.d.ts.map +1 -1
- package/dist/cli/server-commands.js +12 -9
- package/dist/cli/server-commands.js.map +1 -1
- package/dist/cli/update-commands.d.ts +4 -0
- package/dist/cli/update-commands.d.ts.map +1 -1
- package/dist/cli/update-commands.js +21 -1
- package/dist/cli/update-commands.js.map +1 -1
- package/dist/cli.js +51 -4
- package/dist/cli.js.map +1 -1
- package/dist/import.d.ts.map +1 -1
- package/dist/import.js +2 -0
- package/dist/import.js.map +1 -1
- package/dist/merge-resolver.d.ts +85 -0
- package/dist/merge-resolver.d.ts.map +1 -0
- package/dist/merge-resolver.js +301 -0
- package/dist/merge-resolver.js.map +1 -0
- package/dist/operations/feedback.d.ts +2 -0
- package/dist/operations/feedback.d.ts.map +1 -1
- package/dist/operations/feedback.js +24 -9
- package/dist/operations/feedback.js.map +1 -1
- package/dist/update-checker.d.ts +4 -0
- package/dist/update-checker.d.ts.map +1 -1
- package/dist/update-checker.js +52 -10
- package/dist/update-checker.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL merge conflict resolution
|
|
3
|
+
*
|
|
4
|
+
* Resolves git merge conflicts in issues.jsonl and specs.jsonl using:
|
|
5
|
+
* - UUID-based deduplication
|
|
6
|
+
* - Timestamp-based prioritization
|
|
7
|
+
* - Metadata merging (relationships, tags)
|
|
8
|
+
*/
|
|
9
|
+
import * as fs from "fs";
|
|
10
|
+
/**
|
|
11
|
+
* Check if file contains git conflict markers
|
|
12
|
+
*/
|
|
13
|
+
export function hasGitConflictMarkers(filePath) {
|
|
14
|
+
if (!fs.existsSync(filePath)) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
const content = fs.readFileSync(filePath, "utf8");
|
|
18
|
+
return (content.includes("<<<<<<<") &&
|
|
19
|
+
content.includes("=======") &&
|
|
20
|
+
content.includes(">>>>>>>"));
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse JSONL file containing git conflict markers
|
|
24
|
+
* Returns structured representation of clean sections and conflicts
|
|
25
|
+
*/
|
|
26
|
+
export function parseMergeConflictFile(content) {
|
|
27
|
+
const lines = content.split("\n");
|
|
28
|
+
const sections = [];
|
|
29
|
+
let currentSection = null;
|
|
30
|
+
let inConflict = false;
|
|
31
|
+
let conflictStart = -1;
|
|
32
|
+
let conflictMiddle = -1;
|
|
33
|
+
let oursLabel = "";
|
|
34
|
+
let theirsLabel = "";
|
|
35
|
+
let oursLines = [];
|
|
36
|
+
let theirsLines = [];
|
|
37
|
+
for (let i = 0; i < lines.length; i++) {
|
|
38
|
+
const line = lines[i];
|
|
39
|
+
// Start of conflict
|
|
40
|
+
if (line.startsWith("<<<<<<<")) {
|
|
41
|
+
// Save any clean section
|
|
42
|
+
if (currentSection) {
|
|
43
|
+
sections.push(currentSection);
|
|
44
|
+
}
|
|
45
|
+
inConflict = true;
|
|
46
|
+
conflictStart = i;
|
|
47
|
+
oursLabel = line.substring(7).trim();
|
|
48
|
+
oursLines = [];
|
|
49
|
+
currentSection = null;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
// Middle of conflict
|
|
53
|
+
if (line.startsWith("=======") && inConflict) {
|
|
54
|
+
conflictMiddle = i;
|
|
55
|
+
theirsLines = [];
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
// End of conflict
|
|
59
|
+
if (line.startsWith(">>>>>>>") && inConflict) {
|
|
60
|
+
theirsLabel = line.substring(7).trim();
|
|
61
|
+
sections.push({
|
|
62
|
+
type: "conflict",
|
|
63
|
+
lines: [],
|
|
64
|
+
ours: oursLines,
|
|
65
|
+
theirs: theirsLines,
|
|
66
|
+
marker: {
|
|
67
|
+
start: conflictStart,
|
|
68
|
+
middle: conflictMiddle,
|
|
69
|
+
end: i,
|
|
70
|
+
oursLabel,
|
|
71
|
+
theirsLabel,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
inConflict = false;
|
|
75
|
+
conflictStart = -1;
|
|
76
|
+
conflictMiddle = -1;
|
|
77
|
+
oursLabel = "";
|
|
78
|
+
theirsLabel = "";
|
|
79
|
+
oursLines = [];
|
|
80
|
+
theirsLines = [];
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
// Accumulate lines
|
|
84
|
+
if (inConflict) {
|
|
85
|
+
if (conflictMiddle === -1) {
|
|
86
|
+
oursLines.push(line);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
theirsLines.push(line);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// Clean line
|
|
94
|
+
if (!currentSection || currentSection.type !== "clean") {
|
|
95
|
+
currentSection = {
|
|
96
|
+
type: "clean",
|
|
97
|
+
lines: [],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
currentSection.lines.push(line);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Save final clean section
|
|
104
|
+
if (currentSection) {
|
|
105
|
+
sections.push(currentSection);
|
|
106
|
+
}
|
|
107
|
+
return sections;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Compare timestamps with normalization
|
|
111
|
+
*/
|
|
112
|
+
function compareTimestamps(a, b) {
|
|
113
|
+
if (!a && !b)
|
|
114
|
+
return 0;
|
|
115
|
+
if (!a)
|
|
116
|
+
return -1;
|
|
117
|
+
if (!b)
|
|
118
|
+
return 1;
|
|
119
|
+
// Normalize timestamps to ISO format
|
|
120
|
+
const normalizeTs = (ts) => {
|
|
121
|
+
const hasZone = ts.endsWith("Z") ||
|
|
122
|
+
ts.includes("+") ||
|
|
123
|
+
/[+-]\d{2}:\d{2}$/.test(ts);
|
|
124
|
+
return hasZone ? ts : ts.replace(" ", "T") + "Z";
|
|
125
|
+
};
|
|
126
|
+
const dateA = new Date(normalizeTs(a));
|
|
127
|
+
const dateB = new Date(normalizeTs(b));
|
|
128
|
+
return dateA.getTime() - dateB.getTime();
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Generate deterministic conflict ID
|
|
132
|
+
*/
|
|
133
|
+
function generateConflictId(originalId, uuid) {
|
|
134
|
+
return `${originalId}-conflict-${uuid.slice(0, 8)}`;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Merge metadata from multiple versions of same entity
|
|
138
|
+
*/
|
|
139
|
+
export function mergeMetadata(entities) {
|
|
140
|
+
// Sort by updated_at, keep most recent as base
|
|
141
|
+
const sorted = [...entities].sort((a, b) => compareTimestamps(b.updated_at, a.updated_at));
|
|
142
|
+
const base = { ...sorted[0] };
|
|
143
|
+
// Merge relationships (union of unique)
|
|
144
|
+
const relationshipSet = new Set();
|
|
145
|
+
for (const entity of entities) {
|
|
146
|
+
if (entity.relationships) {
|
|
147
|
+
for (const rel of entity.relationships) {
|
|
148
|
+
relationshipSet.add(JSON.stringify(rel));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if (relationshipSet.size > 0) {
|
|
153
|
+
base.relationships = Array.from(relationshipSet).map((r) => JSON.parse(r));
|
|
154
|
+
}
|
|
155
|
+
// Merge tags (union of unique)
|
|
156
|
+
const tagSet = new Set();
|
|
157
|
+
for (const entity of entities) {
|
|
158
|
+
if (entity.tags) {
|
|
159
|
+
for (const tag of entity.tags) {
|
|
160
|
+
tagSet.add(tag);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (tagSet.size > 0) {
|
|
165
|
+
base.tags = Array.from(tagSet);
|
|
166
|
+
}
|
|
167
|
+
// Merge feedback if present (union of unique by id)
|
|
168
|
+
if (entities[0].feedback) {
|
|
169
|
+
const feedbackMap = new Map();
|
|
170
|
+
for (const entity of entities) {
|
|
171
|
+
if (entity.feedback) {
|
|
172
|
+
for (const fb of entity.feedback) {
|
|
173
|
+
if (!feedbackMap.has(fb.id)) {
|
|
174
|
+
feedbackMap.set(fb.id, fb);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
if (feedbackMap.size > 0) {
|
|
180
|
+
base.feedback = Array.from(feedbackMap.values());
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return base;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Resolve all entities using UUID-based deduplication
|
|
187
|
+
* Handles different UUIDs, same UUID conflicts, and metadata merging
|
|
188
|
+
*/
|
|
189
|
+
export function resolveEntities(entities, options = {}) {
|
|
190
|
+
const stats = {
|
|
191
|
+
totalInput: entities.length,
|
|
192
|
+
totalOutput: 0,
|
|
193
|
+
conflicts: [],
|
|
194
|
+
};
|
|
195
|
+
// Group entities by UUID
|
|
196
|
+
const byUuid = new Map();
|
|
197
|
+
for (const entity of entities) {
|
|
198
|
+
if (!byUuid.has(entity.uuid)) {
|
|
199
|
+
byUuid.set(entity.uuid, []);
|
|
200
|
+
}
|
|
201
|
+
byUuid.get(entity.uuid).push(entity);
|
|
202
|
+
}
|
|
203
|
+
const resolved = [];
|
|
204
|
+
// Process each UUID group
|
|
205
|
+
for (const [uuid, group] of Array.from(byUuid.entries())) {
|
|
206
|
+
if (group.length === 1) {
|
|
207
|
+
// No conflict - single entity with this UUID
|
|
208
|
+
resolved.push(group[0]);
|
|
209
|
+
continue;
|
|
210
|
+
}
|
|
211
|
+
// Check if all have same ID
|
|
212
|
+
const ids = new Set(group.map((e) => e.id));
|
|
213
|
+
if (ids.size === 1) {
|
|
214
|
+
// Same UUID, same ID → Keep most recent, merge metadata
|
|
215
|
+
const merged = mergeMetadata(group);
|
|
216
|
+
resolved.push(merged);
|
|
217
|
+
stats.conflicts.push({
|
|
218
|
+
type: "same-uuid-same-id",
|
|
219
|
+
uuid,
|
|
220
|
+
originalIds: [group[0].id],
|
|
221
|
+
resolvedIds: [merged.id],
|
|
222
|
+
action: `Kept most recent version, merged ${group.length} versions`,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
// Same UUID, different IDs → Keep all, rename duplicates
|
|
227
|
+
const sorted = [...group].sort((a, b) => compareTimestamps(a.updated_at, b.updated_at));
|
|
228
|
+
// Keep most recent ID as-is
|
|
229
|
+
const keeper = sorted[sorted.length - 1];
|
|
230
|
+
resolved.push(keeper);
|
|
231
|
+
const originalIds = [];
|
|
232
|
+
const resolvedIds = [keeper.id];
|
|
233
|
+
// Rename older versions
|
|
234
|
+
for (let i = 0; i < sorted.length - 1; i++) {
|
|
235
|
+
const entity = { ...sorted[i] };
|
|
236
|
+
originalIds.push(entity.id);
|
|
237
|
+
// Always rename older versions
|
|
238
|
+
entity.id = generateConflictId(entity.id, uuid);
|
|
239
|
+
resolvedIds.push(entity.id);
|
|
240
|
+
resolved.push(entity);
|
|
241
|
+
}
|
|
242
|
+
stats.conflicts.push({
|
|
243
|
+
type: "same-uuid-different-id",
|
|
244
|
+
uuid,
|
|
245
|
+
originalIds,
|
|
246
|
+
resolvedIds,
|
|
247
|
+
action: `Renamed ${sorted.length - 1} conflicting IDs`,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// Handle ID collisions across different UUIDs (hash collisions)
|
|
252
|
+
const idCounts = new Map();
|
|
253
|
+
const finalResolved = [];
|
|
254
|
+
for (const entity of resolved) {
|
|
255
|
+
const currentId = entity.id;
|
|
256
|
+
if (!idCounts.has(currentId)) {
|
|
257
|
+
// First entity with this ID
|
|
258
|
+
idCounts.set(currentId, 1);
|
|
259
|
+
finalResolved.push(entity);
|
|
260
|
+
}
|
|
261
|
+
else {
|
|
262
|
+
// ID collision - rename with suffix
|
|
263
|
+
const count = idCounts.get(currentId);
|
|
264
|
+
const newEntity = { ...entity };
|
|
265
|
+
const newId = `${currentId}.${count}`;
|
|
266
|
+
newEntity.id = newId;
|
|
267
|
+
idCounts.set(currentId, count + 1);
|
|
268
|
+
finalResolved.push(newEntity);
|
|
269
|
+
stats.conflicts.push({
|
|
270
|
+
type: "different-uuids",
|
|
271
|
+
uuid: entity.uuid,
|
|
272
|
+
originalIds: [currentId],
|
|
273
|
+
resolvedIds: [newId],
|
|
274
|
+
action: `Renamed ID to resolve hash collision (different UUIDs)`,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Sort by created_at (git-friendly)
|
|
279
|
+
finalResolved.sort((a, b) => {
|
|
280
|
+
const aDate = a.created_at || "";
|
|
281
|
+
const bDate = b.created_at || "";
|
|
282
|
+
if (aDate < bDate)
|
|
283
|
+
return -1;
|
|
284
|
+
if (aDate > bDate)
|
|
285
|
+
return 1;
|
|
286
|
+
return (a.id || "").localeCompare(b.id || "");
|
|
287
|
+
});
|
|
288
|
+
stats.totalOutput = finalResolved.length;
|
|
289
|
+
return { entities: finalResolved, stats };
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Three-way merge for git merge driver
|
|
293
|
+
* Merges base, ours, and theirs versions
|
|
294
|
+
*/
|
|
295
|
+
export function mergeThreeWay(base, ours, theirs) {
|
|
296
|
+
// Collect all entities from all three versions
|
|
297
|
+
const allEntities = [...base, ...ours, ...theirs];
|
|
298
|
+
// Use standard resolution logic
|
|
299
|
+
return resolveEntities(allEntities);
|
|
300
|
+
}
|
|
301
|
+
//# sourceMappingURL=merge-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-resolver.js","sourceRoot":"","sources":["../src/merge-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/operations/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAkBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,mBAAmB,GACzB,aAAa,
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/operations/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAaD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAkBhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,mBAAmB,GACzB,aAAa,CAmEf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,GACT,aAAa,GAAG,IAAI,CAOtB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,mBAAmB,GACzB,aAAa,CA8Cf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAIzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,EAAE,EAAE,MAAM,GACT,aAAa,CAEf;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,GAAE,mBAAwB,GAChC,aAAa,EAAE,CAuCjB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,CAAC,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CA4BvC"}
|
|
@@ -45,15 +45,25 @@ export function createFeedback(db, input) {
|
|
|
45
45
|
if (!spec) {
|
|
46
46
|
throw new Error(`Spec not found: ${input.spec_id}`);
|
|
47
47
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
// Build SQL statement - include timestamps only if provided
|
|
49
|
+
const hasTimestamps = input.created_at !== undefined || input.updated_at !== undefined;
|
|
50
|
+
const stmt = hasTimestamps
|
|
51
|
+
? db.prepare(`
|
|
52
|
+
INSERT INTO issue_feedback (
|
|
53
|
+
id, issue_id, issue_uuid, spec_id, spec_uuid, feedback_type, content, agent, anchor, dismissed, created_at, updated_at
|
|
54
|
+
) VALUES (
|
|
55
|
+
@id, @issue_id, @issue_uuid, @spec_id, @spec_uuid, @feedback_type, @content, @agent, @anchor, @dismissed, @created_at, @updated_at
|
|
56
|
+
)
|
|
57
|
+
`)
|
|
58
|
+
: db.prepare(`
|
|
59
|
+
INSERT INTO issue_feedback (
|
|
60
|
+
id, issue_id, issue_uuid, spec_id, spec_uuid, feedback_type, content, agent, anchor, dismissed
|
|
61
|
+
) VALUES (
|
|
62
|
+
@id, @issue_id, @issue_uuid, @spec_id, @spec_uuid, @feedback_type, @content, @agent, @anchor, @dismissed
|
|
63
|
+
)
|
|
64
|
+
`);
|
|
55
65
|
try {
|
|
56
|
-
|
|
66
|
+
const params = {
|
|
57
67
|
id,
|
|
58
68
|
issue_id: input.issue_id,
|
|
59
69
|
issue_uuid: issue.uuid,
|
|
@@ -64,7 +74,12 @@ export function createFeedback(db, input) {
|
|
|
64
74
|
agent: agent,
|
|
65
75
|
anchor: anchorJson,
|
|
66
76
|
dismissed: input.dismissed !== undefined ? (input.dismissed ? 1 : 0) : 0,
|
|
67
|
-
}
|
|
77
|
+
};
|
|
78
|
+
if (hasTimestamps) {
|
|
79
|
+
params.created_at = input.created_at;
|
|
80
|
+
params.updated_at = input.updated_at;
|
|
81
|
+
}
|
|
82
|
+
stmt.run(params);
|
|
68
83
|
const feedback = getFeedback(db, id);
|
|
69
84
|
if (!feedback) {
|
|
70
85
|
throw new Error(`Failed to create feedback ${id}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/operations/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"feedback.js","sourceRoot":"","sources":["../../src/operations/feedback.ts"],"names":[],"mappings":"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"}
|
package/dist/update-checker.d.ts
CHANGED
|
@@ -16,6 +16,10 @@ export declare function checkForUpdates(): Promise<UpdateInfo | null>;
|
|
|
16
16
|
* Check for updates and return formatted notification message
|
|
17
17
|
*/
|
|
18
18
|
export declare function getUpdateNotification(): Promise<string | null>;
|
|
19
|
+
/**
|
|
20
|
+
* Dismiss update notifications for a version
|
|
21
|
+
*/
|
|
22
|
+
export declare function dismissUpdate(version: string): void;
|
|
19
23
|
/**
|
|
20
24
|
* Clear update cache (useful for testing)
|
|
21
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmBH,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AA+ED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAyBlE;AAqBD;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmBpE;AA+BD;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAiBnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAWvC"}
|
package/dist/update-checker.js
CHANGED
|
@@ -9,7 +9,9 @@ import { VERSION } from "./version.js";
|
|
|
9
9
|
const PACKAGE_NAME = "@sudocode-ai/cli";
|
|
10
10
|
const CACHE_DIR = path.join(os.tmpdir(), "sudocode-cli");
|
|
11
11
|
const CACHE_FILE = path.join(CACHE_DIR, "update-cache.json");
|
|
12
|
+
const DISMISS_FILE = path.join(CACHE_DIR, "update-dismissed.json");
|
|
12
13
|
const CACHE_DURATION = 1000 * 60 * 60 * 24; // 24 hours
|
|
14
|
+
const DISMISS_DURATION = 1000 * 60 * 60 * 24 * 30; // 30 days
|
|
13
15
|
/**
|
|
14
16
|
* Fetch latest version from npm registry
|
|
15
17
|
*/
|
|
@@ -124,16 +126,53 @@ export async function getUpdateNotification() {
|
|
|
124
126
|
if (!isOlderVersion(info.current, info.latest)) {
|
|
125
127
|
return null;
|
|
126
128
|
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
// Check if update notification is dismissed
|
|
130
|
+
if (isDismissed(info.latest)) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
// Compact single-line notification
|
|
134
|
+
return `Update available: ${info.current} → ${info.latest} (run 'sudocode update' or 'sudocode update --dismiss')`;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Check if update notifications are dismissed
|
|
138
|
+
*/
|
|
139
|
+
function isDismissed(version) {
|
|
140
|
+
try {
|
|
141
|
+
if (!fs.existsSync(DISMISS_FILE)) {
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
const content = fs.readFileSync(DISMISS_FILE, "utf-8");
|
|
145
|
+
const dismissInfo = JSON.parse(content);
|
|
146
|
+
// Check if dismissed version matches
|
|
147
|
+
if (dismissInfo.version !== version) {
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
// Check if dismiss is still valid
|
|
151
|
+
const now = Date.now();
|
|
152
|
+
if (now - dismissInfo.timestamp > DISMISS_DURATION) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
catch {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Dismiss update notifications for a version
|
|
163
|
+
*/
|
|
164
|
+
export function dismissUpdate(version) {
|
|
165
|
+
try {
|
|
166
|
+
fs.mkdirSync(CACHE_DIR, { recursive: true });
|
|
167
|
+
const dismissInfo = {
|
|
168
|
+
timestamp: Date.now(),
|
|
169
|
+
version,
|
|
170
|
+
};
|
|
171
|
+
fs.writeFileSync(DISMISS_FILE, JSON.stringify(dismissInfo, null, 2), "utf-8");
|
|
172
|
+
}
|
|
173
|
+
catch {
|
|
174
|
+
// Silently fail
|
|
175
|
+
}
|
|
137
176
|
}
|
|
138
177
|
/**
|
|
139
178
|
* Clear update cache (useful for testing)
|
|
@@ -143,6 +182,9 @@ export function clearUpdateCache() {
|
|
|
143
182
|
if (fs.existsSync(CACHE_FILE)) {
|
|
144
183
|
fs.unlinkSync(CACHE_FILE);
|
|
145
184
|
}
|
|
185
|
+
if (fs.existsSync(DISMISS_FILE)) {
|
|
186
|
+
fs.unlinkSync(DISMISS_FILE);
|
|
187
|
+
}
|
|
146
188
|
}
|
|
147
189
|
catch {
|
|
148
190
|
// Silently fail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC;AACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;AAC7D,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"update-checker.js","sourceRoot":"","sources":["../src/update-checker.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sudocode-ai/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Git-native spec and issue management CLI for AI-assisted software development",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"node": ">=18.0.0"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@sudocode-ai/types": "^0.1.
|
|
45
|
+
"@sudocode-ai/types": "^0.1.5",
|
|
46
46
|
"better-sqlite3": "^11.8.1",
|
|
47
47
|
"chalk": "^5.6.2",
|
|
48
48
|
"chokidar": "^4.0.3",
|