@vibescope/mcp-server 0.5.0 → 0.5.1
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.
- package/CHANGELOG.md +84 -84
- package/README.md +194 -194
- package/dist/api-client/tasks.d.ts +1 -0
- package/dist/cli-init.js +21 -21
- package/dist/cli.js +26 -26
- package/dist/handlers/tasks.js +7 -1
- package/dist/handlers/tool-docs.js +1216 -1216
- package/dist/index.js +73 -73
- package/dist/templates/agent-guidelines.d.ts +1 -1
- package/dist/templates/agent-guidelines.js +205 -205
- package/dist/templates/help-content.js +1621 -1621
- package/dist/tools/bodies-of-work.js +6 -6
- package/dist/tools/cloud-agents.js +22 -22
- package/dist/tools/milestones.js +2 -2
- package/dist/tools/requests.js +1 -1
- package/dist/tools/session.js +11 -11
- package/dist/tools/sprints.js +9 -9
- package/dist/tools/tasks.js +43 -35
- package/dist/tools/worktrees.js +14 -14
- package/dist/utils.js +11 -11
- package/docs/TOOLS.md +2687 -2685
- package/package.json +53 -53
- package/scripts/generate-docs.ts +212 -212
- package/scripts/version-bump.ts +203 -203
- package/src/api-client/blockers.ts +86 -86
- package/src/api-client/bodies-of-work.ts +194 -194
- package/src/api-client/chat.ts +50 -50
- package/src/api-client/connectors.ts +152 -152
- package/src/api-client/cost.ts +185 -185
- package/src/api-client/decisions.ts +87 -87
- package/src/api-client/deployment.ts +313 -313
- package/src/api-client/discovery.ts +81 -81
- package/src/api-client/fallback.ts +52 -52
- package/src/api-client/file-checkouts.ts +115 -115
- package/src/api-client/findings.ts +100 -100
- package/src/api-client/git-issues.ts +88 -88
- package/src/api-client/ideas.ts +112 -112
- package/src/api-client/index.ts +592 -592
- package/src/api-client/milestones.ts +83 -83
- package/src/api-client/organizations.ts +185 -185
- package/src/api-client/progress.ts +94 -94
- package/src/api-client/project.ts +181 -181
- package/src/api-client/requests.ts +54 -54
- package/src/api-client/session.ts +220 -220
- package/src/api-client/sprints.ts +227 -227
- package/src/api-client/subtasks.ts +57 -57
- package/src/api-client/tasks.ts +451 -450
- package/src/api-client/types.ts +32 -32
- package/src/api-client/validation.ts +60 -60
- package/src/api-client/worktrees.ts +53 -53
- package/src/api-client.test.ts +847 -847
- package/src/api-client.ts +2728 -2728
- package/src/cli-init.ts +558 -558
- package/src/cli.test.ts +284 -284
- package/src/cli.ts +204 -204
- package/src/handlers/__test-setup__.ts +240 -240
- package/src/handlers/__test-utils__.ts +89 -89
- package/src/handlers/blockers.test.ts +468 -468
- package/src/handlers/blockers.ts +172 -172
- package/src/handlers/bodies-of-work.test.ts +704 -704
- package/src/handlers/bodies-of-work.ts +526 -526
- package/src/handlers/chat.test.ts +185 -185
- package/src/handlers/chat.ts +101 -101
- package/src/handlers/cloud-agents.test.ts +438 -438
- package/src/handlers/cloud-agents.ts +156 -156
- package/src/handlers/connectors.test.ts +834 -834
- package/src/handlers/connectors.ts +229 -229
- package/src/handlers/cost.test.ts +462 -462
- package/src/handlers/cost.ts +285 -285
- package/src/handlers/decisions.test.ts +382 -382
- package/src/handlers/decisions.ts +153 -153
- package/src/handlers/deployment.test.ts +551 -551
- package/src/handlers/deployment.ts +570 -570
- package/src/handlers/discovery.test.ts +206 -206
- package/src/handlers/discovery.ts +433 -433
- package/src/handlers/fallback.test.ts +537 -537
- package/src/handlers/fallback.ts +194 -194
- package/src/handlers/file-checkouts.test.ts +750 -750
- package/src/handlers/file-checkouts.ts +185 -185
- package/src/handlers/findings.test.ts +633 -633
- package/src/handlers/findings.ts +239 -239
- package/src/handlers/git-issues.test.ts +631 -631
- package/src/handlers/git-issues.ts +136 -136
- package/src/handlers/ideas.test.ts +644 -644
- package/src/handlers/ideas.ts +207 -207
- package/src/handlers/index.ts +93 -93
- package/src/handlers/milestones.test.ts +475 -475
- package/src/handlers/milestones.ts +180 -180
- package/src/handlers/organizations.test.ts +826 -826
- package/src/handlers/organizations.ts +315 -315
- package/src/handlers/progress.test.ts +269 -269
- package/src/handlers/progress.ts +77 -77
- package/src/handlers/project.test.ts +546 -546
- package/src/handlers/project.ts +245 -245
- package/src/handlers/requests.test.ts +303 -303
- package/src/handlers/requests.ts +99 -99
- package/src/handlers/roles.test.ts +305 -305
- package/src/handlers/roles.ts +219 -219
- package/src/handlers/session.test.ts +998 -998
- package/src/handlers/session.ts +1105 -1105
- package/src/handlers/sprints.test.ts +732 -732
- package/src/handlers/sprints.ts +537 -537
- package/src/handlers/tasks.test.ts +931 -931
- package/src/handlers/tasks.ts +1144 -1137
- package/src/handlers/tool-categories.test.ts +66 -66
- package/src/handlers/tool-docs.test.ts +511 -511
- package/src/handlers/tool-docs.ts +1595 -1595
- package/src/handlers/types.test.ts +259 -259
- package/src/handlers/types.ts +176 -176
- package/src/handlers/validation.test.ts +582 -582
- package/src/handlers/validation.ts +164 -164
- package/src/handlers/version.ts +63 -63
- package/src/index.test.ts +674 -674
- package/src/index.ts +884 -884
- package/src/setup.test.ts +243 -243
- package/src/setup.ts +410 -410
- package/src/templates/agent-guidelines.ts +233 -233
- package/src/templates/help-content.ts +1751 -1751
- package/src/token-tracking.test.ts +463 -463
- package/src/token-tracking.ts +167 -167
- package/src/tools/blockers.ts +122 -122
- package/src/tools/bodies-of-work.ts +283 -283
- package/src/tools/chat.ts +72 -72
- package/src/tools/cloud-agents.ts +101 -101
- package/src/tools/connectors.ts +191 -191
- package/src/tools/cost.ts +111 -111
- package/src/tools/decisions.ts +111 -111
- package/src/tools/deployment.ts +455 -455
- package/src/tools/discovery.ts +76 -76
- package/src/tools/fallback.ts +111 -111
- package/src/tools/features.ts +154 -154
- package/src/tools/file-checkouts.ts +145 -145
- package/src/tools/findings.ts +101 -101
- package/src/tools/git-issues.ts +130 -130
- package/src/tools/ideas.ts +162 -162
- package/src/tools/index.ts +145 -145
- package/src/tools/milestones.ts +118 -118
- package/src/tools/organizations.ts +224 -224
- package/src/tools/persona-templates.ts +25 -25
- package/src/tools/progress.ts +73 -73
- package/src/tools/project.ts +210 -210
- package/src/tools/requests.ts +68 -68
- package/src/tools/roles.ts +112 -112
- package/src/tools/session.ts +181 -181
- package/src/tools/sprints.ts +298 -298
- package/src/tools/tasks.ts +583 -575
- package/src/tools/tools.test.ts +222 -222
- package/src/tools/types.ts +9 -9
- package/src/tools/validation.ts +75 -75
- package/src/tools/version.ts +34 -34
- package/src/tools/worktrees.ts +66 -66
- package/src/tools.test.ts +416 -416
- package/src/utils.test.ts +1014 -1014
- package/src/utils.ts +586 -586
- package/src/validators.test.ts +223 -223
- package/src/validators.ts +249 -249
- package/src/version.ts +162 -162
- package/tsconfig.json +16 -16
- package/vitest.config.ts +14 -14
- package/dist/tools.d.ts +0 -2
- package/dist/tools.js +0 -3602
|
@@ -1,194 +1,194 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bodies of Work API Methods
|
|
3
|
-
*
|
|
4
|
-
* Methods for body-of-work management:
|
|
5
|
-
* - createBodyOfWork: Create a new body of work
|
|
6
|
-
* - getBodyOfWork: Get a single body of work with tasks
|
|
7
|
-
* - getBodiesOfWork: List bodies of work for a project
|
|
8
|
-
* - updateBodyOfWork: Update body of work settings
|
|
9
|
-
* - deleteBodyOfWork: Delete a body of work
|
|
10
|
-
* - addTaskToBodyOfWork: Add a task to a body of work
|
|
11
|
-
* - removeTaskFromBodyOfWork: Remove a task from its body of work
|
|
12
|
-
* - activateBodyOfWork: Activate a draft body of work
|
|
13
|
-
* - addTaskDependency: Add a dependency between tasks
|
|
14
|
-
* - removeTaskDependency: Remove a task dependency
|
|
15
|
-
* - getTaskDependencies: Get dependencies for a body of work or task
|
|
16
|
-
* - getNextBodyOfWorkTask: Get next available task from a body of work
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
import type { ApiResponse, ProxyFn } from './types.js';
|
|
20
|
-
|
|
21
|
-
export interface BodiesOfWorkMethods {
|
|
22
|
-
createBodyOfWork(projectId: string, params: {
|
|
23
|
-
title: string;
|
|
24
|
-
description?: string;
|
|
25
|
-
auto_deploy_on_completion?: boolean;
|
|
26
|
-
deploy_environment?: string;
|
|
27
|
-
deploy_version_bump?: string;
|
|
28
|
-
deploy_trigger?: string;
|
|
29
|
-
}): Promise<ApiResponse<{
|
|
30
|
-
success: boolean;
|
|
31
|
-
body_of_work_id: string;
|
|
32
|
-
}>>;
|
|
33
|
-
|
|
34
|
-
getBodyOfWork(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
35
|
-
body_of_work: {
|
|
36
|
-
id: string;
|
|
37
|
-
title: string;
|
|
38
|
-
description?: string;
|
|
39
|
-
status: string;
|
|
40
|
-
auto_deploy_on_completion: boolean;
|
|
41
|
-
};
|
|
42
|
-
tasks: {
|
|
43
|
-
pre: Array<{ id: string; title: string; status: string }>;
|
|
44
|
-
core: Array<{ id: string; title: string; status: string }>;
|
|
45
|
-
post: Array<{ id: string; title: string; status: string }>;
|
|
46
|
-
};
|
|
47
|
-
}>>;
|
|
48
|
-
|
|
49
|
-
getBodiesOfWork(projectId: string, params?: {
|
|
50
|
-
status?: string;
|
|
51
|
-
limit?: number;
|
|
52
|
-
offset?: number;
|
|
53
|
-
search_query?: string;
|
|
54
|
-
}): Promise<ApiResponse<{
|
|
55
|
-
bodies_of_work: Array<{
|
|
56
|
-
id: string;
|
|
57
|
-
title: string;
|
|
58
|
-
description?: string;
|
|
59
|
-
status: string;
|
|
60
|
-
task_counts: { pre: number; core: number; post: number };
|
|
61
|
-
}>;
|
|
62
|
-
}>>;
|
|
63
|
-
|
|
64
|
-
updateBodyOfWork(bodyOfWorkId: string, updates: {
|
|
65
|
-
title?: string;
|
|
66
|
-
description?: string;
|
|
67
|
-
auto_deploy_on_completion?: boolean;
|
|
68
|
-
deploy_environment?: string;
|
|
69
|
-
deploy_version_bump?: string;
|
|
70
|
-
deploy_trigger?: string;
|
|
71
|
-
}): Promise<ApiResponse<{
|
|
72
|
-
success: boolean;
|
|
73
|
-
}>>;
|
|
74
|
-
|
|
75
|
-
deleteBodyOfWork(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
76
|
-
success: boolean;
|
|
77
|
-
}>>;
|
|
78
|
-
|
|
79
|
-
addTaskToBodyOfWork(bodyOfWorkId: string, taskId: string, phase?: string, orderIndex?: number): Promise<ApiResponse<{
|
|
80
|
-
success: boolean;
|
|
81
|
-
}>>;
|
|
82
|
-
|
|
83
|
-
removeTaskFromBodyOfWork(taskId: string): Promise<ApiResponse<{
|
|
84
|
-
success: boolean;
|
|
85
|
-
}>>;
|
|
86
|
-
|
|
87
|
-
activateBodyOfWork(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
88
|
-
success: boolean;
|
|
89
|
-
status: string;
|
|
90
|
-
}>>;
|
|
91
|
-
|
|
92
|
-
addTaskDependency(bodyOfWorkId: string, taskId: string, dependsOnTaskId: string): Promise<ApiResponse<{
|
|
93
|
-
success: boolean;
|
|
94
|
-
}>>;
|
|
95
|
-
|
|
96
|
-
removeTaskDependency(taskId: string, dependsOnTaskId: string): Promise<ApiResponse<{
|
|
97
|
-
success: boolean;
|
|
98
|
-
}>>;
|
|
99
|
-
|
|
100
|
-
getTaskDependencies(params: {
|
|
101
|
-
body_of_work_id?: string;
|
|
102
|
-
task_id?: string;
|
|
103
|
-
}): Promise<ApiResponse<{
|
|
104
|
-
dependencies: Array<{
|
|
105
|
-
id: string;
|
|
106
|
-
task_id: string;
|
|
107
|
-
depends_on_task_id: string;
|
|
108
|
-
created_at: string;
|
|
109
|
-
}>;
|
|
110
|
-
}>>;
|
|
111
|
-
|
|
112
|
-
getNextBodyOfWorkTask(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
113
|
-
task?: {
|
|
114
|
-
id: string;
|
|
115
|
-
title: string;
|
|
116
|
-
priority: number;
|
|
117
|
-
phase: string;
|
|
118
|
-
} | null;
|
|
119
|
-
message?: string;
|
|
120
|
-
}>>;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
export function createBodiesOfWorkMethods(proxy: ProxyFn): BodiesOfWorkMethods {
|
|
124
|
-
return {
|
|
125
|
-
async createBodyOfWork(projectId, params) {
|
|
126
|
-
return proxy('create_body_of_work', {
|
|
127
|
-
project_id: projectId,
|
|
128
|
-
...params
|
|
129
|
-
});
|
|
130
|
-
},
|
|
131
|
-
|
|
132
|
-
async getBodyOfWork(bodyOfWorkId) {
|
|
133
|
-
return proxy('get_body_of_work', { body_of_work_id: bodyOfWorkId });
|
|
134
|
-
},
|
|
135
|
-
|
|
136
|
-
async getBodiesOfWork(projectId, params) {
|
|
137
|
-
return proxy('get_bodies_of_work', {
|
|
138
|
-
project_id: projectId,
|
|
139
|
-
...params
|
|
140
|
-
});
|
|
141
|
-
},
|
|
142
|
-
|
|
143
|
-
async updateBodyOfWork(bodyOfWorkId, updates) {
|
|
144
|
-
return proxy('update_body_of_work', {
|
|
145
|
-
body_of_work_id: bodyOfWorkId,
|
|
146
|
-
...updates
|
|
147
|
-
});
|
|
148
|
-
},
|
|
149
|
-
|
|
150
|
-
async deleteBodyOfWork(bodyOfWorkId) {
|
|
151
|
-
return proxy('delete_body_of_work', { body_of_work_id: bodyOfWorkId });
|
|
152
|
-
},
|
|
153
|
-
|
|
154
|
-
async addTaskToBodyOfWork(bodyOfWorkId, taskId, phase, orderIndex) {
|
|
155
|
-
return proxy('add_task_to_body_of_work', {
|
|
156
|
-
body_of_work_id: bodyOfWorkId,
|
|
157
|
-
task_id: taskId,
|
|
158
|
-
phase,
|
|
159
|
-
order_index: orderIndex
|
|
160
|
-
});
|
|
161
|
-
},
|
|
162
|
-
|
|
163
|
-
async removeTaskFromBodyOfWork(taskId) {
|
|
164
|
-
return proxy('remove_task_from_body_of_work', { task_id: taskId });
|
|
165
|
-
},
|
|
166
|
-
|
|
167
|
-
async activateBodyOfWork(bodyOfWorkId) {
|
|
168
|
-
return proxy('activate_body_of_work', { body_of_work_id: bodyOfWorkId });
|
|
169
|
-
},
|
|
170
|
-
|
|
171
|
-
async addTaskDependency(bodyOfWorkId, taskId, dependsOnTaskId) {
|
|
172
|
-
return proxy('add_task_dependency', {
|
|
173
|
-
body_of_work_id: bodyOfWorkId,
|
|
174
|
-
task_id: taskId,
|
|
175
|
-
depends_on_task_id: dependsOnTaskId
|
|
176
|
-
});
|
|
177
|
-
},
|
|
178
|
-
|
|
179
|
-
async removeTaskDependency(taskId, dependsOnTaskId) {
|
|
180
|
-
return proxy('remove_task_dependency', {
|
|
181
|
-
task_id: taskId,
|
|
182
|
-
depends_on_task_id: dependsOnTaskId
|
|
183
|
-
});
|
|
184
|
-
},
|
|
185
|
-
|
|
186
|
-
async getTaskDependencies(params) {
|
|
187
|
-
return proxy('get_task_dependencies', params as Record<string, unknown>);
|
|
188
|
-
},
|
|
189
|
-
|
|
190
|
-
async getNextBodyOfWorkTask(bodyOfWorkId) {
|
|
191
|
-
return proxy('get_next_body_of_work_task', { body_of_work_id: bodyOfWorkId });
|
|
192
|
-
}
|
|
193
|
-
};
|
|
194
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Bodies of Work API Methods
|
|
3
|
+
*
|
|
4
|
+
* Methods for body-of-work management:
|
|
5
|
+
* - createBodyOfWork: Create a new body of work
|
|
6
|
+
* - getBodyOfWork: Get a single body of work with tasks
|
|
7
|
+
* - getBodiesOfWork: List bodies of work for a project
|
|
8
|
+
* - updateBodyOfWork: Update body of work settings
|
|
9
|
+
* - deleteBodyOfWork: Delete a body of work
|
|
10
|
+
* - addTaskToBodyOfWork: Add a task to a body of work
|
|
11
|
+
* - removeTaskFromBodyOfWork: Remove a task from its body of work
|
|
12
|
+
* - activateBodyOfWork: Activate a draft body of work
|
|
13
|
+
* - addTaskDependency: Add a dependency between tasks
|
|
14
|
+
* - removeTaskDependency: Remove a task dependency
|
|
15
|
+
* - getTaskDependencies: Get dependencies for a body of work or task
|
|
16
|
+
* - getNextBodyOfWorkTask: Get next available task from a body of work
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
import type { ApiResponse, ProxyFn } from './types.js';
|
|
20
|
+
|
|
21
|
+
export interface BodiesOfWorkMethods {
|
|
22
|
+
createBodyOfWork(projectId: string, params: {
|
|
23
|
+
title: string;
|
|
24
|
+
description?: string;
|
|
25
|
+
auto_deploy_on_completion?: boolean;
|
|
26
|
+
deploy_environment?: string;
|
|
27
|
+
deploy_version_bump?: string;
|
|
28
|
+
deploy_trigger?: string;
|
|
29
|
+
}): Promise<ApiResponse<{
|
|
30
|
+
success: boolean;
|
|
31
|
+
body_of_work_id: string;
|
|
32
|
+
}>>;
|
|
33
|
+
|
|
34
|
+
getBodyOfWork(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
35
|
+
body_of_work: {
|
|
36
|
+
id: string;
|
|
37
|
+
title: string;
|
|
38
|
+
description?: string;
|
|
39
|
+
status: string;
|
|
40
|
+
auto_deploy_on_completion: boolean;
|
|
41
|
+
};
|
|
42
|
+
tasks: {
|
|
43
|
+
pre: Array<{ id: string; title: string; status: string }>;
|
|
44
|
+
core: Array<{ id: string; title: string; status: string }>;
|
|
45
|
+
post: Array<{ id: string; title: string; status: string }>;
|
|
46
|
+
};
|
|
47
|
+
}>>;
|
|
48
|
+
|
|
49
|
+
getBodiesOfWork(projectId: string, params?: {
|
|
50
|
+
status?: string;
|
|
51
|
+
limit?: number;
|
|
52
|
+
offset?: number;
|
|
53
|
+
search_query?: string;
|
|
54
|
+
}): Promise<ApiResponse<{
|
|
55
|
+
bodies_of_work: Array<{
|
|
56
|
+
id: string;
|
|
57
|
+
title: string;
|
|
58
|
+
description?: string;
|
|
59
|
+
status: string;
|
|
60
|
+
task_counts: { pre: number; core: number; post: number };
|
|
61
|
+
}>;
|
|
62
|
+
}>>;
|
|
63
|
+
|
|
64
|
+
updateBodyOfWork(bodyOfWorkId: string, updates: {
|
|
65
|
+
title?: string;
|
|
66
|
+
description?: string;
|
|
67
|
+
auto_deploy_on_completion?: boolean;
|
|
68
|
+
deploy_environment?: string;
|
|
69
|
+
deploy_version_bump?: string;
|
|
70
|
+
deploy_trigger?: string;
|
|
71
|
+
}): Promise<ApiResponse<{
|
|
72
|
+
success: boolean;
|
|
73
|
+
}>>;
|
|
74
|
+
|
|
75
|
+
deleteBodyOfWork(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
76
|
+
success: boolean;
|
|
77
|
+
}>>;
|
|
78
|
+
|
|
79
|
+
addTaskToBodyOfWork(bodyOfWorkId: string, taskId: string, phase?: string, orderIndex?: number): Promise<ApiResponse<{
|
|
80
|
+
success: boolean;
|
|
81
|
+
}>>;
|
|
82
|
+
|
|
83
|
+
removeTaskFromBodyOfWork(taskId: string): Promise<ApiResponse<{
|
|
84
|
+
success: boolean;
|
|
85
|
+
}>>;
|
|
86
|
+
|
|
87
|
+
activateBodyOfWork(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
88
|
+
success: boolean;
|
|
89
|
+
status: string;
|
|
90
|
+
}>>;
|
|
91
|
+
|
|
92
|
+
addTaskDependency(bodyOfWorkId: string, taskId: string, dependsOnTaskId: string): Promise<ApiResponse<{
|
|
93
|
+
success: boolean;
|
|
94
|
+
}>>;
|
|
95
|
+
|
|
96
|
+
removeTaskDependency(taskId: string, dependsOnTaskId: string): Promise<ApiResponse<{
|
|
97
|
+
success: boolean;
|
|
98
|
+
}>>;
|
|
99
|
+
|
|
100
|
+
getTaskDependencies(params: {
|
|
101
|
+
body_of_work_id?: string;
|
|
102
|
+
task_id?: string;
|
|
103
|
+
}): Promise<ApiResponse<{
|
|
104
|
+
dependencies: Array<{
|
|
105
|
+
id: string;
|
|
106
|
+
task_id: string;
|
|
107
|
+
depends_on_task_id: string;
|
|
108
|
+
created_at: string;
|
|
109
|
+
}>;
|
|
110
|
+
}>>;
|
|
111
|
+
|
|
112
|
+
getNextBodyOfWorkTask(bodyOfWorkId: string): Promise<ApiResponse<{
|
|
113
|
+
task?: {
|
|
114
|
+
id: string;
|
|
115
|
+
title: string;
|
|
116
|
+
priority: number;
|
|
117
|
+
phase: string;
|
|
118
|
+
} | null;
|
|
119
|
+
message?: string;
|
|
120
|
+
}>>;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export function createBodiesOfWorkMethods(proxy: ProxyFn): BodiesOfWorkMethods {
|
|
124
|
+
return {
|
|
125
|
+
async createBodyOfWork(projectId, params) {
|
|
126
|
+
return proxy('create_body_of_work', {
|
|
127
|
+
project_id: projectId,
|
|
128
|
+
...params
|
|
129
|
+
});
|
|
130
|
+
},
|
|
131
|
+
|
|
132
|
+
async getBodyOfWork(bodyOfWorkId) {
|
|
133
|
+
return proxy('get_body_of_work', { body_of_work_id: bodyOfWorkId });
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
async getBodiesOfWork(projectId, params) {
|
|
137
|
+
return proxy('get_bodies_of_work', {
|
|
138
|
+
project_id: projectId,
|
|
139
|
+
...params
|
|
140
|
+
});
|
|
141
|
+
},
|
|
142
|
+
|
|
143
|
+
async updateBodyOfWork(bodyOfWorkId, updates) {
|
|
144
|
+
return proxy('update_body_of_work', {
|
|
145
|
+
body_of_work_id: bodyOfWorkId,
|
|
146
|
+
...updates
|
|
147
|
+
});
|
|
148
|
+
},
|
|
149
|
+
|
|
150
|
+
async deleteBodyOfWork(bodyOfWorkId) {
|
|
151
|
+
return proxy('delete_body_of_work', { body_of_work_id: bodyOfWorkId });
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
async addTaskToBodyOfWork(bodyOfWorkId, taskId, phase, orderIndex) {
|
|
155
|
+
return proxy('add_task_to_body_of_work', {
|
|
156
|
+
body_of_work_id: bodyOfWorkId,
|
|
157
|
+
task_id: taskId,
|
|
158
|
+
phase,
|
|
159
|
+
order_index: orderIndex
|
|
160
|
+
});
|
|
161
|
+
},
|
|
162
|
+
|
|
163
|
+
async removeTaskFromBodyOfWork(taskId) {
|
|
164
|
+
return proxy('remove_task_from_body_of_work', { task_id: taskId });
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
async activateBodyOfWork(bodyOfWorkId) {
|
|
168
|
+
return proxy('activate_body_of_work', { body_of_work_id: bodyOfWorkId });
|
|
169
|
+
},
|
|
170
|
+
|
|
171
|
+
async addTaskDependency(bodyOfWorkId, taskId, dependsOnTaskId) {
|
|
172
|
+
return proxy('add_task_dependency', {
|
|
173
|
+
body_of_work_id: bodyOfWorkId,
|
|
174
|
+
task_id: taskId,
|
|
175
|
+
depends_on_task_id: dependsOnTaskId
|
|
176
|
+
});
|
|
177
|
+
},
|
|
178
|
+
|
|
179
|
+
async removeTaskDependency(taskId, dependsOnTaskId) {
|
|
180
|
+
return proxy('remove_task_dependency', {
|
|
181
|
+
task_id: taskId,
|
|
182
|
+
depends_on_task_id: dependsOnTaskId
|
|
183
|
+
});
|
|
184
|
+
},
|
|
185
|
+
|
|
186
|
+
async getTaskDependencies(params) {
|
|
187
|
+
return proxy('get_task_dependencies', params as Record<string, unknown>);
|
|
188
|
+
},
|
|
189
|
+
|
|
190
|
+
async getNextBodyOfWorkTask(bodyOfWorkId) {
|
|
191
|
+
return proxy('get_next_body_of_work_task', { body_of_work_id: bodyOfWorkId });
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
}
|
package/src/api-client/chat.ts
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Chat API Methods
|
|
3
|
-
*
|
|
4
|
-
* Methods for project chat:
|
|
5
|
-
* - sendProjectMessage: Send a message to the project chat channel
|
|
6
|
-
* - getProjectMessages: Read recent messages from the project chat channel
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import type { ApiResponse, ProxyFn } from './types.js';
|
|
10
|
-
|
|
11
|
-
export interface ChatMethods {
|
|
12
|
-
sendProjectMessage(
|
|
13
|
-
projectId: string,
|
|
14
|
-
message: string,
|
|
15
|
-
sessionId?: string
|
|
16
|
-
): Promise<ApiResponse<{ success: boolean; message_id: string; sent_at: string }>>;
|
|
17
|
-
|
|
18
|
-
getProjectMessages(
|
|
19
|
-
projectId: string,
|
|
20
|
-
limit?: number
|
|
21
|
-
): Promise<ApiResponse<{
|
|
22
|
-
messages: Array<{
|
|
23
|
-
id: string;
|
|
24
|
-
sender_type: string;
|
|
25
|
-
sender_name: string | null;
|
|
26
|
-
content: string;
|
|
27
|
-
created_at: string;
|
|
28
|
-
}>;
|
|
29
|
-
count: number;
|
|
30
|
-
}>>;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export function createChatMethods(proxy: ProxyFn): ChatMethods {
|
|
34
|
-
return {
|
|
35
|
-
async sendProjectMessage(projectId, message, sessionId) {
|
|
36
|
-
return proxy(
|
|
37
|
-
'send_project_message',
|
|
38
|
-
{ project_id: projectId, message },
|
|
39
|
-
sessionId ? { session_id: sessionId } : undefined
|
|
40
|
-
);
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
async getProjectMessages(projectId, limit) {
|
|
44
|
-
return proxy('get_project_messages', {
|
|
45
|
-
project_id: projectId,
|
|
46
|
-
...(limit !== undefined && { limit }),
|
|
47
|
-
});
|
|
48
|
-
},
|
|
49
|
-
};
|
|
50
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* Chat API Methods
|
|
3
|
+
*
|
|
4
|
+
* Methods for project chat:
|
|
5
|
+
* - sendProjectMessage: Send a message to the project chat channel
|
|
6
|
+
* - getProjectMessages: Read recent messages from the project chat channel
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import type { ApiResponse, ProxyFn } from './types.js';
|
|
10
|
+
|
|
11
|
+
export interface ChatMethods {
|
|
12
|
+
sendProjectMessage(
|
|
13
|
+
projectId: string,
|
|
14
|
+
message: string,
|
|
15
|
+
sessionId?: string
|
|
16
|
+
): Promise<ApiResponse<{ success: boolean; message_id: string; sent_at: string }>>;
|
|
17
|
+
|
|
18
|
+
getProjectMessages(
|
|
19
|
+
projectId: string,
|
|
20
|
+
limit?: number
|
|
21
|
+
): Promise<ApiResponse<{
|
|
22
|
+
messages: Array<{
|
|
23
|
+
id: string;
|
|
24
|
+
sender_type: string;
|
|
25
|
+
sender_name: string | null;
|
|
26
|
+
content: string;
|
|
27
|
+
created_at: string;
|
|
28
|
+
}>;
|
|
29
|
+
count: number;
|
|
30
|
+
}>>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function createChatMethods(proxy: ProxyFn): ChatMethods {
|
|
34
|
+
return {
|
|
35
|
+
async sendProjectMessage(projectId, message, sessionId) {
|
|
36
|
+
return proxy(
|
|
37
|
+
'send_project_message',
|
|
38
|
+
{ project_id: projectId, message },
|
|
39
|
+
sessionId ? { session_id: sessionId } : undefined
|
|
40
|
+
);
|
|
41
|
+
},
|
|
42
|
+
|
|
43
|
+
async getProjectMessages(projectId, limit) {
|
|
44
|
+
return proxy('get_project_messages', {
|
|
45
|
+
project_id: projectId,
|
|
46
|
+
...(limit !== undefined && { limit }),
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|