@ateam-ai/mcp 0.4.52 → 0.4.53

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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/tools.js +29 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ateam-ai/mcp",
3
- "version": "0.4.52",
3
+ "version": "0.4.53",
4
4
  "mcpName": "io.github.ariekogan/ateam-mcp",
5
5
  "description": "A-Team MCP Server — build, validate, and deploy multi-agent solutions from any AI environment",
6
6
  "type": "module",
package/src/tools.js CHANGED
@@ -1912,7 +1912,7 @@ export const tools = [
1912
1912
  "SHIP DEV TO PROD. Merges the `dev` branch into `main` and auto-tags the new main HEAD as safe-YYYY-MM-DD-NNN. " +
1913
1913
  "Use after testing your dev work, when you're ready to deploy changes to production.\n\n" +
1914
1914
  "Workflow: 1) ateam_github_patch (writes to dev) → 2) ateam_github_promote (merges dev→main) → 3) ateam_build_and_run (deploys main).\n\n" +
1915
- "Pass dry_run:true to see what's about to ship without merging. On merge conflict the call returns 409 — resolve manually on GitHub (open a PR or use the web UI), then retry.",
1915
+ "Pass dry_run:true to see what's about to ship without merging.\n\nON 409 MERGE CONFLICT: main holds commits dev never received. Call ateam_github_sync_from_main(solution_id) to merge main into dev, then promote again. Only if THAT also returns 409 did both sides edit the same lines that one needs a human (open a PR on GitHub).",
1916
1916
  inputSchema: {
1917
1917
  type: "object",
1918
1918
  properties: {
@@ -1936,6 +1936,31 @@ export const tools = [
1936
1936
  required: ["solution_id"],
1937
1937
  },
1938
1938
  },
1939
+ {
1940
+ name: "ateam_github_sync_from_main",
1941
+ core: true,
1942
+ description:
1943
+ "BRING `dev` UP TO DATE WITH `main` — merges main into dev. The mirror of ateam_github_promote.\n\n" +
1944
+ "USE THIS WHEN PROMOTE RETURNS 409. promote only ships dev→main, so the moment anything lands on main directly — a hotfix, a manual edit, an ateam_github_rollback, or a write that mis-targeted the branch — dev falls behind and can never be promoted again. Without this tool that divergence is unfixable from A-Team: the only exits are the GitHub web UI or a raw API call.\n\n" +
1945
+ "Workflow on a 409: 1) ateam_github_diff (confirm status:'diverged') → 2) ateam_github_sync_from_main → 3) ateam_github_promote.\n\n" +
1946
+ "Pass dry_run:true FIRST to see exactly which commits and files would come into dev without changing anything.\n\n" +
1947
+ "This is a real merge, not a force: if main and dev edited the SAME lines it returns 409 too, and that one genuinely needs a human (open a PR).",
1948
+ monitoring: { safe: true, cost: "low", latency_ms_p95: 2500, output: "bounded" },
1949
+ inputSchema: {
1950
+ type: "object",
1951
+ properties: {
1952
+ solution_id: {
1953
+ type: "string",
1954
+ description: "The solution ID",
1955
+ },
1956
+ dry_run: {
1957
+ type: "boolean",
1958
+ description: "If true: show the commits + files that would merge into dev, change nothing. Default: false. Call this first.",
1959
+ },
1960
+ },
1961
+ required: ["solution_id"],
1962
+ },
1963
+ },
1939
1964
  {
1940
1965
  name: "ateam_github_rollback",
1941
1966
  core: true,
@@ -4802,6 +4827,9 @@ const handlers = {
4802
4827
  ateam_github_promote: async ({ solution_id, label, dry_run, skip_tag }, sid) =>
4803
4828
  post(`/deploy/solutions/${solution_id}/promote`, { label, dry_run, skip_tag }, sid),
4804
4829
 
4830
+ ateam_github_sync_from_main: async ({ solution_id, dry_run }, sid) =>
4831
+ post(`/deploy/solutions/${solution_id}/sync-from-main`, { dry_run }, sid),
4832
+
4805
4833
  ateam_github_rollback: async ({ solution_id, target, tag }, sid) =>
4806
4834
  // Accept both `target` (new spec) and `tag` (legacy callers)
4807
4835
  post(`/deploy/solutions/${solution_id}/rollback`, { target: target || tag }, sid),