@sudocode-ai/cli 0.1.4 → 0.1.6

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.
@@ -49,11 +49,19 @@ export function addRelationship(db, input) {
49
49
  if (!rel) {
50
50
  throw new Error("Failed to create relationship");
51
51
  }
52
- // Auto-update blocked status when adding a 'blocks' relationship
53
- if (input.relationship_type === "blocks" &&
52
+ // Auto-update blocked status when adding a 'blocks' or 'depends-on' relationship
53
+ // Semantics:
54
+ // - blocks: from_id blocks to_id (from_id is the blocker, to_id gets blocked)
55
+ // - depends-on: from_id depends-on to_id (from_id gets blocked until to_id is done)
56
+ if ((input.relationship_type === "blocks" ||
57
+ input.relationship_type === "depends-on") &&
54
58
  input.from_type === "issue" &&
55
59
  input.to_type === "issue") {
56
- autoUpdateBlockedStatusOnAdd(db, input.from_id, input.to_id);
60
+ // For 'blocks': to_id is blocked by from_id
61
+ // For 'depends-on': from_id is blocked by to_id
62
+ const blockedId = input.relationship_type === "blocks" ? input.to_id : input.from_id;
63
+ const blockerId = input.relationship_type === "blocks" ? input.from_id : input.to_id;
64
+ autoUpdateBlockedStatusOnAdd(db, blockedId, blockerId);
57
65
  }
58
66
  return rel;
59
67
  }
@@ -65,7 +73,10 @@ export function addRelationship(db, input) {
65
73
  }
66
74
  }
67
75
  /**
68
- * Auto-update blocked status when adding a 'blocks' relationship
76
+ * Auto-update blocked status when adding a 'blocks' or 'depends-on' relationship
77
+ * Semantics:
78
+ * - blocks: blocker blocks blocked (blocker is the issue doing the blocking)
79
+ * - depends-on: blocked depends on blocker (blocked needs blocker to be done)
69
80
  */
70
81
  function autoUpdateBlockedStatusOnAdd(db, blockedIssueId, blockerIssueId) {
71
82
  const blockerIssue = getIssue(db, blockerIssueId);
@@ -108,12 +119,16 @@ export function removeRelationship(db, from_id, from_type, to_id, to_type, relat
108
119
  `);
109
120
  const result = stmt.run(from_id, from_type, to_id, to_type, relationship_type);
110
121
  const removed = result.changes > 0;
111
- // Auto-update blocked status when removing a 'blocks' relationship
122
+ // Auto-update blocked status when removing a 'blocks' or 'depends-on' relationship
123
+ // Semantics:
124
+ // - blocks: from_id blocks to_id, so to_id is the one being unblocked
125
+ // - depends-on: from_id depends-on to_id, so from_id is the one being unblocked
112
126
  if (removed &&
113
- relationship_type === "blocks" &&
127
+ (relationship_type === "blocks" || relationship_type === "depends-on") &&
114
128
  from_type === "issue" &&
115
129
  to_type === "issue") {
116
- autoUpdateBlockedStatusOnRemove(db, from_id);
130
+ const unblockedId = relationship_type === "blocks" ? to_id : from_id;
131
+ autoUpdateBlockedStatusOnRemove(db, unblockedId);
117
132
  }
118
133
  return removed;
119
134
  }
@@ -139,18 +154,25 @@ function autoUpdateBlockedStatusOnRemove(db, blockedIssueId) {
139
154
  }
140
155
  /**
141
156
  * Check if an issue has any open blockers
157
+ * Semantics:
158
+ * - blocks: blocker --[blocks]--> issueId (incoming blocks)
159
+ * - depends-on: issueId --[depends-on]--> blocker (outgoing depends-on)
142
160
  */
143
161
  function hasOpenBlockers(db, issueId) {
144
162
  const stmt = db.prepare(`
145
163
  SELECT COUNT(*) as count
146
164
  FROM relationships r
147
- JOIN issues blocker ON r.to_id = blocker.id AND r.to_type = 'issue'
148
- WHERE r.from_id = ?
149
- AND r.from_type = 'issue'
150
- AND r.relationship_type = 'blocks'
165
+ JOIN issues blocker ON (
166
+ (r.relationship_type = 'blocks' AND r.from_id = blocker.id AND r.from_type = 'issue') OR
167
+ (r.relationship_type = 'depends-on' AND r.to_id = blocker.id AND r.to_type = 'issue')
168
+ )
169
+ WHERE (
170
+ (r.relationship_type = 'blocks' AND r.to_id = ? AND r.to_type = 'issue') OR
171
+ (r.relationship_type = 'depends-on' AND r.from_id = ? AND r.from_type = 'issue')
172
+ )
151
173
  AND blocker.status IN ('open', 'in_progress', 'blocked')
152
174
  `);
153
- const result = stmt.get(issueId);
175
+ const result = stmt.get(issueId, issueId);
154
176
  return result.count > 0;
155
177
  }
156
178
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/operations/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.js","sourceRoot":"","sources":["../../src/operations/relationships.ts"],"names":[],"mappings":"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"}
@@ -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;AAiBH,UAAU,UAAU;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,OAAO,CAAC;CAC1B;AA0ED;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAyBlE;AAqBD;;GAEG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAQvC"}
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"}
@@ -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
- return `
128
- ╭─────────────────────────────────────────────────╮
129
- │ │
130
- │ Update available: ${info.current} → ${info.latest} │
131
- │ │
132
- │ Run: npm install -g ${PACKAGE_NAME}
133
- │ Or: sudocode update │
134
- │ │
135
- ╰─────────────────────────────────────────────────╯
136
- `.trim();
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":"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"}
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.4",
3
+ "version": "0.1.6",
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,24 +42,27 @@
42
42
  "node": ">=18.0.0"
43
43
  },
44
44
  "dependencies": {
45
- "@sudocode-ai/types": "^0.1.4",
46
- "better-sqlite3": "^11.8.1",
45
+ "@sudocode-ai/types": "^0.1.6",
46
+ "better-sqlite3": "^11.10.0",
47
47
  "chalk": "^5.6.2",
48
48
  "chokidar": "^4.0.3",
49
49
  "cli-table3": "^0.6.5",
50
- "commander": "^14.0.1",
50
+ "commander": "^13.1.0",
51
51
  "gray-matter": "^4.0.3",
52
- "vite": "7.1.12"
52
+ "vite": "^6.4.1"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/better-sqlite3": "^7.6.8",
55
+ "@types/better-sqlite3": "^7.6.13",
56
56
  "@types/chokidar": "^1.7.5",
57
57
  "@types/node": "^20.10.6",
58
- "esbuild": "^0.24.2",
58
+ "esbuild": "^0.27.0",
59
59
  "typescript": "^5.3.3",
60
60
  "vitest": "^3.2.4"
61
61
  },
62
62
  "files": [
63
63
  "dist/**/*"
64
- ]
64
+ ],
65
+ "optionalDependencies": {
66
+ "bindings": "^1.5.0"
67
+ }
65
68
  }