@aithr-ai/mcp-server 1.2.1 → 1.2.2
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/index.js +30 -38
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -3742,17 +3742,13 @@ class MCPServer {
|
|
|
3742
3742
|
const { sessionId, intendedAction } = args;
|
|
3743
3743
|
|
|
3744
3744
|
try {
|
|
3745
|
-
// Get current session status
|
|
3746
|
-
const
|
|
3747
|
-
`/mcp/projects/${projectId}/orchestra
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
action: 'status',
|
|
3751
|
-
sessionId: sessionId || undefined,
|
|
3752
|
-
}
|
|
3753
|
-
);
|
|
3745
|
+
// Get current session status via GET
|
|
3746
|
+
const url = sessionId
|
|
3747
|
+
? `/mcp/projects/${projectId}/orchestra?sessionId=${sessionId}`
|
|
3748
|
+
: `/mcp/projects/${projectId}/orchestra`;
|
|
3749
|
+
const data = await this.mcpApiCall(url, 'GET');
|
|
3754
3750
|
|
|
3755
|
-
if (!data || data.error) {
|
|
3751
|
+
if (!data || data.error || !data.session) {
|
|
3756
3752
|
return {
|
|
3757
3753
|
valid: false,
|
|
3758
3754
|
error: data?.error || 'No orchestra session found',
|
|
@@ -3763,7 +3759,7 @@ class MCPServer {
|
|
|
3763
3759
|
};
|
|
3764
3760
|
}
|
|
3765
3761
|
|
|
3766
|
-
const session = data;
|
|
3762
|
+
const session = data.session;
|
|
3767
3763
|
const status = session.status;
|
|
3768
3764
|
const hasContract = !!session.contract || session.contractVersion > 0;
|
|
3769
3765
|
const hasPlan = session.totalTasks > 0;
|
|
@@ -3842,7 +3838,7 @@ class MCPServer {
|
|
|
3842
3838
|
|
|
3843
3839
|
return {
|
|
3844
3840
|
valid: actionValid && currentState.missing.length === 0,
|
|
3845
|
-
sessionId: session.
|
|
3841
|
+
sessionId: session.id,
|
|
3846
3842
|
status,
|
|
3847
3843
|
hasPlan,
|
|
3848
3844
|
hasContract,
|
|
@@ -3935,17 +3931,13 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
3935
3931
|
const { sessionId } = args;
|
|
3936
3932
|
|
|
3937
3933
|
try {
|
|
3938
|
-
// Get session status
|
|
3939
|
-
const
|
|
3940
|
-
`/mcp/projects/${projectId}/orchestra
|
|
3941
|
-
|
|
3942
|
-
|
|
3943
|
-
action: 'status',
|
|
3944
|
-
sessionId: sessionId || undefined,
|
|
3945
|
-
}
|
|
3946
|
-
);
|
|
3934
|
+
// Get session status via GET
|
|
3935
|
+
const url = sessionId
|
|
3936
|
+
? `/mcp/projects/${projectId}/orchestra?sessionId=${sessionId}`
|
|
3937
|
+
: `/mcp/projects/${projectId}/orchestra`;
|
|
3938
|
+
const data = await this.mcpApiCall(url, 'GET');
|
|
3947
3939
|
|
|
3948
|
-
if (!
|
|
3940
|
+
if (!data || data.error || !data.session) {
|
|
3949
3941
|
return {
|
|
3950
3942
|
nextTool: 'aether_start_orchestra',
|
|
3951
3943
|
parameters: {},
|
|
@@ -3954,7 +3946,7 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
3954
3946
|
};
|
|
3955
3947
|
}
|
|
3956
3948
|
|
|
3957
|
-
const session =
|
|
3949
|
+
const session = data.session;
|
|
3958
3950
|
const sessionStatus = session.status;
|
|
3959
3951
|
const hasContract = !!session.contract || session.contractVersion > 0;
|
|
3960
3952
|
const hasPlan = session.totalTasks > 0;
|
|
@@ -3966,13 +3958,13 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
3966
3958
|
return {
|
|
3967
3959
|
nextTool: 'aether_set_orchestra_plan',
|
|
3968
3960
|
parameters: {
|
|
3969
|
-
sessionId: session.
|
|
3961
|
+
sessionId: session.id,
|
|
3970
3962
|
planContent: '<DEVELOPMENT_PLAN.md content>',
|
|
3971
3963
|
phases: '<Array of phases with tasks>',
|
|
3972
3964
|
},
|
|
3973
3965
|
explanation: 'Session created but no plan set. Define the development plan with phases and tasks.',
|
|
3974
3966
|
example: `aether_set_orchestra_plan({
|
|
3975
|
-
sessionId: "${session.
|
|
3967
|
+
sessionId: "${session.id}",
|
|
3976
3968
|
planContent: "# Development Plan\\n...",
|
|
3977
3969
|
phases: [{
|
|
3978
3970
|
phaseNumber: 1,
|
|
@@ -3991,12 +3983,12 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
3991
3983
|
return {
|
|
3992
3984
|
nextTool: 'aether_create_contract',
|
|
3993
3985
|
parameters: {
|
|
3994
|
-
sessionId: session.
|
|
3986
|
+
sessionId: session.id,
|
|
3995
3987
|
requirements: '<Full project requirements>',
|
|
3996
3988
|
},
|
|
3997
3989
|
explanation: 'Plan is set. Now generate the Source of Truth contract to ensure consistency across all agents.',
|
|
3998
3990
|
example: `aether_create_contract({
|
|
3999
|
-
sessionId: "${session.
|
|
3991
|
+
sessionId: "${session.id}",
|
|
4000
3992
|
requirements: "Build a task management app with user auth, projects, and real-time updates..."
|
|
4001
3993
|
})`,
|
|
4002
3994
|
note: 'This step is RECOMMENDED but optional. You can skip to aether_orchestra_approve if needed.',
|
|
@@ -4007,7 +3999,7 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4007
3999
|
return {
|
|
4008
4000
|
nextTool: 'aether_create_contract',
|
|
4009
4001
|
parameters: {
|
|
4010
|
-
sessionId: session.
|
|
4002
|
+
sessionId: session.id,
|
|
4011
4003
|
requirements: '<Full project requirements>',
|
|
4012
4004
|
},
|
|
4013
4005
|
explanation: 'Plan awaiting approval. RECOMMENDED: Generate contract first for type consistency.',
|
|
@@ -4019,9 +4011,9 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4019
4011
|
}
|
|
4020
4012
|
return {
|
|
4021
4013
|
nextTool: 'aether_orchestra_approve',
|
|
4022
|
-
parameters: { sessionId: session.
|
|
4014
|
+
parameters: { sessionId: session.id },
|
|
4023
4015
|
explanation: 'Plan and contract ready. Approve to begin autonomous execution.',
|
|
4024
|
-
example: `aether_orchestra_approve({ sessionId: "${session.
|
|
4016
|
+
example: `aether_orchestra_approve({ sessionId: "${session.id}" })`,
|
|
4025
4017
|
warning: 'After approval, tasks will execute. Review the plan carefully first.',
|
|
4026
4018
|
};
|
|
4027
4019
|
|
|
@@ -4030,9 +4022,9 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4030
4022
|
if (session.readyTasks > 0) {
|
|
4031
4023
|
return {
|
|
4032
4024
|
nextTool: 'aether_orchestra_next',
|
|
4033
|
-
parameters: { sessionId: session.
|
|
4025
|
+
parameters: { sessionId: session.id },
|
|
4034
4026
|
explanation: `${session.readyTasks} task(s) ready to execute. Get them and trigger generation.`,
|
|
4035
|
-
example: `aether_orchestra_next({ sessionId: "${session.
|
|
4027
|
+
example: `aether_orchestra_next({ sessionId: "${session.id}", maxTasks: 3 })`,
|
|
4036
4028
|
followUp: 'After getting tasks, use aether_trigger_generation with the orchestraContext from each task.',
|
|
4037
4029
|
};
|
|
4038
4030
|
}
|
|
@@ -4040,16 +4032,16 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4040
4032
|
if (session.runningTasks > 0) {
|
|
4041
4033
|
return {
|
|
4042
4034
|
nextTool: 'aether_orchestra_status',
|
|
4043
|
-
parameters: { sessionId: session.
|
|
4035
|
+
parameters: { sessionId: session.id, includeReports: true },
|
|
4044
4036
|
explanation: `${session.runningTasks} task(s) currently running. Check status and handle any reports.`,
|
|
4045
|
-
example: `aether_orchestra_status({ sessionId: "${session.
|
|
4037
|
+
example: `aether_orchestra_status({ sessionId: "${session.id}", includeReports: true })`,
|
|
4046
4038
|
};
|
|
4047
4039
|
}
|
|
4048
4040
|
// Check for blocked tasks
|
|
4049
4041
|
if (session.blockedTasks > 0) {
|
|
4050
4042
|
return {
|
|
4051
4043
|
nextTool: 'aether_orchestra_status',
|
|
4052
|
-
parameters: { sessionId: session.
|
|
4044
|
+
parameters: { sessionId: session.id, includeReports: true },
|
|
4053
4045
|
explanation: `${session.blockedTasks} task(s) blocked. Review blockers and resolve or edit the plan.`,
|
|
4054
4046
|
alternative: {
|
|
4055
4047
|
tool: 'aether_edit_orchestra',
|
|
@@ -4060,7 +4052,7 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4060
4052
|
// All tasks might be complete
|
|
4061
4053
|
return {
|
|
4062
4054
|
nextTool: 'aether_orchestra_status',
|
|
4063
|
-
parameters: { sessionId: session.
|
|
4055
|
+
parameters: { sessionId: session.id },
|
|
4064
4056
|
explanation: 'Check if all tasks are complete. May be ready to finalize.',
|
|
4065
4057
|
possibleActions: [
|
|
4066
4058
|
{ tool: 'aether_complete_orchestra', when: 'All tasks done' },
|
|
@@ -4072,7 +4064,7 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4072
4064
|
case 'paused':
|
|
4073
4065
|
return {
|
|
4074
4066
|
nextTool: 'aether_orchestra_resume',
|
|
4075
|
-
parameters: { sessionId: session.
|
|
4067
|
+
parameters: { sessionId: session.id },
|
|
4076
4068
|
explanation: 'Session is paused. Resume to continue execution.',
|
|
4077
4069
|
alternative: {
|
|
4078
4070
|
tool: 'aether_orchestra_status',
|
|
@@ -4094,7 +4086,7 @@ Current position: Step ${this.getWorkflowStep(status, hasPlan, hasContract)}
|
|
|
4094
4086
|
default:
|
|
4095
4087
|
return {
|
|
4096
4088
|
nextTool: 'aether_orchestra_status',
|
|
4097
|
-
parameters: { sessionId: session.
|
|
4089
|
+
parameters: { sessionId: session.id },
|
|
4098
4090
|
explanation: `Unknown session status: ${sessionStatus}. Check status for details.`,
|
|
4099
4091
|
};
|
|
4100
4092
|
}
|