@agentuity/runtime 1.0.36 → 1.0.38

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.
@@ -1,4 +1,4 @@
1
- import { sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList, sandboxRun, sandboxWriteFiles, sandboxReadFile, snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, } from '@agentuity/server';
1
+ import { executionGet, sandboxCreate, sandboxDestroy, sandboxExecute, sandboxGet, sandboxList, sandboxListFiles, sandboxMkDir, sandboxPause, sandboxReadFile, sandboxResume, sandboxRmDir, sandboxRmFile, sandboxRun, sandboxSetEnv, sandboxWriteFiles, snapshotCreate, snapshotGet, snapshotList, snapshotDelete, snapshotTag, } from '@agentuity/server';
2
2
  import { context, SpanKind, SpanStatusCode, trace } from '@opentelemetry/api';
3
3
  const TRACER_NAME = 'agentuity.sandbox';
4
4
  async function withSpan(name, attributes, fn) {
@@ -21,11 +21,9 @@ async function withSpan(name, attributes, fn) {
21
21
  span.end();
22
22
  }
23
23
  }
24
- function createStreamReader(id, baseUrl) {
25
- const streamId = id ?? '';
26
- const url = streamId ? `${baseUrl}/${streamId}` : '';
24
+ function buildStreamReader(id, url) {
27
25
  return {
28
- id: streamId,
26
+ id,
29
27
  url,
30
28
  readonly: true,
31
29
  getReader() {
@@ -61,20 +59,54 @@ function createStreamReader(id, baseUrl) {
61
59
  },
62
60
  };
63
61
  }
64
- function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutStreamId, stderrStreamId, auditStreamId) {
65
- const interleaved = !!(stdoutStreamId && stderrStreamId && stdoutStreamId === stderrStreamId);
62
+ function createStreamReader(id, baseUrl) {
63
+ const streamId = id ?? '';
64
+ const url = streamId ? `${baseUrl}/${streamId}` : '';
65
+ return buildStreamReader(streamId, url);
66
+ }
67
+ function createStreamReaderFromUrl(streamUrl) {
68
+ const url = streamUrl ?? '';
69
+ if (!url)
70
+ return buildStreamReader('', '');
71
+ try {
72
+ const pathname = new URL(url).pathname.replace(/\/+$/, '');
73
+ const id = pathname.split('/').pop() ?? '';
74
+ return buildStreamReader(id, url);
75
+ }
76
+ catch {
77
+ const id = url.split('/').pop() ?? '';
78
+ return buildStreamReader(id, url);
79
+ }
80
+ }
81
+ /**
82
+ * Creates the method implementations shared by all Sandbox instances.
83
+ */
84
+ function createSandboxMethods(client, sandboxId) {
66
85
  return {
67
- id: sandboxId,
68
- status,
69
- stdout: createStreamReader(stdoutStreamId, streamBaseUrl),
70
- stderr: createStreamReader(stderrStreamId, streamBaseUrl),
71
- interleaved,
72
- auditStreamId,
73
86
  async execute(options) {
74
87
  return withSpan('agentuity.sandbox.execute', {
75
88
  'sandbox.id': sandboxId,
76
89
  'sandbox.command': options.command?.join(' ') ?? '',
77
- }, () => sandboxExecute(client, { sandboxId, options, signal: options.signal }));
90
+ }, async () => {
91
+ const initial = await sandboxExecute(client, {
92
+ sandboxId,
93
+ options,
94
+ signal: options.signal,
95
+ });
96
+ // Wait for execution to reach a terminal state via long-polling
97
+ const final = await executionGet(client, {
98
+ executionId: initial.executionId,
99
+ wait: '60s',
100
+ });
101
+ return {
102
+ executionId: final.executionId,
103
+ status: final.status,
104
+ exitCode: final.exitCode,
105
+ durationMs: final.durationMs,
106
+ stdoutStreamUrl: initial.stdoutStreamUrl,
107
+ stderrStreamUrl: initial.stderrStreamUrl,
108
+ };
109
+ });
78
110
  },
79
111
  async writeFiles(files) {
80
112
  await withSpan('agentuity.sandbox.writeFiles', {
@@ -88,11 +120,81 @@ function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutS
88
120
  'sandbox.file.path': path,
89
121
  }, () => sandboxReadFile(client, { sandboxId, path }));
90
122
  },
123
+ async listFiles(path) {
124
+ return withSpan('agentuity.sandbox.listFiles', {
125
+ 'sandbox.id': sandboxId,
126
+ 'sandbox.dir.path': path ?? '',
127
+ }, async () => {
128
+ const result = await sandboxListFiles(client, { sandboxId, path });
129
+ return result.files;
130
+ });
131
+ },
132
+ async mkDir(path, recursive) {
133
+ await withSpan('agentuity.sandbox.mkDir', {
134
+ 'sandbox.id': sandboxId,
135
+ 'sandbox.dir.path': path,
136
+ }, () => sandboxMkDir(client, { sandboxId, path, recursive }));
137
+ },
138
+ async rmFile(path) {
139
+ await withSpan('agentuity.sandbox.rmFile', {
140
+ 'sandbox.id': sandboxId,
141
+ 'sandbox.file.path': path,
142
+ }, () => sandboxRmFile(client, { sandboxId, path }));
143
+ },
144
+ async rmDir(path, recursive) {
145
+ await withSpan('agentuity.sandbox.rmDir', {
146
+ 'sandbox.id': sandboxId,
147
+ 'sandbox.dir.path': path,
148
+ }, () => sandboxRmDir(client, { sandboxId, path, recursive }));
149
+ },
150
+ async setEnv(env) {
151
+ return withSpan('agentuity.sandbox.setEnv', { 'sandbox.id': sandboxId }, async () => {
152
+ const result = await sandboxSetEnv(client, { sandboxId, env });
153
+ return result.env;
154
+ });
155
+ },
156
+ async pause() {
157
+ await withSpan('agentuity.sandbox.pause', { 'sandbox.id': sandboxId }, () => sandboxPause(client, { sandboxId }));
158
+ },
159
+ async resume() {
160
+ await withSpan('agentuity.sandbox.resume', { 'sandbox.id': sandboxId }, () => sandboxResume(client, { sandboxId }));
161
+ },
91
162
  async destroy() {
92
163
  await withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () => sandboxDestroy(client, { sandboxId }));
93
164
  },
94
165
  };
95
166
  }
167
+ function createSandboxInstance(client, sandboxId, status, streamBaseUrl, stdoutStreamId, stderrStreamId, auditStreamId) {
168
+ const interleaved = !!(stdoutStreamId && stderrStreamId && stdoutStreamId === stderrStreamId);
169
+ return {
170
+ id: sandboxId,
171
+ status,
172
+ stdout: createStreamReader(stdoutStreamId, streamBaseUrl),
173
+ stderr: createStreamReader(stderrStreamId, streamBaseUrl),
174
+ interleaved,
175
+ auditStreamId,
176
+ ...createSandboxMethods(client, sandboxId),
177
+ };
178
+ }
179
+ function createSandboxInstanceFromInfo(client, info) {
180
+ const stdoutReader = createStreamReaderFromUrl(info.stdoutStreamUrl);
181
+ const stderrReader = createStreamReaderFromUrl(info.stderrStreamUrl);
182
+ const interleaved = !!(stdoutReader.id &&
183
+ stderrReader.id &&
184
+ stdoutReader.id === stderrReader.id);
185
+ return {
186
+ id: info.sandboxId,
187
+ status: info.status,
188
+ name: info.name,
189
+ description: info.description,
190
+ runtime: info.runtime,
191
+ stdout: stdoutReader,
192
+ stderr: stderrReader,
193
+ interleaved,
194
+ auditStreamId: info.auditStreamId,
195
+ ...createSandboxMethods(client, info.sandboxId),
196
+ };
197
+ }
96
198
  /**
97
199
  * HTTP implementation of the SnapshotService interface
98
200
  */
@@ -176,8 +278,20 @@ export class HTTPSandboxService {
176
278
  'sandbox.limit': params?.limit ?? 50,
177
279
  }, () => sandboxList(this.client, params));
178
280
  }
281
+ async connect(sandboxId) {
282
+ return withSpan('agentuity.sandbox.connect', { 'sandbox.id': sandboxId }, async () => {
283
+ const info = await sandboxGet(this.client, { sandboxId });
284
+ return createSandboxInstanceFromInfo(this.client, info);
285
+ });
286
+ }
179
287
  async destroy(sandboxId) {
180
288
  return withSpan('agentuity.sandbox.destroy', { 'sandbox.id': sandboxId }, () => sandboxDestroy(this.client, { sandboxId }));
181
289
  }
290
+ async pause(sandboxId) {
291
+ return withSpan('agentuity.sandbox.pause', { 'sandbox.id': sandboxId }, () => sandboxPause(this.client, { sandboxId }));
292
+ }
293
+ async resume(sandboxId) {
294
+ return withSpan('agentuity.sandbox.resume', { 'sandbox.id': sandboxId }, () => sandboxResume(this.client, { sandboxId }));
295
+ }
182
296
  }
183
297
  //# sourceMappingURL=http.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/services/sandbox/http.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentuity/runtime",
3
- "version": "1.0.36",
3
+ "version": "1.0.38",
4
4
  "license": "Apache-2.0",
5
5
  "author": "Agentuity employees and contributors",
6
6
  "type": "module",
@@ -26,11 +26,11 @@
26
26
  "prepublishOnly": "bun run clean && bun run build"
27
27
  },
28
28
  "dependencies": {
29
- "@agentuity/auth": "1.0.36",
30
- "@agentuity/core": "1.0.36",
31
- "@agentuity/frontend": "1.0.36",
32
- "@agentuity/schema": "1.0.36",
33
- "@agentuity/server": "1.0.36",
29
+ "@agentuity/auth": "1.0.38",
30
+ "@agentuity/core": "1.0.38",
31
+ "@agentuity/frontend": "1.0.38",
32
+ "@agentuity/schema": "1.0.38",
33
+ "@agentuity/server": "1.0.38",
34
34
  "@opentelemetry/api": "^1.9.0",
35
35
  "@opentelemetry/api-logs": "^0.207.0",
36
36
  "@opentelemetry/auto-instrumentations-node": "^0.66.0",
@@ -50,7 +50,7 @@
50
50
  "zod": "^4.3.5"
51
51
  },
52
52
  "devDependencies": {
53
- "@agentuity/test-utils": "1.0.36",
53
+ "@agentuity/test-utils": "1.0.38",
54
54
  "@types/bun": "latest",
55
55
  "@types/react": "^19.2.2",
56
56
  "@types/react-dom": "^19.2.2",
@@ -198,6 +198,29 @@ function initializeTables(db: Database): void {
198
198
  CREATE INDEX IF NOT EXISTS idx_task_tag_assoc_tag
199
199
  ON task_tag_association_storage(project_path, tag_id)
200
200
  `);
201
+
202
+ // Task User table
203
+ db.run(`
204
+ CREATE TABLE IF NOT EXISTS task_user_storage (
205
+ project_path TEXT NOT NULL,
206
+ id TEXT NOT NULL,
207
+ name TEXT NOT NULL,
208
+ type TEXT NOT NULL DEFAULT 'human',
209
+ created_at INTEGER NOT NULL,
210
+ PRIMARY KEY (project_path, id)
211
+ )
212
+ `);
213
+
214
+ // Task Project table
215
+ db.run(`
216
+ CREATE TABLE IF NOT EXISTS task_project_storage (
217
+ project_path TEXT NOT NULL,
218
+ id TEXT NOT NULL,
219
+ name TEXT NOT NULL,
220
+ created_at INTEGER NOT NULL,
221
+ PRIMARY KEY (project_path, id)
222
+ )
223
+ `);
201
224
  }
202
225
 
203
226
  function cleanupOrphanedProjects(db: Database): void {
@@ -237,6 +260,16 @@ function cleanupOrphanedProjects(db: Database): void {
237
260
  .all() as Array<{
238
261
  project_path: string;
239
262
  }>;
263
+ const taskUserPaths = db
264
+ .query('SELECT DISTINCT project_path FROM task_user_storage')
265
+ .all() as Array<{
266
+ project_path: string;
267
+ }>;
268
+ const taskProjectPaths = db
269
+ .query('SELECT DISTINCT project_path FROM task_project_storage')
270
+ .all() as Array<{
271
+ project_path: string;
272
+ }>;
240
273
 
241
274
  // Combine and deduplicate all project paths
242
275
  const allPaths = new Set<string>();
@@ -249,6 +282,8 @@ function cleanupOrphanedProjects(db: Database): void {
249
282
  ...taskCommentPaths,
250
283
  ...taskTagPaths,
251
284
  ...taskTagAssocPaths,
285
+ ...taskUserPaths,
286
+ ...taskProjectPaths,
252
287
  ].forEach((row) => {
253
288
  allPaths.add(row.project_path);
254
289
  });
@@ -288,6 +323,12 @@ function cleanupOrphanedProjects(db: Database): void {
288
323
  const deleteTaskTagAssoc = db.prepare(
289
324
  `DELETE FROM task_tag_association_storage WHERE project_path IN (${placeholders})`
290
325
  );
326
+ const deleteTaskUsers = db.prepare(
327
+ `DELETE FROM task_user_storage WHERE project_path IN (${placeholders})`
328
+ );
329
+ const deleteTaskProjects = db.prepare(
330
+ `DELETE FROM task_project_storage WHERE project_path IN (${placeholders})`
331
+ );
291
332
 
292
333
  deleteKv.run(...pathsToDelete);
293
334
  deleteStream.run(...pathsToDelete);
@@ -297,6 +338,8 @@ function cleanupOrphanedProjects(db: Database): void {
297
338
  deleteTaskComments.run(...pathsToDelete);
298
339
  deleteTaskTags.run(...pathsToDelete);
299
340
  deleteTaskTagAssoc.run(...pathsToDelete);
341
+ deleteTaskUsers.run(...pathsToDelete);
342
+ deleteTaskProjects.run(...pathsToDelete);
300
343
 
301
344
  console.log(`[LocalDB] Cleaned up data for ${pathsToDelete.length} orphaned project(s)`);
302
345
  }
@@ -26,6 +26,8 @@ import type {
26
26
  ListAttachmentsResult,
27
27
  TaskActivityParams,
28
28
  TaskActivityResult,
29
+ UserEntityRef,
30
+ EntityRef,
29
31
  } from '@agentuity/core';
30
32
  import { StructuredError } from '@agentuity/core';
31
33
  import { now } from './_util';
@@ -63,6 +65,20 @@ const AttachmentNotSupportedError = StructuredError(
63
65
  'Attachments are not supported in local task storage'
64
66
  );
65
67
 
68
+ const UserNotFoundError = StructuredError('UserNotFoundError', 'User not found');
69
+
70
+ const UserNameRequiredError = StructuredError(
71
+ 'UserNameRequiredError',
72
+ 'User name is required and must be a non-empty string'
73
+ );
74
+
75
+ const ProjectNotFoundError = StructuredError('ProjectNotFoundError', 'Project not found');
76
+
77
+ const ProjectNameRequiredError = StructuredError(
78
+ 'ProjectNameRequiredError',
79
+ 'Project name is required and must be a non-empty string'
80
+ );
81
+
66
82
  type CommentRow = {
67
83
  id: string;
68
84
  created_at: number;
@@ -205,6 +221,14 @@ function generateTagId(): string {
205
221
  return `tag_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
206
222
  }
207
223
 
224
+ function generateUserId(): string {
225
+ return `usr_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
226
+ }
227
+
228
+ function generateProjectId(): string {
229
+ return `prj_${crypto.randomUUID().replace(/-/g, '').slice(0, 24)}`;
230
+ }
231
+
208
232
  function toChangelogEntry(row: TaskChangelogRow): TaskChangelogEntry {
209
233
  return {
210
234
  id: row.id,
@@ -237,7 +261,7 @@ export class LocalTaskStorage implements TaskStorage {
237
261
  const priority: TaskPriority = params.priority ?? 'none';
238
262
  const openDate = status === 'open' ? new Date(timestamp).toISOString() : null;
239
263
  const inProgressDate = status === 'in_progress' ? new Date(timestamp).toISOString() : null;
240
- const closedDate = status === 'closed' ? new Date(timestamp).toISOString() : null;
264
+ const closedDate = status === 'done' ? new Date(timestamp).toISOString() : null;
241
265
 
242
266
  const stmt = this.#db.prepare(`
243
267
  INSERT INTO task_storage (
@@ -472,7 +496,7 @@ export class LocalTaskStorage implements TaskStorage {
472
496
  if (params.status === 'in_progress' && !existing.in_progress_date) {
473
497
  updated.in_progress_date = nowIso;
474
498
  }
475
- if (params.status === 'closed' && !existing.closed_date) {
499
+ if (params.status === 'done' && !existing.closed_date) {
476
500
  updated.closed_date = nowIso;
477
501
  }
478
502
  }
@@ -618,14 +642,14 @@ export class LocalTaskStorage implements TaskStorage {
618
642
  throw new TaskNotFoundError();
619
643
  }
620
644
 
621
- if (existing.status === 'closed') {
645
+ if (existing.status === 'done') {
622
646
  throw new TaskAlreadyClosedError();
623
647
  }
624
648
  const timestamp = now();
625
649
  const nowIso = new Date(timestamp).toISOString();
626
650
  const updated: TaskRow = {
627
651
  ...existing,
628
- status: 'closed',
652
+ status: 'done',
629
653
  closed_date: existing.closed_date ?? nowIso,
630
654
  updated_at: timestamp,
631
655
  };
@@ -718,9 +742,9 @@ export class LocalTaskStorage implements TaskStorage {
718
742
 
719
743
  const updateStmt = this.#db.prepare(`
720
744
  UPDATE task_storage
721
- SET status = 'closed', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
722
- WHERE project_path = ? AND id = ?
723
- `);
745
+ SET status = 'done', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
746
+ WHERE project_path = ? AND id = ?
747
+ `);
724
748
 
725
749
  updateStmt.run(new Date(timestamp).toISOString(), timestamp, this.#projectPath, id);
726
750
 
@@ -809,8 +833,8 @@ export class LocalTaskStorage implements TaskStorage {
809
833
  const txn = this.#db.transaction(() => {
810
834
  const updateStmt = this.#db.prepare(`
811
835
  UPDATE task_storage
812
- SET status = 'closed', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
813
- WHERE project_path = ? AND id IN (${placeholders})
836
+ SET status = 'done', deleted = 1, closed_date = COALESCE(closed_date, ?), updated_at = ?
837
+ WHERE project_path = ? AND id IN (${placeholders})
814
838
  `);
815
839
  updateStmt.run(new Date(timestamp).toISOString(), timestamp, this.#projectPath, ...ids);
816
840
 
@@ -1110,11 +1134,145 @@ export class LocalTaskStorage implements TaskStorage {
1110
1134
  }
1111
1135
 
1112
1136
  async listUsers(): Promise<ListUsersResult> {
1113
- return { users: [] };
1137
+ const query = this.#db.query(`
1138
+ SELECT id, name, type
1139
+ FROM task_user_storage
1140
+ WHERE project_path = ?
1141
+ ORDER BY name ASC
1142
+ `);
1143
+
1144
+ const rows = query.all(this.#projectPath) as Array<{
1145
+ id: string;
1146
+ name: string;
1147
+ type: 'human' | 'agent';
1148
+ }>;
1149
+
1150
+ return {
1151
+ users: rows.map((row) => ({
1152
+ id: row.id,
1153
+ name: row.name,
1154
+ type: row.type,
1155
+ })),
1156
+ };
1114
1157
  }
1115
1158
 
1116
1159
  async listProjects(): Promise<ListProjectsResult> {
1117
- return { projects: [] };
1160
+ const query = this.#db.query(`
1161
+ SELECT id, name
1162
+ FROM task_project_storage
1163
+ WHERE project_path = ?
1164
+ ORDER BY name ASC
1165
+ `);
1166
+
1167
+ const rows = query.all(this.#projectPath) as Array<{
1168
+ id: string;
1169
+ name: string;
1170
+ }>;
1171
+
1172
+ return {
1173
+ projects: rows.map((row) => ({
1174
+ id: row.id,
1175
+ name: row.name,
1176
+ })),
1177
+ };
1178
+ }
1179
+
1180
+ async createUser(params: { name: string; type?: 'human' | 'agent' }): Promise<UserEntityRef> {
1181
+ const trimmedName = params?.name?.trim();
1182
+ if (!trimmedName) {
1183
+ throw new UserNameRequiredError();
1184
+ }
1185
+
1186
+ const id = generateUserId();
1187
+ const timestamp = now();
1188
+ const type = params.type ?? 'human';
1189
+
1190
+ const stmt = this.#db.prepare(`
1191
+ INSERT INTO task_user_storage (
1192
+ project_path, id, name, type, created_at
1193
+ ) VALUES (?, ?, ?, ?, ?)
1194
+ `);
1195
+
1196
+ stmt.run(this.#projectPath, id, trimmedName, type, timestamp);
1197
+
1198
+ return { id, name: trimmedName, type };
1199
+ }
1200
+
1201
+ async getUser(userId: string): Promise<UserEntityRef> {
1202
+ const query = this.#db.query(`
1203
+ SELECT id, name, type
1204
+ FROM task_user_storage
1205
+ WHERE project_path = ? AND id = ?
1206
+ `);
1207
+
1208
+ const row = query.get(this.#projectPath, userId) as {
1209
+ id: string;
1210
+ name: string;
1211
+ type: 'human' | 'agent';
1212
+ } | null;
1213
+
1214
+ if (!row) {
1215
+ throw new UserNotFoundError();
1216
+ }
1217
+
1218
+ return { id: row.id, name: row.name, type: row.type };
1219
+ }
1220
+
1221
+ async deleteUser(userId: string): Promise<void> {
1222
+ const stmt = this.#db.prepare(`
1223
+ DELETE FROM task_user_storage
1224
+ WHERE project_path = ? AND id = ?
1225
+ `);
1226
+
1227
+ stmt.run(this.#projectPath, userId);
1228
+ }
1229
+
1230
+ async createProject(params: { name: string }): Promise<EntityRef> {
1231
+ const trimmedName = params?.name?.trim();
1232
+ if (!trimmedName) {
1233
+ throw new ProjectNameRequiredError();
1234
+ }
1235
+
1236
+ const id = generateProjectId();
1237
+ const timestamp = now();
1238
+
1239
+ const stmt = this.#db.prepare(`
1240
+ INSERT INTO task_project_storage (
1241
+ project_path, id, name, created_at
1242
+ ) VALUES (?, ?, ?, ?)
1243
+ `);
1244
+
1245
+ stmt.run(this.#projectPath, id, trimmedName, timestamp);
1246
+
1247
+ return { id, name: trimmedName };
1248
+ }
1249
+
1250
+ async getProject(projectId: string): Promise<EntityRef> {
1251
+ const query = this.#db.query(`
1252
+ SELECT id, name
1253
+ FROM task_project_storage
1254
+ WHERE project_path = ? AND id = ?
1255
+ `);
1256
+
1257
+ const row = query.get(this.#projectPath, projectId) as {
1258
+ id: string;
1259
+ name: string;
1260
+ } | null;
1261
+
1262
+ if (!row) {
1263
+ throw new ProjectNotFoundError();
1264
+ }
1265
+
1266
+ return { id: row.id, name: row.name };
1267
+ }
1268
+
1269
+ async deleteProject(projectId: string): Promise<void> {
1270
+ const stmt = this.#db.prepare(`
1271
+ DELETE FROM task_project_storage
1272
+ WHERE project_path = ? AND id = ?
1273
+ `);
1274
+
1275
+ stmt.run(this.#projectPath, projectId);
1118
1276
  }
1119
1277
 
1120
1278
  async getActivity(params?: TaskActivityParams): Promise<TaskActivityResult> {
@@ -1132,9 +1290,8 @@ export class LocalTaskStorage implements TaskStorage {
1132
1290
  `SELECT
1133
1291
  COALESCE(SUM(CASE WHEN status = 'open' THEN 1 ELSE 0 END), 0) as open,
1134
1292
  COALESCE(SUM(CASE WHEN status = 'in_progress' THEN 1 ELSE 0 END), 0) as in_progress,
1135
- COALESCE(SUM(CASE WHEN status = 'done' THEN 1 ELSE 0 END), 0) as done,
1136
- COALESCE(SUM(CASE WHEN status = 'closed' THEN 1 ELSE 0 END), 0) as closed,
1137
- COALESCE(SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END), 0) as cancelled
1293
+ COALESCE(SUM(CASE WHEN status IN ('done', 'closed') THEN 1 ELSE 0 END), 0) as done,
1294
+ COALESCE(SUM(CASE WHEN status = 'cancelled' THEN 1 ELSE 0 END), 0) as cancelled
1138
1295
  FROM task_storage
1139
1296
  WHERE project_path = ? AND date(created_at) = ?`
1140
1297
  )
@@ -1142,7 +1299,6 @@ export class LocalTaskStorage implements TaskStorage {
1142
1299
  open: number;
1143
1300
  in_progress: number;
1144
1301
  done: number;
1145
- closed: number;
1146
1302
  cancelled: number;
1147
1303
  };
1148
1304
 
@@ -1151,7 +1307,6 @@ export class LocalTaskStorage implements TaskStorage {
1151
1307
  open: row.open,
1152
1308
  inProgress: row.in_progress,
1153
1309
  done: row.done,
1154
- closed: row.closed,
1155
1310
  cancelled: row.cancelled,
1156
1311
  });
1157
1312
  }