@ateam-ai/mcp 0.3.2 → 0.3.4
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/package.json +1 -1
- package/src/tools.js +57 -19
package/package.json
CHANGED
package/src/tools.js
CHANGED
|
@@ -872,14 +872,14 @@ export const tools = [
|
|
|
872
872
|
},
|
|
873
873
|
|
|
874
874
|
// ═══════════════════════════════════════════════════════════════════
|
|
875
|
-
// RELEASE MANAGEMENT —
|
|
875
|
+
// RELEASE MANAGEMENT — checkpoint, rollback, version listing
|
|
876
876
|
// ═══════════════════════════════════════════════════════════════════
|
|
877
877
|
|
|
878
878
|
{
|
|
879
879
|
name: "ateam_github_promote",
|
|
880
880
|
core: true,
|
|
881
881
|
description:
|
|
882
|
-
"
|
|
882
|
+
"Create a checkpoint (safe point) on the current main branch. Tags the current state with safe-YYYY-MM-DD-NNN so you can rollback to it later. Use this before risky changes or when the solution is in a known-good state.",
|
|
883
883
|
inputSchema: {
|
|
884
884
|
type: "object",
|
|
885
885
|
properties: {
|
|
@@ -887,9 +887,9 @@ export const tools = [
|
|
|
887
887
|
type: "string",
|
|
888
888
|
description: "The solution ID",
|
|
889
889
|
},
|
|
890
|
-
|
|
890
|
+
label: {
|
|
891
891
|
type: "string",
|
|
892
|
-
description: "Optional:
|
|
892
|
+
description: "Optional: human-readable label for this checkpoint (e.g., 'before refactor', 'v2 stable')",
|
|
893
893
|
},
|
|
894
894
|
},
|
|
895
895
|
required: ["solution_id"],
|
|
@@ -899,7 +899,7 @@ export const tools = [
|
|
|
899
899
|
name: "ateam_github_rollback",
|
|
900
900
|
core: true,
|
|
901
901
|
description:
|
|
902
|
-
"Rollback main
|
|
902
|
+
"Rollback main branch to a previous checkpoint (safe-* tag). Resets main to the specified checkpoint commit. ⚠️ DESTRUCTIVE — use with caution. Use ateam_github_list_versions to find available checkpoints first.",
|
|
903
903
|
inputSchema: {
|
|
904
904
|
type: "object",
|
|
905
905
|
properties: {
|
|
@@ -909,7 +909,7 @@ export const tools = [
|
|
|
909
909
|
},
|
|
910
910
|
tag: {
|
|
911
911
|
type: "string",
|
|
912
|
-
description: "Required:
|
|
912
|
+
description: "Required: checkpoint tag to rollback to (e.g., 'safe-2026-03-11-001')",
|
|
913
913
|
},
|
|
914
914
|
},
|
|
915
915
|
required: ["solution_id", "tag"],
|
|
@@ -919,7 +919,7 @@ export const tools = [
|
|
|
919
919
|
name: "ateam_github_list_versions",
|
|
920
920
|
core: true,
|
|
921
921
|
description:
|
|
922
|
-
"List all available
|
|
922
|
+
"List all available checkpoints (safe-* tags) for a solution. Shows tag name, date, counter, and commit SHA. Use before rollback to see available safe points.",
|
|
923
923
|
inputSchema: {
|
|
924
924
|
type: "object",
|
|
925
925
|
properties: {
|
|
@@ -1079,15 +1079,23 @@ const handlers = {
|
|
|
1079
1079
|
{ name: "Enterprise Compliance Platform", description: "Approval flows, audit logs, policy enforcement" },
|
|
1080
1080
|
],
|
|
1081
1081
|
developer_loop: {
|
|
1082
|
-
_note: "This is the recommended build loop.
|
|
1082
|
+
_note: "This is the recommended build loop. 6 steps from definition to running skill with GitHub version control.",
|
|
1083
1083
|
steps: [
|
|
1084
1084
|
{ step: 1, action: "Learn", description: "Get the spec and study examples", tools: ["ateam_get_spec", "ateam_get_examples"] },
|
|
1085
1085
|
{ step: 2, action: "Build & Run", description: "Define your solution + skills + connector code, then validate, deploy, and health-check in one call. Include mcp_store with connector source code on the first deploy.", tools: ["ateam_build_and_run"] },
|
|
1086
|
-
{ step: 3, action: "Version", description: "Every deploy auto-pushes to GitHub. The repo (tenant--solution-id) is the source of truth for connector code.", tools: ["ateam_github_status", "ateam_github_log"] },
|
|
1087
|
-
{ step: 4, action: "Iterate", description: "Edit connector code via ateam_github_patch, then redeploy with ateam_build_and_run(github:true). For skill definition changes (
|
|
1086
|
+
{ step: 3, action: "Version", description: "Every deploy auto-pushes to main on GitHub. The repo (tenant--solution-id) is the source of truth for connector code.", tools: ["ateam_github_status", "ateam_github_log"] },
|
|
1087
|
+
{ step: 4, action: "Iterate", description: "Edit connector code via ateam_github_patch (commits to main), then redeploy with ateam_build_and_run(github:true). For skill definition changes, use ateam_patch (also pushes to main).", tools: ["ateam_github_patch", "ateam_build_and_run", "ateam_patch"] },
|
|
1088
1088
|
{ step: 5, action: "Test & Debug", description: "Test the decision pipeline or full execution, then diagnose with logs and metrics. For voice-enabled solutions, use ateam_test_voice to simulate phone conversations.", tools: ["ateam_test_pipeline", "ateam_test_skill", "ateam_test_voice", "ateam_get_execution_logs", "ateam_get_metrics"] },
|
|
1089
|
+
{ step: 6, action: "Checkpoint", description: "When solution is in a good state, create a checkpoint (safe point). You can rollback to any checkpoint if something breaks.", tools: ["ateam_github_promote", "ateam_github_list_versions"] },
|
|
1089
1090
|
],
|
|
1090
1091
|
},
|
|
1092
|
+
branching: {
|
|
1093
|
+
_important: "Single-branch model: ALL changes go directly to 'main'. Use checkpoints (safe-* tags) as safe rollback points.",
|
|
1094
|
+
main: "The only branch. All deploys, patches, and github_patches commit here automatically. This IS the live running system.",
|
|
1095
|
+
checkpoints: "ateam_github_promote(solution_id) — creates a safe-YYYY-MM-DD-NNN tag on current main HEAD. Use before risky changes.",
|
|
1096
|
+
rollback: "ateam_github_rollback(solution_id, tag) — reverts main to a previous checkpoint tag.",
|
|
1097
|
+
workflow: "Build → iterate on main → test → checkpoint when stable → continue iterating.",
|
|
1098
|
+
},
|
|
1091
1099
|
first_questions: [
|
|
1092
1100
|
{ id: "goal", question: "What do you want your Team to accomplish?", type: "text" },
|
|
1093
1101
|
{ id: "domain", question: "Which domain fits best?", type: "enum", options: ["ecommerce", "logistics", "enterprise_ops", "other"] },
|
|
@@ -1095,24 +1103,29 @@ const handlers = {
|
|
|
1095
1103
|
{ id: "security", question: "What environment constraints?", type: "enum", options: ["sandbox", "controlled", "regulated"] },
|
|
1096
1104
|
],
|
|
1097
1105
|
github_tools: {
|
|
1098
|
-
_note: "Version control for solutions.
|
|
1099
|
-
tools: ["ateam_github_push", "ateam_github_pull", "ateam_github_status", "ateam_github_read", "ateam_github_patch", "ateam_github_log"],
|
|
1106
|
+
_note: "Version control for solutions. Single-branch model — everything on 'main'. Use checkpoints as safe rollback points.",
|
|
1107
|
+
tools: ["ateam_github_push", "ateam_github_pull", "ateam_github_status", "ateam_github_read", "ateam_github_patch", "ateam_github_log", "ateam_github_promote", "ateam_github_rollback", "ateam_github_list_versions"],
|
|
1100
1108
|
repo_structure: {
|
|
1101
1109
|
"solution.json": "Full solution definition",
|
|
1102
1110
|
"skills/{skill-id}/skill.json": "Individual skill definitions",
|
|
1103
1111
|
"connectors/{connector-id}/server.js": "Connector MCP server code",
|
|
1104
1112
|
"connectors/{connector-id}/package.json": "Connector dependencies",
|
|
1105
1113
|
},
|
|
1114
|
+
branch: "main — the only branch. All changes land here directly.",
|
|
1115
|
+
checkpoints: "safe-YYYY-MM-DD-NNN tags mark safe rollback points. Create with ateam_github_promote().",
|
|
1106
1116
|
iteration_workflow: {
|
|
1107
|
-
code_changes: "ateam_github_patch (
|
|
1108
|
-
definition_changes: "ateam_patch (
|
|
1117
|
+
code_changes: "ateam_github_patch (commits to main) → ateam_build_and_run(github:true) (pulls from main, redeploys)",
|
|
1118
|
+
definition_changes: "ateam_patch (updates + redeploys + auto-pushes to main)",
|
|
1109
1119
|
first_deploy: "Must include mcp_store — this creates the GitHub repo",
|
|
1120
|
+
checkpoint: "ateam_github_promote(solution_id) — tag current state as a safe rollback point",
|
|
1110
1121
|
},
|
|
1111
1122
|
when_to_use_what: {
|
|
1112
|
-
ateam_github_patch: "Edit connector source code (server.js, utils, package.json, UI assets)",
|
|
1113
|
-
ateam_patch: "Edit skill definitions (intents, tools, policy)
|
|
1114
|
-
"ateam_build_and_run(github:true)": "Redeploy solution pulling latest connector code from
|
|
1123
|
+
ateam_github_patch: "Edit connector source code on main (server.js, utils, package.json, UI assets)",
|
|
1124
|
+
ateam_patch: "Edit skill definitions (intents, tools, policy) — auto-pushes to main",
|
|
1125
|
+
"ateam_build_and_run(github:true)": "Redeploy solution pulling latest connector code from main",
|
|
1115
1126
|
"ateam_build_and_run(mcp_store)": "First deploy or when you want to pass connector code inline",
|
|
1127
|
+
ateam_github_promote: "Create a checkpoint (safe-* tag) — use before risky changes",
|
|
1128
|
+
ateam_github_rollback: "Revert main to a previous checkpoint",
|
|
1116
1129
|
},
|
|
1117
1130
|
},
|
|
1118
1131
|
advanced_tools: {
|
|
@@ -1157,12 +1170,15 @@ const handlers = {
|
|
|
1157
1170
|
"Use ateam_github_patch + ateam_build_and_run(github:true) for connector code changes after first deploy",
|
|
1158
1171
|
"Study the connector example (ateam_get_examples type='connector') before writing connector code",
|
|
1159
1172
|
"Ask discovery questions if goal unclear",
|
|
1173
|
+
"ALL changes go directly to main — suggest ateam_github_promote() to create a checkpoint before risky changes",
|
|
1174
|
+
"After every build/patch, tell the user: 'Deployed to Core ✅ | Pushed to main | Create checkpoint: ateam_github_promote(solution_id)'",
|
|
1160
1175
|
],
|
|
1161
1176
|
never: [
|
|
1162
1177
|
"Call validate + deploy + health separately when ateam_build_and_run does it in one step",
|
|
1163
1178
|
"Call update + redeploy separately when ateam_patch does it in one step",
|
|
1164
1179
|
"Dump raw spec unless requested",
|
|
1165
1180
|
"Write connector code that starts a web server — connectors MUST use stdio transport",
|
|
1181
|
+
"Mention dev branch — there is no dev branch, everything is on main",
|
|
1166
1182
|
],
|
|
1167
1183
|
},
|
|
1168
1184
|
}),
|
|
@@ -1386,6 +1402,7 @@ const handlers = {
|
|
|
1386
1402
|
return {
|
|
1387
1403
|
ok: true,
|
|
1388
1404
|
solution_id: solution.id,
|
|
1405
|
+
branch: 'main',
|
|
1389
1406
|
phases,
|
|
1390
1407
|
deploy: {
|
|
1391
1408
|
skills_deployed: deploy.import?.skills || [],
|
|
@@ -1397,6 +1414,8 @@ const handlers = {
|
|
|
1397
1414
|
...(test_result && { test_result }),
|
|
1398
1415
|
...(github_result && !github_result.error && !github_result.skipped && { github: github_result }),
|
|
1399
1416
|
...(validation.warnings?.length > 0 && { validation_warnings: validation.warnings }),
|
|
1417
|
+
_status: '✅ Deployed to Core + pushed to main.',
|
|
1418
|
+
_next: 'Create a checkpoint before making more changes: ateam_github_promote(solution_id)',
|
|
1400
1419
|
};
|
|
1401
1420
|
},
|
|
1402
1421
|
|
|
@@ -1463,13 +1482,32 @@ const handlers = {
|
|
|
1463
1482
|
}
|
|
1464
1483
|
}
|
|
1465
1484
|
|
|
1485
|
+
// Phase 4: Auto-push to main branch (non-blocking)
|
|
1486
|
+
let github_result;
|
|
1487
|
+
try {
|
|
1488
|
+
github_result = await post(
|
|
1489
|
+
`/deploy/solutions/${solution_id}/github/push`,
|
|
1490
|
+
{ message: `Patch: ${target}${skill_id ? ` ${skill_id}` : ''} — ${Object.keys(updates || {}).join(', ')}` },
|
|
1491
|
+
sid,
|
|
1492
|
+
{ timeoutMs: 60_000 },
|
|
1493
|
+
);
|
|
1494
|
+
phases.push({ phase: 'github', status: github_result.skipped ? 'skipped' : 'done' });
|
|
1495
|
+
} catch (err) {
|
|
1496
|
+
github_result = { error: err.message };
|
|
1497
|
+
phases.push({ phase: 'github', status: 'error', error: err.message });
|
|
1498
|
+
}
|
|
1499
|
+
|
|
1466
1500
|
return {
|
|
1467
1501
|
ok: true,
|
|
1468
1502
|
solution_id,
|
|
1503
|
+
branch: 'main',
|
|
1469
1504
|
phases,
|
|
1470
1505
|
patch: patchResult,
|
|
1471
1506
|
redeploy: redeployResult,
|
|
1472
1507
|
...(test_result && { test_result }),
|
|
1508
|
+
...(github_result && !github_result.error && !github_result.skipped && { github: github_result }),
|
|
1509
|
+
_status: '✅ Patched + redeployed + pushed to main.',
|
|
1510
|
+
_next: 'Create a checkpoint before making more changes: ateam_github_promote(solution_id)',
|
|
1473
1511
|
};
|
|
1474
1512
|
},
|
|
1475
1513
|
|
|
@@ -1615,8 +1653,8 @@ const handlers = {
|
|
|
1615
1653
|
return get(`/deploy/solutions/${solution_id}/github/log${qs}`, sid);
|
|
1616
1654
|
},
|
|
1617
1655
|
|
|
1618
|
-
ateam_github_promote: async ({ solution_id,
|
|
1619
|
-
post(`/deploy/solutions/${solution_id}/promote`,
|
|
1656
|
+
ateam_github_promote: async ({ solution_id, label }, sid) =>
|
|
1657
|
+
post(`/deploy/solutions/${solution_id}/promote`, label ? { label } : {}, sid),
|
|
1620
1658
|
|
|
1621
1659
|
ateam_github_rollback: async ({ solution_id, tag }, sid) =>
|
|
1622
1660
|
post(`/deploy/solutions/${solution_id}/rollback`, { tag }, sid),
|