@hasna/todos 0.11.13 → 0.11.14

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 (129) hide show
  1. package/dist/cli/index.js +4264 -3018
  2. package/dist/index.js +4922 -3918
  3. package/dist/mcp/index.js +4140 -3033
  4. package/package.json +1 -1
  5. package/dashboard/dist/assets/index-B-w1tUlm.js +0 -346
  6. package/dashboard/dist/assets/index-BXQ39iMX.css +0 -1
  7. package/dashboard/dist/index.html +0 -13
  8. package/dashboard/dist/logo.jpg +0 -0
  9. package/dist/cli/brains.d.ts +0 -3
  10. package/dist/cli/brains.d.ts.map +0 -1
  11. package/dist/cli/components/App.d.ts +0 -2
  12. package/dist/cli/components/App.d.ts.map +0 -1
  13. package/dist/cli/components/Dashboard.d.ts +0 -7
  14. package/dist/cli/components/Dashboard.d.ts.map +0 -1
  15. package/dist/cli/components/Header.d.ts +0 -8
  16. package/dist/cli/components/Header.d.ts.map +0 -1
  17. package/dist/cli/components/ProjectList.d.ts +0 -8
  18. package/dist/cli/components/ProjectList.d.ts.map +0 -1
  19. package/dist/cli/components/SearchView.d.ts +0 -10
  20. package/dist/cli/components/SearchView.d.ts.map +0 -1
  21. package/dist/cli/components/TaskDetail.d.ts +0 -7
  22. package/dist/cli/components/TaskDetail.d.ts.map +0 -1
  23. package/dist/cli/components/TaskForm.d.ts +0 -15
  24. package/dist/cli/components/TaskForm.d.ts.map +0 -1
  25. package/dist/cli/components/TaskList.d.ts +0 -8
  26. package/dist/cli/components/TaskList.d.ts.map +0 -1
  27. package/dist/cli/index.d.ts +0 -3
  28. package/dist/cli/index.d.ts.map +0 -1
  29. package/dist/db/agent-metrics.d.ts +0 -34
  30. package/dist/db/agent-metrics.d.ts.map +0 -1
  31. package/dist/db/agents.d.ts +0 -82
  32. package/dist/db/agents.d.ts.map +0 -1
  33. package/dist/db/audit.d.ts +0 -52
  34. package/dist/db/audit.d.ts.map +0 -1
  35. package/dist/db/budgets.d.ts +0 -27
  36. package/dist/db/budgets.d.ts.map +0 -1
  37. package/dist/db/builtin-templates.d.ts +0 -22
  38. package/dist/db/builtin-templates.d.ts.map +0 -1
  39. package/dist/db/checklists.d.ts +0 -13
  40. package/dist/db/checklists.d.ts.map +0 -1
  41. package/dist/db/comments.d.ts +0 -8
  42. package/dist/db/comments.d.ts.map +0 -1
  43. package/dist/db/database.d.ts +0 -12
  44. package/dist/db/database.d.ts.map +0 -1
  45. package/dist/db/file-locks.d.ts +0 -43
  46. package/dist/db/file-locks.d.ts.map +0 -1
  47. package/dist/db/handoffs.d.ts +0 -25
  48. package/dist/db/handoffs.d.ts.map +0 -1
  49. package/dist/db/kg.d.ts +0 -70
  50. package/dist/db/kg.d.ts.map +0 -1
  51. package/dist/db/locks.d.ts +0 -14
  52. package/dist/db/locks.d.ts.map +0 -1
  53. package/dist/db/orgs.d.ts +0 -13
  54. package/dist/db/orgs.d.ts.map +0 -1
  55. package/dist/db/patrol.d.ts +0 -35
  56. package/dist/db/patrol.d.ts.map +0 -1
  57. package/dist/db/pg-migrate.d.ts +0 -14
  58. package/dist/db/pg-migrate.d.ts.map +0 -1
  59. package/dist/db/pg-migrations.d.ts +0 -8
  60. package/dist/db/pg-migrations.d.ts.map +0 -1
  61. package/dist/db/plans.d.ts +0 -8
  62. package/dist/db/plans.d.ts.map +0 -1
  63. package/dist/db/project-agent-roles.d.ts +0 -34
  64. package/dist/db/project-agent-roles.d.ts.map +0 -1
  65. package/dist/db/projects.d.ts +0 -16
  66. package/dist/db/projects.d.ts.map +0 -1
  67. package/dist/db/sessions.d.ts +0 -8
  68. package/dist/db/sessions.d.ts.map +0 -1
  69. package/dist/db/snapshots.d.ts +0 -37
  70. package/dist/db/snapshots.d.ts.map +0 -1
  71. package/dist/db/task-commits.d.ts +0 -31
  72. package/dist/db/task-commits.d.ts.map +0 -1
  73. package/dist/db/task-files.d.ts +0 -74
  74. package/dist/db/task-files.d.ts.map +0 -1
  75. package/dist/db/task-lists.d.ts +0 -10
  76. package/dist/db/task-lists.d.ts.map +0 -1
  77. package/dist/db/task-relationships.d.ts +0 -36
  78. package/dist/db/task-relationships.d.ts.map +0 -1
  79. package/dist/db/tasks.d.ts +0 -215
  80. package/dist/db/tasks.d.ts.map +0 -1
  81. package/dist/db/templates.d.ts +0 -98
  82. package/dist/db/templates.d.ts.map +0 -1
  83. package/dist/db/traces.d.ts +0 -38
  84. package/dist/db/traces.d.ts.map +0 -1
  85. package/dist/db/webhooks.d.ts +0 -19
  86. package/dist/db/webhooks.d.ts.map +0 -1
  87. package/dist/index.d.ts +0 -65
  88. package/dist/index.d.ts.map +0 -1
  89. package/dist/lib/agent-tasks.d.ts +0 -11
  90. package/dist/lib/agent-tasks.d.ts.map +0 -1
  91. package/dist/lib/auto-assign.d.ts +0 -25
  92. package/dist/lib/auto-assign.d.ts.map +0 -1
  93. package/dist/lib/burndown.d.ts +0 -18
  94. package/dist/lib/burndown.d.ts.map +0 -1
  95. package/dist/lib/claude-tasks.d.ts +0 -20
  96. package/dist/lib/claude-tasks.d.ts.map +0 -1
  97. package/dist/lib/completion-guard.d.ts +0 -17
  98. package/dist/lib/completion-guard.d.ts.map +0 -1
  99. package/dist/lib/config.d.ts +0 -44
  100. package/dist/lib/config.d.ts.map +0 -1
  101. package/dist/lib/extract.d.ts +0 -51
  102. package/dist/lib/extract.d.ts.map +0 -1
  103. package/dist/lib/gatherer.d.ts +0 -16
  104. package/dist/lib/gatherer.d.ts.map +0 -1
  105. package/dist/lib/github.d.ts +0 -25
  106. package/dist/lib/github.d.ts.map +0 -1
  107. package/dist/lib/model-config.d.ts +0 -14
  108. package/dist/lib/model-config.d.ts.map +0 -1
  109. package/dist/lib/recurrence.d.ts +0 -10
  110. package/dist/lib/recurrence.d.ts.map +0 -1
  111. package/dist/lib/search.d.ts +0 -17
  112. package/dist/lib/search.d.ts.map +0 -1
  113. package/dist/lib/sync-types.d.ts +0 -16
  114. package/dist/lib/sync-types.d.ts.map +0 -1
  115. package/dist/lib/sync-utils.d.ts +0 -12
  116. package/dist/lib/sync-utils.d.ts.map +0 -1
  117. package/dist/lib/sync.d.ts +0 -9
  118. package/dist/lib/sync.d.ts.map +0 -1
  119. package/dist/mcp/index.d.ts +0 -3
  120. package/dist/mcp/index.d.ts.map +0 -1
  121. package/dist/sdk.d.ts +0 -186
  122. package/dist/sdk.d.ts.map +0 -1
  123. package/dist/server/index.d.ts +0 -9
  124. package/dist/server/index.d.ts.map +0 -1
  125. package/dist/server/index.js +0 -4707
  126. package/dist/server/serve.d.ts +0 -10
  127. package/dist/server/serve.d.ts.map +0 -1
  128. package/dist/types/index.d.ts +0 -590
  129. package/dist/types/index.d.ts.map +0 -1
@@ -1,44 +0,0 @@
1
- export interface AgentConfig {
2
- task_list_id?: string;
3
- tasks_dir?: string;
4
- }
5
- export interface TaskPrefixConfig {
6
- prefix: string;
7
- start_from?: number;
8
- }
9
- export interface CompletionGuardConfig {
10
- enabled?: boolean;
11
- min_work_seconds?: number;
12
- max_completions_per_window?: number;
13
- window_minutes?: number;
14
- cooldown_seconds?: number;
15
- }
16
- export interface ProjectOverrideConfig {
17
- completion_guard?: CompletionGuardConfig;
18
- }
19
- export interface TodosConfig {
20
- sync_agents?: string[] | string;
21
- task_list_id?: string;
22
- agent_tasks_dir?: string;
23
- agents?: Record<string, AgentConfig>;
24
- task_prefix?: TaskPrefixConfig;
25
- completion_guard?: CompletionGuardConfig;
26
- project_overrides?: Record<string, ProjectOverrideConfig>;
27
- /** Global pool of allowed agent names. Used when no project-specific pool matches. */
28
- agent_pool?: string[];
29
- /** Per-project agent name pools, keyed by working directory path prefix. */
30
- project_pools?: Record<string, string[]>;
31
- }
32
- export declare function loadConfig(): TodosConfig;
33
- export declare function getSyncAgentsFromConfig(): string[] | null;
34
- export declare function getAgentTaskListId(agent: string): string | null;
35
- export declare function getAgentTasksDir(agent: string): string | null;
36
- export declare function getTaskPrefixConfig(): TaskPrefixConfig | null;
37
- /**
38
- * Get the agent name pool for a given working directory.
39
- * Checks project_pools for the longest matching path prefix, then falls back
40
- * to agent_pool. Returns null if no pool is configured (no name restriction).
41
- */
42
- export declare function getAgentPoolForProject(workingDir?: string): string[] | null;
43
- export declare function getCompletionGuardConfig(projectPath?: string | null): Required<CompletionGuardConfig>;
44
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;IACzC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC1D,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C;AAmBD,wBAAgB,UAAU,IAAI,WAAW,CAYxC;AAED,wBAAgB,uBAAuB,IAAI,MAAM,EAAE,GAAG,IAAI,CAKzD;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM7D;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAG7D;AAUD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAmB3E;AAED,wBAAgB,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CASrG"}
@@ -1,51 +0,0 @@
1
- import type { Task, TaskPriority } from "../types/index.js";
2
- import type { Database } from "bun:sqlite";
3
- export declare const EXTRACT_TAGS: readonly ["TODO", "FIXME", "HACK", "XXX", "BUG", "NOTE"];
4
- export type ExtractTag = (typeof EXTRACT_TAGS)[number];
5
- export interface ExtractedComment {
6
- tag: ExtractTag;
7
- message: string;
8
- file: string;
9
- line: number;
10
- /** Full line content from the source file */
11
- raw: string;
12
- }
13
- export interface ExtractOptions {
14
- /** Directory or file to scan */
15
- path: string;
16
- /** Comment tags to look for (default: all) */
17
- patterns?: ExtractTag[];
18
- /** Project ID to assign tasks to */
19
- project_id?: string;
20
- /** Task list ID */
21
- task_list_id?: string;
22
- /** Extra tags to add to created tasks */
23
- tags?: string[];
24
- /** Agent to assign tasks to */
25
- assigned_to?: string;
26
- /** Agent ID performing the extraction */
27
- agent_id?: string;
28
- /** If true, return extracted comments without creating tasks */
29
- dry_run?: boolean;
30
- /** File extensions to scan (default: common code extensions) */
31
- extensions?: string[];
32
- }
33
- export interface ExtractResult {
34
- /** All comments found */
35
- comments: ExtractedComment[];
36
- /** Tasks created (empty if dry_run) */
37
- tasks: Task[];
38
- /** Number of duplicates skipped */
39
- skipped: number;
40
- }
41
- /** Priority mapping from comment tag */
42
- export declare function tagToPriority(tag: ExtractTag): TaskPriority;
43
- /**
44
- * Extract TODO-style comments from a single file's contents.
45
- */
46
- export declare function extractFromSource(source: string, filePath: string, tags?: ExtractTag[]): ExtractedComment[];
47
- /**
48
- * Scan a directory or file for TODO-style comments and optionally create tasks.
49
- */
50
- export declare function extractTodos(options: ExtractOptions, db?: Database): ExtractResult;
51
- //# sourceMappingURL=extract.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/lib/extract.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,eAAO,MAAM,YAAY,0DAA2D,CAAC;AACrF,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,UAAU,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,oCAAoC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,aAAa;IAC5B,yBAAyB;IACzB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,uCAAuC;IACvC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;CACjB;AAqBD,wCAAwC;AACxC,wBAAgB,aAAa,CAAC,GAAG,EAAE,UAAU,GAAG,YAAY,CAa3D;AAiBD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,UAAU,EAAsB,GACrC,gBAAgB,EAAE,CA0BpB;AA+BD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,CAuFlF"}
@@ -1,16 +0,0 @@
1
- type GatherTrainingDataFn = (options?: {
2
- limit?: number;
3
- since?: Date;
4
- }) => Promise<{
5
- source: string;
6
- examples: Array<{
7
- messages: Array<{
8
- role: "system" | "user" | "assistant";
9
- content: string;
10
- }>;
11
- }>;
12
- count: number;
13
- }>;
14
- export declare const gatherTrainingData: GatherTrainingDataFn;
15
- export {};
16
- //# sourceMappingURL=gatherer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gatherer.d.ts","sourceRoot":"","sources":["../../src/lib/gatherer.ts"],"names":[],"mappings":"AAMA,KAAK,oBAAoB,GAAG,CAAC,OAAO,CAAC,EAAE;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,IAAI,CAAC;CACd,KAAK,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC7E,CAAC,CAAC;IACH,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AA8EH,eAAO,MAAM,kBAAkB,EAAE,oBAoDhC,CAAC"}
@@ -1,25 +0,0 @@
1
- import type { CreateTaskInput } from "../types/index.js";
2
- export interface GitHubIssue {
3
- number: number;
4
- title: string;
5
- body: string | null;
6
- labels: string[];
7
- state: string;
8
- assignee: string | null;
9
- url: string;
10
- }
11
- /** Parse a GitHub issue URL into owner/repo/number */
12
- export declare function parseGitHubUrl(url: string): {
13
- owner: string;
14
- repo: string;
15
- number: number;
16
- } | null;
17
- /** Fetch a GitHub issue using the gh CLI */
18
- export declare function fetchGitHubIssue(owner: string, repo: string, number: number): GitHubIssue;
19
- /** Convert a GitHub issue to a CreateTaskInput */
20
- export declare function issueToTask(issue: GitHubIssue, opts?: {
21
- project_id?: string;
22
- task_list_id?: string;
23
- agent_id?: string;
24
- }): CreateTaskInput;
25
- //# sourceMappingURL=github.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"github.d.ts","sourceRoot":"","sources":["../../src/lib/github.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEzD,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,sDAAsD;AACtD,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAIlG;AAED,4CAA4C;AAC5C,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAezF;AAED,kDAAkD;AAClD,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAuBzI"}
@@ -1,14 +0,0 @@
1
- export declare const DEFAULT_MODEL = "gpt-4o-mini";
2
- /**
3
- * Returns the currently active fine-tuned model ID, or the default model.
4
- */
5
- export declare function getActiveModel(): string;
6
- /**
7
- * Sets the active fine-tuned model ID in ~/.hasna/todos/config.json.
8
- */
9
- export declare function setActiveModel(modelId: string): void;
10
- /**
11
- * Clears the active fine-tuned model, reverting to the default.
12
- */
13
- export declare function clearActiveModel(): void;
14
- //# sourceMappingURL=model-config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-config.d.ts","sourceRoot":"","sources":["../../src/lib/model-config.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa,gBAAgB,CAAC;AAmC3C;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAGvC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAIpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAIvC"}
@@ -1,10 +0,0 @@
1
- export interface ParsedRule {
2
- type: "interval" | "weekdays" | "specific_days";
3
- interval?: number;
4
- unit?: "day" | "week" | "month";
5
- days?: number[];
6
- }
7
- export declare function parseRecurrenceRule(rule: string): ParsedRule;
8
- export declare function isValidRecurrenceRule(rule: string): boolean;
9
- export declare function nextOccurrence(rule: string, from?: Date): string;
10
- //# sourceMappingURL=recurrence.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"recurrence.d.ts","sourceRoot":"","sources":["../../src/lib/recurrence.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,eAAe,CAAC;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAoD5D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAO3D;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAkChE"}
@@ -1,17 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { Task } from "../types/index.js";
3
- export interface SearchOptions {
4
- query: string;
5
- project_id?: string;
6
- task_list_id?: string;
7
- status?: string | string[];
8
- priority?: string | string[];
9
- assigned_to?: string;
10
- agent_id?: string;
11
- created_after?: string;
12
- updated_after?: string;
13
- has_dependencies?: boolean;
14
- is_blocked?: boolean;
15
- }
16
- export declare function searchTasks(options: SearchOptions | string, projectId?: string, taskListId?: string, db?: Database): Task[];
17
- //# sourceMappingURL=search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/lib/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAoB,MAAM,YAAY,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAW,MAAM,mBAAmB,CAAC;AAcvD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuBD,wBAAgB,WAAW,CACzB,OAAO,EAAE,aAAa,GAAG,MAAM,EAC/B,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,EAAE,CAqGR"}
@@ -1,16 +0,0 @@
1
- export interface SyncResult {
2
- pushed: number;
3
- pulled: number;
4
- errors: string[];
5
- }
6
- export type SyncPrefer = "local" | "remote";
7
- export interface SyncConflict {
8
- agent: string;
9
- direction: "push" | "pull";
10
- prefer: SyncPrefer;
11
- local_updated_at?: string;
12
- remote_updated_at?: string;
13
- detected_at: string;
14
- notes?: string;
15
- }
16
- //# sourceMappingURL=sync-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-types.d.ts","sourceRoot":"","sources":["../../src/lib/sync-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1,12 +0,0 @@
1
- import type { SyncConflict } from "./sync-types.js";
2
- export declare const HOME: string;
3
- export declare function ensureDir(dir: string): void;
4
- export declare function listJsonFiles(dir: string): string[];
5
- export declare function readJsonFile<T>(path: string): T | null;
6
- export declare function writeJsonFile(path: string, data: unknown): void;
7
- export declare function readHighWaterMark(dir: string): number;
8
- export declare function writeHighWaterMark(dir: string, value: number): void;
9
- export declare function getFileMtimeMs(path: string): number | null;
10
- export declare function parseTimestamp(value: unknown): number | null;
11
- export declare function appendSyncConflict(metadata: Record<string, unknown>, conflict: SyncConflict, limit?: number): Record<string, unknown>;
12
- //# sourceMappingURL=sync-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync-utils.d.ts","sourceRoot":"","sources":["../../src/lib/sync-utils.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,eAAO,MAAM,IAAI,QAA2D,CAAC;AAE7E,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAGnD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAMtD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAE/D;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM1D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,QAAQ,EAAE,YAAY,EACtB,KAAK,SAAI,GACR,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAIzB"}
@@ -1,9 +0,0 @@
1
- import type { SyncPrefer, SyncResult } from "./sync-types.js";
2
- export type SyncDirection = "push" | "pull" | "both";
3
- export interface SyncOptions {
4
- prefer?: SyncPrefer;
5
- }
6
- export declare function defaultSyncAgents(): string[];
7
- export declare function syncWithAgent(agent: string, taskListId: string, projectId?: string, direction?: SyncDirection, options?: SyncOptions): SyncResult;
8
- export declare function syncWithAgents(agents: string[], taskListIdByAgent: (agent: string) => string | null, projectId?: string, direction?: SyncDirection, options?: SyncOptions): SyncResult;
9
- //# sourceMappingURL=sync.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../src/lib/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK9D,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAWD,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAQ5C;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAsB,EACjC,OAAO,GAAE,WAAgB,GACxB,UAAU,CAWZ;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EAAE,EAChB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,EACnD,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAsB,EACjC,OAAO,GAAE,WAAgB,GACxB,UAAU,CAoCZ"}
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env bun
2
- export declare function applyFocus(params: Record<string, any>, agentId?: string): void;
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":";AAiJA,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAO9E"}
package/dist/sdk.d.ts DELETED
@@ -1,186 +0,0 @@
1
- /**
2
- * @hasna/todos REST SDK Client
3
- * Zero-dependency HTTP client for the todos REST API (todos serve).
4
- * Use when you need to interact with todos from another machine or process.
5
- *
6
- * Default port: 19427
7
- * Env var: TODOS_URL (e.g. http://localhost:19427)
8
- */
9
- export interface TodosClientOptions {
10
- baseUrl?: string;
11
- timeout?: number;
12
- }
13
- export interface TaskSummary {
14
- id: string;
15
- short_id: string | null;
16
- title: string;
17
- description: string | null;
18
- status: "pending" | "in_progress" | "completed" | "failed" | "cancelled";
19
- priority: "low" | "medium" | "high" | "critical";
20
- project_id: string | null;
21
- plan_id: string | null;
22
- task_list_id: string | null;
23
- agent_id: string | null;
24
- assigned_to: string | null;
25
- locked_by: string | null;
26
- tags: string[];
27
- version: number;
28
- created_at: string;
29
- updated_at: string;
30
- completed_at: string | null;
31
- due_at: string | null;
32
- recurrence_rule: string | null;
33
- }
34
- export interface StatusSummaryResponse {
35
- pending: number;
36
- in_progress: number;
37
- completed: number;
38
- total: number;
39
- active_work: {
40
- id: string;
41
- short_id: string | null;
42
- title: string;
43
- priority: string;
44
- assigned_to: string | null;
45
- locked_by: string | null;
46
- updated_at: string;
47
- }[];
48
- next_task: TaskSummary | null;
49
- stale_count: number;
50
- overdue_recurring: number;
51
- }
52
- export interface ProgressEntry {
53
- id: string;
54
- task_id: string;
55
- content: string;
56
- type: "comment" | "progress" | "note";
57
- progress_pct: number | null;
58
- agent_id: string | null;
59
- created_at: string;
60
- }
61
- export interface DashboardStats {
62
- total_tasks: number;
63
- pending: number;
64
- in_progress: number;
65
- completed: number;
66
- failed: number;
67
- cancelled: number;
68
- projects: number;
69
- agents: number;
70
- stale_count?: number;
71
- overdue_recurring?: number;
72
- recurring_tasks?: number;
73
- }
74
- export declare class TodosClient {
75
- private baseUrl;
76
- private timeout;
77
- constructor(options?: TodosClientOptions);
78
- static fromEnv(): TodosClient;
79
- private fetch;
80
- getHealth(): Promise<{
81
- status: "ok" | "warn";
82
- tasks: number;
83
- stale: number;
84
- overdue_recurring: number;
85
- timestamp: string;
86
- }>;
87
- isAlive(): Promise<boolean>;
88
- getStatus(projectId?: string, agentId?: string): Promise<StatusSummaryResponse>;
89
- listTasks(filter?: {
90
- status?: string;
91
- project_id?: string;
92
- assigned_to?: string;
93
- limit?: number;
94
- offset?: number;
95
- session_id?: string;
96
- due_today?: boolean;
97
- overdue?: boolean;
98
- }): Promise<TaskSummary[]>;
99
- getTask(id: string): Promise<TaskSummary>;
100
- getTaskAttachments(id: string): Promise<{
101
- task_id: string;
102
- short_id: string | null;
103
- attachment_ids: string[];
104
- count: number;
105
- files_changed?: string[];
106
- commit_hash?: string;
107
- notes?: string;
108
- }>;
109
- getTaskHistory(id: string): Promise<any[]>;
110
- getTaskProgress(id: string): Promise<any>;
111
- claimNextTask(agentId: string, projectId?: string): Promise<any>;
112
- completeTask(id: string, agentId?: string): Promise<any>;
113
- createTask(data: {
114
- title: string;
115
- description?: string;
116
- priority?: string;
117
- project_id?: string;
118
- assigned_to?: string;
119
- tags?: string[];
120
- recurrence_rule?: string;
121
- due_at?: string;
122
- }): Promise<any>;
123
- updateTask(id: string, data: Record<string, unknown>): Promise<any>;
124
- deleteTask(id: string): Promise<void>;
125
- getStats(): Promise<DashboardStats>;
126
- getActiveWork(projectId?: string): Promise<any[]>;
127
- getTasksChangedSince(since: string, projectId?: string): Promise<any>;
128
- startTask(id: string, agentId: string): Promise<any>;
129
- failTask(id: string, options?: {
130
- reason?: string;
131
- agent_id?: string;
132
- retry?: boolean;
133
- error_code?: string;
134
- }): Promise<{
135
- task: TaskSummary;
136
- retry_task: TaskSummary | null;
137
- }>;
138
- logProgress(taskId: string, message: string, pctComplete?: number, agentId?: string): Promise<any>;
139
- exportTasks(filter?: {
140
- status?: string;
141
- project_id?: string;
142
- format?: "json" | "csv";
143
- }): Promise<any>;
144
- getProjects(): Promise<any[]>;
145
- getContext(options?: {
146
- agentId?: string;
147
- projectId?: string;
148
- format?: "text" | "compact" | "json";
149
- }): Promise<string | any>;
150
- getReport(options?: {
151
- days?: number;
152
- projectId?: string;
153
- }): Promise<{
154
- days: number;
155
- period_since: string;
156
- total: number;
157
- changed: number;
158
- completed: number;
159
- failed: number;
160
- completion_rate: number;
161
- stats: any;
162
- by_day: Record<string, number>;
163
- }>;
164
- /**
165
- * Subscribe to task events via SSE. Returns an AsyncGenerator that yields events.
166
- * Events: task.created, task.started, task.completed, task.failed, task.assigned, task.status_changed
167
- *
168
- * @example
169
- * for await (const event of client.subscribeToStream({ agentId: "aurelius" })) {
170
- * console.log(event.action, event.task_id);
171
- * }
172
- */
173
- subscribeToStream(options?: {
174
- agentId?: string;
175
- projectId?: string;
176
- events?: string[];
177
- }): AsyncGenerator<{
178
- type: string;
179
- action: string;
180
- task_id?: string;
181
- agent_id?: string | null;
182
- timestamp: string;
183
- }, void, unknown>;
184
- }
185
- export declare function createClient(options?: TodosClientOptions): TodosClient;
186
- //# sourceMappingURL=sdk.d.ts.map
package/dist/sdk.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env bun
2
- /**
3
- * Standalone entry point for the todos dashboard server.
4
- * Usage: todos-serve [--port 19427]
5
- *
6
- * If the default port is in use, automatically finds the next free port.
7
- */
8
- export {};
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AACA;;;;;GAKG"}