@hasna/todos 0.11.47 → 0.11.48

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 (240) hide show
  1. package/LICENSE +2 -1
  2. package/README.md +1232 -11
  3. package/dashboard/dist/assets/{index-B-w1tUlm.js → index-C3fBxEWP.js} +18 -18
  4. package/dashboard/dist/assets/index-DJm6m6Yy.css +1 -0
  5. package/dashboard/dist/index.html +2 -2
  6. package/dist/cli/index.js +46559 -28624
  7. package/dist/mcp/index.js +31815 -21499
  8. package/dist/sdk/index.js +632 -0
  9. package/dist/server/index.js +75144 -2653
  10. package/package.json +30 -6
  11. package/dashboard/dist/assets/index-BXQ39iMX.css +0 -1
  12. package/dist/cli/brains.d.ts +0 -3
  13. package/dist/cli/brains.d.ts.map +0 -1
  14. package/dist/cli/commands/agent-commands.d.ts +0 -3
  15. package/dist/cli/commands/agent-commands.d.ts.map +0 -1
  16. package/dist/cli/commands/api-key-commands.d.ts +0 -3
  17. package/dist/cli/commands/api-key-commands.d.ts.map +0 -1
  18. package/dist/cli/commands/cloud-commands.d.ts +0 -3
  19. package/dist/cli/commands/cloud-commands.d.ts.map +0 -1
  20. package/dist/cli/commands/config-serve-commands.d.ts +0 -3
  21. package/dist/cli/commands/config-serve-commands.d.ts.map +0 -1
  22. package/dist/cli/commands/dispatch.d.ts +0 -3
  23. package/dist/cli/commands/dispatch.d.ts.map +0 -1
  24. package/dist/cli/commands/machines.d.ts +0 -3
  25. package/dist/cli/commands/machines.d.ts.map +0 -1
  26. package/dist/cli/commands/mcp-hooks-commands.d.ts +0 -3
  27. package/dist/cli/commands/mcp-hooks-commands.d.ts.map +0 -1
  28. package/dist/cli/commands/plan-template-commands.d.ts +0 -3
  29. package/dist/cli/commands/plan-template-commands.d.ts.map +0 -1
  30. package/dist/cli/commands/project-commands.d.ts +0 -3
  31. package/dist/cli/commands/project-commands.d.ts.map +0 -1
  32. package/dist/cli/commands/query-commands.d.ts +0 -3
  33. package/dist/cli/commands/query-commands.d.ts.map +0 -1
  34. package/dist/cli/commands/task-commands.d.ts +0 -3
  35. package/dist/cli/commands/task-commands.d.ts.map +0 -1
  36. package/dist/cli/components/App.d.ts +0 -2
  37. package/dist/cli/components/App.d.ts.map +0 -1
  38. package/dist/cli/components/Dashboard.d.ts +0 -7
  39. package/dist/cli/components/Dashboard.d.ts.map +0 -1
  40. package/dist/cli/components/Header.d.ts +0 -8
  41. package/dist/cli/components/Header.d.ts.map +0 -1
  42. package/dist/cli/components/ProjectList.d.ts +0 -8
  43. package/dist/cli/components/ProjectList.d.ts.map +0 -1
  44. package/dist/cli/components/SearchView.d.ts +0 -10
  45. package/dist/cli/components/SearchView.d.ts.map +0 -1
  46. package/dist/cli/components/TaskDetail.d.ts +0 -7
  47. package/dist/cli/components/TaskDetail.d.ts.map +0 -1
  48. package/dist/cli/components/TaskForm.d.ts +0 -15
  49. package/dist/cli/components/TaskForm.d.ts.map +0 -1
  50. package/dist/cli/components/TaskList.d.ts +0 -8
  51. package/dist/cli/components/TaskList.d.ts.map +0 -1
  52. package/dist/cli/helpers.d.ts +0 -22
  53. package/dist/cli/helpers.d.ts.map +0 -1
  54. package/dist/cli/index.d.ts +0 -3
  55. package/dist/cli/index.d.ts.map +0 -1
  56. package/dist/db/agent-metrics.d.ts +0 -34
  57. package/dist/db/agent-metrics.d.ts.map +0 -1
  58. package/dist/db/agent-names.d.ts +0 -27
  59. package/dist/db/agent-names.d.ts.map +0 -1
  60. package/dist/db/agents.d.ts +0 -84
  61. package/dist/db/agents.d.ts.map +0 -1
  62. package/dist/db/api-keys.d.ts +0 -28
  63. package/dist/db/api-keys.d.ts.map +0 -1
  64. package/dist/db/audit.d.ts +0 -52
  65. package/dist/db/audit.d.ts.map +0 -1
  66. package/dist/db/budgets.d.ts +0 -27
  67. package/dist/db/budgets.d.ts.map +0 -1
  68. package/dist/db/builtin-templates.d.ts +0 -22
  69. package/dist/db/builtin-templates.d.ts.map +0 -1
  70. package/dist/db/checklists.d.ts +0 -13
  71. package/dist/db/checklists.d.ts.map +0 -1
  72. package/dist/db/checkpoints.d.ts +0 -55
  73. package/dist/db/checkpoints.d.ts.map +0 -1
  74. package/dist/db/comments.d.ts +0 -11
  75. package/dist/db/comments.d.ts.map +0 -1
  76. package/dist/db/cycles.d.ts +0 -78
  77. package/dist/db/cycles.d.ts.map +0 -1
  78. package/dist/db/database.d.ts +0 -12
  79. package/dist/db/database.d.ts.map +0 -1
  80. package/dist/db/dispatches.d.ts +0 -15
  81. package/dist/db/dispatches.d.ts.map +0 -1
  82. package/dist/db/file-locks.d.ts +0 -43
  83. package/dist/db/file-locks.d.ts.map +0 -1
  84. package/dist/db/handoffs.d.ts +0 -25
  85. package/dist/db/handoffs.d.ts.map +0 -1
  86. package/dist/db/kg.d.ts +0 -70
  87. package/dist/db/kg.d.ts.map +0 -1
  88. package/dist/db/locks.d.ts +0 -14
  89. package/dist/db/locks.d.ts.map +0 -1
  90. package/dist/db/machines.d.ts +0 -46
  91. package/dist/db/machines.d.ts.map +0 -1
  92. package/dist/db/migrations.d.ts +0 -2
  93. package/dist/db/migrations.d.ts.map +0 -1
  94. package/dist/db/orgs.d.ts +0 -13
  95. package/dist/db/orgs.d.ts.map +0 -1
  96. package/dist/db/patrol.d.ts +0 -35
  97. package/dist/db/patrol.d.ts.map +0 -1
  98. package/dist/db/pg-migrate.d.ts +0 -14
  99. package/dist/db/pg-migrate.d.ts.map +0 -1
  100. package/dist/db/pg-migrations.d.ts +0 -8
  101. package/dist/db/pg-migrations.d.ts.map +0 -1
  102. package/dist/db/plans.d.ts +0 -8
  103. package/dist/db/plans.d.ts.map +0 -1
  104. package/dist/db/project-agent-roles.d.ts +0 -34
  105. package/dist/db/project-agent-roles.d.ts.map +0 -1
  106. package/dist/db/projects.d.ts +0 -54
  107. package/dist/db/projects.d.ts.map +0 -1
  108. package/dist/db/schema.d.ts +0 -5
  109. package/dist/db/schema.d.ts.map +0 -1
  110. package/dist/db/sessions.d.ts +0 -8
  111. package/dist/db/sessions.d.ts.map +0 -1
  112. package/dist/db/snapshots.d.ts +0 -37
  113. package/dist/db/snapshots.d.ts.map +0 -1
  114. package/dist/db/task-claim.d.ts +0 -7
  115. package/dist/db/task-claim.d.ts.map +0 -1
  116. package/dist/db/task-commits.d.ts +0 -31
  117. package/dist/db/task-commits.d.ts.map +0 -1
  118. package/dist/db/task-crud.d.ts +0 -13
  119. package/dist/db/task-crud.d.ts.map +0 -1
  120. package/dist/db/task-files.d.ts +0 -74
  121. package/dist/db/task-files.d.ts.map +0 -1
  122. package/dist/db/task-graph.d.ts +0 -27
  123. package/dist/db/task-graph.d.ts.map +0 -1
  124. package/dist/db/task-lifecycle.d.ts +0 -81
  125. package/dist/db/task-lifecycle.d.ts.map +0 -1
  126. package/dist/db/task-lists.d.ts +0 -10
  127. package/dist/db/task-lists.d.ts.map +0 -1
  128. package/dist/db/task-relations.d.ts +0 -110
  129. package/dist/db/task-relations.d.ts.map +0 -1
  130. package/dist/db/task-relationships.d.ts +0 -36
  131. package/dist/db/task-relationships.d.ts.map +0 -1
  132. package/dist/db/task-status.d.ts +0 -65
  133. package/dist/db/task-status.d.ts.map +0 -1
  134. package/dist/db/task-workflow.d.ts +0 -7
  135. package/dist/db/task-workflow.d.ts.map +0 -1
  136. package/dist/db/tasks.d.ts +0 -11
  137. package/dist/db/tasks.d.ts.map +0 -1
  138. package/dist/db/templates.d.ts +0 -98
  139. package/dist/db/templates.d.ts.map +0 -1
  140. package/dist/db/traces.d.ts +0 -38
  141. package/dist/db/traces.d.ts.map +0 -1
  142. package/dist/db/webhooks.d.ts +0 -29
  143. package/dist/db/webhooks.d.ts.map +0 -1
  144. package/dist/index.d.ts +0 -77
  145. package/dist/index.d.ts.map +0 -1
  146. package/dist/index.js +0 -18904
  147. package/dist/lib/agent-tasks.d.ts +0 -11
  148. package/dist/lib/agent-tasks.d.ts.map +0 -1
  149. package/dist/lib/auto-assign.d.ts +0 -25
  150. package/dist/lib/auto-assign.d.ts.map +0 -1
  151. package/dist/lib/burndown.d.ts +0 -18
  152. package/dist/lib/burndown.d.ts.map +0 -1
  153. package/dist/lib/claude-tasks.d.ts +0 -20
  154. package/dist/lib/claude-tasks.d.ts.map +0 -1
  155. package/dist/lib/completion-guard.d.ts +0 -17
  156. package/dist/lib/completion-guard.d.ts.map +0 -1
  157. package/dist/lib/config.d.ts +0 -45
  158. package/dist/lib/config.d.ts.map +0 -1
  159. package/dist/lib/dispatch-formatter.d.ts +0 -21
  160. package/dist/lib/dispatch-formatter.d.ts.map +0 -1
  161. package/dist/lib/dispatch.d.ts +0 -28
  162. package/dist/lib/dispatch.d.ts.map +0 -1
  163. package/dist/lib/extract.d.ts +0 -51
  164. package/dist/lib/extract.d.ts.map +0 -1
  165. package/dist/lib/gatherer.d.ts +0 -16
  166. package/dist/lib/gatherer.d.ts.map +0 -1
  167. package/dist/lib/github.d.ts +0 -25
  168. package/dist/lib/github.d.ts.map +0 -1
  169. package/dist/lib/logger.d.ts +0 -17
  170. package/dist/lib/logger.d.ts.map +0 -1
  171. package/dist/lib/model-config.d.ts +0 -14
  172. package/dist/lib/model-config.d.ts.map +0 -1
  173. package/dist/lib/north-star.d.ts +0 -33
  174. package/dist/lib/north-star.d.ts.map +0 -1
  175. package/dist/lib/package-version.d.ts +0 -2
  176. package/dist/lib/package-version.d.ts.map +0 -1
  177. package/dist/lib/recurrence.d.ts +0 -10
  178. package/dist/lib/recurrence.d.ts.map +0 -1
  179. package/dist/lib/search.d.ts +0 -17
  180. package/dist/lib/search.d.ts.map +0 -1
  181. package/dist/lib/sync-types.d.ts +0 -16
  182. package/dist/lib/sync-types.d.ts.map +0 -1
  183. package/dist/lib/sync-utils.d.ts +0 -12
  184. package/dist/lib/sync-utils.d.ts.map +0 -1
  185. package/dist/lib/sync.d.ts +0 -9
  186. package/dist/lib/sync.d.ts.map +0 -1
  187. package/dist/lib/task-runner.d.ts +0 -101
  188. package/dist/lib/task-runner.d.ts.map +0 -1
  189. package/dist/lib/tmux.d.ts +0 -28
  190. package/dist/lib/tmux.d.ts.map +0 -1
  191. package/dist/mcp/index.d.ts +0 -3
  192. package/dist/mcp/index.d.ts.map +0 -1
  193. package/dist/mcp/token-utils.d.ts +0 -15
  194. package/dist/mcp/token-utils.d.ts.map +0 -1
  195. package/dist/mcp/tools/agents.d.ts +0 -16
  196. package/dist/mcp/tools/agents.d.ts.map +0 -1
  197. package/dist/mcp/tools/cloud.d.ts +0 -12
  198. package/dist/mcp/tools/cloud.d.ts.map +0 -1
  199. package/dist/mcp/tools/code-tools.d.ts +0 -15
  200. package/dist/mcp/tools/code-tools.d.ts.map +0 -1
  201. package/dist/mcp/tools/dispatch.d.ts +0 -9
  202. package/dist/mcp/tools/dispatch.d.ts.map +0 -1
  203. package/dist/mcp/tools/machines.d.ts +0 -8
  204. package/dist/mcp/tools/machines.d.ts.map +0 -1
  205. package/dist/mcp/tools/task-adv-tools.d.ts +0 -20
  206. package/dist/mcp/tools/task-adv-tools.d.ts.map +0 -1
  207. package/dist/mcp/tools/task-auto-tools.d.ts +0 -20
  208. package/dist/mcp/tools/task-auto-tools.d.ts.map +0 -1
  209. package/dist/mcp/tools/task-crud.d.ts +0 -20
  210. package/dist/mcp/tools/task-crud.d.ts.map +0 -1
  211. package/dist/mcp/tools/task-meta-tools.d.ts +0 -12
  212. package/dist/mcp/tools/task-meta-tools.d.ts.map +0 -1
  213. package/dist/mcp/tools/task-project-tools.d.ts +0 -20
  214. package/dist/mcp/tools/task-project-tools.d.ts.map +0 -1
  215. package/dist/mcp/tools/task-rel-tools.d.ts +0 -19
  216. package/dist/mcp/tools/task-rel-tools.d.ts.map +0 -1
  217. package/dist/mcp/tools/task-resources.d.ts +0 -13
  218. package/dist/mcp/tools/task-resources.d.ts.map +0 -1
  219. package/dist/mcp/tools/task-workflow-tools.d.ts +0 -20
  220. package/dist/mcp/tools/task-workflow-tools.d.ts.map +0 -1
  221. package/dist/mcp/tools/templates.d.ts +0 -9
  222. package/dist/mcp/tools/templates.d.ts.map +0 -1
  223. package/dist/mcp/tools/webhooks.d.ts +0 -8
  224. package/dist/mcp/tools/webhooks.d.ts.map +0 -1
  225. package/dist/sdk/client.d.ts +0 -383
  226. package/dist/sdk/client.d.ts.map +0 -1
  227. package/dist/sdk/index.d.ts +0 -14
  228. package/dist/sdk/index.d.ts.map +0 -1
  229. package/dist/sdk/types.d.ts +0 -173
  230. package/dist/sdk/types.d.ts.map +0 -1
  231. package/dist/sdk.d.ts +0 -19
  232. package/dist/sdk.d.ts.map +0 -1
  233. package/dist/server/index.d.ts +0 -9
  234. package/dist/server/index.d.ts.map +0 -1
  235. package/dist/server/routes.d.ts +0 -85
  236. package/dist/server/routes.d.ts.map +0 -1
  237. package/dist/server/serve.d.ts +0 -39
  238. package/dist/server/serve.d.ts.map +0 -1
  239. package/dist/types/index.d.ts +0 -817
  240. package/dist/types/index.d.ts.map +0 -1
@@ -1,28 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export interface ApiKeyRecord {
3
- id: string;
4
- name: string;
5
- prefix: string;
6
- permissions: string[];
7
- created_at: string;
8
- last_used_at: string | null;
9
- expires_at: string | null;
10
- revoked_at: string | null;
11
- }
12
- export interface CreateApiKeyInput {
13
- name: string;
14
- permissions?: string[];
15
- expires_at?: string | null;
16
- }
17
- export interface CreatedApiKey {
18
- key: string;
19
- record: ApiKeyRecord;
20
- }
21
- export declare function createApiKey(input: CreateApiKeyInput, db?: Database): CreatedApiKey;
22
- export declare function listApiKeys(opts?: {
23
- include_revoked?: boolean;
24
- }, db?: Database): ApiKeyRecord[];
25
- export declare function hasActiveApiKeys(db?: Database): boolean;
26
- export declare function verifyApiKey(key: string, db?: Database): ApiKeyRecord | null;
27
- export declare function revokeApiKey(idOrPrefix: string, db?: Database): ApiKeyRecord | null;
28
- //# sourceMappingURL=api-keys.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-keys.d.ts","sourceRoot":"","sources":["../../src/db/api-keys.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAcD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,YAAY,CAAC;CACtB;AA4BD,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,CAwBnF;AAED,wBAAgB,WAAW,CAAC,IAAI,CAAC,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,EAAE,CAO/F;AAED,wBAAgB,gBAAgB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAMvD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI,CAY5E;AAED,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,GAAG,IAAI,CAUnF"}
@@ -1,52 +0,0 @@
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
- export interface RecapSummary {
7
- hours: number;
8
- since: string;
9
- completed: {
10
- id: string;
11
- short_id: string | null;
12
- title: string;
13
- assigned_to: string | null;
14
- completed_at: string | null;
15
- duration_minutes: number | null;
16
- }[];
17
- created: {
18
- id: string;
19
- short_id: string | null;
20
- title: string;
21
- agent_id: string | null;
22
- created_at: string;
23
- }[];
24
- in_progress: {
25
- id: string;
26
- short_id: string | null;
27
- title: string;
28
- assigned_to: string | null;
29
- started_at: string | null;
30
- }[];
31
- blocked: {
32
- id: string;
33
- short_id: string | null;
34
- title: string;
35
- assigned_to: string | null;
36
- }[];
37
- stale: {
38
- id: string;
39
- short_id: string | null;
40
- title: string;
41
- assigned_to: string | null;
42
- updated_at: string;
43
- }[];
44
- agents: {
45
- name: string;
46
- completed_count: number;
47
- in_progress_count: number;
48
- last_seen_at: string;
49
- }[];
50
- }
51
- export declare function getRecap(hours?: number, projectId?: string, db?: Database): RecapSummary;
52
- //# sourceMappingURL=audit.d.ts.map
@@ -1 +0,0 @@
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;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAC9J,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/G,WAAW,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAC7H,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,EAAE,CAAC;IAC9F,KAAK,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChH,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACtG;AAED,wBAAgB,QAAQ,CAAC,KAAK,SAAI,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,YAAY,CAoDnF"}
@@ -1,27 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export interface AgentBudget {
3
- agent_id: string;
4
- max_concurrent: number;
5
- max_cost_usd: number | null;
6
- max_task_minutes: number | null;
7
- period_hours: number;
8
- created_at: string;
9
- updated_at: string;
10
- }
11
- export interface BudgetCheck {
12
- allowed: boolean;
13
- reason?: string;
14
- current_concurrent: number;
15
- max_concurrent: number;
16
- current_cost_usd?: number;
17
- max_cost_usd?: number;
18
- }
19
- export declare function setBudget(agentId: string, opts: {
20
- max_concurrent?: number;
21
- max_cost_usd?: number | null;
22
- max_task_minutes?: number | null;
23
- period_hours?: number;
24
- }, db?: Database): AgentBudget;
25
- export declare function getBudget(agentId: string, db?: Database): AgentBudget | null;
26
- export declare function checkBudget(agentId: string, db?: Database): BudgetCheck;
27
- //# sourceMappingURL=budgets.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"budgets.d.ts","sourceRoot":"","sources":["../../src/db/budgets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CACvB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,EACxH,EAAE,CAAC,EAAE,QAAQ,GACZ,WAAW,CAgBb;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,GAAG,IAAI,CAG5E;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,CAuBvE"}
@@ -1,22 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { TemplateVariable, TemplateTaskInput } from "../types/index.js";
3
- export interface BuiltinTemplate {
4
- name: string;
5
- description: string;
6
- variables: TemplateVariable[];
7
- tasks: (TemplateTaskInput & {
8
- position: number;
9
- depends_on_positions?: number[];
10
- })[];
11
- }
12
- export declare const BUILTIN_TEMPLATES: BuiltinTemplate[];
13
- /**
14
- * Initialize built-in templates. Skips any template whose name already exists.
15
- * Returns the count of templates created.
16
- */
17
- export declare function initBuiltinTemplates(db?: Database): {
18
- created: number;
19
- skipped: number;
20
- names: string[];
21
- };
22
- //# sourceMappingURL=builtin-templates.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"builtin-templates.d.ts","sourceRoot":"","sources":["../../src/db/builtin-templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAI7E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,KAAK,EAAE,CAAC,iBAAiB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,EAAE,CAAC;CACtF;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAkE9C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAuCzG"}
@@ -1,13 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { ChecklistItem, CreateChecklistItemInput } from "../types/index.js";
3
- export declare function getChecklist(taskId: string, db?: Database): ChecklistItem[];
4
- export declare function addChecklistItem(input: CreateChecklistItemInput, db?: Database): ChecklistItem;
5
- export declare function checkChecklistItem(id: string, checked: boolean, db?: Database): ChecklistItem | null;
6
- export declare function updateChecklistItemText(id: string, text: string, db?: Database): ChecklistItem | null;
7
- export declare function removeChecklistItem(id: string, db?: Database): boolean;
8
- export declare function clearChecklist(taskId: string, db?: Database): number;
9
- export declare function getChecklistStats(taskId: string, db?: Database): {
10
- total: number;
11
- checked: number;
12
- };
13
- //# sourceMappingURL=checklists.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checklists.d.ts","sourceRoot":"","sources":["../../src/db/checklists.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAoB,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAOnG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,EAAE,CAM3E;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,wBAAwB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,CAoB9F;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CASpG;AAED,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,GAAG,IAAI,CASrG;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAItE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAIpE;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAMnG"}
@@ -1,55 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export interface Checkpoint {
3
- id: string;
4
- task_id: string;
5
- agent_id: string | null;
6
- step: string;
7
- status: "pending" | "running" | "completed" | "failed" | "skipped";
8
- data: Record<string, unknown>;
9
- error: string | null;
10
- attempt: number;
11
- max_attempts: number;
12
- started_at: string | null;
13
- completed_at: string | null;
14
- created_at: string;
15
- updated_at: string;
16
- }
17
- export interface Heartbeat {
18
- id: string;
19
- task_id: string;
20
- agent_id: string | null;
21
- step: string | null;
22
- message: string | null;
23
- progress: number | null;
24
- meta: Record<string, unknown>;
25
- created_at: string;
26
- }
27
- export declare function upsertCheckpoint(task_id: string, step: string, updates: {
28
- agent_id?: string;
29
- status?: Checkpoint["status"];
30
- data?: Record<string, unknown>;
31
- error?: string | null;
32
- attempt?: number;
33
- max_attempts?: number;
34
- started_at?: string | null;
35
- completed_at?: string | null;
36
- }, db?: Database): Checkpoint;
37
- export declare function getCheckpoint(taskId: string, step: string, db?: Database): Checkpoint | null;
38
- export declare function getTaskCheckpoints(taskId: string, db?: Database): Checkpoint[];
39
- export declare function getTaskHeartbeats(taskId: string, limit?: number, db?: Database): Heartbeat[];
40
- export declare function emitHeartbeat(task_id: string, opts?: {
41
- agent_id?: string;
42
- step?: string;
43
- message?: string;
44
- progress?: number;
45
- meta?: Record<string, unknown>;
46
- }, db?: Database): Heartbeat;
47
- export declare function getLastHeartbeat(taskId: string, db?: Database): Heartbeat | null;
48
- export declare function getTaskProgress(taskId: string, db?: Database): {
49
- total_steps: number;
50
- completed_steps: number;
51
- failed_steps: number;
52
- pending_steps: number;
53
- last_heartbeat?: Heartbeat | null;
54
- };
55
- //# sourceMappingURL=checkpoints.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkpoints.d.ts","sourceRoot":"","sources":["../../src/db/checkpoints.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
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 logProgress(taskId: string, message: string, pct?: number, agentId?: string, db?: Database): TaskComment;
5
- export declare function getComment(id: string, db?: Database): TaskComment | null;
6
- export declare function listComments(taskId: string, db?: Database): TaskComment[];
7
- export declare function updateComment(id: string, input: {
8
- content: string;
9
- }, db?: Database): TaskComment;
10
- export declare function deleteComment(id: string, db?: Database): boolean;
11
- //# sourceMappingURL=comments.d.ts.map
@@ -1 +0,0 @@
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,CA2Bb;AAED,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,QAAQ,GACZ,WAAW,CAEb;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,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,EAC1B,EAAE,CAAC,EAAE,QAAQ,GACZ,WAAW,CAQb;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAIhE"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Cycles — time-boxed iteration periods (like Linear.app cycles).
3
- *
4
- * A cycle has a start/end date, a number, and a duration in weeks.
5
- * Tasks can be assigned to a cycle via the cycle_id column on tasks.
6
- */
7
- import type { Database } from "bun:sqlite";
8
- export interface Cycle {
9
- id: string;
10
- project_id: string | null;
11
- number: number;
12
- start_date: string;
13
- end_date: string;
14
- duration_weeks: number;
15
- status: "active" | "completed" | "archived";
16
- created_at: string;
17
- updated_at: string;
18
- }
19
- export interface CycleWithStats extends Cycle {
20
- task_count: number;
21
- completed_count: number;
22
- started_count: number;
23
- uncompleted_count: number;
24
- }
25
- export interface CreateCycleInput {
26
- project_id?: string;
27
- number?: number;
28
- start_date: string;
29
- duration_weeks?: number;
30
- status?: string;
31
- }
32
- export interface CycleUpdateInput {
33
- status?: string;
34
- start_date?: string;
35
- end_date?: string;
36
- }
37
- export interface CycleQueryOptions {
38
- project_id?: string;
39
- status?: string;
40
- limit?: number;
41
- }
42
- export declare function createCycle(input: CreateCycleInput, db?: Database): Cycle;
43
- export declare function getCycle(id: string, db?: Database): Cycle | null;
44
- export declare function getCycleByNumber(project_id: string, number: number, db?: Database): Cycle | null;
45
- export declare function listCycles(options?: CycleQueryOptions, db?: Database): Cycle[];
46
- export declare function updateCycle(id: string, input: CycleUpdateInput, db?: Database): Cycle | null;
47
- export declare function deleteCycle(id: string, db?: Database): boolean;
48
- /**
49
- * Generate a sequence of cycles starting from a given date.
50
- * Creates `count` cycles with the specified duration_weeks.
51
- */
52
- export declare function generateCycles(project_id: string, options: {
53
- start_date: string;
54
- count: number;
55
- duration_weeks?: number;
56
- }, db?: Database): Cycle[];
57
- /**
58
- * Get the currently active cycle for a project (today falls within start/end).
59
- */
60
- export declare function getCurrentCycle(project_id: string, db?: Database): Cycle | null;
61
- /**
62
- * Get the next upcoming cycle (start_date is in the future).
63
- */
64
- export declare function getNextCycle(project_id: string, db?: Database): Cycle | null;
65
- /**
66
- * Get cycle statistics (task counts by state).
67
- */
68
- export declare function getCycleStats(cycle_id: string, db?: Database): {
69
- task_count: number;
70
- completed_count: number;
71
- started_count: number;
72
- uncompleted_count: number;
73
- } | null;
74
- /**
75
- * List all cycles with their task stats for a project.
76
- */
77
- export declare function listCyclesWithStats(options?: CycleQueryOptions, db?: Database): CycleWithStats[];
78
- //# sourceMappingURL=cycles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../src/db/cycles.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../src/db/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMtC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AA0EtC,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,QAAQ,CAmBrD;AAED,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;AAID,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyC9F"}
@@ -1,15 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { CreateDispatchInput, Dispatch, DispatchLog, DispatchStatus, ListDispatchesFilter } from "../types/index.js";
3
- export declare function createDispatch(input: CreateDispatchInput, db?: Database): Dispatch;
4
- export declare function getDispatch(id: string, db?: Database): Dispatch;
5
- export declare function listDispatches(filter?: ListDispatchesFilter, db?: Database): Dispatch[];
6
- export declare function cancelDispatch(id: string, db?: Database): Dispatch;
7
- export declare function updateDispatchStatus(id: string, status: DispatchStatus, opts?: {
8
- error?: string;
9
- sent_at?: string;
10
- }, db?: Database): void;
11
- export declare function createDispatchLog(log: Omit<DispatchLog, "id" | "created_at">, db?: Database): DispatchLog;
12
- export declare function listDispatchLogs(dispatchId: string, db?: Database): DispatchLog[];
13
- /** Return all dispatches that are ready to fire (pending + due). */
14
- export declare function getDueDispatches(db?: Database): Dispatch[];
15
- //# sourceMappingURL=dispatches.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatches.d.ts","sourceRoot":"","sources":["../../src/db/dispatches.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EACV,mBAAmB,EACnB,QAAQ,EACR,WAAW,EAEX,cAAc,EACd,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAiB3B,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,CAK/D;AAED,wBAAgB,cAAc,CAAC,MAAM,GAAE,oBAAyB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAoB3F;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAYlE;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,cAAc,EACtB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,EAC/C,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,CAMN;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,YAAY,CAAC,EAC3C,EAAE,CAAC,EAAE,QAAQ,GACZ,WAAW,CAYb;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,WAAW,EAAE,CAKjF;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAW1D"}
@@ -1,43 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export declare const FILE_LOCK_DEFAULT_TTL_SECONDS: number;
3
- export interface FileLock {
4
- id: string;
5
- path: string;
6
- agent_id: string;
7
- task_id: string | null;
8
- expires_at: string;
9
- created_at: string;
10
- }
11
- export interface LockFileInput {
12
- path: string;
13
- agent_id: string;
14
- task_id?: string;
15
- /** TTL in seconds (default: 1800 = 30 min) */
16
- ttl_seconds?: number;
17
- }
18
- /** Clean up expired locks. Called automatically on read operations. */
19
- export declare function cleanExpiredFileLocks(db?: Database): number;
20
- /**
21
- * Acquire an exclusive lock on a file path.
22
- * - If no lock exists (or existing lock is expired), lock is granted.
23
- * - If same agent already holds the lock, the TTL is refreshed.
24
- * - If another agent holds an active lock, throws LockError.
25
- */
26
- export declare function lockFile(input: LockFileInput, db?: Database): FileLock;
27
- /**
28
- * Release a file lock. Only the lock holder can release it.
29
- * Returns true if released, false if not found or wrong agent.
30
- */
31
- export declare function unlockFile(path: string, agentId: string, db?: Database): boolean;
32
- /**
33
- * Check who holds a lock on a file path.
34
- * Returns null if unlocked or expired.
35
- */
36
- export declare function checkFileLock(path: string, db?: Database): FileLock | null;
37
- /**
38
- * List all active (non-expired) file locks, optionally filtered by agent.
39
- */
40
- export declare function listFileLocks(agentId?: string, db?: Database): FileLock[];
41
- /** Force-release a lock regardless of which agent holds it (admin operation). */
42
- export declare function forceUnlockFile(path: string, db?: Database): boolean;
43
- //# sourceMappingURL=file-locks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-locks.d.ts","sourceRoot":"","sources":["../../src/db/file-locks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,eAAO,MAAM,6BAA6B,QAAU,CAAC;AAErD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,uEAAuE;AACvE,wBAAgB,qBAAqB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,CA8BtE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAQhF;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,IAAI,CAI1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAOzE;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAIpE"}
@@ -1,25 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export interface Handoff {
3
- id: string;
4
- agent_id: string | null;
5
- project_id: string | null;
6
- summary: string;
7
- completed: string[] | null;
8
- in_progress: string[] | null;
9
- blockers: string[] | null;
10
- next_steps: string[] | null;
11
- created_at: string;
12
- }
13
- export interface CreateHandoffInput {
14
- agent_id?: string;
15
- project_id?: string;
16
- summary: string;
17
- completed?: string[];
18
- in_progress?: string[];
19
- blockers?: string[];
20
- next_steps?: string[];
21
- }
22
- export declare function createHandoff(input: CreateHandoffInput, db?: Database): Handoff;
23
- export declare function listHandoffs(projectId?: string, limit?: number, db?: Database): Handoff[];
24
- export declare function getLatestHandoff(agentId?: string, projectId?: string, db?: Database): Handoff | null;
25
- //# sourceMappingURL=handoffs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handoffs.d.ts","sourceRoot":"","sources":["../../src/db/handoffs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CA0B/E;AAYD,wBAAgB,YAAY,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,EAAE,CAMrF;AAED,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CASpG"}
package/dist/db/kg.d.ts DELETED
@@ -1,70 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export interface KgEdge {
3
- id: string;
4
- source_id: string;
5
- source_type: string;
6
- target_id: string;
7
- target_type: string;
8
- relation_type: string;
9
- weight: number;
10
- metadata: Record<string, unknown>;
11
- created_at: string;
12
- }
13
- /**
14
- * Sync all existing relationships into kg_edges.
15
- * Idempotent — uses INSERT OR IGNORE with composite unique constraint.
16
- */
17
- export declare function syncKgEdges(db?: Database): {
18
- synced: number;
19
- };
20
- /**
21
- * Get all entities related to a given entity.
22
- */
23
- export declare function getRelated(entityId: string, opts?: {
24
- relation_type?: string;
25
- entity_type?: string;
26
- direction?: "outgoing" | "incoming" | "both";
27
- limit?: number;
28
- }, db?: Database): KgEdge[];
29
- /**
30
- * Find path between two entities using recursive CTE (BFS).
31
- * Returns the edges forming the shortest path, or empty if no path exists.
32
- */
33
- export declare function findPath(sourceId: string, targetId: string, opts?: {
34
- max_depth?: number;
35
- relation_types?: string[];
36
- }, db?: Database): KgEdge[][];
37
- /**
38
- * Get impact analysis: what entities are affected if a given entity changes.
39
- * Traverses outgoing edges recursively.
40
- */
41
- export declare function getImpactAnalysis(entityId: string, opts?: {
42
- max_depth?: number;
43
- relation_types?: string[];
44
- }, db?: Database): {
45
- entity_id: string;
46
- entity_type: string;
47
- depth: number;
48
- relation: string;
49
- }[];
50
- /**
51
- * Get critical path: tasks that block the most downstream work.
52
- * Returns tasks sorted by how many other tasks they transitively block.
53
- */
54
- export declare function getCriticalPath(opts?: {
55
- project_id?: string;
56
- limit?: number;
57
- }, db?: Database): {
58
- task_id: string;
59
- blocking_count: number;
60
- depth: number;
61
- }[];
62
- /**
63
- * Add a single edge to the knowledge graph.
64
- */
65
- export declare function addKgEdge(sourceId: string, sourceType: string, targetId: string, targetType: string, relationType: string, weight?: number, metadata?: Record<string, unknown>, db?: Database): KgEdge;
66
- /**
67
- * Remove edges matching criteria.
68
- */
69
- export declare function removeKgEdges(sourceId: string, targetId: string, relationType?: string, db?: Database): number;
70
- //# sourceMappingURL=kg.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"kg.d.ts","sourceRoot":"","sources":["../../src/db/kg.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB;AAqBD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAoE7D;AAqBD;;GAEG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EACrH,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,CAgCV;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EACxD,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,EAAE,EAAE,CA4CZ;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EACxD,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,CAuC/E;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,EAC9C,EAAE,CAAC,EAAE,QAAQ,GACZ;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CA2D9D;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EACpC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EACpC,YAAY,EAAE,MAAM,EACpB,MAAM,SAAM,EACZ,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAUR;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,EACrB,EAAE,CAAC,EAAE,QAAQ,GACZ,MAAM,CAYR"}
@@ -1,14 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- export interface ResourceLock {
3
- resource_type: string;
4
- resource_id: string;
5
- agent_id: string;
6
- lock_type: string;
7
- locked_at: string;
8
- expires_at: string;
9
- }
10
- export declare function acquireLock(resourceType: string, resourceId: string, agentId: string, lockType?: "advisory" | "exclusive", expiryMs?: number, db?: Database): boolean;
11
- export declare function releaseLock(resourceType: string, resourceId: string, agentId: string, db?: Database): boolean;
12
- export declare function checkLock(resourceType: string, resourceId: string, db?: Database): ResourceLock | null;
13
- export declare function cleanExpiredLocks(db?: Database): number;
14
- //# sourceMappingURL=locks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../src/db/locks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,UAAU,GAAG,WAAwB,EAC/C,QAAQ,GAAE,MAAsB,EAChC,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CA+BT;AAED,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CAOT;AAED,wBAAgB,SAAS,CACvB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,QAAQ,GACZ,YAAY,GAAG,IAAI,CAMrB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAOvD"}
@@ -1,46 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { Machine } from "../types/index.js";
3
- /**
4
- * Get or create the local machine entry.
5
- * Uses TODOS_MACHINE_NAME env var, falls back to OS hostname.
6
- * Idempotent — returns existing machine if name matches.
7
- */
8
- export declare function getOrCreateLocalMachine(db?: Database): Machine;
9
- export declare function getMachineId(db?: Database): string;
10
- /** Reset cached machine ID (for tests). */
11
- export declare function resetMachineId(): void;
12
- export declare function getMachine(id: string, db?: Database): Machine | null;
13
- export declare function getMachineByName(name: string, db?: Database): Machine | null;
14
- export declare function listMachines(db?: Database, includeArchived?: boolean): Machine[];
15
- /**
16
- * Register a new machine or update an existing one.
17
- */
18
- export declare function registerMachine(name: string, opts: {
19
- hostname?: string;
20
- ssh_address?: string;
21
- primary?: boolean;
22
- }, db?: Database): Machine;
23
- /**
24
- * Set a machine as the primary machine.
25
- * Clears is_primary on all other machines.
26
- */
27
- export declare function setPrimaryMachine(name: string, db?: Database): Machine;
28
- /**
29
- * Get the primary machine.
30
- */
31
- export declare function getPrimaryMachine(db?: Database): Machine | null;
32
- /**
33
- * Archive (soft-delete) a machine.
34
- * Cannot archive the primary machine or machines with active/pending tasks.
35
- */
36
- export declare function archiveMachine(id: string, db?: Database): void;
37
- /**
38
- * Unarchive a machine.
39
- */
40
- export declare function unarchiveMachine(id: string, db?: Database): Machine | null;
41
- /**
42
- * Delete a machine (hard delete). Only allowed if not primary and no tasks.
43
- */
44
- export declare function deleteMachine(id: string, db?: Database): boolean;
45
- export declare function backfillMachineId(db: Database, force?: boolean): void;
46
- //# sourceMappingURL=machines.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"machines.d.ts","sourceRoot":"","sources":["../../src/db/machines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,mBAAmB,CAAC;AAY7D;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAuB9D;AAMD,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAKlD;AAED,2CAA2C;AAC3C,wBAAgB,cAAc,IAAI,IAAI,CAErC;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,CAI5E;AAED,wBAAgB,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,UAAQ,GAAG,OAAO,EAAE,CAO9E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,EACpE,EAAE,CAAC,EAAE,QAAQ,GACZ,OAAO,CA8BT;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAUtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAI/D;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,IAAI,CAe9D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAI1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAehE;AAaD,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,UAAQ,GAAG,IAAI,CAgBnE"}
@@ -1,2 +0,0 @@
1
- export declare const MIGRATIONS: string[];
2
- //# sourceMappingURL=migrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/db/migrations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,UAy1BtB,CAAC"}
package/dist/db/orgs.d.ts DELETED
@@ -1,13 +0,0 @@
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
@@ -1 +0,0 @@
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"}