@langadventurellc/task-trellis-mcp 1.1.0 → 1.2.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.
- package/README.md +21 -212
- package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts +2 -0
- package/dist/__tests__/e2e/autoPrune.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/e2e/autoPrune.e2e.test.js +533 -0
- package/dist/__tests__/e2e/autoPrune.e2e.test.js.map +1 -0
- package/dist/__tests__/e2e/configuration/activation.e2e.test.js +6 -6
- package/dist/__tests__/e2e/configuration/activation.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js +55 -6
- package/dist/__tests__/e2e/configuration/commandLineArgs.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js +19 -19
- package/dist/__tests__/e2e/configuration/directorySetup.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js +9 -9
- package/dist/__tests__/e2e/configuration/invalidConfig.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js +15 -15
- package/dist/__tests__/e2e/configuration/preActivation.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/createObject.e2e.test.js +34 -34
- package/dist/__tests__/e2e/crud/createObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js +19 -19
- package/dist/__tests__/e2e/crud/deleteObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js +32 -32
- package/dist/__tests__/e2e/crud/fileValidation.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/getObject.e2e.test.js +143 -22
- package/dist/__tests__/e2e/crud/getObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/listObjects.e2e.test.js +561 -42
- package/dist/__tests__/e2e/crud/listObjects.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/crud/updateObject.e2e.test.js +497 -25
- package/dist/__tests__/e2e/crud/updateObject.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts +2 -0
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.d.ts.map +1 -0
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js +319 -0
- package/dist/__tests__/e2e/hierarchicalPrerequisites.e2e.test.js.map +1 -0
- package/dist/__tests__/e2e/infrastructure/client.e2e.test.js +4 -4
- package/dist/__tests__/e2e/infrastructure/client.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/infrastructure/server.e2e.test.js +6 -6
- package/dist/__tests__/e2e/infrastructure/server.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/utils/extractObjectIds.d.ts +1 -1
- package/dist/__tests__/e2e/utils/extractObjectIds.js +1 -1
- package/dist/__tests__/e2e/utils/mcpTestClient.d.ts.map +1 -1
- package/dist/__tests__/e2e/utils/mcpTestClient.js +3 -2
- package/dist/__tests__/e2e/utils/mcpTestClient.js.map +1 -1
- package/dist/__tests__/e2e/utils/parseListObjectsResponse.d.ts +1 -1
- package/dist/__tests__/e2e/utils/parseListObjectsResponse.js +1 -1
- package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.d.ts +1 -1
- package/dist/__tests__/e2e/utils/parseUpdateObjectResponse.js +1 -1
- package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js +4 -4
- package/dist/__tests__/e2e/workflow/appendLog.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js +15 -15
- package/dist/__tests__/e2e/workflow/appendModifiedFiles.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js +44 -0
- package/dist/__tests__/e2e/workflow/claimTask.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js +4 -4
- package/dist/__tests__/e2e/workflow/completeTask.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js +43 -43
- package/dist/__tests__/e2e/workflow/prerequisites.e2e.test.js.map +1 -1
- package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js +19 -19
- package/dist/__tests__/e2e/workflow/taskLifecycle.e2e.test.js.map +1 -1
- package/dist/__tests__/serverStartup.test.d.ts +2 -0
- package/dist/__tests__/serverStartup.test.d.ts.map +1 -0
- package/dist/__tests__/serverStartup.test.js +171 -0
- package/dist/__tests__/serverStartup.test.js.map +1 -0
- package/dist/configuration/ServerConfig.d.ts +2 -1
- package/dist/configuration/ServerConfig.d.ts.map +1 -1
- package/dist/repositories/Repository.d.ts +2 -1
- package/dist/repositories/Repository.d.ts.map +1 -1
- package/dist/repositories/local/LocalRepository.d.ts +2 -1
- package/dist/repositories/local/LocalRepository.d.ts.map +1 -1
- package/dist/repositories/local/LocalRepository.js +4 -0
- package/dist/repositories/local/LocalRepository.js.map +1 -1
- package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts +2 -0
- package/dist/repositories/local/__tests__/getChildrenOf.test.d.ts.map +1 -0
- package/dist/repositories/local/__tests__/getChildrenOf.test.js +306 -0
- package/dist/repositories/local/__tests__/getChildrenOf.test.js.map +1 -0
- package/dist/repositories/local/__tests__/getObjects.test.js +309 -0
- package/dist/repositories/local/__tests__/getObjects.test.js.map +1 -1
- package/dist/repositories/local/deleteObjectById.d.ts.map +1 -1
- package/dist/repositories/local/deleteObjectById.js +2 -0
- package/dist/repositories/local/deleteObjectById.js.map +1 -1
- package/dist/repositories/local/getChildrenOf.d.ts +11 -0
- package/dist/repositories/local/getChildrenOf.d.ts.map +1 -0
- package/dist/repositories/local/getChildrenOf.js +73 -0
- package/dist/repositories/local/getChildrenOf.js.map +1 -0
- package/dist/repositories/local/getObjects.d.ts +1 -1
- package/dist/repositories/local/getObjects.d.ts.map +1 -1
- package/dist/repositories/local/getObjects.js +25 -6
- package/dist/repositories/local/getObjects.js.map +1 -1
- package/dist/server.js +39 -15
- package/dist/server.js.map +1 -1
- package/dist/services/TaskTrellisService.d.ts +4 -13
- package/dist/services/TaskTrellisService.d.ts.map +1 -1
- package/dist/services/local/LocalTaskTrellisService.d.ts +3 -9
- package/dist/services/local/LocalTaskTrellisService.d.ts.map +1 -1
- package/dist/services/local/LocalTaskTrellisService.js +4 -8
- package/dist/services/local/LocalTaskTrellisService.js.map +1 -1
- package/dist/services/local/__tests__/appendModifiedFiles.test.js +1 -0
- package/dist/services/local/__tests__/appendModifiedFiles.test.js.map +1 -1
- package/dist/services/local/__tests__/appendObjectLog.test.js +1 -0
- package/dist/services/local/__tests__/appendObjectLog.test.js.map +1 -1
- package/dist/services/local/__tests__/claimTask.test.js +127 -131
- package/dist/services/local/__tests__/claimTask.test.js.map +1 -1
- package/dist/services/local/__tests__/completeTask.test.js +30 -28
- package/dist/services/local/__tests__/completeTask.test.js.map +1 -1
- package/dist/services/local/__tests__/createObject.test.js +1 -0
- package/dist/services/local/__tests__/createObject.test.js.map +1 -1
- package/dist/services/local/__tests__/listObjects.test.js +135 -10
- package/dist/services/local/__tests__/listObjects.test.js.map +1 -1
- package/dist/services/local/__tests__/pruneClosed.test.js +446 -186
- package/dist/services/local/__tests__/pruneClosed.test.js.map +1 -1
- package/dist/services/local/__tests__/updateObject.test.js +234 -27
- package/dist/services/local/__tests__/updateObject.test.js.map +1 -1
- package/dist/services/local/claimTask.d.ts.map +1 -1
- package/dist/services/local/claimTask.js +25 -34
- package/dist/services/local/claimTask.js.map +1 -1
- package/dist/services/local/completeTask.d.ts +1 -1
- package/dist/services/local/completeTask.d.ts.map +1 -1
- package/dist/services/local/completeTask.js +4 -40
- package/dist/services/local/completeTask.js.map +1 -1
- package/dist/services/local/listObjects.d.ts +1 -1
- package/dist/services/local/listObjects.d.ts.map +1 -1
- package/dist/services/local/listObjects.js +10 -1
- package/dist/services/local/listObjects.js.map +1 -1
- package/dist/services/local/pruneClosed.d.ts.map +1 -1
- package/dist/services/local/pruneClosed.js +63 -6
- package/dist/services/local/pruneClosed.js.map +1 -1
- package/dist/services/local/updateObject.d.ts +2 -1
- package/dist/services/local/updateObject.d.ts.map +1 -1
- package/dist/services/local/updateObject.js +28 -1
- package/dist/services/local/updateObject.js.map +1 -1
- package/dist/tools/__tests__/appendModifiedFilesTool.test.js +1 -0
- package/dist/tools/__tests__/appendModifiedFilesTool.test.js.map +1 -1
- package/dist/tools/__tests__/appendObjectLogTool.test.js +1 -0
- package/dist/tools/__tests__/appendObjectLogTool.test.js.map +1 -1
- package/dist/tools/__tests__/claimTaskTool.test.js +1 -1
- package/dist/tools/__tests__/claimTaskTool.test.js.map +1 -1
- package/dist/tools/__tests__/completeTaskTool.test.js +23 -16
- package/dist/tools/__tests__/completeTaskTool.test.js.map +1 -1
- package/dist/tools/__tests__/createObjectTool.test.js +1 -0
- package/dist/tools/__tests__/createObjectTool.test.js.map +1 -1
- package/dist/tools/__tests__/deleteObjectTool.test.js +1 -0
- package/dist/tools/__tests__/deleteObjectTool.test.js.map +1 -1
- package/dist/tools/__tests__/getObjectTool.test.js +1 -0
- package/dist/tools/__tests__/getObjectTool.test.js.map +1 -1
- package/dist/tools/__tests__/listObjectsTool.test.js +160 -1
- package/dist/tools/__tests__/listObjectsTool.test.js.map +1 -1
- package/dist/tools/__tests__/updateObjectTool.test.js +39 -10
- package/dist/tools/__tests__/updateObjectTool.test.js.map +1 -1
- package/dist/tools/appendModifiedFilesTool.d.ts +2 -2
- package/dist/tools/appendModifiedFilesTool.js +4 -4
- package/dist/tools/appendModifiedFilesTool.js.map +1 -1
- package/dist/tools/appendObjectLogTool.d.ts +3 -3
- package/dist/tools/appendObjectLogTool.js +4 -4
- package/dist/tools/appendObjectLogTool.js.map +1 -1
- package/dist/tools/completeTaskTool.d.ts +1 -1
- package/dist/tools/completeTaskTool.d.ts.map +1 -1
- package/dist/tools/completeTaskTool.js +1 -1
- package/dist/tools/completeTaskTool.js.map +1 -1
- package/dist/tools/createObjectTool.d.ts +8 -8
- package/dist/tools/createObjectTool.js +13 -13
- package/dist/tools/createObjectTool.js.map +1 -1
- package/dist/tools/deleteObjectTool.d.ts +3 -3
- package/dist/tools/deleteObjectTool.js +12 -12
- package/dist/tools/deleteObjectTool.js.map +1 -1
- package/dist/tools/getObjectTool.d.ts +3 -3
- package/dist/tools/getObjectTool.d.ts.map +1 -1
- package/dist/tools/getObjectTool.js +12 -7
- package/dist/tools/getObjectTool.js.map +1 -1
- package/dist/tools/index.d.ts +7 -9
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +22 -28
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/listObjectsTool.d.ts +20 -11
- package/dist/tools/listObjectsTool.d.ts.map +1 -1
- package/dist/tools/listObjectsTool.js +112 -40
- package/dist/tools/listObjectsTool.js.map +1 -1
- package/dist/tools/updateObjectTool.d.ts +12 -7
- package/dist/tools/updateObjectTool.d.ts.map +1 -1
- package/dist/tools/updateObjectTool.js +20 -14
- package/dist/tools/updateObjectTool.js.map +1 -1
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts +2 -0
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.d.ts.map +1 -0
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js +206 -0
- package/dist/utils/__tests__/checkHierarchicalPrerequisitesComplete.test.js.map +1 -0
- package/dist/utils/__tests__/checkPrerequisitesComplete.test.js +5 -0
- package/dist/utils/__tests__/checkPrerequisitesComplete.test.js.map +1 -1
- package/dist/utils/__tests__/filterUnavailableObjects.test.js +51 -25
- package/dist/utils/__tests__/filterUnavailableObjects.test.js.map +1 -1
- package/dist/utils/__tests__/isRequiredForOtherObjects.test.js +5 -0
- package/dist/utils/__tests__/isRequiredForOtherObjects.test.js.map +1 -1
- package/dist/utils/__tests__/updateParentHierarchy.test.d.ts +2 -0
- package/dist/utils/__tests__/updateParentHierarchy.test.d.ts.map +1 -0
- package/dist/utils/__tests__/updateParentHierarchy.test.js +137 -0
- package/dist/utils/__tests__/updateParentHierarchy.test.js.map +1 -0
- package/dist/utils/autoCompleteParentHierarchy.d.ts +11 -0
- package/dist/utils/autoCompleteParentHierarchy.d.ts.map +1 -0
- package/dist/utils/autoCompleteParentHierarchy.js +49 -0
- package/dist/utils/autoCompleteParentHierarchy.js.map +1 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts +14 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.d.ts.map +1 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.js +47 -0
- package/dist/utils/checkHierarchicalPrerequisitesComplete.js.map +1 -0
- package/dist/utils/filterUnavailableObjects.d.ts +6 -4
- package/dist/utils/filterUnavailableObjects.d.ts.map +1 -1
- package/dist/utils/filterUnavailableObjects.js +16 -22
- package/dist/utils/filterUnavailableObjects.js.map +1 -1
- package/dist/utils/index.d.ts +3 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +7 -3
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/updateParentHierarchy.d.ts +11 -0
- package/dist/utils/updateParentHierarchy.d.ts.map +1 -0
- package/dist/utils/updateParentHierarchy.js +40 -0
- package/dist/utils/updateParentHierarchy.js.map +1 -0
- package/dist/validation/__tests__/validateObjectCreation.test.js +1 -0
- package/dist/validation/__tests__/validateObjectCreation.test.js.map +1 -1
- package/dist/validation/__tests__/validateParentExists.test.js +1 -0
- package/dist/validation/__tests__/validateParentExists.test.js.map +1 -1
- package/dist/validation/__tests__/validateStatusTransition.test.js +1 -0
- package/dist/validation/__tests__/validateStatusTransition.test.js.map +1 -1
- package/package.json +1 -1
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts +0 -2
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.d.ts.map +0 -1
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js +0 -693
- package/dist/__tests__/e2e/crud/replaceObjectBodyRegex.e2e.test.js.map +0 -1
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts +0 -2
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.d.ts.map +0 -1
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js +0 -352
- package/dist/__tests__/e2e/workflow/pruneClosed.e2e.test.js.map +0 -1
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts +0 -2
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.d.ts.map +0 -1
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js +0 -283
- package/dist/services/local/__tests__/replaceObjectBodyRegex.test.js.map +0 -1
- package/dist/services/local/replaceObjectBodyRegex.d.ts +0 -8
- package/dist/services/local/replaceObjectBodyRegex.d.ts.map +0 -1
- package/dist/services/local/replaceObjectBodyRegex.js +0 -85
- package/dist/services/local/replaceObjectBodyRegex.js.map +0 -1
- package/dist/tools/__tests__/pruneClosedTool.test.d.ts +0 -2
- package/dist/tools/__tests__/pruneClosedTool.test.d.ts.map +0 -1
- package/dist/tools/__tests__/pruneClosedTool.test.js +0 -112
- package/dist/tools/__tests__/pruneClosedTool.test.js.map +0 -1
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts +0 -2
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.d.ts.map +0 -1
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js +0 -89
- package/dist/tools/__tests__/replaceObjectBodyRegexTool.test.js.map +0 -1
- package/dist/tools/pruneClosedTool.d.ts +0 -27
- package/dist/tools/pruneClosedTool.d.ts.map +0 -1
- package/dist/tools/pruneClosedTool.js +0 -57
- package/dist/tools/pruneClosedTool.js.map +0 -1
- package/dist/tools/replaceObjectBodyRegexTool.d.ts +0 -36
- package/dist/tools/replaceObjectBodyRegexTool.d.ts.map +0 -1
- package/dist/tools/replaceObjectBodyRegexTool.js +0 -67
- package/dist/tools/replaceObjectBodyRegexTool.js.map +0 -1
- package/dist/utils/ReplaceStringOptions.d.ts +0 -12
- package/dist/utils/ReplaceStringOptions.d.ts.map +0 -1
- package/dist/utils/ReplaceStringOptions.js +0 -3
- package/dist/utils/ReplaceStringOptions.js.map +0 -1
- package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts +0 -2
- package/dist/utils/__tests__/replaceStringWithRegex.test.d.ts.map +0 -1
- package/dist/utils/__tests__/replaceStringWithRegex.test.js +0 -281
- package/dist/utils/__tests__/replaceStringWithRegex.test.js.map +0 -1
- package/dist/utils/replaceStringWithRegex.d.ts +0 -45
- package/dist/utils/replaceStringWithRegex.d.ts.map +0 -1
- package/dist/utils/replaceStringWithRegex.js +0 -91
- package/dist/utils/replaceStringWithRegex.js.map +0 -1
|
@@ -21,20 +21,20 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
21
21
|
describe("Simple Prerequisite Chains", () => {
|
|
22
22
|
it("should handle linear dependency chain A -> B -> C", async () => {
|
|
23
23
|
// Create tasks A, B, C with dependencies
|
|
24
|
-
const taskA = await client.callTool("
|
|
24
|
+
const taskA = await client.callTool("create_issue", {
|
|
25
25
|
type: "task",
|
|
26
26
|
title: "Task A - Foundation",
|
|
27
27
|
status: "open",
|
|
28
28
|
});
|
|
29
29
|
const taskAId = taskA.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
30
|
-
const taskB = await client.callTool("
|
|
30
|
+
const taskB = await client.callTool("create_issue", {
|
|
31
31
|
type: "task",
|
|
32
32
|
title: "Task B - Middle",
|
|
33
33
|
status: "open",
|
|
34
34
|
prerequisites: [taskAId],
|
|
35
35
|
});
|
|
36
36
|
const taskBId = taskB.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
37
|
-
const taskC = await client.callTool("
|
|
37
|
+
const taskC = await client.callTool("create_issue", {
|
|
38
38
|
type: "task",
|
|
39
39
|
title: "Task C - Final",
|
|
40
40
|
status: "open",
|
|
@@ -72,20 +72,20 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
72
72
|
});
|
|
73
73
|
it("should handle parallel prerequisites", async () => {
|
|
74
74
|
// Create two independent prerequisites
|
|
75
|
-
const prereq1 = await client.callTool("
|
|
75
|
+
const prereq1 = await client.callTool("create_issue", {
|
|
76
76
|
type: "task",
|
|
77
77
|
title: "Prerequisite 1",
|
|
78
78
|
status: "open",
|
|
79
79
|
});
|
|
80
80
|
const prereq1Id = prereq1.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
81
|
-
const prereq2 = await client.callTool("
|
|
81
|
+
const prereq2 = await client.callTool("create_issue", {
|
|
82
82
|
type: "task",
|
|
83
83
|
title: "Prerequisite 2",
|
|
84
84
|
status: "open",
|
|
85
85
|
});
|
|
86
86
|
const prereq2Id = prereq2.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
87
87
|
// Create task depending on both
|
|
88
|
-
const mainTask = await client.callTool("
|
|
88
|
+
const mainTask = await client.callTool("create_issue", {
|
|
89
89
|
type: "task",
|
|
90
90
|
title: "Task with Multiple Prerequisites",
|
|
91
91
|
status: "open",
|
|
@@ -130,27 +130,27 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
130
130
|
// B C
|
|
131
131
|
// \ /
|
|
132
132
|
// D
|
|
133
|
-
const taskA = await client.callTool("
|
|
133
|
+
const taskA = await client.callTool("create_issue", {
|
|
134
134
|
type: "task",
|
|
135
135
|
title: "Task A - Root",
|
|
136
136
|
status: "open",
|
|
137
137
|
});
|
|
138
138
|
const taskAId = taskA.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
139
|
-
const taskB = await client.callTool("
|
|
139
|
+
const taskB = await client.callTool("create_issue", {
|
|
140
140
|
type: "task",
|
|
141
141
|
title: "Task B - Left Branch",
|
|
142
142
|
status: "open",
|
|
143
143
|
prerequisites: [taskAId],
|
|
144
144
|
});
|
|
145
145
|
const taskBId = taskB.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
146
|
-
const taskC = await client.callTool("
|
|
146
|
+
const taskC = await client.callTool("create_issue", {
|
|
147
147
|
type: "task",
|
|
148
148
|
title: "Task C - Right Branch",
|
|
149
149
|
status: "open",
|
|
150
150
|
prerequisites: [taskAId],
|
|
151
151
|
});
|
|
152
152
|
const taskCId = taskC.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
153
|
-
const taskD = await client.callTool("
|
|
153
|
+
const taskD = await client.callTool("create_issue", {
|
|
154
154
|
type: "task",
|
|
155
155
|
title: "Task D - Convergence",
|
|
156
156
|
status: "open",
|
|
@@ -187,20 +187,20 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
187
187
|
});
|
|
188
188
|
it("should handle cross-type dependencies", async () => {
|
|
189
189
|
// Create project -> epic -> feature hierarchy
|
|
190
|
-
const projectResult = await client.callTool("
|
|
190
|
+
const projectResult = await client.callTool("create_issue", {
|
|
191
191
|
type: "project",
|
|
192
192
|
title: "Cross-Type Project",
|
|
193
193
|
status: "open",
|
|
194
194
|
});
|
|
195
195
|
const projectId = projectResult.content[0].text.match(/ID: (P-[a-z0-9-]+)/)[1];
|
|
196
|
-
const epicResult = await client.callTool("
|
|
196
|
+
const epicResult = await client.callTool("create_issue", {
|
|
197
197
|
type: "epic",
|
|
198
198
|
title: "Cross-Type Epic",
|
|
199
199
|
parent: projectId,
|
|
200
200
|
status: "open",
|
|
201
201
|
});
|
|
202
202
|
const epicId = epicResult.content[0].text.match(/ID: (E-[a-z0-9-]+)/)[1];
|
|
203
|
-
const featureResult = await client.callTool("
|
|
203
|
+
const featureResult = await client.callTool("create_issue", {
|
|
204
204
|
type: "feature",
|
|
205
205
|
title: "Cross-Type Feature",
|
|
206
206
|
parent: epicId,
|
|
@@ -208,7 +208,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
208
208
|
});
|
|
209
209
|
const featureId = featureResult.content[0].text.match(/ID: (F-[a-z0-9-]+)/)[1];
|
|
210
210
|
// Create task1 under feature
|
|
211
|
-
const task1Result = await client.callTool("
|
|
211
|
+
const task1Result = await client.callTool("create_issue", {
|
|
212
212
|
type: "task",
|
|
213
213
|
title: "Task 1 - Under Feature",
|
|
214
214
|
parent: featureId,
|
|
@@ -216,7 +216,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
216
216
|
});
|
|
217
217
|
const task1Id = task1Result.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
218
218
|
// Create standalone task2 depending on task1
|
|
219
|
-
const task2Result = await client.callTool("
|
|
219
|
+
const task2Result = await client.callTool("create_issue", {
|
|
220
220
|
type: "task",
|
|
221
221
|
title: "Task 2 - Standalone",
|
|
222
222
|
status: "open",
|
|
@@ -243,7 +243,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
243
243
|
describe("Circular Dependency Detection", () => {
|
|
244
244
|
it("should handle self-referencing prerequisites gracefully", async () => {
|
|
245
245
|
// Create task with self-reference (should be prevented at creation)
|
|
246
|
-
const result = await client.callTool("
|
|
246
|
+
const result = await client.callTool("create_issue", {
|
|
247
247
|
type: "task",
|
|
248
248
|
title: "Self-Referencing Task",
|
|
249
249
|
status: "open",
|
|
@@ -257,14 +257,14 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
257
257
|
});
|
|
258
258
|
it("should handle mutual dependencies", async () => {
|
|
259
259
|
// Create task A
|
|
260
|
-
const taskA = await client.callTool("
|
|
260
|
+
const taskA = await client.callTool("create_issue", {
|
|
261
261
|
type: "task",
|
|
262
262
|
title: "Task A - Mutual",
|
|
263
263
|
status: "open",
|
|
264
264
|
});
|
|
265
265
|
const taskAId = taskA.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
266
266
|
// Create task B depending on A
|
|
267
|
-
const taskB = await client.callTool("
|
|
267
|
+
const taskB = await client.callTool("create_issue", {
|
|
268
268
|
type: "task",
|
|
269
269
|
title: "Task B - Mutual",
|
|
270
270
|
status: "open",
|
|
@@ -272,7 +272,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
272
272
|
});
|
|
273
273
|
const taskBId = taskB.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
274
274
|
// Try to update A to depend on B (creating cycle)
|
|
275
|
-
await client.callTool("
|
|
275
|
+
await client.callTool("update_issue", {
|
|
276
276
|
id: taskAId,
|
|
277
277
|
prerequisites: [taskBId],
|
|
278
278
|
});
|
|
@@ -292,14 +292,14 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
292
292
|
describe("Partial Prerequisites", () => {
|
|
293
293
|
it("should handle wont-do prerequisites", async () => {
|
|
294
294
|
// Create prerequisite that will be marked wont-do
|
|
295
|
-
const prereqResult = await client.callTool("
|
|
295
|
+
const prereqResult = await client.callTool("create_issue", {
|
|
296
296
|
type: "task",
|
|
297
297
|
title: "Prerequisite - Will Cancel",
|
|
298
298
|
status: "open",
|
|
299
299
|
});
|
|
300
300
|
const prereqId = prereqResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
301
301
|
// Create dependent task
|
|
302
|
-
const mainResult = await client.callTool("
|
|
302
|
+
const mainResult = await client.callTool("create_issue", {
|
|
303
303
|
type: "task",
|
|
304
304
|
title: "Task with Cancelled Prerequisite",
|
|
305
305
|
status: "open",
|
|
@@ -307,7 +307,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
307
307
|
});
|
|
308
308
|
const mainId = mainResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
309
309
|
// Mark prerequisite as wont-do
|
|
310
|
-
await client.callTool("
|
|
310
|
+
await client.callTool("update_issue", {
|
|
311
311
|
id: prereqId,
|
|
312
312
|
status: "wont-do",
|
|
313
313
|
});
|
|
@@ -317,7 +317,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
317
317
|
});
|
|
318
318
|
it("should handle external prerequisites", async () => {
|
|
319
319
|
// Create task with external (non-existent) prerequisite
|
|
320
|
-
const result = await client.callTool("
|
|
320
|
+
const result = await client.callTool("create_issue", {
|
|
321
321
|
type: "task",
|
|
322
322
|
title: "Task with External Dependency",
|
|
323
323
|
status: "open",
|
|
@@ -330,14 +330,14 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
330
330
|
});
|
|
331
331
|
it("should handle mixed internal and external prerequisites", async () => {
|
|
332
332
|
// Create internal prerequisite
|
|
333
|
-
const internalResult = await client.callTool("
|
|
333
|
+
const internalResult = await client.callTool("create_issue", {
|
|
334
334
|
type: "task",
|
|
335
335
|
title: "Internal Prerequisite",
|
|
336
336
|
status: "open",
|
|
337
337
|
});
|
|
338
338
|
const internalId = internalResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
339
339
|
// Create task with both internal and external prerequisites
|
|
340
|
-
const mainResult = await client.callTool("
|
|
340
|
+
const mainResult = await client.callTool("create_issue", {
|
|
341
341
|
type: "task",
|
|
342
342
|
title: "Mixed Prerequisites Task",
|
|
343
343
|
status: "open",
|
|
@@ -361,7 +361,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
361
361
|
});
|
|
362
362
|
describe("Prerequisites Edge Cases", () => {
|
|
363
363
|
it("should handle empty prerequisites array", async () => {
|
|
364
|
-
const result = await client.callTool("
|
|
364
|
+
const result = await client.callTool("create_issue", {
|
|
365
365
|
type: "task",
|
|
366
366
|
title: "No Prerequisites Task",
|
|
367
367
|
status: "open",
|
|
@@ -374,13 +374,13 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
374
374
|
});
|
|
375
375
|
it("should handle prerequisites on different object types", async () => {
|
|
376
376
|
// Create feature with prerequisites
|
|
377
|
-
const task1Result = await client.callTool("
|
|
377
|
+
const task1Result = await client.callTool("create_issue", {
|
|
378
378
|
type: "task",
|
|
379
379
|
title: "Prerequisite Task for Feature",
|
|
380
380
|
status: "open",
|
|
381
381
|
});
|
|
382
382
|
const task1Id = task1Result.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
383
|
-
const featureResult = await client.callTool("
|
|
383
|
+
const featureResult = await client.callTool("create_issue", {
|
|
384
384
|
type: "feature",
|
|
385
385
|
title: "Feature with Prerequisites",
|
|
386
386
|
status: "open",
|
|
@@ -388,7 +388,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
388
388
|
});
|
|
389
389
|
const featureId = featureResult.content[0].text.match(/ID: (F-[a-z0-9-]+)/)[1];
|
|
390
390
|
// Create task depending on feature
|
|
391
|
-
const task2Result = await client.callTool("
|
|
391
|
+
const task2Result = await client.callTool("create_issue", {
|
|
392
392
|
type: "task",
|
|
393
393
|
title: "Task Depending on Feature",
|
|
394
394
|
status: "open",
|
|
@@ -403,7 +403,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
403
403
|
filesChanged: {},
|
|
404
404
|
});
|
|
405
405
|
// Mark feature as done
|
|
406
|
-
await client.callTool("
|
|
406
|
+
await client.callTool("update_issue", {
|
|
407
407
|
id: featureId,
|
|
408
408
|
status: "done",
|
|
409
409
|
});
|
|
@@ -415,13 +415,13 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
415
415
|
describe("Dynamic Prerequisite Updates", () => {
|
|
416
416
|
it("should handle adding prerequisites to existing tasks", async () => {
|
|
417
417
|
// Create tasks
|
|
418
|
-
const task1Result = await client.callTool("
|
|
418
|
+
const task1Result = await client.callTool("create_issue", {
|
|
419
419
|
type: "task",
|
|
420
420
|
title: "Task 1 - Independent",
|
|
421
421
|
status: "open",
|
|
422
422
|
});
|
|
423
423
|
const task1Id = task1Result.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
424
|
-
const task2Result = await client.callTool("
|
|
424
|
+
const task2Result = await client.callTool("create_issue", {
|
|
425
425
|
type: "task",
|
|
426
426
|
title: "Task 2 - Initially Independent",
|
|
427
427
|
status: "open",
|
|
@@ -432,12 +432,12 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
432
432
|
let result = await client.callTool("claim_task", { taskId: task2Id });
|
|
433
433
|
expect(result.content[0].text).toContain("Successfully claimed");
|
|
434
434
|
// Reset task 2 to open
|
|
435
|
-
await client.callTool("
|
|
435
|
+
await client.callTool("update_issue", {
|
|
436
436
|
id: task2Id,
|
|
437
437
|
status: "open",
|
|
438
438
|
});
|
|
439
439
|
// Add prerequisite to task 2
|
|
440
|
-
await client.callTool("
|
|
440
|
+
await client.callTool("update_issue", {
|
|
441
441
|
id: task2Id,
|
|
442
442
|
prerequisites: [task1Id],
|
|
443
443
|
});
|
|
@@ -457,14 +457,14 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
457
457
|
});
|
|
458
458
|
it("should handle removing prerequisites from existing tasks", async () => {
|
|
459
459
|
// Create prerequisite task
|
|
460
|
-
const prereqResult = await client.callTool("
|
|
460
|
+
const prereqResult = await client.callTool("create_issue", {
|
|
461
461
|
type: "task",
|
|
462
462
|
title: "Prerequisite Task",
|
|
463
463
|
status: "open",
|
|
464
464
|
});
|
|
465
465
|
const prereqId = prereqResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
466
466
|
// Create dependent task
|
|
467
|
-
const dependentResult = await client.callTool("
|
|
467
|
+
const dependentResult = await client.callTool("create_issue", {
|
|
468
468
|
type: "task",
|
|
469
469
|
title: "Dependent Task",
|
|
470
470
|
status: "open",
|
|
@@ -475,7 +475,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
475
475
|
let result = await client.callTool("claim_task", { taskId: dependentId });
|
|
476
476
|
expect(result.content[0].text).toContain("Not all prerequisites");
|
|
477
477
|
// Remove prerequisite
|
|
478
|
-
await client.callTool("
|
|
478
|
+
await client.callTool("update_issue", {
|
|
479
479
|
id: dependentId,
|
|
480
480
|
prerequisites: [],
|
|
481
481
|
});
|
|
@@ -487,14 +487,14 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
487
487
|
describe("Priority with Prerequisites", () => {
|
|
488
488
|
it("should claim highest priority task among available tasks", async () => {
|
|
489
489
|
// Create prerequisite
|
|
490
|
-
const prereqResult = await client.callTool("
|
|
490
|
+
const prereqResult = await client.callTool("create_issue", {
|
|
491
491
|
type: "task",
|
|
492
492
|
title: "Completed Prerequisite",
|
|
493
493
|
status: "done",
|
|
494
494
|
});
|
|
495
495
|
const prereqId = prereqResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
496
496
|
// Create high priority task with completed prerequisite
|
|
497
|
-
await client.callTool("
|
|
497
|
+
await client.callTool("create_issue", {
|
|
498
498
|
type: "task",
|
|
499
499
|
title: "High Priority Available",
|
|
500
500
|
priority: "high",
|
|
@@ -502,7 +502,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
502
502
|
prerequisites: [prereqId],
|
|
503
503
|
});
|
|
504
504
|
// Create medium priority task without prerequisites
|
|
505
|
-
await client.callTool("
|
|
505
|
+
await client.callTool("create_issue", {
|
|
506
506
|
type: "task",
|
|
507
507
|
title: "Medium Priority Independent",
|
|
508
508
|
priority: "medium",
|
|
@@ -515,7 +515,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
515
515
|
});
|
|
516
516
|
it("should skip blocked high priority tasks and claim available lower priority", async () => {
|
|
517
517
|
// Create incomplete prerequisite
|
|
518
|
-
const prereqResult = await client.callTool("
|
|
518
|
+
const prereqResult = await client.callTool("create_issue", {
|
|
519
519
|
type: "task",
|
|
520
520
|
title: "Incomplete Prerequisite",
|
|
521
521
|
status: "open",
|
|
@@ -523,7 +523,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
523
523
|
});
|
|
524
524
|
const prereqId = prereqResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
525
525
|
// Create high priority task with incomplete prerequisite
|
|
526
|
-
await client.callTool("
|
|
526
|
+
await client.callTool("create_issue", {
|
|
527
527
|
type: "task",
|
|
528
528
|
title: "High Priority Blocked",
|
|
529
529
|
priority: "high",
|
|
@@ -531,7 +531,7 @@ describe("E2E Workflow - Prerequisites", () => {
|
|
|
531
531
|
prerequisites: [prereqId],
|
|
532
532
|
});
|
|
533
533
|
// Create medium priority task without prerequisites
|
|
534
|
-
await client.callTool("
|
|
534
|
+
await client.callTool("create_issue", {
|
|
535
535
|
type: "task",
|
|
536
536
|
title: "Medium Priority Available",
|
|
537
537
|
priority: "medium",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerequisites.e2e.test.js","sourceRoot":"","sources":["../../../../src/__tests__/e2e/workflow/prerequisites.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"prerequisites.e2e.test.js","sourceRoot":"","sources":["../../../../src/__tests__/e2e/workflow/prerequisites.e2e.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
21
21
|
describe("Complete Task Workflow", () => {
|
|
22
22
|
it("should complete full lifecycle: create -> claim -> work -> complete", async () => {
|
|
23
23
|
// Step 1: Create task
|
|
24
|
-
const createResult = await client.callTool("
|
|
24
|
+
const createResult = await client.callTool("create_issue", {
|
|
25
25
|
type: "task",
|
|
26
26
|
title: "Full Lifecycle Task",
|
|
27
27
|
priority: "high",
|
|
@@ -70,14 +70,14 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
70
70
|
});
|
|
71
71
|
it("should handle workflow with prerequisites", async () => {
|
|
72
72
|
// Create prerequisite task
|
|
73
|
-
const prereqResult = await client.callTool("
|
|
73
|
+
const prereqResult = await client.callTool("create_issue", {
|
|
74
74
|
type: "task",
|
|
75
75
|
title: "Prerequisite Task",
|
|
76
76
|
status: "open",
|
|
77
77
|
});
|
|
78
78
|
const prereqId = prereqResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
79
79
|
// Create dependent task
|
|
80
|
-
const dependentResult = await client.callTool("
|
|
80
|
+
const dependentResult = await client.callTool("create_issue", {
|
|
81
81
|
type: "task",
|
|
82
82
|
title: "Dependent Task",
|
|
83
83
|
prerequisites: [prereqId],
|
|
@@ -116,14 +116,14 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
116
116
|
describe("Complex Project Workflow", () => {
|
|
117
117
|
it("should handle project -> epic -> feature -> task hierarchy", async () => {
|
|
118
118
|
// Create project
|
|
119
|
-
const projectResult = await client.callTool("
|
|
119
|
+
const projectResult = await client.callTool("create_issue", {
|
|
120
120
|
type: "project",
|
|
121
121
|
title: "Complex Project",
|
|
122
122
|
status: "open",
|
|
123
123
|
});
|
|
124
124
|
const projectId = projectResult.content[0].text.match(/ID: (P-[a-z0-9-]+)/)[1];
|
|
125
125
|
// Create epic
|
|
126
|
-
const epicResult = await client.callTool("
|
|
126
|
+
const epicResult = await client.callTool("create_issue", {
|
|
127
127
|
type: "epic",
|
|
128
128
|
title: "Major Epic",
|
|
129
129
|
parent: projectId,
|
|
@@ -131,7 +131,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
131
131
|
});
|
|
132
132
|
const epicId = epicResult.content[0].text.match(/ID: (E-[a-z0-9-]+)/)[1];
|
|
133
133
|
// Create feature
|
|
134
|
-
const featureResult = await client.callTool("
|
|
134
|
+
const featureResult = await client.callTool("create_issue", {
|
|
135
135
|
type: "feature",
|
|
136
136
|
title: "Core Feature",
|
|
137
137
|
parent: epicId,
|
|
@@ -141,7 +141,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
141
141
|
// Create multiple tasks
|
|
142
142
|
const taskIds = [];
|
|
143
143
|
for (let i = 1; i <= 3; i++) {
|
|
144
|
-
const taskResult = await client.callTool("
|
|
144
|
+
const taskResult = await client.callTool("create_issue", {
|
|
145
145
|
type: "task",
|
|
146
146
|
title: `Task ${i}`,
|
|
147
147
|
parent: featureId,
|
|
@@ -170,7 +170,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
170
170
|
expect(file.yaml.status).toBe("done");
|
|
171
171
|
}
|
|
172
172
|
// Update feature status
|
|
173
|
-
await client.callTool("
|
|
173
|
+
await client.callTool("update_issue", {
|
|
174
174
|
id: featureId,
|
|
175
175
|
status: "done",
|
|
176
176
|
});
|
|
@@ -182,7 +182,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
182
182
|
describe("Workflow Interruptions", () => {
|
|
183
183
|
it("should handle task abandonment (wont-do)", async () => {
|
|
184
184
|
// Create and claim task
|
|
185
|
-
const result = await client.callTool("
|
|
185
|
+
const result = await client.callTool("create_issue", {
|
|
186
186
|
type: "task",
|
|
187
187
|
title: "Task to Abandon",
|
|
188
188
|
status: "open",
|
|
@@ -194,7 +194,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
194
194
|
contents: "Started work but found blocker",
|
|
195
195
|
});
|
|
196
196
|
// Mark as wont-do instead of completing
|
|
197
|
-
await client.callTool("
|
|
197
|
+
await client.callTool("update_issue", {
|
|
198
198
|
id: taskId,
|
|
199
199
|
status: "wont-do",
|
|
200
200
|
});
|
|
@@ -204,7 +204,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
204
204
|
});
|
|
205
205
|
it("should handle task re-assignment", async () => {
|
|
206
206
|
// Create task
|
|
207
|
-
const result = await client.callTool("
|
|
207
|
+
const result = await client.callTool("create_issue", {
|
|
208
208
|
type: "task",
|
|
209
209
|
title: "Task to Reassign",
|
|
210
210
|
status: "open",
|
|
@@ -217,7 +217,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
217
217
|
contents: "First attempt - need to hand off",
|
|
218
218
|
});
|
|
219
219
|
// Reset to open for reassignment
|
|
220
|
-
await client.callTool("
|
|
220
|
+
await client.callTool("update_issue", {
|
|
221
221
|
id: taskId,
|
|
222
222
|
status: "open",
|
|
223
223
|
});
|
|
@@ -244,7 +244,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
244
244
|
});
|
|
245
245
|
describe("Status Transition Validation", () => {
|
|
246
246
|
it("should enforce valid status transitions", async () => {
|
|
247
|
-
const result = await client.callTool("
|
|
247
|
+
const result = await client.callTool("create_issue", {
|
|
248
248
|
type: "task",
|
|
249
249
|
title: "Status Transition Test",
|
|
250
250
|
status: "open",
|
|
@@ -262,7 +262,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
262
262
|
expect(file.yaml.status).toBe("done");
|
|
263
263
|
});
|
|
264
264
|
it("should prevent invalid status transitions", async () => {
|
|
265
|
-
const result = await client.callTool("
|
|
265
|
+
const result = await client.callTool("create_issue", {
|
|
266
266
|
type: "task",
|
|
267
267
|
title: "Invalid Transition Test",
|
|
268
268
|
status: "open",
|
|
@@ -291,7 +291,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
291
291
|
{ title: "Medium Priority Task", priority: "medium" },
|
|
292
292
|
];
|
|
293
293
|
for (const task of tasks) {
|
|
294
|
-
await client.callTool("
|
|
294
|
+
await client.callTool("create_issue", {
|
|
295
295
|
type: "task",
|
|
296
296
|
title: task.title,
|
|
297
297
|
priority: task.priority,
|
|
@@ -304,14 +304,14 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
304
304
|
});
|
|
305
305
|
it("should consider prerequisites when auto-claiming", async () => {
|
|
306
306
|
// Create prerequisite task
|
|
307
|
-
const prereqResult = await client.callTool("
|
|
307
|
+
const prereqResult = await client.callTool("create_issue", {
|
|
308
308
|
type: "task",
|
|
309
309
|
title: "Prerequisite for High Priority",
|
|
310
310
|
status: "open",
|
|
311
311
|
});
|
|
312
312
|
const prereqId = prereqResult.content[0].text.match(/ID: (T-[a-z0-9-]+)/)[1];
|
|
313
313
|
// Create high priority task with prerequisite
|
|
314
|
-
await client.callTool("
|
|
314
|
+
await client.callTool("create_issue", {
|
|
315
315
|
type: "task",
|
|
316
316
|
title: "High Priority with Prereq",
|
|
317
317
|
priority: "high",
|
|
@@ -319,7 +319,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
319
319
|
status: "open",
|
|
320
320
|
});
|
|
321
321
|
// Create medium priority task without prerequisite
|
|
322
|
-
await client.callTool("
|
|
322
|
+
await client.callTool("create_issue", {
|
|
323
323
|
type: "task",
|
|
324
324
|
title: "Medium Priority Available",
|
|
325
325
|
priority: "medium",
|
|
@@ -335,7 +335,7 @@ describe("E2E Workflow - Task Lifecycle", () => {
|
|
|
335
335
|
// Create multiple tasks
|
|
336
336
|
const taskIds = [];
|
|
337
337
|
for (let i = 1; i <= 3; i++) {
|
|
338
|
-
const taskResult = await client.callTool("
|
|
338
|
+
const taskResult = await client.callTool("create_issue", {
|
|
339
339
|
type: "task",
|
|
340
340
|
title: `Concurrent Task ${i}`,
|
|
341
341
|
status: "open",
|