@hasna/todos 0.9.33 → 0.9.34

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.
Files changed (77) hide show
  1. package/dashboard/dist/assets/index-DVzieYOj.js +346 -0
  2. package/dashboard/dist/assets/index-DWpVlvWb.css +1 -0
  3. package/dashboard/dist/index.html +13 -0
  4. package/dashboard/dist/logo.jpg +0 -0
  5. package/dist/cli/components/App.d.ts +2 -0
  6. package/dist/cli/components/App.d.ts.map +1 -0
  7. package/dist/cli/components/Header.d.ts +8 -0
  8. package/dist/cli/components/Header.d.ts.map +1 -0
  9. package/dist/cli/components/ProjectList.d.ts +8 -0
  10. package/dist/cli/components/ProjectList.d.ts.map +1 -0
  11. package/dist/cli/components/SearchView.d.ts +10 -0
  12. package/dist/cli/components/SearchView.d.ts.map +1 -0
  13. package/dist/cli/components/TaskDetail.d.ts +7 -0
  14. package/dist/cli/components/TaskDetail.d.ts.map +1 -0
  15. package/dist/cli/components/TaskForm.d.ts +15 -0
  16. package/dist/cli/components/TaskForm.d.ts.map +1 -0
  17. package/dist/cli/components/TaskList.d.ts +8 -0
  18. package/dist/cli/components/TaskList.d.ts.map +1 -0
  19. package/dist/cli/index.d.ts +3 -0
  20. package/dist/cli/index.d.ts.map +1 -0
  21. package/dist/cli/index.js +12739 -0
  22. package/dist/db/agents.d.ts +32 -0
  23. package/dist/db/agents.d.ts.map +1 -0
  24. package/dist/db/audit.d.ts +6 -0
  25. package/dist/db/audit.d.ts.map +1 -0
  26. package/dist/db/comments.d.ts +7 -0
  27. package/dist/db/comments.d.ts.map +1 -0
  28. package/dist/db/database.d.ts +12 -0
  29. package/dist/db/database.d.ts.map +1 -0
  30. package/dist/db/orgs.d.ts +13 -0
  31. package/dist/db/orgs.d.ts.map +1 -0
  32. package/dist/db/plans.d.ts +8 -0
  33. package/dist/db/plans.d.ts.map +1 -0
  34. package/dist/db/projects.d.ts +12 -0
  35. package/dist/db/projects.d.ts.map +1 -0
  36. package/dist/db/sessions.d.ts +8 -0
  37. package/dist/db/sessions.d.ts.map +1 -0
  38. package/dist/db/task-lists.d.ts +10 -0
  39. package/dist/db/task-lists.d.ts.map +1 -0
  40. package/dist/db/tasks.d.ts +23 -0
  41. package/dist/db/tasks.d.ts.map +1 -0
  42. package/dist/db/templates.d.ts +8 -0
  43. package/dist/db/templates.d.ts.map +1 -0
  44. package/dist/db/webhooks.d.ts +8 -0
  45. package/dist/db/webhooks.d.ts.map +1 -0
  46. package/dist/index.d.ts +22 -0
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +2449 -0
  49. package/dist/lib/agent-tasks.d.ts +11 -0
  50. package/dist/lib/agent-tasks.d.ts.map +1 -0
  51. package/dist/lib/auto-assign.d.ts +9 -0
  52. package/dist/lib/auto-assign.d.ts.map +1 -0
  53. package/dist/lib/claude-tasks.d.ts +20 -0
  54. package/dist/lib/claude-tasks.d.ts.map +1 -0
  55. package/dist/lib/completion-guard.d.ts +17 -0
  56. package/dist/lib/completion-guard.d.ts.map +1 -0
  57. package/dist/lib/config.d.ts +34 -0
  58. package/dist/lib/config.d.ts.map +1 -0
  59. package/dist/lib/search.d.ts +4 -0
  60. package/dist/lib/search.d.ts.map +1 -0
  61. package/dist/lib/sync-types.d.ts +16 -0
  62. package/dist/lib/sync-types.d.ts.map +1 -0
  63. package/dist/lib/sync-utils.d.ts +12 -0
  64. package/dist/lib/sync-utils.d.ts.map +1 -0
  65. package/dist/lib/sync.d.ts +9 -0
  66. package/dist/lib/sync.d.ts.map +1 -0
  67. package/dist/mcp/index.d.ts +3 -0
  68. package/dist/mcp/index.d.ts.map +1 -0
  69. package/dist/mcp/index.js +7299 -0
  70. package/dist/server/index.d.ts +9 -0
  71. package/dist/server/index.d.ts.map +1 -0
  72. package/dist/server/index.js +2201 -0
  73. package/dist/server/serve.d.ts +9 -0
  74. package/dist/server/serve.d.ts.map +1 -0
  75. package/dist/types/index.d.ts +384 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/package.json +1 -1
@@ -0,0 +1,32 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Agent, RegisterAgentInput } from "../types/index.js";
3
+ /**
4
+ * Register an agent. If an agent with the same name already exists,
5
+ * return the existing agent (idempotent). This is the "init" operation.
6
+ */
7
+ export declare function registerAgent(input: RegisterAgentInput, db?: Database): Agent;
8
+ export declare function getAgent(id: string, db?: Database): Agent | null;
9
+ export declare function getAgentByName(name: string, db?: Database): Agent | null;
10
+ export declare function listAgents(db?: Database): Agent[];
11
+ export declare function updateAgentActivity(id: string, db?: Database): void;
12
+ export declare function updateAgent(id: string, input: {
13
+ name?: string;
14
+ description?: string;
15
+ role?: string;
16
+ title?: string;
17
+ level?: string;
18
+ permissions?: string[];
19
+ reports_to?: string | null;
20
+ org_id?: string | null;
21
+ metadata?: Record<string, unknown>;
22
+ }, db?: Database): Agent;
23
+ export declare function deleteAgent(id: string, db?: Database): boolean;
24
+ /** Get direct reports of an agent. */
25
+ export declare function getDirectReports(agentId: string, db?: Database): Agent[];
26
+ /** Get the full org tree starting from top-level agents (reports_to IS NULL). */
27
+ export declare function getOrgChart(db?: Database): OrgNode[];
28
+ export interface OrgNode {
29
+ agent: Agent;
30
+ reports: OrgNode[];
31
+ }
32
+ //# sourceMappingURL=agents.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/db/agents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAY,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAe7E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,CAuB7E;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAIhE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAKxE;AAED,wBAAgB,UAAU,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,CAGjD;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAGnE;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC7M,EAAE,CAAC,EAAE,QAAQ,GACZ,KAAK,CAgDP;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAG9D;AAED,sCAAsC;AACtC,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,KAAK,EAAE,CAGxE;AAED,iFAAiF;AACjF,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAepD;AAED,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB"}
@@ -0,0 +1,6 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { TaskHistory } from "../types/index.js";
3
+ export declare function logTaskChange(taskId: string, action: string, field?: string, oldValue?: string | null, newValue?: string | null, agentId?: string | null, db?: Database): TaskHistory;
4
+ export declare function getTaskHistory(taskId: string, db?: Database): TaskHistory[];
5
+ export declare function getRecentActivity(limit?: number, db?: Database): TaskHistory[];
6
+ //# sourceMappingURL=audit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/db/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrD,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,EACxB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,EACvB,EAAE,CAAC,EAAE,QAAQ,GACZ,WAAW,CAUb;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,EAAE,CAG3E;AAED,wBAAgB,iBAAiB,CAAC,KAAK,SAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,EAAE,CAG1E"}
@@ -0,0 +1,7 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CreateCommentInput, TaskComment } from "../types/index.js";
3
+ export declare function addComment(input: CreateCommentInput, db?: Database): TaskComment;
4
+ export declare function getComment(id: string, db?: Database): TaskComment | null;
5
+ export declare function listComments(taskId: string, db?: Database): TaskComment[];
6
+ export declare function deleteComment(id: string, db?: Database): boolean;
7
+ //# sourceMappingURL=comments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../src/db/comments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKzE,wBAAgB,UAAU,CACxB,KAAK,EAAE,kBAAkB,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,WAAW,CAyBb;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CAKxE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,EAAE,CAOzE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAIhE"}
@@ -0,0 +1,12 @@
1
+ import { Database } from "bun:sqlite";
2
+ export declare const LOCK_EXPIRY_MINUTES = 30;
3
+ export declare function getDatabase(dbPath?: string): Database;
4
+ export declare function closeDatabase(): void;
5
+ export declare function resetDatabase(): void;
6
+ export declare function now(): string;
7
+ export declare function uuid(): string;
8
+ export declare function isLockExpired(lockedAt: string | null): boolean;
9
+ export declare function lockExpiryCutoff(nowMs?: number): string;
10
+ export declare function clearExpiredLocks(db: Database): void;
11
+ export declare function resolvePartialId(db: Database, table: string, partialId: string): string | null;
12
+ //# sourceMappingURL=database.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAItC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAgTtC,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAkBrD;AA0MD,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,GAAG,IAAI,MAAM,CAE5B;AAED,wBAAgB,IAAI,IAAI,MAAM,CAE7B;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAK9D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,SAAa,GAAG,MAAM,CAG3D;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,GAAG,IAAI,CAGpD;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0B9F"}
@@ -0,0 +1,13 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Org, CreateOrgInput } from "../types/index.js";
3
+ export declare function createOrg(input: CreateOrgInput, db?: Database): Org;
4
+ export declare function getOrg(id: string, db?: Database): Org | null;
5
+ export declare function getOrgByName(name: string, db?: Database): Org | null;
6
+ export declare function listOrgs(db?: Database): Org[];
7
+ export declare function updateOrg(id: string, input: {
8
+ name?: string;
9
+ description?: string;
10
+ metadata?: Record<string, unknown>;
11
+ }, db?: Database): Org;
12
+ export declare function deleteOrg(id: string, db?: Database): boolean;
13
+ //# sourceMappingURL=orgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orgs.d.ts","sourceRoot":"","sources":["../../src/db/orgs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAO7D,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CASnE;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAI5D;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,CAIpE;AAED,wBAAgB,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,EAAE,CAG7C;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,GAAG,CAY5I;AAED,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAG5D"}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CreatePlanInput, Plan, UpdatePlanInput } from "../types/index.js";
3
+ export declare function createPlan(input: CreatePlanInput, db?: Database): Plan;
4
+ export declare function getPlan(id: string, db?: Database): Plan | null;
5
+ export declare function listPlans(projectId?: string, db?: Database): Plan[];
6
+ export declare function updatePlan(id: string, input: UpdatePlanInput, db?: Database): Plan;
7
+ export declare function deletePlan(id: string, db?: Database): boolean;
8
+ //# sourceMappingURL=plans.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plans.d.ts","sourceRoot":"","sources":["../../src/db/plans.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIhF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAsBtE;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAI9D;AAED,wBAAgB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,CAUnE;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EACtB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAiCN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAI7D"}
@@ -0,0 +1,12 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CreateProjectInput, Project } from "../types/index.js";
3
+ export declare function slugify(name: string): string;
4
+ export declare function createProject(input: CreateProjectInput, db?: Database): Project;
5
+ export declare function getProject(id: string, db?: Database): Project | null;
6
+ export declare function getProjectByPath(path: string, db?: Database): Project | null;
7
+ export declare function listProjects(db?: Database): Project[];
8
+ export declare function updateProject(id: string, input: Partial<Pick<Project, "name" | "description" | "task_list_id">>, db?: Database): Project;
9
+ export declare function deleteProject(id: string, db?: Database): boolean;
10
+ export declare function nextTaskShortId(projectId: string, db?: Database): string | null;
11
+ export declare function ensureProject(name: string, path: string, db?: Database): Project;
12
+ //# sourceMappingURL=projects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/db/projects.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAIrE,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAyBD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,kBAAkB,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAcT;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAIpE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAM5E;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAKrD;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,cAAc,CAAC,CAAC,EACtE,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAyBT;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAIhE;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAS/E;AAED,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAaT"}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CreateSessionInput, Session } from "../types/index.js";
3
+ export declare function createSession(input: CreateSessionInput, db?: Database): Session;
4
+ export declare function getSession(id: string, db?: Database): Session | null;
5
+ export declare function listSessions(db?: Database): Session[];
6
+ export declare function updateSessionActivity(id: string, db?: Database): void;
7
+ export declare function deleteSession(id: string, db?: Database): boolean;
8
+ //# sourceMappingURL=sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/db/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EACV,kBAAkB,EAClB,OAAO,EAER,MAAM,mBAAmB,CAAC;AAU3B,wBAAgB,aAAa,CAC3B,KAAK,EAAE,kBAAkB,EACzB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAoBT;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAKpE;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAMrD;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAGN;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAIhE"}
@@ -0,0 +1,10 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CreateTaskListInput, TaskList, UpdateTaskListInput } from "../types/index.js";
3
+ export declare function createTaskList(input: CreateTaskListInput, db?: Database): TaskList;
4
+ export declare function getTaskList(id: string, db?: Database): TaskList | null;
5
+ export declare function getTaskListBySlug(slug: string, projectId?: string, db?: Database): TaskList | null;
6
+ export declare function listTaskLists(projectId?: string, db?: Database): TaskList[];
7
+ export declare function updateTaskList(id: string, input: UpdateTaskListInput, db?: Database): TaskList;
8
+ export declare function deleteTaskList(id: string, db?: Database): boolean;
9
+ export declare function ensureTaskList(name: string, slug: string, projectId?: string, db?: Database): TaskList;
10
+ //# sourceMappingURL=task-lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-lists.d.ts","sourceRoot":"","sources":["../../src/db/task-lists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAe,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAYzG,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAwBlF;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAItE;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CASlG;AAED,wBAAgB,aAAa,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAM3E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAyB9F;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAGjE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAKtG"}
@@ -0,0 +1,23 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { CreateTaskInput, LockResult, Task, TaskDependency, TaskFilter, TaskWithRelations, UpdateTaskInput } from "../types/index.js";
3
+ export declare function createTask(input: CreateTaskInput, db?: Database): Task;
4
+ export declare function getTask(id: string, db?: Database): Task | null;
5
+ export declare function getTaskWithRelations(id: string, db?: Database): TaskWithRelations | null;
6
+ export declare function listTasks(filter?: TaskFilter, db?: Database): Task[];
7
+ export declare function updateTask(id: string, input: UpdateTaskInput, db?: Database): Task;
8
+ export declare function deleteTask(id: string, db?: Database): boolean;
9
+ export declare function getBlockingDeps(id: string, db?: Database): Task[];
10
+ export declare function startTask(id: string, agentId: string, db?: Database): Task;
11
+ export declare function completeTask(id: string, agentId?: string, db?: Database, evidence?: {
12
+ files_changed?: string[];
13
+ test_results?: string;
14
+ commit_hash?: string;
15
+ notes?: string;
16
+ }): Task;
17
+ export declare function lockTask(id: string, agentId: string, db?: Database): LockResult;
18
+ export declare function unlockTask(id: string, agentId?: string, db?: Database): boolean;
19
+ export declare function addDependency(taskId: string, dependsOn: string, db?: Database): void;
20
+ export declare function removeDependency(taskId: string, dependsOn: string, db?: Database): boolean;
21
+ export declare function getTaskDependencies(taskId: string, db?: Database): TaskDependency[];
22
+ export declare function getTaskDependents(taskId: string, db?: Database): TaskDependency[];
23
+ //# sourceMappingURL=tasks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tasks.d.ts","sourceRoot":"","sources":["../../src/db/tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EACV,eAAe,EACf,UAAU,EACV,IAAI,EACJ,cAAc,EACd,UAAU,EAEV,iBAAiB,EACjB,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAoC3B,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CA+CtE;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,CAK9D;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,EAAE,CAAC,EAAE,QAAQ,GACZ,iBAAiB,GAAG,IAAI,CAiD1B;AAED,wBAAgB,SAAS,CAAC,MAAM,GAAE,UAAe,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,CA8FxE;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,eAAe,EACtB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAqHN;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAI7D;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,EAAE,CAUjE;AAED,wBAAgB,SAAS,CACvB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CA8BN;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GACnG,IAAI,CAoCN;AAED,wBAAgB,QAAQ,CACtB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,QAAQ,GACZ,UAAU,CAiCZ;AAED,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAkBT;AAID,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAgBN;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAOT;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,EAAE,CAAC,EAAE,QAAQ,GACZ,cAAc,EAAE,CAKlB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,EAAE,CAAC,EAAE,QAAQ,GACZ,cAAc,EAAE,CAKlB"}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { TaskTemplate, CreateTemplateInput, CreateTaskInput } from "../types/index.js";
3
+ export declare function createTemplate(input: CreateTemplateInput, db?: Database): TaskTemplate;
4
+ export declare function getTemplate(id: string, db?: Database): TaskTemplate | null;
5
+ export declare function listTemplates(db?: Database): TaskTemplate[];
6
+ export declare function deleteTemplate(id: string, db?: Database): boolean;
7
+ export declare function taskFromTemplate(templateId: string, overrides?: Partial<CreateTaskInput>, db?: Database): CreateTaskInput;
8
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/db/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAY5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,CAWtF;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI,CAI1E;AAED,wBAAgB,aAAa,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAG3D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAGjE;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,GAAE,OAAO,CAAC,eAAe,CAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,eAAe,CAa7H"}
@@ -0,0 +1,8 @@
1
+ import type { Database } from "bun:sqlite";
2
+ import type { Webhook, CreateWebhookInput } from "../types/index.js";
3
+ export declare function createWebhook(input: CreateWebhookInput, db?: Database): Webhook;
4
+ export declare function getWebhook(id: string, db?: Database): Webhook | null;
5
+ export declare function listWebhooks(db?: Database): Webhook[];
6
+ export declare function deleteWebhook(id: string, db?: Database): boolean;
7
+ export declare function dispatchWebhook(event: string, payload: unknown, db?: Database): Promise<void>;
8
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/db/webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOrE,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAQ/E;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAIpE;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAGrD;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAGhE;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAenG"}
@@ -0,0 +1,22 @@
1
+ export { getDatabase, closeDatabase, resetDatabase, resolvePartialId, now, uuid } from "./db/database.js";
2
+ export { createTask, getTask, getTaskWithRelations, listTasks, updateTask, deleteTask, startTask, completeTask, lockTask, unlockTask, addDependency, removeDependency, getTaskDependencies, getTaskDependents, getBlockingDeps, } from "./db/tasks.js";
3
+ export { createProject, getProject, getProjectByPath, listProjects, updateProject, deleteProject, ensureProject, nextTaskShortId, slugify, } from "./db/projects.js";
4
+ export { createPlan, getPlan, listPlans, updatePlan, deletePlan, } from "./db/plans.js";
5
+ export { addComment, getComment, listComments, deleteComment, } from "./db/comments.js";
6
+ export { registerAgent, getAgent, getAgentByName, listAgents, updateAgent, updateAgentActivity, deleteAgent, getDirectReports, getOrgChart, } from "./db/agents.js";
7
+ export type { OrgNode } from "./db/agents.js";
8
+ export { createTaskList, getTaskList, getTaskListBySlug, listTaskLists, updateTaskList, deleteTaskList, ensureTaskList, } from "./db/task-lists.js";
9
+ export { createSession, getSession, listSessions, updateSessionActivity, deleteSession, } from "./db/sessions.js";
10
+ export { logTaskChange, getTaskHistory, getRecentActivity } from "./db/audit.js";
11
+ export { createWebhook, getWebhook, listWebhooks, deleteWebhook, dispatchWebhook } from "./db/webhooks.js";
12
+ export { createTemplate, getTemplate, listTemplates, deleteTemplate, taskFromTemplate } from "./db/templates.js";
13
+ export { createOrg, getOrg, getOrgByName, listOrgs, updateOrg, deleteOrg } from "./db/orgs.js";
14
+ export { searchTasks } from "./lib/search.js";
15
+ export { defaultSyncAgents, syncWithAgent, syncWithAgents } from "./lib/sync.js";
16
+ export type { SyncResult } from "./lib/sync-types.js";
17
+ export { loadConfig, getCompletionGuardConfig } from "./lib/config.js";
18
+ export type { TodosConfig, AgentConfig, CompletionGuardConfig } from "./lib/config.js";
19
+ export { checkCompletionGuard } from "./lib/completion-guard.js";
20
+ export type { Task, TaskWithRelations, CreateTaskInput, UpdateTaskInput, TaskFilter, TaskStatus, TaskPriority, TaskDependency, TaskComment, CreateCommentInput, Project, CreateProjectInput, Plan, CreatePlanInput, UpdatePlanInput, PlanStatus, Session, CreateSessionInput, Agent, AgentRow, RegisterAgentInput, TaskList, TaskListRow, CreateTaskListInput, UpdateTaskListInput, LockResult, TaskRow, SessionRow, TaskHistory, Webhook, CreateWebhookInput, TaskTemplate, CreateTemplateInput, Org, CreateOrgInput, } from "./types/index.js";
21
+ export { TASK_STATUSES, TASK_PRIORITIES, PLAN_STATUSES, VersionConflictError, TaskNotFoundError, ProjectNotFoundError, PlanNotFoundError, LockError, DependencyCycleError, AgentNotFoundError, TaskListNotFoundError, CompletionGuardError, } from "./types/index.js";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}