@ateam-ai/mcp 0.3.47 → 0.3.48
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 +91 -23
package/package.json
CHANGED
package/src/tools.js
CHANGED
|
@@ -1068,7 +1068,8 @@ export const tools = [
|
|
|
1068
1068
|
name: "ateam_github_read",
|
|
1069
1069
|
core: true,
|
|
1070
1070
|
description:
|
|
1071
|
-
"Read any file from a solution's GitHub repo. Returns the file content. Use this to read connector source code, skill definitions, or any versioned file.
|
|
1071
|
+
"Read any file from a solution's GitHub repo. Returns the file content. Use this to read connector source code, skill definitions, or any versioned file. " +
|
|
1072
|
+
"Default reads from `main` (deployed/prod state). Pass `ref: 'dev'` to read in-progress work.",
|
|
1072
1073
|
inputSchema: {
|
|
1073
1074
|
type: "object",
|
|
1074
1075
|
properties: {
|
|
@@ -1080,6 +1081,11 @@ export const tools = [
|
|
|
1080
1081
|
type: "string",
|
|
1081
1082
|
description: "File path in the repo (e.g. 'connectors/home-assistant-mcp/server.js', 'solution.json', 'skills/order-support/skill.json')",
|
|
1082
1083
|
},
|
|
1084
|
+
ref: {
|
|
1085
|
+
type: "string",
|
|
1086
|
+
description: "Branch, tag, or commit SHA to read from. Default: 'main' (prod). Use 'dev' to read in-progress work.",
|
|
1087
|
+
default: "main",
|
|
1088
|
+
},
|
|
1083
1089
|
},
|
|
1084
1090
|
required: ["solution_id", "path"],
|
|
1085
1091
|
},
|
|
@@ -1091,7 +1097,8 @@ export const tools = [
|
|
|
1091
1097
|
"Edit a file in the solution's GitHub repo and commit. Two modes:\n" +
|
|
1092
1098
|
"1. FULL FILE: provide `content` — replaces entire file (good for new files or small files)\n" +
|
|
1093
1099
|
"2. SEARCH/REPLACE: provide `search` + `replace` — surgical edit without sending full file (preferred for large files like server.js)\n" +
|
|
1094
|
-
"Always use search/replace for large files (>5KB). Always read the file first with ateam_github_read to get the exact text to search for
|
|
1100
|
+
"Always use search/replace for large files (>5KB). Always read the file first with ateam_github_read to get the exact text to search for.\n\n" +
|
|
1101
|
+
"DEFAULTS TO `dev` BRANCH — writes don't touch prod. Use ateam_github_promote to ship dev→main when ready. Pass ref:'main' only for emergency hotfixes.",
|
|
1095
1102
|
inputSchema: {
|
|
1096
1103
|
type: "object",
|
|
1097
1104
|
properties: {
|
|
@@ -1119,6 +1126,11 @@ export const tools = [
|
|
|
1119
1126
|
type: "string",
|
|
1120
1127
|
description: "Optional commit message (default: 'Update <path>')",
|
|
1121
1128
|
},
|
|
1129
|
+
ref: {
|
|
1130
|
+
type: "string",
|
|
1131
|
+
description: "Target branch. Default: 'dev' (safe — won't touch prod). Use 'main' only for emergency hotfixes.",
|
|
1132
|
+
default: "dev",
|
|
1133
|
+
},
|
|
1122
1134
|
},
|
|
1123
1135
|
required: ["solution_id", "path"],
|
|
1124
1136
|
},
|
|
@@ -1147,7 +1159,8 @@ export const tools = [
|
|
|
1147
1159
|
description:
|
|
1148
1160
|
"Write a file to the solution's GitHub repo. Use this to create new connector files or replace existing ones — one file per call. " +
|
|
1149
1161
|
"This is the PRIMARY way to write connector code after first deploy. " +
|
|
1150
|
-
"Write each file individually (server.js, package.json, UI assets), then call ateam_build_and_run() to deploy
|
|
1162
|
+
"Write each file individually (server.js, package.json, UI assets), then call ateam_github_promote() to ship to prod (dev→main), then ateam_build_and_run() to deploy.\n\n" +
|
|
1163
|
+
"DEFAULTS TO `dev` BRANCH.",
|
|
1151
1164
|
inputSchema: {
|
|
1152
1165
|
type: "object",
|
|
1153
1166
|
properties: {
|
|
@@ -1167,6 +1180,11 @@ export const tools = [
|
|
|
1167
1180
|
type: "string",
|
|
1168
1181
|
description: "Optional commit message (default: 'Write <path>')",
|
|
1169
1182
|
},
|
|
1183
|
+
ref: {
|
|
1184
|
+
type: "string",
|
|
1185
|
+
description: "Target branch. Default: 'dev'.",
|
|
1186
|
+
default: "dev",
|
|
1187
|
+
},
|
|
1170
1188
|
},
|
|
1171
1189
|
required: ["solution_id", "path", "content"],
|
|
1172
1190
|
},
|
|
@@ -1175,7 +1193,8 @@ export const tools = [
|
|
|
1175
1193
|
name: "ateam_github_log",
|
|
1176
1194
|
core: true,
|
|
1177
1195
|
description:
|
|
1178
|
-
"View commit history for a solution's GitHub repo. Shows recent commits with messages, SHAs, timestamps, and links.
|
|
1196
|
+
"View commit history for a solution's GitHub repo. Shows recent commits with messages, SHAs, timestamps, and links. " +
|
|
1197
|
+
"Default reads from `main` (prod). Pass `ref: 'dev'` to see in-progress work.",
|
|
1179
1198
|
inputSchema: {
|
|
1180
1199
|
type: "object",
|
|
1181
1200
|
properties: {
|
|
@@ -1187,6 +1206,27 @@ export const tools = [
|
|
|
1187
1206
|
type: "number",
|
|
1188
1207
|
description: "Max commits to return (default: 10)",
|
|
1189
1208
|
},
|
|
1209
|
+
ref: {
|
|
1210
|
+
type: "string",
|
|
1211
|
+
description: "Branch to read commits from. Default: 'main'.",
|
|
1212
|
+
default: "main",
|
|
1213
|
+
},
|
|
1214
|
+
},
|
|
1215
|
+
required: ["solution_id"],
|
|
1216
|
+
},
|
|
1217
|
+
},
|
|
1218
|
+
{
|
|
1219
|
+
name: "ateam_github_diff",
|
|
1220
|
+
core: true,
|
|
1221
|
+
description:
|
|
1222
|
+
"Compare two branches. Default base=main, head=dev — shows what's about to ship if you call ateam_github_promote(). " +
|
|
1223
|
+
"Returns the list of commits and files that would land on main.",
|
|
1224
|
+
inputSchema: {
|
|
1225
|
+
type: "object",
|
|
1226
|
+
properties: {
|
|
1227
|
+
solution_id: { type: "string", description: "The solution ID" },
|
|
1228
|
+
base: { type: "string", description: "Base branch (the target). Default: 'main'.", default: "main" },
|
|
1229
|
+
head: { type: "string", description: "Head branch (the source). Default: 'dev'.", default: "dev" },
|
|
1190
1230
|
},
|
|
1191
1231
|
required: ["solution_id"],
|
|
1192
1232
|
},
|
|
@@ -1200,7 +1240,10 @@ export const tools = [
|
|
|
1200
1240
|
name: "ateam_github_promote",
|
|
1201
1241
|
core: true,
|
|
1202
1242
|
description:
|
|
1203
|
-
"
|
|
1243
|
+
"SHIP DEV TO PROD. Merges the `dev` branch into `main` and auto-tags the new main HEAD as safe-YYYY-MM-DD-NNN. " +
|
|
1244
|
+
"Use after testing your dev work, when you're ready to deploy changes to production.\n\n" +
|
|
1245
|
+
"Workflow: 1) ateam_github_patch (writes to dev) → 2) ateam_github_promote (merges dev→main) → 3) ateam_build_and_run (deploys main).\n\n" +
|
|
1246
|
+
"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.",
|
|
1204
1247
|
inputSchema: {
|
|
1205
1248
|
type: "object",
|
|
1206
1249
|
properties: {
|
|
@@ -1210,7 +1253,15 @@ export const tools = [
|
|
|
1210
1253
|
},
|
|
1211
1254
|
label: {
|
|
1212
1255
|
type: "string",
|
|
1213
|
-
description: "Optional: human-readable label for
|
|
1256
|
+
description: "Optional: human-readable label for the auto-tag (e.g., 'v2 stable', 'before refactor')",
|
|
1257
|
+
},
|
|
1258
|
+
dry_run: {
|
|
1259
|
+
type: "boolean",
|
|
1260
|
+
description: "If true: show the diff (commits + files about to ship) without merging. Default: false.",
|
|
1261
|
+
},
|
|
1262
|
+
skip_tag: {
|
|
1263
|
+
type: "boolean",
|
|
1264
|
+
description: "If true: merge without creating an auto-tag. Default: false (auto-tag enabled).",
|
|
1214
1265
|
},
|
|
1215
1266
|
},
|
|
1216
1267
|
required: ["solution_id"],
|
|
@@ -1220,7 +1271,9 @@ export const tools = [
|
|
|
1220
1271
|
name: "ateam_github_rollback",
|
|
1221
1272
|
core: true,
|
|
1222
1273
|
description:
|
|
1223
|
-
"
|
|
1274
|
+
"Roll prod (`main` branch) back to a previous state.\n\n" +
|
|
1275
|
+
"ADDITIVE — does NOT destroy history. Creates a new commit on top of main whose tree matches the target's tree. The history of everything between target and current main is preserved (you can roll back the rollback).\n\n" +
|
|
1276
|
+
"Workflow: 1) ateam_github_list_versions (find a safe-* tag) → 2) ateam_github_rollback(target: 'safe-...') → 3) ateam_build_and_run (deploys the reverted state).",
|
|
1224
1277
|
inputSchema: {
|
|
1225
1278
|
type: "object",
|
|
1226
1279
|
properties: {
|
|
@@ -1228,12 +1281,12 @@ export const tools = [
|
|
|
1228
1281
|
type: "string",
|
|
1229
1282
|
description: "The solution ID",
|
|
1230
1283
|
},
|
|
1231
|
-
|
|
1284
|
+
target: {
|
|
1232
1285
|
type: "string",
|
|
1233
|
-
description: "
|
|
1286
|
+
description: "Tag (e.g., 'safe-2026-05-19-001') or commit SHA to revert main to. Use ateam_github_list_versions to find safe-* tags.",
|
|
1234
1287
|
},
|
|
1235
1288
|
},
|
|
1236
|
-
required: ["solution_id", "
|
|
1289
|
+
required: ["solution_id", "target"],
|
|
1237
1290
|
},
|
|
1238
1291
|
},
|
|
1239
1292
|
{
|
|
@@ -2794,25 +2847,40 @@ const handlers = {
|
|
|
2794
2847
|
ateam_github_status: async ({ solution_id }, sid) =>
|
|
2795
2848
|
get(`/deploy/solutions/${solution_id}/github/status`, sid),
|
|
2796
2849
|
|
|
2797
|
-
ateam_github_read: async ({ solution_id, path: filePath }, sid) =>
|
|
2798
|
-
|
|
2850
|
+
ateam_github_read: async ({ solution_id, path: filePath, ref }, sid) => {
|
|
2851
|
+
const qs = new URLSearchParams({ path: filePath });
|
|
2852
|
+
if (ref) qs.set('branch', ref);
|
|
2853
|
+
return get(`/deploy/solutions/${solution_id}/github/read?${qs.toString()}`, sid);
|
|
2854
|
+
},
|
|
2799
2855
|
|
|
2800
|
-
ateam_github_patch: async ({ solution_id, path: filePath, content, search, replace, message }, sid) =>
|
|
2801
|
-
post(`/deploy/solutions/${solution_id}/github/patch`, { path: filePath, content, search, replace, message }, sid),
|
|
2856
|
+
ateam_github_patch: async ({ solution_id, path: filePath, content, search, replace, message, ref }, sid) =>
|
|
2857
|
+
post(`/deploy/solutions/${solution_id}/github/patch`, { path: filePath, content, search, replace, message, ref }, sid),
|
|
2802
2858
|
|
|
2803
|
-
ateam_github_write: async ({ solution_id, path: filePath, content, message }, sid) =>
|
|
2804
|
-
post(`/deploy/solutions/${solution_id}/github/patch`, { path: filePath, content, message }, sid),
|
|
2859
|
+
ateam_github_write: async ({ solution_id, path: filePath, content, message, ref }, sid) =>
|
|
2860
|
+
post(`/deploy/solutions/${solution_id}/github/patch`, { path: filePath, content, message, ref }, sid),
|
|
2805
2861
|
|
|
2806
|
-
ateam_github_log: async ({ solution_id, limit }, sid) => {
|
|
2807
|
-
const qs =
|
|
2808
|
-
|
|
2862
|
+
ateam_github_log: async ({ solution_id, limit, ref }, sid) => {
|
|
2863
|
+
const qs = new URLSearchParams();
|
|
2864
|
+
if (limit) qs.set('limit', String(limit));
|
|
2865
|
+
if (ref) qs.set('branch', ref);
|
|
2866
|
+
const q = qs.toString();
|
|
2867
|
+
return get(`/deploy/solutions/${solution_id}/github/log${q ? '?' + q : ''}`, sid);
|
|
2868
|
+
},
|
|
2869
|
+
|
|
2870
|
+
ateam_github_diff: async ({ solution_id, base, head }, sid) => {
|
|
2871
|
+
const qs = new URLSearchParams();
|
|
2872
|
+
if (base) qs.set('base', base);
|
|
2873
|
+
if (head) qs.set('head', head);
|
|
2874
|
+
const q = qs.toString();
|
|
2875
|
+
return get(`/deploy/solutions/${solution_id}/github/diff${q ? '?' + q : ''}`, sid);
|
|
2809
2876
|
},
|
|
2810
2877
|
|
|
2811
|
-
ateam_github_promote: async ({ solution_id, label }, sid) =>
|
|
2812
|
-
post(`/deploy/solutions/${solution_id}/promote`,
|
|
2878
|
+
ateam_github_promote: async ({ solution_id, label, dry_run, skip_tag }, sid) =>
|
|
2879
|
+
post(`/deploy/solutions/${solution_id}/promote`, { label, dry_run, skip_tag }, sid),
|
|
2813
2880
|
|
|
2814
|
-
ateam_github_rollback: async ({ solution_id, tag }, sid) =>
|
|
2815
|
-
|
|
2881
|
+
ateam_github_rollback: async ({ solution_id, target, tag }, sid) =>
|
|
2882
|
+
// Accept both `target` (new spec) and `tag` (legacy callers)
|
|
2883
|
+
post(`/deploy/solutions/${solution_id}/rollback`, { target: target || tag }, sid),
|
|
2816
2884
|
|
|
2817
2885
|
ateam_github_list_versions: async ({ solution_id }, sid) =>
|
|
2818
2886
|
get(`/deploy/solutions/${solution_id}/versions/dev`, sid),
|