@crewx/sdk 0.9.0-rc.134 → 0.9.0-rc.135

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/esm/index.js CHANGED
@@ -401,6 +401,10 @@ ${i}`)<=Dt?s.push({kind:"front",instanceId:n.instanceId,serialized:u}):d.push(n.
401
401
  SELECT 1 FROM ${r}
402
402
  WHERE parent.id = ${t}.parent_task_id
403
403
  AND parent.thread_id = ${t}.thread_id
404
+ )`)}workflowAnchorPredicateSql(t){return sql.raw(`(
405
+ ${t}.agent_id = 'workflow'
406
+ OR ${t}.metadata LIKE '%"kind":"workflow_card"%'
407
+ OR ${t}.metadata LIKE '%"kind":"workflow_ui_instance"%'
404
408
  )`)}findAllThreadsQuery(t,n){let r=[];t&&r.push(sql`workspace_id = ${t}`),n&&r.push(sql`created_by_kind = ${n}`);let o=r.length>0?sql` WHERE ${sql.join(r,sql` AND `)}`:sql``;return sql`SELECT * FROM threads${o} ORDER BY updated_at DESC`}findThreadIdsQuery(t){return t?sql`SELECT id FROM threads INDEXED BY idx_threads_ws_updated
405
409
  WHERE workspace_id = ${t}
406
410
  ORDER BY updated_at DESC`:sql`SELECT id FROM threads`}readThreadIds(t,n="Failed to find thread ids"){let r=this.resolveDbPaths(),o=new Set,i=[];for(let s of r){if(!existsSync(s))continue;let a=re(s);try{let d=a.db.all(this.findThreadIdsQuery(t));for(let c of d)o.has(c.id)||(o.add(c.id),i.push(c.id));}catch(d){throw new b("DB_ERROR",n,d)}finally{a.close();}}return i}findThreadSortKeysQuery(t){return sql`SELECT id, updated_at
@@ -484,10 +488,6 @@ ${i}`)<=Dt?s.push({kind:"front",instanceId:n.instanceId,serialized:u}):d.push(n.
484
488
  SELECT DISTINCT descendants.root_task_id, descendants.task_id
485
489
  FROM descendants
486
490
  WHERE descendants.depth > 0
487
- AND NOT EXISTS (
488
- SELECT 1 FROM own_tasks own
489
- WHERE own.task_id = descendants.task_id
490
- )
491
491
  )
492
492
  SELECT
493
493
  descendant_ids.root_task_id AS root_task_id,
@@ -497,6 +497,11 @@ ${i}`)<=Dt?s.push({kind:"front",instanceId:n.instanceId,serialized:u}):d.push(n.
497
497
  count(*) AS task_count
498
498
  FROM descendant_ids
499
499
  JOIN tasks task ON task.id = descendant_ids.task_id
500
+ WHERE NOT EXISTS (
501
+ SELECT 1 FROM own_tasks own
502
+ WHERE own.task_id = task.id
503
+ AND (${this.topLevelTaskPredicateSql("task")} OR ${this.workflowAnchorPredicateSql("task")})
504
+ )
500
505
  GROUP BY descendant_ids.root_task_id, task.status, task.error, task.metadata
501
506
  `);for(let c of d){let l=o[c.root_task_id]??={total:0,running:0,pending:0,paused:0,success:0,failed:0,stopped:0,runnerLost:0,checkedAt:i},u=c$(Ur(c));u&&(l[u]+=c.task_count,l.total+=c.task_count);}}catch(d){throw new b("DB_ERROR","Failed to aggregate task descendant summaries",d)}finally{a.close();}}return o}findTopLevelTasks(t,n,r){let o=this.resolveDbPaths(),i=new Set,s=[];for(let a of o){if(!existsSync(a))continue;let d=re(a);try{let c;r!==void 0?c=d.db.all(sql`
502
507
  SELECT * FROM (
@@ -324,6 +324,10 @@ Message: ${n.message}
324
324
  SELECT 1 FROM ${r}
325
325
  WHERE parent.id = ${e}.parent_task_id
326
326
  AND parent.thread_id = ${e}.thread_id
327
+ )`)}workflowAnchorPredicateSql(e){return sql.raw(`(
328
+ ${e}.agent_id = 'workflow'
329
+ OR ${e}.metadata LIKE '%"kind":"workflow_card"%'
330
+ OR ${e}.metadata LIKE '%"kind":"workflow_ui_instance"%'
327
331
  )`)}findAllThreadsQuery(e,n){let r=[];e&&r.push(sql`workspace_id = ${e}`),n&&r.push(sql`created_by_kind = ${n}`);let s=r.length>0?sql` WHERE ${sql.join(r,sql` AND `)}`:sql``;return sql`SELECT * FROM threads${s} ORDER BY updated_at DESC`}findThreadIdsQuery(e){return e?sql`SELECT id FROM threads INDEXED BY idx_threads_ws_updated
328
332
  WHERE workspace_id = ${e}
329
333
  ORDER BY updated_at DESC`:sql`SELECT id FROM threads`}readThreadIds(e,n="Failed to find thread ids"){let r=this.resolveDbPaths(),s=new Set,o=[];for(let i of r){if(!existsSync(i))continue;let u=F(i);try{let d=u.db.all(this.findThreadIdsQuery(e));for(let c of d)s.has(c.id)||(s.add(c.id),o.push(c.id));}catch(d){throw new g("DB_ERROR",n,d)}finally{u.close();}}return o}findThreadSortKeysQuery(e){return sql`SELECT id, updated_at
@@ -407,10 +411,6 @@ Message: ${n.message}
407
411
  SELECT DISTINCT descendants.root_task_id, descendants.task_id
408
412
  FROM descendants
409
413
  WHERE descendants.depth > 0
410
- AND NOT EXISTS (
411
- SELECT 1 FROM own_tasks own
412
- WHERE own.task_id = descendants.task_id
413
- )
414
414
  )
415
415
  SELECT
416
416
  descendant_ids.root_task_id AS root_task_id,
@@ -420,6 +420,11 @@ Message: ${n.message}
420
420
  count(*) AS task_count
421
421
  FROM descendant_ids
422
422
  JOIN tasks task ON task.id = descendant_ids.task_id
423
+ WHERE NOT EXISTS (
424
+ SELECT 1 FROM own_tasks own
425
+ WHERE own.task_id = task.id
426
+ AND (${this.topLevelTaskPredicateSql("task")} OR ${this.workflowAnchorPredicateSql("task")})
427
+ )
423
428
  GROUP BY descendant_ids.root_task_id, task.status, task.error, task.metadata
424
429
  `);for(let c of d){let l=s[c.root_task_id]??={total:0,running:0,pending:0,paused:0,success:0,failed:0,stopped:0,runnerLost:0,checkedAt:o},p=op(ot(c));p&&(l[p]+=c.task_count,l.total+=c.task_count);}}catch(d){throw new g("DB_ERROR","Failed to aggregate task descendant summaries",d)}finally{u.close();}}return s}findTopLevelTasks(e,n,r){let s=this.resolveDbPaths(),o=new Set,i=[];for(let u of s){if(!existsSync(u))continue;let d=F(u);try{let c;r!==void 0?c=d.db.all(sql`
425
430
  SELECT * FROM (
@@ -397,6 +397,10 @@ ${r.join(`
397
397
  SELECT 1 FROM ${r}
398
398
  WHERE parent.id = ${e}.parent_task_id
399
399
  AND parent.thread_id = ${e}.thread_id
400
+ )`)}workflowAnchorPredicateSql(e){return sql.raw(`(
401
+ ${e}.agent_id = 'workflow'
402
+ OR ${e}.metadata LIKE '%"kind":"workflow_card"%'
403
+ OR ${e}.metadata LIKE '%"kind":"workflow_ui_instance"%'
400
404
  )`)}findAllThreadsQuery(e,n){let r=[];e&&r.push(sql`workspace_id = ${e}`),n&&r.push(sql`created_by_kind = ${n}`);let o=r.length>0?sql` WHERE ${sql.join(r,sql` AND `)}`:sql``;return sql`SELECT * FROM threads${o} ORDER BY updated_at DESC`}findThreadIdsQuery(e){return e?sql`SELECT id FROM threads INDEXED BY idx_threads_ws_updated
401
405
  WHERE workspace_id = ${e}
402
406
  ORDER BY updated_at DESC`:sql`SELECT id FROM threads`}readThreadIds(e,n="Failed to find thread ids"){let r=this.resolveDbPaths(),o=new Set,s=[];for(let i of r){if(!existsSync(i))continue;let d=D(i);try{let c=d.db.all(this.findThreadIdsQuery(e));for(let u of c)o.has(u.id)||(o.add(u.id),s.push(u.id));}catch(c){throw new l("DB_ERROR",n,c)}finally{d.close();}}return s}findThreadSortKeysQuery(e){return sql`SELECT id, updated_at
@@ -480,10 +484,6 @@ ${r.join(`
480
484
  SELECT DISTINCT descendants.root_task_id, descendants.task_id
481
485
  FROM descendants
482
486
  WHERE descendants.depth > 0
483
- AND NOT EXISTS (
484
- SELECT 1 FROM own_tasks own
485
- WHERE own.task_id = descendants.task_id
486
- )
487
487
  )
488
488
  SELECT
489
489
  descendant_ids.root_task_id AS root_task_id,
@@ -493,6 +493,11 @@ ${r.join(`
493
493
  count(*) AS task_count
494
494
  FROM descendant_ids
495
495
  JOIN tasks task ON task.id = descendant_ids.task_id
496
+ WHERE NOT EXISTS (
497
+ SELECT 1 FROM own_tasks own
498
+ WHERE own.task_id = task.id
499
+ AND (${this.topLevelTaskPredicateSql("task")} OR ${this.workflowAnchorPredicateSql("task")})
500
+ )
496
501
  GROUP BY descendant_ids.root_task_id, task.status, task.error, task.metadata
497
502
  `);for(let u of c){let f=o[u.root_task_id]??={total:0,running:0,pending:0,paused:0,success:0,failed:0,stopped:0,runnerLost:0,checkedAt:s},p=J_(Et(u));p&&(f[p]+=u.task_count,f.total+=u.task_count);}}catch(c){throw new l("DB_ERROR","Failed to aggregate task descendant summaries",c)}finally{d.close();}}return o}findTopLevelTasks(e,n,r){let o=this.resolveDbPaths(),s=new Set,i=[];for(let d of o){if(!existsSync(d))continue;let c=D(d);try{let u;r!==void 0?u=c.db.all(sql`
498
503
  SELECT * FROM (
package/dist/index.js CHANGED
@@ -401,6 +401,10 @@ ${i}`)<=exports.MCP_APP_PROJECTION_MAX_BYTES?s.push({kind:"front",instanceId:n.i
401
401
  SELECT 1 FROM ${r}
402
402
  WHERE parent.id = ${t}.parent_task_id
403
403
  AND parent.thread_id = ${t}.thread_id
404
+ )`)}workflowAnchorPredicateSql(t){return drizzleOrm.sql.raw(`(
405
+ ${t}.agent_id = 'workflow'
406
+ OR ${t}.metadata LIKE '%"kind":"workflow_card"%'
407
+ OR ${t}.metadata LIKE '%"kind":"workflow_ui_instance"%'
404
408
  )`)}findAllThreadsQuery(t,n){let r=[];t&&r.push(drizzleOrm.sql`workspace_id = ${t}`),n&&r.push(drizzleOrm.sql`created_by_kind = ${n}`);let o=r.length>0?drizzleOrm.sql` WHERE ${drizzleOrm.sql.join(r,drizzleOrm.sql` AND `)}`:drizzleOrm.sql``;return drizzleOrm.sql`SELECT * FROM threads${o} ORDER BY updated_at DESC`}findThreadIdsQuery(t){return t?drizzleOrm.sql`SELECT id FROM threads INDEXED BY idx_threads_ws_updated
405
409
  WHERE workspace_id = ${t}
406
410
  ORDER BY updated_at DESC`:drizzleOrm.sql`SELECT id FROM threads`}readThreadIds(t,n="Failed to find thread ids"){let r=this.resolveDbPaths(),o=new Set,i=[];for(let s of r){if(!Ut.existsSync(s))continue;let a=ne(s);try{let d=a.db.all(this.findThreadIdsQuery(t));for(let c of d)o.has(c.id)||(o.add(c.id),i.push(c.id));}catch(d){throw new S("DB_ERROR",n,d)}finally{a.close();}}return i}findThreadSortKeysQuery(t){return drizzleOrm.sql`SELECT id, updated_at
@@ -484,10 +488,6 @@ ${i}`)<=exports.MCP_APP_PROJECTION_MAX_BYTES?s.push({kind:"front",instanceId:n.i
484
488
  SELECT DISTINCT descendants.root_task_id, descendants.task_id
485
489
  FROM descendants
486
490
  WHERE descendants.depth > 0
487
- AND NOT EXISTS (
488
- SELECT 1 FROM own_tasks own
489
- WHERE own.task_id = descendants.task_id
490
- )
491
491
  )
492
492
  SELECT
493
493
  descendant_ids.root_task_id AS root_task_id,
@@ -497,6 +497,11 @@ ${i}`)<=exports.MCP_APP_PROJECTION_MAX_BYTES?s.push({kind:"front",instanceId:n.i
497
497
  count(*) AS task_count
498
498
  FROM descendant_ids
499
499
  JOIN tasks task ON task.id = descendant_ids.task_id
500
+ WHERE NOT EXISTS (
501
+ SELECT 1 FROM own_tasks own
502
+ WHERE own.task_id = task.id
503
+ AND (${this.topLevelTaskPredicateSql("task")} OR ${this.workflowAnchorPredicateSql("task")})
504
+ )
500
505
  GROUP BY descendant_ids.root_task_id, task.status, task.error, task.metadata
501
506
  `);for(let c of d){let l=o[c.root_task_id]??={total:0,running:0,pending:0,paused:0,success:0,failed:0,stopped:0,runnerLost:0,checkedAt:i},u=o$(Mr(c));u&&(l[u]+=c.task_count,l.total+=c.task_count);}}catch(d){throw new S("DB_ERROR","Failed to aggregate task descendant summaries",d)}finally{a.close();}}return o}findTopLevelTasks(t,n,r){let o=this.resolveDbPaths(),i=new Set,s=[];for(let a of o){if(!Ut.existsSync(a))continue;let d=ne(a);try{let c;r!==void 0?c=d.db.all(drizzleOrm.sql`
502
507
  SELECT * FROM (
@@ -324,6 +324,10 @@ Message: ${n.message}
324
324
  SELECT 1 FROM ${r}
325
325
  WHERE parent.id = ${e}.parent_task_id
326
326
  AND parent.thread_id = ${e}.thread_id
327
+ )`)}workflowAnchorPredicateSql(e){return drizzleOrm.sql.raw(`(
328
+ ${e}.agent_id = 'workflow'
329
+ OR ${e}.metadata LIKE '%"kind":"workflow_card"%'
330
+ OR ${e}.metadata LIKE '%"kind":"workflow_ui_instance"%'
327
331
  )`)}findAllThreadsQuery(e,n){let r=[];e&&r.push(drizzleOrm.sql`workspace_id = ${e}`),n&&r.push(drizzleOrm.sql`created_by_kind = ${n}`);let s=r.length>0?drizzleOrm.sql` WHERE ${drizzleOrm.sql.join(r,drizzleOrm.sql` AND `)}`:drizzleOrm.sql``;return drizzleOrm.sql`SELECT * FROM threads${s} ORDER BY updated_at DESC`}findThreadIdsQuery(e){return e?drizzleOrm.sql`SELECT id FROM threads INDEXED BY idx_threads_ws_updated
328
332
  WHERE workspace_id = ${e}
329
333
  ORDER BY updated_at DESC`:drizzleOrm.sql`SELECT id FROM threads`}readThreadIds(e,n="Failed to find thread ids"){let r=this.resolveDbPaths(),s=new Set,o=[];for(let i of r){if(!fs$1.existsSync(i))continue;let u=U(i);try{let d=u.db.all(this.findThreadIdsQuery(e));for(let c of d)s.has(c.id)||(s.add(c.id),o.push(c.id));}catch(d){throw new g("DB_ERROR",n,d)}finally{u.close();}}return o}findThreadSortKeysQuery(e){return drizzleOrm.sql`SELECT id, updated_at
@@ -407,10 +411,6 @@ Message: ${n.message}
407
411
  SELECT DISTINCT descendants.root_task_id, descendants.task_id
408
412
  FROM descendants
409
413
  WHERE descendants.depth > 0
410
- AND NOT EXISTS (
411
- SELECT 1 FROM own_tasks own
412
- WHERE own.task_id = descendants.task_id
413
- )
414
414
  )
415
415
  SELECT
416
416
  descendant_ids.root_task_id AS root_task_id,
@@ -420,6 +420,11 @@ Message: ${n.message}
420
420
  count(*) AS task_count
421
421
  FROM descendant_ids
422
422
  JOIN tasks task ON task.id = descendant_ids.task_id
423
+ WHERE NOT EXISTS (
424
+ SELECT 1 FROM own_tasks own
425
+ WHERE own.task_id = task.id
426
+ AND (${this.topLevelTaskPredicateSql("task")} OR ${this.workflowAnchorPredicateSql("task")})
427
+ )
423
428
  GROUP BY descendant_ids.root_task_id, task.status, task.error, task.metadata
424
429
  `);for(let c of d){let l=s[c.root_task_id]??={total:0,running:0,pending:0,paused:0,success:0,failed:0,stopped:0,runnerLost:0,checkedAt:o},p=ep(st(c));p&&(l[p]+=c.task_count,l.total+=c.task_count);}}catch(d){throw new g("DB_ERROR","Failed to aggregate task descendant summaries",d)}finally{u.close();}}return s}findTopLevelTasks(e,n,r){let s=this.resolveDbPaths(),o=new Set,i=[];for(let u of s){if(!fs$1.existsSync(u))continue;let d=U(u);try{let c;r!==void 0?c=d.db.all(drizzleOrm.sql`
425
430
  SELECT * FROM (
@@ -397,6 +397,10 @@ ${r.join(`
397
397
  SELECT 1 FROM ${r}
398
398
  WHERE parent.id = ${e}.parent_task_id
399
399
  AND parent.thread_id = ${e}.thread_id
400
+ )`)}workflowAnchorPredicateSql(e){return drizzleOrm.sql.raw(`(
401
+ ${e}.agent_id = 'workflow'
402
+ OR ${e}.metadata LIKE '%"kind":"workflow_card"%'
403
+ OR ${e}.metadata LIKE '%"kind":"workflow_ui_instance"%'
400
404
  )`)}findAllThreadsQuery(e,n){let r=[];e&&r.push(drizzleOrm.sql`workspace_id = ${e}`),n&&r.push(drizzleOrm.sql`created_by_kind = ${n}`);let o=r.length>0?drizzleOrm.sql` WHERE ${drizzleOrm.sql.join(r,drizzleOrm.sql` AND `)}`:drizzleOrm.sql``;return drizzleOrm.sql`SELECT * FROM threads${o} ORDER BY updated_at DESC`}findThreadIdsQuery(e){return e?drizzleOrm.sql`SELECT id FROM threads INDEXED BY idx_threads_ws_updated
401
405
  WHERE workspace_id = ${e}
402
406
  ORDER BY updated_at DESC`:drizzleOrm.sql`SELECT id FROM threads`}readThreadIds(e,n="Failed to find thread ids"){let r=this.resolveDbPaths(),o=new Set,s=[];for(let i of r){if(!Oa.existsSync(i))continue;let d=x(i);try{let c=d.db.all(this.findThreadIdsQuery(e));for(let u of c)o.has(u.id)||(o.add(u.id),s.push(u.id));}catch(c){throw new exports.RepositoryError("DB_ERROR",n,c)}finally{d.close();}}return s}findThreadSortKeysQuery(e){return drizzleOrm.sql`SELECT id, updated_at
@@ -480,10 +484,6 @@ ${r.join(`
480
484
  SELECT DISTINCT descendants.root_task_id, descendants.task_id
481
485
  FROM descendants
482
486
  WHERE descendants.depth > 0
483
- AND NOT EXISTS (
484
- SELECT 1 FROM own_tasks own
485
- WHERE own.task_id = descendants.task_id
486
- )
487
487
  )
488
488
  SELECT
489
489
  descendant_ids.root_task_id AS root_task_id,
@@ -493,6 +493,11 @@ ${r.join(`
493
493
  count(*) AS task_count
494
494
  FROM descendant_ids
495
495
  JOIN tasks task ON task.id = descendant_ids.task_id
496
+ WHERE NOT EXISTS (
497
+ SELECT 1 FROM own_tasks own
498
+ WHERE own.task_id = task.id
499
+ AND (${this.topLevelTaskPredicateSql("task")} OR ${this.workflowAnchorPredicateSql("task")})
500
+ )
496
501
  GROUP BY descendant_ids.root_task_id, task.status, task.error, task.metadata
497
502
  `);for(let u of c){let f=o[u.root_task_id]??={total:0,running:0,pending:0,paused:0,success:0,failed:0,stopped:0,runnerLost:0,checkedAt:s},p=W_(yt(u));p&&(f[p]+=u.task_count,f.total+=u.task_count);}}catch(c){throw new exports.RepositoryError("DB_ERROR","Failed to aggregate task descendant summaries",c)}finally{d.close();}}return o}findTopLevelTasks(e,n,r){let o=this.resolveDbPaths(),s=new Set,i=[];for(let d of o){if(!Oa.existsSync(d))continue;let c=x(d);try{let u;r!==void 0?u=c.db.all(drizzleOrm.sql`
498
503
  SELECT * FROM (
@@ -66,6 +66,7 @@ export declare class ThreadRepository extends BaseSqliteRepository {
66
66
  resolveDbPath(): string;
67
67
  private openHandle;
68
68
  private topLevelTaskPredicateSql;
69
+ private workflowAnchorPredicateSql;
69
70
  private findAllThreadsQuery;
70
71
  private findThreadIdsQuery;
71
72
  private readThreadIds;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/sdk",
3
- "version": "0.9.0-rc.134",
3
+ "version": "0.9.0-rc.135",
4
4
  "license": "UNLICENSED",
5
5
  "engines": {
6
6
  "node": ">=20.19.0"