@ateam-ai/mcp 0.4.33 → 0.4.35
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 +27 -4
package/package.json
CHANGED
package/src/tools.js
CHANGED
|
@@ -779,6 +779,10 @@ export const tools = [
|
|
|
779
779
|
type: "string",
|
|
780
780
|
description: "Optional: read a specific skill by ID (original or internal)",
|
|
781
781
|
},
|
|
782
|
+
section: {
|
|
783
|
+
type: "string",
|
|
784
|
+
description: "Optional (with skill_id): return ONLY this section of the skill instead of the whole definition — avoids the ~50KB output truncation on big skills. Dotted paths work (e.g. 'role', 'tools', 'intents.supported', 'policy', 'engine'). Omit for the full skill; use ateam_show_skill_minimal for the slim authoring view.",
|
|
785
|
+
},
|
|
782
786
|
},
|
|
783
787
|
required: ["solution_id", "view"],
|
|
784
788
|
},
|
|
@@ -3408,10 +3412,15 @@ const handlers = {
|
|
|
3408
3412
|
skill_id,
|
|
3409
3413
|
phases,
|
|
3410
3414
|
_diff,
|
|
3411
|
-
|
|
3415
|
+
// OPEN-8: the full after-state (a big skill/solution def) blows the ~50KB
|
|
3416
|
+
// output cap and truncates the rest of the result. Return a compact
|
|
3417
|
+
// summary by default; pass include_definition:true for the whole thing.
|
|
3418
|
+
...(include_definition
|
|
3419
|
+
? { after_state: patched }
|
|
3420
|
+
: { after_state_summary: _summarizeDef(patched) }),
|
|
3412
3421
|
would_write,
|
|
3413
3422
|
would_write_bytes: JSON.stringify(patched, null, 2).length,
|
|
3414
|
-
hint: "No changes applied. Remove dry_run:true to commit + redeploy.",
|
|
3423
|
+
hint: "No changes applied. Remove dry_run:true to commit + redeploy. (Pass include_definition:true for the full after_state.)",
|
|
3415
3424
|
};
|
|
3416
3425
|
}
|
|
3417
3426
|
|
|
@@ -3663,9 +3672,23 @@ const handlers = {
|
|
|
3663
3672
|
return { ...raw, solutions: enriched };
|
|
3664
3673
|
},
|
|
3665
3674
|
|
|
3666
|
-
ateam_get_solution: async ({ solution_id, view, skill_id }, sid) => {
|
|
3675
|
+
ateam_get_solution: async ({ solution_id, view, skill_id, section }, sid) => {
|
|
3667
3676
|
const base = `/deploy/solutions/${solution_id}`;
|
|
3668
|
-
if (skill_id)
|
|
3677
|
+
if (skill_id) {
|
|
3678
|
+
const r = await get(`${base}/skills/${skill_id}`, sid);
|
|
3679
|
+
// OPEN-8: a single skill def can be 50KB+ and truncate at the output cap.
|
|
3680
|
+
// `section` slices it to one field (dotted paths ok, e.g. intents.supported)
|
|
3681
|
+
// so agents can page a big skill instead of grepping a truncated file.
|
|
3682
|
+
if (section) {
|
|
3683
|
+
const skill = r?.skill || r?.definition || r || {};
|
|
3684
|
+
const val = String(section).split(".").reduce((o, k) => (o == null ? undefined : o[k]), skill);
|
|
3685
|
+
return {
|
|
3686
|
+
ok: true, solution_id, skill_id, section, [section]: val,
|
|
3687
|
+
_note: `Sliced to '${section}'. Omit 'section' for the full skill; ateam_show_skill_minimal gives the slim authoring view.`,
|
|
3688
|
+
};
|
|
3689
|
+
}
|
|
3690
|
+
return r;
|
|
3691
|
+
}
|
|
3669
3692
|
const paths = {
|
|
3670
3693
|
definition: `${base}/definition`,
|
|
3671
3694
|
skills: `${base}/skills`,
|