@sudocode-ai/cli 0.1.5 → 0.1.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.
- package/dist/cli/feedback-commands.d.ts +6 -7
- package/dist/cli/feedback-commands.d.ts.map +1 -1
- package/dist/cli/feedback-commands.js +97 -57
- package/dist/cli/feedback-commands.js.map +1 -1
- package/dist/cli/issue-commands.d.ts +1 -0
- package/dist/cli/issue-commands.d.ts.map +1 -1
- package/dist/cli/issue-commands.js +26 -2
- package/dist/cli/issue-commands.js.map +1 -1
- package/dist/cli/merge-commands.d.ts.map +1 -1
- package/dist/cli/merge-commands.js +6 -2
- package/dist/cli/merge-commands.js.map +1 -1
- package/dist/cli/relationship-commands.d.ts +1 -1
- package/dist/cli/relationship-commands.d.ts.map +1 -1
- package/dist/cli/relationship-commands.js +25 -18
- package/dist/cli/relationship-commands.js.map +1 -1
- package/dist/cli/server-commands.d.ts.map +1 -1
- package/dist/cli/server-commands.js +41 -22
- package/dist/cli/server-commands.js.map +1 -1
- package/dist/cli/spec-commands.d.ts.map +1 -1
- package/dist/cli/spec-commands.js +9 -5
- package/dist/cli/spec-commands.js.map +1 -1
- package/dist/cli/sync-commands.js +43 -32
- package/dist/cli/sync-commands.js.map +1 -1
- package/dist/cli.js +11 -10
- package/dist/cli.js.map +1 -1
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +4 -3
- package/dist/db.js.map +1 -1
- package/dist/export.js +3 -3
- package/dist/export.js.map +1 -1
- package/dist/id-generator.d.ts +5 -0
- package/dist/id-generator.d.ts.map +1 -1
- package/dist/id-generator.js +21 -0
- package/dist/id-generator.js.map +1 -1
- package/dist/import.d.ts.map +1 -1
- package/dist/import.js +64 -9
- package/dist/import.js.map +1 -1
- package/dist/operations/feedback.d.ts +24 -9
- package/dist/operations/feedback.d.ts.map +1 -1
- package/dist/operations/feedback.js +73 -45
- package/dist/operations/feedback.js.map +1 -1
- package/dist/operations/issues.d.ts +1 -0
- package/dist/operations/issues.d.ts.map +1 -1
- package/dist/operations/issues.js +33 -10
- package/dist/operations/issues.js.map +1 -1
- package/dist/operations/relationships.d.ts.map +1 -1
- package/dist/operations/relationships.js +39 -12
- package/dist/operations/relationships.js.map +1 -1
- package/dist/operations/specs.d.ts +1 -0
- package/dist/operations/specs.d.ts.map +1 -1
- package/dist/operations/specs.js +4 -0
- package/dist/operations/specs.js.map +1 -1
- package/dist/sync.js +1 -1
- package/dist/sync.js.map +1 -1
- package/dist/validation.d.ts +7 -0
- package/dist/validation.d.ts.map +1 -0
- package/dist/validation.js +26 -0
- package/dist/validation.js.map +1 -0
- package/dist/watcher.js +2 -2
- package/dist/watcher.js.map +1 -1
- package/package.json +11 -8
- package/dist/migrations.d.ts +0 -23
- package/dist/migrations.d.ts.map +0 -1
- package/dist/migrations.js +0 -57
- package/dist/migrations.js.map +0 -1
|
@@ -5,8 +5,8 @@ import type Database from "better-sqlite3";
|
|
|
5
5
|
import type { IssueFeedback, FeedbackType, FeedbackAnchor } from "../types.js";
|
|
6
6
|
export interface CreateFeedbackInput {
|
|
7
7
|
id?: string;
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
from_id: string;
|
|
9
|
+
to_id: string;
|
|
10
10
|
feedback_type: FeedbackType;
|
|
11
11
|
content: string;
|
|
12
12
|
agent?: string;
|
|
@@ -21,15 +21,16 @@ export interface UpdateFeedbackInput {
|
|
|
21
21
|
anchor?: FeedbackAnchor;
|
|
22
22
|
}
|
|
23
23
|
export interface ListFeedbackOptions {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
from_id?: string;
|
|
25
|
+
to_id?: string;
|
|
26
26
|
feedback_type?: FeedbackType;
|
|
27
27
|
dismissed?: boolean;
|
|
28
28
|
limit?: number;
|
|
29
29
|
offset?: number;
|
|
30
30
|
}
|
|
31
31
|
/**
|
|
32
|
-
* Generate
|
|
32
|
+
* Generate feedback ID using UUID
|
|
33
|
+
* This provides collision resistance for distributed workflows
|
|
33
34
|
*/
|
|
34
35
|
export declare function generateFeedbackId(db: Database.Database): string;
|
|
35
36
|
/**
|
|
@@ -57,21 +58,35 @@ export declare function dismissFeedback(db: Database.Database, id: string): Issu
|
|
|
57
58
|
*/
|
|
58
59
|
export declare function listFeedback(db: Database.Database, options?: ListFeedbackOptions): IssueFeedback[];
|
|
59
60
|
/**
|
|
60
|
-
* Get all feedback
|
|
61
|
+
* Get all feedback FROM a specific issue (issue providing feedback)
|
|
61
62
|
*/
|
|
62
|
-
export declare function
|
|
63
|
+
export declare function getFeedbackFromIssue(db: Database.Database, issue_id: string): IssueFeedback[];
|
|
64
|
+
/**
|
|
65
|
+
* Get all feedback FOR a specific target (spec or issue receiving feedback)
|
|
66
|
+
*/
|
|
67
|
+
export declare function getFeedbackForTarget(db: Database.Database, to_id: string): IssueFeedback[];
|
|
63
68
|
/**
|
|
64
69
|
* Get all feedback for a specific spec
|
|
65
70
|
*/
|
|
66
71
|
export declare function getFeedbackForSpec(db: Database.Database, spec_id: string): IssueFeedback[];
|
|
72
|
+
/**
|
|
73
|
+
* Get all feedback for a specific issue (feedback provided BY this issue)
|
|
74
|
+
* For backward compatibility, this returns feedback FROM the issue.
|
|
75
|
+
* For feedback TO an issue, use getFeedbackForTarget()
|
|
76
|
+
*/
|
|
77
|
+
export declare function getFeedbackForIssue(db: Database.Database, issue_id: string): IssueFeedback[];
|
|
67
78
|
/**
|
|
68
79
|
* Get active feedback for a spec (not dismissed)
|
|
69
80
|
*/
|
|
70
81
|
export declare function getActiveFeedbackForSpec(db: Database.Database, spec_id: string): IssueFeedback[];
|
|
71
82
|
/**
|
|
72
|
-
*
|
|
83
|
+
* Get active feedback for an issue (not dismissed)
|
|
84
|
+
*/
|
|
85
|
+
export declare function getActiveFeedbackForIssue(db: Database.Database, issue_id: string): IssueFeedback[];
|
|
86
|
+
/**
|
|
87
|
+
* Count feedback by dismissed status for a target
|
|
73
88
|
*/
|
|
74
|
-
export declare function countFeedbackByDismissed(db: Database.Database,
|
|
89
|
+
export declare function countFeedbackByDismissed(db: Database.Database, to_id?: string): {
|
|
75
90
|
active: number;
|
|
76
91
|
dismissed: number;
|
|
77
92
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/operations/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/operations/feedback.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG/E,MAAM,WAAW,mBAAmB;IAClC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,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,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,mBAAmB,GACzB,aAAa,CAgFf;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,oBAAoB,CAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,MAAM,GACZ,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,MAAM,GACd,aAAa,EAAE,CAEjB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,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,yBAAyB,CACvC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,MAAM,GACf,aAAa,EAAE,CAEjB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,CAAC,EAAE,MAAM,GACb;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAiCvC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* CRUD operations for Issue Feedback
|
|
3
3
|
*/
|
|
4
|
+
import * as crypto from "crypto";
|
|
5
|
+
import { getEntityTypeFromId } from "../id-generator.js";
|
|
4
6
|
/**
|
|
5
7
|
* Convert raw database row to IssueFeedback with proper types
|
|
6
8
|
* SQLite stores booleans as integers (0/1), so we need to convert
|
|
@@ -12,22 +14,11 @@ function convertDbRowToFeedback(row) {
|
|
|
12
14
|
};
|
|
13
15
|
}
|
|
14
16
|
/**
|
|
15
|
-
* Generate
|
|
17
|
+
* Generate feedback ID using UUID
|
|
18
|
+
* This provides collision resistance for distributed workflows
|
|
16
19
|
*/
|
|
17
20
|
export function generateFeedbackId(db) {
|
|
18
|
-
|
|
19
|
-
SELECT id FROM issue_feedback ORDER BY id DESC LIMIT 1
|
|
20
|
-
`);
|
|
21
|
-
const lastFeedback = stmt.get();
|
|
22
|
-
if (!lastFeedback) {
|
|
23
|
-
return "FB-001";
|
|
24
|
-
}
|
|
25
|
-
const match = lastFeedback.id.match(/^FB-(\d+)$/);
|
|
26
|
-
if (!match) {
|
|
27
|
-
return "FB-001";
|
|
28
|
-
}
|
|
29
|
-
const nextNum = parseInt(match[1], 10) + 1;
|
|
30
|
-
return `FB-${String(nextNum).padStart(3, "0")}`;
|
|
21
|
+
return crypto.randomUUID();
|
|
31
22
|
}
|
|
32
23
|
/**
|
|
33
24
|
* Create a new feedback entry
|
|
@@ -36,39 +27,52 @@ export function createFeedback(db, input) {
|
|
|
36
27
|
const id = input.id || generateFeedbackId(db);
|
|
37
28
|
const anchorJson = input.anchor ? JSON.stringify(input.anchor) : null;
|
|
38
29
|
const agent = input.agent || "user";
|
|
39
|
-
// Get
|
|
40
|
-
const
|
|
41
|
-
if (!
|
|
42
|
-
throw new Error(`Issue not found: ${input.
|
|
30
|
+
// Get from_uuid (must be an issue)
|
|
31
|
+
const fromIssue = db.prepare(`SELECT uuid FROM issues WHERE id = ?`).get(input.from_id);
|
|
32
|
+
if (!fromIssue) {
|
|
33
|
+
throw new Error(`Issue not found: ${input.from_id}`);
|
|
43
34
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
35
|
+
// Get to_uuid based on inferred entity type
|
|
36
|
+
const toType = getEntityTypeFromId(input.to_id);
|
|
37
|
+
let toUuid;
|
|
38
|
+
if (toType === "spec") {
|
|
39
|
+
const spec = db.prepare(`SELECT uuid FROM specs WHERE id = ?`).get(input.to_id);
|
|
40
|
+
if (!spec) {
|
|
41
|
+
throw new Error(`Spec not found: ${input.to_id}`);
|
|
42
|
+
}
|
|
43
|
+
toUuid = spec.uuid;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const issue = db.prepare(`SELECT uuid FROM issues WHERE id = ?`).get(input.to_id);
|
|
47
|
+
if (!issue) {
|
|
48
|
+
throw new Error(`Issue not found: ${input.to_id}`);
|
|
49
|
+
}
|
|
50
|
+
toUuid = issue.uuid;
|
|
47
51
|
}
|
|
48
52
|
// Build SQL statement - include timestamps only if provided
|
|
49
53
|
const hasTimestamps = input.created_at !== undefined || input.updated_at !== undefined;
|
|
50
54
|
const stmt = hasTimestamps
|
|
51
55
|
? db.prepare(`
|
|
52
56
|
INSERT INTO issue_feedback (
|
|
53
|
-
id,
|
|
57
|
+
id, from_id, from_uuid, to_id, to_uuid, feedback_type, content, agent, anchor, dismissed, created_at, updated_at
|
|
54
58
|
) VALUES (
|
|
55
|
-
@id, @
|
|
59
|
+
@id, @from_id, @from_uuid, @to_id, @to_uuid, @feedback_type, @content, @agent, @anchor, @dismissed, @created_at, @updated_at
|
|
56
60
|
)
|
|
57
61
|
`)
|
|
58
62
|
: db.prepare(`
|
|
59
63
|
INSERT INTO issue_feedback (
|
|
60
|
-
id,
|
|
64
|
+
id, from_id, from_uuid, to_id, to_uuid, feedback_type, content, agent, anchor, dismissed
|
|
61
65
|
) VALUES (
|
|
62
|
-
@id, @
|
|
66
|
+
@id, @from_id, @from_uuid, @to_id, @to_uuid, @feedback_type, @content, @agent, @anchor, @dismissed
|
|
63
67
|
)
|
|
64
68
|
`);
|
|
65
69
|
try {
|
|
66
70
|
const params = {
|
|
67
71
|
id,
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
+
from_id: input.from_id,
|
|
73
|
+
from_uuid: fromIssue.uuid,
|
|
74
|
+
to_id: input.to_id,
|
|
75
|
+
to_uuid: toUuid,
|
|
72
76
|
feedback_type: input.feedback_type,
|
|
73
77
|
content: input.content,
|
|
74
78
|
agent: agent,
|
|
@@ -168,13 +172,13 @@ export function dismissFeedback(db, id) {
|
|
|
168
172
|
export function listFeedback(db, options = {}) {
|
|
169
173
|
const conditions = [];
|
|
170
174
|
const params = {};
|
|
171
|
-
if (options.
|
|
172
|
-
conditions.push("
|
|
173
|
-
params.
|
|
175
|
+
if (options.from_id !== undefined) {
|
|
176
|
+
conditions.push("from_id = @from_id");
|
|
177
|
+
params.from_id = options.from_id;
|
|
174
178
|
}
|
|
175
|
-
if (options.
|
|
176
|
-
conditions.push("
|
|
177
|
-
params.
|
|
179
|
+
if (options.to_id !== undefined) {
|
|
180
|
+
conditions.push("to_id = @to_id");
|
|
181
|
+
params.to_id = options.to_id;
|
|
178
182
|
}
|
|
179
183
|
if (options.feedback_type !== undefined) {
|
|
180
184
|
conditions.push("feedback_type = @feedback_type");
|
|
@@ -202,32 +206,56 @@ export function listFeedback(db, options = {}) {
|
|
|
202
206
|
return rows.map(convertDbRowToFeedback);
|
|
203
207
|
}
|
|
204
208
|
/**
|
|
205
|
-
* Get all feedback
|
|
209
|
+
* Get all feedback FROM a specific issue (issue providing feedback)
|
|
206
210
|
*/
|
|
207
|
-
export function
|
|
208
|
-
return listFeedback(db, { issue_id });
|
|
211
|
+
export function getFeedbackFromIssue(db, issue_id) {
|
|
212
|
+
return listFeedback(db, { from_id: issue_id });
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get all feedback FOR a specific target (spec or issue receiving feedback)
|
|
216
|
+
*/
|
|
217
|
+
export function getFeedbackForTarget(db, to_id) {
|
|
218
|
+
return listFeedback(db, { to_id });
|
|
209
219
|
}
|
|
210
220
|
/**
|
|
211
221
|
* Get all feedback for a specific spec
|
|
212
222
|
*/
|
|
213
223
|
export function getFeedbackForSpec(db, spec_id) {
|
|
214
|
-
return listFeedback(db, { spec_id });
|
|
224
|
+
return listFeedback(db, { to_id: spec_id });
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Get all feedback for a specific issue (feedback provided BY this issue)
|
|
228
|
+
* For backward compatibility, this returns feedback FROM the issue.
|
|
229
|
+
* For feedback TO an issue, use getFeedbackForTarget()
|
|
230
|
+
*/
|
|
231
|
+
export function getFeedbackForIssue(db, issue_id) {
|
|
232
|
+
return listFeedback(db, { from_id: issue_id });
|
|
215
233
|
}
|
|
216
234
|
/**
|
|
217
235
|
* Get active feedback for a spec (not dismissed)
|
|
218
236
|
*/
|
|
219
237
|
export function getActiveFeedbackForSpec(db, spec_id) {
|
|
220
|
-
return listFeedback(db, { spec_id, dismissed: false });
|
|
238
|
+
return listFeedback(db, { to_id: spec_id, dismissed: false });
|
|
221
239
|
}
|
|
222
240
|
/**
|
|
223
|
-
*
|
|
241
|
+
* Get active feedback for an issue (not dismissed)
|
|
224
242
|
*/
|
|
225
|
-
export function
|
|
243
|
+
export function getActiveFeedbackForIssue(db, issue_id) {
|
|
244
|
+
return listFeedback(db, { to_id: issue_id, dismissed: false });
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Count feedback by dismissed status for a target
|
|
248
|
+
*/
|
|
249
|
+
export function countFeedbackByDismissed(db, to_id) {
|
|
226
250
|
let query = "SELECT dismissed, COUNT(*) as count FROM issue_feedback";
|
|
227
251
|
const params = {};
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
252
|
+
const conditions = [];
|
|
253
|
+
if (to_id) {
|
|
254
|
+
conditions.push("to_id = @to_id");
|
|
255
|
+
params.to_id = to_id;
|
|
256
|
+
}
|
|
257
|
+
if (conditions.length > 0) {
|
|
258
|
+
query += " WHERE " + conditions.join(" AND ");
|
|
231
259
|
}
|
|
232
260
|
query += " GROUP BY dismissed";
|
|
233
261
|
const stmt = db.prepare(query);
|
|
@@ -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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"}
|
|
@@ -53,6 +53,7 @@ export declare function getIssue(db: Database.Database, id: string): Issue | nul
|
|
|
53
53
|
export declare function updateIssue(db: Database.Database, id: string, input: UpdateIssueInput): Issue;
|
|
54
54
|
/**
|
|
55
55
|
* Delete an issue
|
|
56
|
+
* Also cascades to delete any feedback targeting this issue (feedback FROM is handled by FK cascade)
|
|
56
57
|
*/
|
|
57
58
|
export declare function deleteIssue(db: Database.Database, id: string): boolean;
|
|
58
59
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/operations/issues.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"issues.d.ts","sourceRoot":"","sources":["../../src/operations/issues.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* CRUD operations for Issues
|
|
3
3
|
*/
|
|
4
4
|
import { generateUUID } from "../id-generator.js";
|
|
5
|
-
import { getIncomingRelationships } from "./relationships.js";
|
|
5
|
+
import { getIncomingRelationships, getOutgoingRelationships, } from "./relationships.js";
|
|
6
6
|
/**
|
|
7
7
|
* Create a new issue
|
|
8
8
|
*/
|
|
@@ -252,13 +252,23 @@ export function updateIssue(db, id, input) {
|
|
|
252
252
|
/**
|
|
253
253
|
* Update status of issues that were blocked by the given issue
|
|
254
254
|
* Called when a blocker issue is closed
|
|
255
|
+
* Semantics:
|
|
256
|
+
* - blocks: closedIssueId --[blocks]--> blocked (outgoing blocks)
|
|
257
|
+
* - depends-on: blocked --[depends-on]--> closedIssueId (incoming depends-on)
|
|
255
258
|
*/
|
|
256
259
|
function updateDependentBlockedIssues(db, closedIssueId) {
|
|
257
260
|
// Find all issues that are blocked by this issue
|
|
258
|
-
//
|
|
259
|
-
const
|
|
260
|
-
|
|
261
|
-
|
|
261
|
+
// Check both outgoing 'blocks' and incoming 'depends-on' relationships
|
|
262
|
+
const blocksRelationships = getOutgoingRelationships(db, closedIssueId, "issue", "blocks");
|
|
263
|
+
const dependsOnRelationships = getIncomingRelationships(db, closedIssueId, "issue", "depends-on");
|
|
264
|
+
const allDependentRelationships = [
|
|
265
|
+
...blocksRelationships,
|
|
266
|
+
...dependsOnRelationships,
|
|
267
|
+
];
|
|
268
|
+
for (const rel of allDependentRelationships) {
|
|
269
|
+
// For 'blocks': closedIssueId blocks to_id
|
|
270
|
+
// For 'depends-on': from_id depends-on closedIssueId
|
|
271
|
+
const blockedIssueId = rel.relationship_type === "blocks" ? rel.to_id : rel.from_id;
|
|
262
272
|
const blockedIssue = getIssue(db, blockedIssueId);
|
|
263
273
|
// Only update if the issue is currently marked as 'blocked'
|
|
264
274
|
if (!blockedIssue || blockedIssue.status !== "blocked") {
|
|
@@ -279,26 +289,39 @@ function updateDependentBlockedIssues(db, closedIssueId) {
|
|
|
279
289
|
}
|
|
280
290
|
/**
|
|
281
291
|
* Check if an issue has any open blockers (excluding the specified blocker)
|
|
292
|
+
* Semantics:
|
|
293
|
+
* - blocks: blocker --[blocks]--> issueId (incoming blocks)
|
|
294
|
+
* - depends-on: issueId --[depends-on]--> blocker (outgoing depends-on)
|
|
282
295
|
*/
|
|
283
296
|
function hasOpenBlockers(db, issueId, excludeBlockerId) {
|
|
284
297
|
const stmt = db.prepare(`
|
|
285
298
|
SELECT COUNT(*) as count
|
|
286
299
|
FROM relationships r
|
|
287
|
-
JOIN issues blocker ON
|
|
288
|
-
|
|
289
|
-
AND r.
|
|
290
|
-
|
|
300
|
+
JOIN issues blocker ON (
|
|
301
|
+
(r.relationship_type = 'blocks' AND r.from_id = blocker.id AND r.from_type = 'issue') OR
|
|
302
|
+
(r.relationship_type = 'depends-on' AND r.to_id = blocker.id AND r.to_type = 'issue')
|
|
303
|
+
)
|
|
304
|
+
WHERE (
|
|
305
|
+
(r.relationship_type = 'blocks' AND r.to_id = ? AND r.to_type = 'issue') OR
|
|
306
|
+
(r.relationship_type = 'depends-on' AND r.from_id = ? AND r.from_type = 'issue')
|
|
307
|
+
)
|
|
291
308
|
AND blocker.status IN ('open', 'in_progress', 'blocked')
|
|
292
309
|
${excludeBlockerId ? "AND blocker.id != ?" : ""}
|
|
293
310
|
`);
|
|
294
|
-
const params = excludeBlockerId
|
|
311
|
+
const params = excludeBlockerId
|
|
312
|
+
? [issueId, issueId, excludeBlockerId]
|
|
313
|
+
: [issueId, issueId];
|
|
295
314
|
const result = stmt.get(...params);
|
|
296
315
|
return result.count > 0;
|
|
297
316
|
}
|
|
298
317
|
/**
|
|
299
318
|
* Delete an issue
|
|
319
|
+
* Also cascades to delete any feedback targeting this issue (feedback FROM is handled by FK cascade)
|
|
300
320
|
*/
|
|
301
321
|
export function deleteIssue(db, id) {
|
|
322
|
+
// First delete any feedback targeting this issue (feedback FROM this issue is handled by FK CASCADE)
|
|
323
|
+
db.prepare(`DELETE FROM issue_feedback WHERE to_id = ?`).run(id);
|
|
324
|
+
// Then delete the issue itself
|
|
302
325
|
const stmt = db.prepare(`DELETE FROM issues WHERE id = ?`);
|
|
303
326
|
const result = stmt.run(id);
|
|
304
327
|
return result.changes > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/operations/issues.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAyC9D;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,EAAqB,EACrB,KAAuB;IAEvB,4DAA4D;IAC5D,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,YAAY,EAAE,CAAC;IAE1C,wDAAwD;IACxD,MAAM,OAAO,GAAG;QACd,IAAI;QACJ,MAAM;QACN,OAAO;QACP,SAAS;QACT,QAAQ;QACR,UAAU;QACV,UAAU;QACV,WAAW;QACX,aAAa;QACb,UAAU;KACX,CAAC;IACF,MAAM,MAAM,GAAG;QACb,KAAK;QACL,OAAO;QACP,QAAQ;QACR,UAAU;QACV,SAAS;QACT,WAAW;QACX,WAAW;QACX,YAAY;QACZ,cAAc;QACd,WAAW;KACZ,CAAC;IAEF,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;QAElB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;;QAElB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;QAajB,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE;QAC3D,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,gCAAgC;GAC7F,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAwB;YAClC,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,MAAM;YAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,CAAC;YAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;YAChC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YAClC,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC,CAAC;QAEF,oCAAoC;QACpC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;QACvC,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEjB,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,EAAqB,EAAE,EAAU;IACxD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;GAEvB,CAAC,CAAC;IAEH,OAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,CAAuB,IAAI,IAAI,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,EAAqB,EACrB,EAAU,EACV,KAAuB;IAEvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,wCAAwC;IACxC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAwB,EAAE,EAAE,EAAE,CAAC;IAE3C,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE7B,2CAA2C;QAC3C,sEAAsE;QACtE,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAClC,uCAAuC;YACvC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACvC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACrC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrE,8CAA8C;YAC9C,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrE,8BAA8B;YAC9B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;SAAM,IACL,KAAK,CAAC,SAAS,KAAK,SAAS;QAC7B,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EACtC,CAAC;QACD,2CAA2C;QAC3C,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzE,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IACnC,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC5E,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,IACE,KAAK,CAAC,QAAQ,KAAK,SAAS;QAC5B,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAM,QAAQ,CAAC,QAA8B,EACrE,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrC,MAAM,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzC,+CAA+C;QAC/C,0EAA0E;QAC1E,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACpC,yCAAyC;YACzC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACzC,CAAC;aAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChD,4BAA4B;YAC5B,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAClD,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAChD,gCAAgC;YAChC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;SAAM,IACL,KAAK,CAAC,WAAW,KAAK,SAAS;QAC/B,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAC1C,CAAC;QACD,+CAA+C;QAC/C,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;IACzC,CAAC;IAED,qEAAqE;IACrE,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACvC,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,oDAAoD;QACpD,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;wBACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;GACvC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,qEAAqE;QACrE,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC9D,4BAA4B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5D,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,4BAA4B,CACnC,EAAqB,EACrB,aAAqB;IAErB,iDAAiD;IACjD,oEAAoE;IACpE,MAAM,sBAAsB,GAAG,wBAAwB,CACrD,EAAE,EACF,aAAa,EACb,OAAO,EACP,QAAQ,CACT,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC;QACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QAElD,4DAA4D;QAC5D,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QAED,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;QAE5E,+DAA+D;QAC/D,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;;OAI7B,CAAC,CAAC;YACH,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,EAAqB,EACrB,OAAe,EACf,gBAAyB;IAEzB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;QAQlB,gBAAgB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE;GAClD,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC1E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAsB,CAAC;IACxD,OAAO,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAqB,EAAE,EAAU;IAC3D,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAqB,EAAE,EAAU;IAC1D,OAAO,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,EAAqB,EAAE,EAAU;IAC3D,OAAO,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,EAAqB,EACrB,UAA6B,EAAE;IAE/B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,MAAM,GAAwB,EAAE,CAAC;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,KAAK,GAAG,sBAAsB,CAAC;IACnC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,KAAK,IAAI,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,KAAK,IAAI,0CAA0C,CAAC;IAEpD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,KAAK,IAAI,eAAe,CAAC;QACzB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,IAAI,iBAAiB,CAAC;QAC3B,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAY,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,EAAqB;IAClD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,oEAAoE,CACrE,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,EAAa,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAqB;IACpD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB,sEAAsE,CACvE,CAAC;IACF,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAC1B,EAAqB,EACrB,KAAa,EACb,UAA6C,EAAE;IAE/C,MAAM,UAAU,GAAa,CAAC,4CAA4C,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAwB,EAAE,KAAK,EAAE,IAAI,KAAK,GAAG,EAAE,CAAC;IAE5D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IACjC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IACD,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAC1C,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACvC,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,UAAU,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,GAAG,GAAG,8BAA8B,UAAU,CAAC,IAAI,CACrD,OAAO,CACR,0CAA0C,CAAC;IAE5C,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAChC,GAAG,IAAI,eAAe,CAAC;QACvB,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;SAAM,CAAC;QACN,GAAG,IAAI,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAY,CAAC;AACrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"issues.js","sourceRoot":"","sources":["../../src/operations/issues.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/operations/relationships.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../src/operations/relationships.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI9E,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,UAAU,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,UAAU,CAAC;IACpB,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,KAAK,EAAE,uBAAuB,GAC7B,YAAY,CAyGd;AAkCD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,iBAAiB,EAAE,gBAAgB,GAClC,YAAY,GAAG,IAAI,CAarB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,iBAAiB,EAAE,gBAAgB,GAClC,OAAO,CAgCT;AAqDD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EACvB,iBAAiB,CAAC,EAAE,gBAAgB,GACnC,YAAY,EAAE,CAoBhB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EACvB,iBAAiB,CAAC,EAAE,gBAAgB,GACnC,YAAY,EAAE,CAoBhB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GACtB,YAAY,EAAE,CAEhB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GACtB,YAAY,EAAE,CAEhB;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GACtB;IAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,EAAE,YAAY,EAAE,CAAA;CAAE,CAKxD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,UAAU,EACnB,iBAAiB,EAAE,gBAAgB,GAClC,OAAO,CAUT;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GACtB,MAAM,CASR"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Operations for Relationships
|
|
3
3
|
*/
|
|
4
|
+
import { isValidRelationshipType, getValidRelationshipTypes } from "../validation.js";
|
|
4
5
|
import { getIssue } from "./issues.js";
|
|
5
6
|
/**
|
|
6
7
|
* Add a relationship between entities
|
|
7
8
|
*/
|
|
8
9
|
export function addRelationship(db, input) {
|
|
10
|
+
// Validate relationship type
|
|
11
|
+
if (!isValidRelationshipType(input.relationship_type)) {
|
|
12
|
+
throw new Error(`Invalid relationship type: ${input.relationship_type}. Valid types: ${getValidRelationshipTypes().join(", ")}`);
|
|
13
|
+
}
|
|
9
14
|
// Check if from_id exists and get from_uuid
|
|
10
15
|
const fromTable = input.from_type === "spec" ? "specs" : "issues";
|
|
11
16
|
const fromEntity = db
|
|
@@ -49,11 +54,19 @@ export function addRelationship(db, input) {
|
|
|
49
54
|
if (!rel) {
|
|
50
55
|
throw new Error("Failed to create relationship");
|
|
51
56
|
}
|
|
52
|
-
// Auto-update blocked status when adding a 'blocks' relationship
|
|
53
|
-
|
|
57
|
+
// Auto-update blocked status when adding a 'blocks' or 'depends-on' relationship
|
|
58
|
+
// Semantics:
|
|
59
|
+
// - blocks: from_id blocks to_id (from_id is the blocker, to_id gets blocked)
|
|
60
|
+
// - depends-on: from_id depends-on to_id (from_id gets blocked until to_id is done)
|
|
61
|
+
if ((input.relationship_type === "blocks" ||
|
|
62
|
+
input.relationship_type === "depends-on") &&
|
|
54
63
|
input.from_type === "issue" &&
|
|
55
64
|
input.to_type === "issue") {
|
|
56
|
-
|
|
65
|
+
// For 'blocks': to_id is blocked by from_id
|
|
66
|
+
// For 'depends-on': from_id is blocked by to_id
|
|
67
|
+
const blockedId = input.relationship_type === "blocks" ? input.to_id : input.from_id;
|
|
68
|
+
const blockerId = input.relationship_type === "blocks" ? input.from_id : input.to_id;
|
|
69
|
+
autoUpdateBlockedStatusOnAdd(db, blockedId, blockerId);
|
|
57
70
|
}
|
|
58
71
|
return rel;
|
|
59
72
|
}
|
|
@@ -65,7 +78,10 @@ export function addRelationship(db, input) {
|
|
|
65
78
|
}
|
|
66
79
|
}
|
|
67
80
|
/**
|
|
68
|
-
* Auto-update blocked status when adding a 'blocks' relationship
|
|
81
|
+
* Auto-update blocked status when adding a 'blocks' or 'depends-on' relationship
|
|
82
|
+
* Semantics:
|
|
83
|
+
* - blocks: blocker blocks blocked (blocker is the issue doing the blocking)
|
|
84
|
+
* - depends-on: blocked depends on blocker (blocked needs blocker to be done)
|
|
69
85
|
*/
|
|
70
86
|
function autoUpdateBlockedStatusOnAdd(db, blockedIssueId, blockerIssueId) {
|
|
71
87
|
const blockerIssue = getIssue(db, blockerIssueId);
|
|
@@ -108,12 +124,16 @@ export function removeRelationship(db, from_id, from_type, to_id, to_type, relat
|
|
|
108
124
|
`);
|
|
109
125
|
const result = stmt.run(from_id, from_type, to_id, to_type, relationship_type);
|
|
110
126
|
const removed = result.changes > 0;
|
|
111
|
-
// Auto-update blocked status when removing a 'blocks' relationship
|
|
127
|
+
// Auto-update blocked status when removing a 'blocks' or 'depends-on' relationship
|
|
128
|
+
// Semantics:
|
|
129
|
+
// - blocks: from_id blocks to_id, so to_id is the one being unblocked
|
|
130
|
+
// - depends-on: from_id depends-on to_id, so from_id is the one being unblocked
|
|
112
131
|
if (removed &&
|
|
113
|
-
relationship_type === "blocks" &&
|
|
132
|
+
(relationship_type === "blocks" || relationship_type === "depends-on") &&
|
|
114
133
|
from_type === "issue" &&
|
|
115
134
|
to_type === "issue") {
|
|
116
|
-
|
|
135
|
+
const unblockedId = relationship_type === "blocks" ? to_id : from_id;
|
|
136
|
+
autoUpdateBlockedStatusOnRemove(db, unblockedId);
|
|
117
137
|
}
|
|
118
138
|
return removed;
|
|
119
139
|
}
|
|
@@ -139,18 +159,25 @@ function autoUpdateBlockedStatusOnRemove(db, blockedIssueId) {
|
|
|
139
159
|
}
|
|
140
160
|
/**
|
|
141
161
|
* Check if an issue has any open blockers
|
|
162
|
+
* Semantics:
|
|
163
|
+
* - blocks: blocker --[blocks]--> issueId (incoming blocks)
|
|
164
|
+
* - depends-on: issueId --[depends-on]--> blocker (outgoing depends-on)
|
|
142
165
|
*/
|
|
143
166
|
function hasOpenBlockers(db, issueId) {
|
|
144
167
|
const stmt = db.prepare(`
|
|
145
168
|
SELECT COUNT(*) as count
|
|
146
169
|
FROM relationships r
|
|
147
|
-
JOIN issues blocker ON
|
|
148
|
-
|
|
149
|
-
AND r.
|
|
150
|
-
|
|
170
|
+
JOIN issues blocker ON (
|
|
171
|
+
(r.relationship_type = 'blocks' AND r.from_id = blocker.id AND r.from_type = 'issue') OR
|
|
172
|
+
(r.relationship_type = 'depends-on' AND r.to_id = blocker.id AND r.to_type = 'issue')
|
|
173
|
+
)
|
|
174
|
+
WHERE (
|
|
175
|
+
(r.relationship_type = 'blocks' AND r.to_id = ? AND r.to_type = 'issue') OR
|
|
176
|
+
(r.relationship_type = 'depends-on' AND r.from_id = ? AND r.from_type = 'issue')
|
|
177
|
+
)
|
|
151
178
|
AND blocker.status IN ('open', 'in_progress', 'blocked')
|
|
152
179
|
`);
|
|
153
|
-
const result = stmt.get(issueId);
|
|
180
|
+
const result = stmt.get(issueId, issueId);
|
|
154
181
|
return result.count > 0;
|
|
155
182
|
}
|
|
156
183
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/operations/relationships.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAWvC;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,KAA8B;IAE9B,4CAA4C;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAClE,MAAM,UAAU,GAAG,EAAE;SAClB,OAAO,CAAC,wBAAwB,SAAS,eAAe,CAAC;SACzD,GAAG,CAAC,KAAK,CAAC,OAAO,CAA6C,CAAC;IAClE,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,eAAe,KAAK,CAAC,OAAO,EAAE,CAC/E,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC9D,MAAM,QAAQ,GAAG,EAAE;SAChB,OAAO,CAAC,wBAAwB,OAAO,eAAe,CAAC;SACvD,GAAG,CAAC,KAAK,CAAC,KAAK,CAA6C,CAAC;IAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,GAAG,KAAK,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,eAAe,KAAK,CAAC,KAAK,EAAE,CAC3E,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,MAAM,QAAQ,GAAG,eAAe,CAC9B,EAAE,EACF,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,iBAAiB,CACxB,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;GAMvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC;YACP,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,UAAU,CAAC,IAAI;YAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,OAAO,EAAE,QAAQ,CAAC,IAAI;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;SACjC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,eAAe,CACzB,EAAE,EACF,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,iBAAiB,CACxB,CAAC;QAEF,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,
|
|
1
|
+
{"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/operations/relationships.ts"],"names":[],"mappings":"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"}
|