@hasna/todos 0.9.31 → 0.9.33

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 (67) hide show
  1. package/package.json +1 -1
  2. package/dashboard/dist/assets/index-DVzieYOj.js +0 -346
  3. package/dashboard/dist/assets/index-DWpVlvWb.css +0 -1
  4. package/dashboard/dist/index.html +0 -13
  5. package/dashboard/dist/logo.jpg +0 -0
  6. package/dist/cli/components/App.d.ts +0 -2
  7. package/dist/cli/components/App.d.ts.map +0 -1
  8. package/dist/cli/components/Header.d.ts +0 -8
  9. package/dist/cli/components/Header.d.ts.map +0 -1
  10. package/dist/cli/components/ProjectList.d.ts +0 -8
  11. package/dist/cli/components/ProjectList.d.ts.map +0 -1
  12. package/dist/cli/components/SearchView.d.ts +0 -10
  13. package/dist/cli/components/SearchView.d.ts.map +0 -1
  14. package/dist/cli/components/TaskDetail.d.ts +0 -7
  15. package/dist/cli/components/TaskDetail.d.ts.map +0 -1
  16. package/dist/cli/components/TaskForm.d.ts +0 -15
  17. package/dist/cli/components/TaskForm.d.ts.map +0 -1
  18. package/dist/cli/components/TaskList.d.ts +0 -8
  19. package/dist/cli/components/TaskList.d.ts.map +0 -1
  20. package/dist/cli/index.d.ts +0 -3
  21. package/dist/cli/index.d.ts.map +0 -1
  22. package/dist/cli/index.js +0 -12559
  23. package/dist/db/agents.d.ts +0 -19
  24. package/dist/db/agents.d.ts.map +0 -1
  25. package/dist/db/comments.d.ts +0 -7
  26. package/dist/db/comments.d.ts.map +0 -1
  27. package/dist/db/database.d.ts +0 -12
  28. package/dist/db/database.d.ts.map +0 -1
  29. package/dist/db/plans.d.ts +0 -8
  30. package/dist/db/plans.d.ts.map +0 -1
  31. package/dist/db/projects.d.ts +0 -12
  32. package/dist/db/projects.d.ts.map +0 -1
  33. package/dist/db/sessions.d.ts +0 -8
  34. package/dist/db/sessions.d.ts.map +0 -1
  35. package/dist/db/task-lists.d.ts +0 -10
  36. package/dist/db/task-lists.d.ts.map +0 -1
  37. package/dist/db/tasks.d.ts +0 -17
  38. package/dist/db/tasks.d.ts.map +0 -1
  39. package/dist/index.d.ts +0 -17
  40. package/dist/index.d.ts.map +0 -1
  41. package/dist/index.js +0 -2355
  42. package/dist/lib/agent-tasks.d.ts +0 -11
  43. package/dist/lib/agent-tasks.d.ts.map +0 -1
  44. package/dist/lib/claude-tasks.d.ts +0 -20
  45. package/dist/lib/claude-tasks.d.ts.map +0 -1
  46. package/dist/lib/completion-guard.d.ts +0 -17
  47. package/dist/lib/completion-guard.d.ts.map +0 -1
  48. package/dist/lib/config.d.ts +0 -34
  49. package/dist/lib/config.d.ts.map +0 -1
  50. package/dist/lib/search.d.ts +0 -4
  51. package/dist/lib/search.d.ts.map +0 -1
  52. package/dist/lib/sync-types.d.ts +0 -16
  53. package/dist/lib/sync-types.d.ts.map +0 -1
  54. package/dist/lib/sync-utils.d.ts +0 -12
  55. package/dist/lib/sync-utils.d.ts.map +0 -1
  56. package/dist/lib/sync.d.ts +0 -9
  57. package/dist/lib/sync.d.ts.map +0 -1
  58. package/dist/mcp/index.d.ts +0 -3
  59. package/dist/mcp/index.d.ts.map +0 -1
  60. package/dist/mcp/index.js +0 -7214
  61. package/dist/server/index.d.ts +0 -9
  62. package/dist/server/index.d.ts.map +0 -1
  63. package/dist/server/index.js +0 -2077
  64. package/dist/server/serve.d.ts +0 -9
  65. package/dist/server/serve.d.ts.map +0 -1
  66. package/dist/types/index.d.ts +0 -359
  67. package/dist/types/index.d.ts.map +0 -1
@@ -1,11 +0,0 @@
1
- import type { SyncPrefer, SyncResult } from "./sync-types.js";
2
- export declare function pushToAgentTaskList(agent: string, taskListId: string, projectId?: string, options?: {
3
- prefer?: SyncPrefer;
4
- }): SyncResult;
5
- export declare function pullFromAgentTaskList(agent: string, taskListId: string, projectId?: string, options?: {
6
- prefer?: SyncPrefer;
7
- }): SyncResult;
8
- export declare function syncAgentTaskList(agent: string, taskListId: string, projectId?: string, options?: {
9
- prefer?: SyncPrefer;
10
- }): SyncResult;
11
- //# sourceMappingURL=agent-tasks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"agent-tasks.d.ts","sourceRoot":"","sources":["../../src/lib/agent-tasks.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAwD9D,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACpC,UAAU,CAuFZ;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACpC,UAAU,CAoFZ;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACpC,UAAU,CAQZ"}
@@ -1,20 +0,0 @@
1
- import type { SyncPrefer, SyncResult } from "./sync-types.js";
2
- /**
3
- * Push all SQLite tasks to a Claude Code task list directory.
4
- */
5
- export declare function pushToClaudeTaskList(taskListId: string, projectId?: string, options?: {
6
- prefer?: SyncPrefer;
7
- }): SyncResult;
8
- /**
9
- * Pull tasks from a Claude Code task list into SQLite.
10
- */
11
- export declare function pullFromClaudeTaskList(taskListId: string, projectId?: string, options?: {
12
- prefer?: SyncPrefer;
13
- }): SyncResult;
14
- /**
15
- * Bidirectional sync: pull first, then push.
16
- */
17
- export declare function syncClaudeTaskList(taskListId: string, projectId?: string, options?: {
18
- prefer?: SyncPrefer;
19
- }): SyncResult;
20
- //# sourceMappingURL=claude-tasks.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-tasks.d.ts","sourceRoot":"","sources":["../../src/lib/claude-tasks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAwF9D;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACpC,UAAU,CA4GZ;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACpC,UAAU,CAwFZ;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,MAAM,EAClB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,UAAU,CAAA;CAAO,GACpC,UAAU,CAQZ"}
@@ -1,17 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { Task } from "../types/index.js";
3
- import { type CompletionGuardConfig } from "./config.js";
4
- /**
5
- * Checks completion guards before allowing a task to be marked as completed.
6
- * Throws CompletionGuardError if any guard condition is violated.
7
- *
8
- * Guards:
9
- * 1. Status check — task must be in_progress
10
- * 2. Minimum work duration — must have spent enough time since startTask()
11
- * 3. Rate limit — max completions per agent per time window
12
- * 4. Cooldown — minimum gap between consecutive completions
13
- *
14
- * @param configOverride - Optional config override (used in tests)
15
- */
16
- export declare function checkCompletionGuard(task: Task, agentId: string | null, db: Database, configOverride?: Required<CompletionGuardConfig>): void;
17
- //# sourceMappingURL=completion-guard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"completion-guard.d.ts","sourceRoot":"","sources":["../../src/lib/completion-guard.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAA4B,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGnF;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,MAAM,GAAG,IAAI,EACtB,EAAE,EAAE,QAAQ,EACZ,cAAc,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,GAC/C,IAAI,CAyEN"}
@@ -1,34 +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
- }
28
- export declare function loadConfig(): TodosConfig;
29
- export declare function getSyncAgentsFromConfig(): string[] | null;
30
- export declare function getAgentTaskListId(agent: string): string | null;
31
- export declare function getAgentTasksDir(agent: string): string | null;
32
- export declare function getTaskPrefixConfig(): TaskPrefixConfig | null;
33
- export declare function getCompletionGuardConfig(projectPath?: string | null): Required<CompletionGuardConfig>;
34
- //# 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;CAC3D;AASD,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,wBAAgB,wBAAwB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC,qBAAqB,CAAC,CASrG"}
@@ -1,4 +0,0 @@
1
- import type { Database } from "bun:sqlite";
2
- import type { Task } from "../types/index.js";
3
- export declare function searchTasks(query: string, projectId?: string, taskListId?: string, db?: Database): Task[];
4
- //# 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;AAavD,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,EAAE,CAAC,EAAE,QAAQ,GACZ,IAAI,EAAE,CAwBR"}
@@ -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 {};
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":""}