agent-tasks 1.1.0

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 (91) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +74 -0
  3. package/dist/context.d.ts +17 -0
  4. package/dist/context.d.ts.map +1 -0
  5. package/dist/context.js +37 -0
  6. package/dist/context.js.map +1 -0
  7. package/dist/db.d.ts +10 -0
  8. package/dist/db.d.ts.map +1 -0
  9. package/dist/db.js +112 -0
  10. package/dist/db.js.map +1 -0
  11. package/dist/domain/agent-bridge.d.ts +13 -0
  12. package/dist/domain/agent-bridge.d.ts.map +1 -0
  13. package/dist/domain/agent-bridge.js +99 -0
  14. package/dist/domain/agent-bridge.js.map +1 -0
  15. package/dist/domain/approvals.d.ts +18 -0
  16. package/dist/domain/approvals.d.ts.map +1 -0
  17. package/dist/domain/approvals.js +89 -0
  18. package/dist/domain/approvals.js.map +1 -0
  19. package/dist/domain/cleanup.d.ts +28 -0
  20. package/dist/domain/cleanup.d.ts.map +1 -0
  21. package/dist/domain/cleanup.js +68 -0
  22. package/dist/domain/cleanup.js.map +1 -0
  23. package/dist/domain/collaborators.d.ts +14 -0
  24. package/dist/domain/collaborators.d.ts.map +1 -0
  25. package/dist/domain/collaborators.js +59 -0
  26. package/dist/domain/collaborators.js.map +1 -0
  27. package/dist/domain/comments.d.ts +14 -0
  28. package/dist/domain/comments.d.ts.map +1 -0
  29. package/dist/domain/comments.js +63 -0
  30. package/dist/domain/comments.js.map +1 -0
  31. package/dist/domain/events.d.ts +9 -0
  32. package/dist/domain/events.d.ts.map +1 -0
  33. package/dist/domain/events.js +52 -0
  34. package/dist/domain/events.js.map +1 -0
  35. package/dist/domain/rules.d.ts +2 -0
  36. package/dist/domain/rules.d.ts.map +1 -0
  37. package/dist/domain/rules.js +67 -0
  38. package/dist/domain/rules.js.map +1 -0
  39. package/dist/domain/tasks.d.ts +60 -0
  40. package/dist/domain/tasks.d.ts.map +1 -0
  41. package/dist/domain/tasks.js +616 -0
  42. package/dist/domain/tasks.js.map +1 -0
  43. package/dist/domain/validate.d.ts +14 -0
  44. package/dist/domain/validate.d.ts.map +1 -0
  45. package/dist/domain/validate.js +29 -0
  46. package/dist/domain/validate.js.map +1 -0
  47. package/dist/event-bus.d.ts +10 -0
  48. package/dist/event-bus.d.ts.map +1 -0
  49. package/dist/event-bus.js +38 -0
  50. package/dist/event-bus.js.map +1 -0
  51. package/dist/index.d.ts +3 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +121 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/server.d.ts +10 -0
  56. package/dist/server.d.ts.map +1 -0
  57. package/dist/server.js +95 -0
  58. package/dist/server.js.map +1 -0
  59. package/dist/session.d.ts +7 -0
  60. package/dist/session.d.ts.map +1 -0
  61. package/dist/session.js +11 -0
  62. package/dist/session.js.map +1 -0
  63. package/dist/storage/database.d.ts +15 -0
  64. package/dist/storage/database.d.ts.map +1 -0
  65. package/dist/storage/database.js +215 -0
  66. package/dist/storage/database.js.map +1 -0
  67. package/dist/tasks.d.ts +32 -0
  68. package/dist/tasks.d.ts.map +1 -0
  69. package/dist/tasks.js +410 -0
  70. package/dist/tasks.js.map +1 -0
  71. package/dist/transport/mcp.d.ts +6 -0
  72. package/dist/transport/mcp.d.ts.map +1 -0
  73. package/dist/transport/mcp.js +573 -0
  74. package/dist/transport/mcp.js.map +1 -0
  75. package/dist/transport/rest.d.ts +4 -0
  76. package/dist/transport/rest.d.ts.map +1 -0
  77. package/dist/transport/rest.js +382 -0
  78. package/dist/transport/rest.js.map +1 -0
  79. package/dist/transport/ws.d.ts +10 -0
  80. package/dist/transport/ws.d.ts.map +1 -0
  81. package/dist/transport/ws.js +177 -0
  82. package/dist/transport/ws.js.map +1 -0
  83. package/dist/types.d.ts +146 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/types.js +35 -0
  86. package/dist/types.js.map +1 -0
  87. package/dist/ui/app.js +648 -0
  88. package/dist/ui/index.html +82 -0
  89. package/dist/ui/morphdom.min.js +1 -0
  90. package/dist/ui/styles.css +805 -0
  91. package/package.json +78 -0
@@ -0,0 +1,146 @@
1
+ export type TaskStatus = 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled';
2
+ export interface Task {
3
+ readonly id: number;
4
+ readonly title: string;
5
+ readonly description: string | null;
6
+ readonly created_by: string;
7
+ readonly assigned_to: string | null;
8
+ readonly status: TaskStatus;
9
+ readonly stage: string;
10
+ readonly priority: number;
11
+ readonly project: string | null;
12
+ readonly tags: string | null;
13
+ readonly result: string | null;
14
+ readonly parent_id: number | null;
15
+ readonly created_at: string;
16
+ readonly updated_at: string;
17
+ }
18
+ export interface TaskCreateInput {
19
+ title: string;
20
+ description?: string;
21
+ assign_to?: string;
22
+ stage?: string;
23
+ priority?: number;
24
+ project?: string;
25
+ tags?: string[];
26
+ parent_id?: number;
27
+ }
28
+ export interface TaskUpdateInput {
29
+ title?: string;
30
+ description?: string;
31
+ priority?: number;
32
+ project?: string;
33
+ tags?: string[];
34
+ assigned_to?: string;
35
+ parent_id?: number;
36
+ }
37
+ export interface TaskListFilter {
38
+ status?: TaskStatus;
39
+ assigned_to?: string;
40
+ stage?: string;
41
+ project?: string;
42
+ parent_id?: number;
43
+ root_only?: boolean;
44
+ collaborator?: string;
45
+ limit?: number;
46
+ offset?: number;
47
+ }
48
+ export interface TaskArtifact {
49
+ readonly id: number;
50
+ readonly task_id: number;
51
+ readonly stage: string;
52
+ readonly name: string;
53
+ readonly content: string;
54
+ readonly created_by: string;
55
+ readonly version: number;
56
+ readonly previous_id: number | null;
57
+ readonly created_at: string;
58
+ }
59
+ export interface TaskComment {
60
+ readonly id: number;
61
+ readonly task_id: number;
62
+ readonly agent_id: string;
63
+ readonly content: string;
64
+ readonly parent_comment_id: number | null;
65
+ readonly created_at: string;
66
+ }
67
+ export type CollaboratorRole = 'collaborator' | 'reviewer' | 'watcher';
68
+ export interface TaskCollaborator {
69
+ readonly task_id: number;
70
+ readonly agent_id: string;
71
+ readonly role: CollaboratorRole;
72
+ readonly added_at: string;
73
+ }
74
+ export type ApprovalStatus = 'pending' | 'approved' | 'rejected';
75
+ export interface TaskApproval {
76
+ readonly id: number;
77
+ readonly task_id: number;
78
+ readonly stage: string;
79
+ readonly status: ApprovalStatus;
80
+ readonly reviewer: string | null;
81
+ readonly requested_at: string;
82
+ readonly resolved_at: string | null;
83
+ readonly comment: string | null;
84
+ }
85
+ export interface TaskDependency {
86
+ readonly task_id: number;
87
+ readonly depends_on: number;
88
+ }
89
+ export interface PipelineConfig {
90
+ readonly project: string;
91
+ readonly stages: string;
92
+ readonly approval_config: string | null;
93
+ readonly assignment_config: string | null;
94
+ readonly updated_at: string;
95
+ }
96
+ export interface SearchResult {
97
+ readonly task: Task;
98
+ readonly snippet: string;
99
+ readonly rank: number;
100
+ }
101
+ export type EventType = 'task:created' | 'task:updated' | 'task:claimed' | 'task:advanced' | 'task:regressed' | 'task:completed' | 'task:failed' | 'task:cancelled' | 'task:deleted' | 'artifact:created' | 'dependency:added' | 'dependency:removed' | 'pipeline:configured' | 'comment:created' | 'collaborator:added' | 'collaborator:removed' | 'approval:requested' | 'approval:approved' | 'approval:rejected';
102
+ export interface TasksEvent {
103
+ readonly type: EventType;
104
+ readonly timestamp: string;
105
+ readonly data: Record<string, unknown>;
106
+ }
107
+ export declare class TasksError extends Error {
108
+ readonly code: string;
109
+ readonly statusCode: number;
110
+ constructor(message: string, code: string, statusCode?: number);
111
+ }
112
+ export declare class NotFoundError extends TasksError {
113
+ constructor(entity: string, id: string | number);
114
+ }
115
+ export declare class ConflictError extends TasksError {
116
+ constructor(message: string);
117
+ }
118
+ export declare class ValidationError extends TasksError {
119
+ constructor(message: string);
120
+ }
121
+ export interface JsonRpcRequest {
122
+ jsonrpc: '2.0';
123
+ id: number | string;
124
+ method: string;
125
+ params?: Record<string, unknown>;
126
+ }
127
+ export interface JsonRpcResponse {
128
+ jsonrpc: '2.0';
129
+ id: number | string | null;
130
+ result?: unknown;
131
+ error?: {
132
+ code: number;
133
+ message: string;
134
+ data?: unknown;
135
+ };
136
+ }
137
+ export interface ToolDefinition {
138
+ name: string;
139
+ description: string;
140
+ inputSchema: {
141
+ type: 'object';
142
+ properties: Record<string, unknown>;
143
+ required?: string[];
144
+ };
145
+ }
146
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAE1F,MAAM,WAAW,IAAI;IACnB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAMD,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;AAEjE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAMD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAMD,MAAM,MAAM,SAAS,GACjB,cAAc,GACd,cAAc,GACd,cAAc,GACd,eAAe,GACf,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,gBAAgB,GAChB,cAAc,GACd,kBAAkB,GAClB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,iBAAiB,GACjB,oBAAoB,GACpB,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAExB,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAMD,qBAAa,UAAW,SAAQ,KAAK;aAGjB,IAAI,EAAE,MAAM;aACZ,UAAU,EAAE,MAAM;gBAFlC,OAAO,EAAE,MAAM,EACC,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,MAAY;CAK3C;AAED,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAIhD;AAED,qBAAa,aAAc,SAAQ,UAAU;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,eAAgB,SAAQ,UAAU;gBACjC,OAAO,EAAE,MAAM;CAI5B;AAMD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3D;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH"}
package/dist/types.js ADDED
@@ -0,0 +1,35 @@
1
+ // =============================================================================
2
+ // agent-tasks — Core type definitions
3
+ // =============================================================================
4
+ // ---------------------------------------------------------------------------
5
+ // Errors
6
+ // ---------------------------------------------------------------------------
7
+ export class TasksError extends Error {
8
+ code;
9
+ statusCode;
10
+ constructor(message, code, statusCode = 400) {
11
+ super(message);
12
+ this.code = code;
13
+ this.statusCode = statusCode;
14
+ this.name = 'TasksError';
15
+ }
16
+ }
17
+ export class NotFoundError extends TasksError {
18
+ constructor(entity, id) {
19
+ super(`${entity} not found: ${id}`, 'NOT_FOUND', 404);
20
+ this.name = 'NotFoundError';
21
+ }
22
+ }
23
+ export class ConflictError extends TasksError {
24
+ constructor(message) {
25
+ super(message, 'CONFLICT', 409);
26
+ this.name = 'ConflictError';
27
+ }
28
+ }
29
+ export class ValidationError extends TasksError {
30
+ constructor(message) {
31
+ super(message, 'VALIDATION_ERROR', 422);
32
+ this.name = 'ValidationError';
33
+ }
34
+ }
35
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,sCAAsC;AACtC,gFAAgF;AAmLhF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E,MAAM,OAAO,UAAW,SAAQ,KAAK;IAGjB;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,aAAqB,GAAG;QAExC,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAc;QAGxC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,MAAc,EAAE,EAAmB;QAC7C,KAAK,CAAC,GAAG,MAAM,eAAe,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACtD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,UAAU;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,kBAAkB,EAAE,GAAG,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF"}