@ateam-ai/mcp 0.3.41 → 0.3.43
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 +122 -0
package/package.json
CHANGED
package/src/tools.js
CHANGED
|
@@ -499,6 +499,42 @@ export const tools = [
|
|
|
499
499
|
},
|
|
500
500
|
},
|
|
501
501
|
|
|
502
|
+
{
|
|
503
|
+
name: "ateam_show_skill_minimal",
|
|
504
|
+
core: true,
|
|
505
|
+
description:
|
|
506
|
+
"Show the minimal authoring view of a skill — persona + connectors + " +
|
|
507
|
+
"handoff_when + style + policy guardrails only. ~10× smaller than " +
|
|
508
|
+
"ateam_get_solution(view:'skills') for the same skill. Use this when " +
|
|
509
|
+
"you only need the irreducible author content (Phase 9 of the strip).",
|
|
510
|
+
inputSchema: {
|
|
511
|
+
type: "object",
|
|
512
|
+
properties: {
|
|
513
|
+
solution_id: { type: "string", description: "The solution ID" },
|
|
514
|
+
skill_id: { type: "string", description: "The skill ID" },
|
|
515
|
+
},
|
|
516
|
+
required: ["solution_id", "skill_id"],
|
|
517
|
+
},
|
|
518
|
+
},
|
|
519
|
+
|
|
520
|
+
{
|
|
521
|
+
name: "ateam_show_solution_minimal",
|
|
522
|
+
core: true,
|
|
523
|
+
description:
|
|
524
|
+
"Show the minimal authoring view of a solution — name + description + " +
|
|
525
|
+
"style + routing_mode + identity_mode + skill ids + connector ids only. " +
|
|
526
|
+
"Skips deployed metadata, handoffs (auto-generated), grants, ui_plugins, " +
|
|
527
|
+
"validation results. Use this for fast inspection without the verbose " +
|
|
528
|
+
"fields (Phase 9 of the strip).",
|
|
529
|
+
inputSchema: {
|
|
530
|
+
type: "object",
|
|
531
|
+
properties: {
|
|
532
|
+
solution_id: { type: "string", description: "The solution ID" },
|
|
533
|
+
},
|
|
534
|
+
required: ["solution_id"],
|
|
535
|
+
},
|
|
536
|
+
},
|
|
537
|
+
|
|
502
538
|
{
|
|
503
539
|
name: "ateam_create_connector",
|
|
504
540
|
core: true,
|
|
@@ -1620,6 +1656,36 @@ const handlers = {
|
|
|
1620
1656
|
deploy: "Activation into controlled runtime on A-Team Core",
|
|
1621
1657
|
},
|
|
1622
1658
|
},
|
|
1659
|
+
minimal_authoring: {
|
|
1660
|
+
_important: "READ THIS BEFORE WRITING. Most of what historic A-Team docs describe as required is now AUTO-GENERATED at deploy time. Writing the verbose form is wasted tokens — the platform overwrites your hand-written intents, tools, scenarios, etc. with its generated equivalents.",
|
|
1661
|
+
author_writes_per_skill: [
|
|
1662
|
+
"id, name, version, description",
|
|
1663
|
+
"role.persona (the agent's instructions in prose — this is the irreducible content)",
|
|
1664
|
+
"connectors[] (which MCP connector ids the skill uses)",
|
|
1665
|
+
"policy.guardrails (optional — always[]/never[] rules)",
|
|
1666
|
+
"handoff_when (optional — one-sentence routing trigger; LLM-synthesizes one if you omit it)",
|
|
1667
|
+
],
|
|
1668
|
+
author_writes_per_solution: [
|
|
1669
|
+
"id, name, description, version",
|
|
1670
|
+
"linked_skills[] (skill ids the solution composes)",
|
|
1671
|
+
"routing_mode: \"auto\" (opt into the auto-generated orchestrator)",
|
|
1672
|
+
"style: \"mobile\" | \"voice\" | etc (Phase 1 channel style cascade)",
|
|
1673
|
+
],
|
|
1674
|
+
platform_generates_at_deploy: [
|
|
1675
|
+
"skill.tools[] — Phase 2b: fetched from each connector's live tool inventory",
|
|
1676
|
+
"skill.intents — Phase 3: LLM-synthesized from persona + tools",
|
|
1677
|
+
"skill.scenarios — auto from intents",
|
|
1678
|
+
"skill.engine — Phase 4: resolved from preset name or default",
|
|
1679
|
+
"skill.security — Phase 2: tool classifications auto-applied",
|
|
1680
|
+
"skill.access_policy — defaults",
|
|
1681
|
+
"solution orchestrator skill — Phase 6: generated when routing_mode:auto",
|
|
1682
|
+
"solution.handoffs[] — Phase 6: orchestrator → each worker",
|
|
1683
|
+
"solution.ui_plugins[] — Phase 5: MCP introspection (ui.listPlugins + ui.getPlugin)",
|
|
1684
|
+
"Style block prepended to every skill persona — Phase 1",
|
|
1685
|
+
],
|
|
1686
|
+
replace_rule: "REPLACE wins per-field. Any field you write explicitly overrides the platform-generated equivalent. Delete it to opt back into automation.",
|
|
1687
|
+
read_first: "GET /spec/skill → auto_expand block has the full list and a typical_minimal_skill example. GET /spec/solution → same.",
|
|
1688
|
+
},
|
|
1623
1689
|
example_solutions: [
|
|
1624
1690
|
{ name: "Fleet Command Center", description: "Live vehicle tracking, route optimization, safety monitoring, governed execution" },
|
|
1625
1691
|
{ name: "Customer Support Operations Team", description: "Multi-role support system with escalation, refund controls, CRM integration" },
|
|
@@ -2730,6 +2796,62 @@ const handlers = {
|
|
|
2730
2796
|
{ timeoutMs: 300_000, retries: 1 },
|
|
2731
2797
|
),
|
|
2732
2798
|
|
|
2799
|
+
// ── Phase 9 strip: focused minimal responses ────────────────────────
|
|
2800
|
+
ateam_show_skill_minimal: async ({ solution_id, skill_id }, sid) => {
|
|
2801
|
+
if (!solution_id) throw new Error("solution_id required");
|
|
2802
|
+
if (!skill_id) throw new Error("skill_id required");
|
|
2803
|
+
const full = await get(`/deploy/solutions/${solution_id}/skills/${skill_id}`, sid);
|
|
2804
|
+
const skill = full?.skill || full;
|
|
2805
|
+
if (!skill) return { ok: false, error: "skill not found" };
|
|
2806
|
+
return {
|
|
2807
|
+
ok: true,
|
|
2808
|
+
id: skill.id,
|
|
2809
|
+
name: skill.name || skill.id,
|
|
2810
|
+
description: skill.description || "",
|
|
2811
|
+
role: { persona: skill.role?.persona || "" },
|
|
2812
|
+
connectors: skill.connectors || [],
|
|
2813
|
+
handoff_when: skill.handoff_when || null,
|
|
2814
|
+
style: skill.style || null,
|
|
2815
|
+
excluded_tools: skill.excluded_tools || [],
|
|
2816
|
+
policy_guardrails: {
|
|
2817
|
+
never: skill.policy?.guardrails?.never || [],
|
|
2818
|
+
always: skill.policy?.guardrails?.always || [],
|
|
2819
|
+
},
|
|
2820
|
+
engine: typeof skill.engine === "string" ? skill.engine : (skill.engine ? "<explicit-object>" : null),
|
|
2821
|
+
_hint: "This is the MINIMAL view (Phase 9 strip). Use ateam_get_solution(view:'skills', skill_id) for the full schema.",
|
|
2822
|
+
};
|
|
2823
|
+
},
|
|
2824
|
+
|
|
2825
|
+
ateam_show_solution_minimal: async ({ solution_id }, sid) => {
|
|
2826
|
+
if (!solution_id) throw new Error("solution_id required");
|
|
2827
|
+
const full = await get(`/deploy/solutions/${solution_id}/definition`, sid);
|
|
2828
|
+
const sol = full?.solution || full;
|
|
2829
|
+
if (!sol) return { ok: false, error: "solution not found" };
|
|
2830
|
+
return {
|
|
2831
|
+
ok: true,
|
|
2832
|
+
id: sol.id,
|
|
2833
|
+
name: sol.name || sol.id,
|
|
2834
|
+
description: sol.description || "",
|
|
2835
|
+
version: sol.version || "1.0.0",
|
|
2836
|
+
style: sol.style || null,
|
|
2837
|
+
routing_mode: sol.routing_mode || "manual",
|
|
2838
|
+
identity_mode: sol.identity_mode || null,
|
|
2839
|
+
identity: sol.identity ? {
|
|
2840
|
+
default_actor_type: sol.identity.default_actor_type,
|
|
2841
|
+
actor_types_count: (sol.identity.actor_types || []).length,
|
|
2842
|
+
} : null,
|
|
2843
|
+
skills: (sol.skills || []).map(s => ({
|
|
2844
|
+
id: s.id,
|
|
2845
|
+
name: s.name || s.id,
|
|
2846
|
+
role: s.role || "worker",
|
|
2847
|
+
})),
|
|
2848
|
+
connectors_count: (sol.platform_connectors || []).length,
|
|
2849
|
+
ui_plugins_count: (sol.ui_plugins || []).length,
|
|
2850
|
+
handoffs_count: (sol.handoffs || []).length,
|
|
2851
|
+
_hint: "This is the MINIMAL view (Phase 9 strip). Use ateam_get_solution(view:'definition') for the full schema.",
|
|
2852
|
+
};
|
|
2853
|
+
},
|
|
2854
|
+
|
|
2733
2855
|
// ── Phase 7 strip: scaffold helpers ─────────────────────────────────
|
|
2734
2856
|
ateam_create_connector: async ({ solution_id, connector_id, name, ui_capable }, sid) => {
|
|
2735
2857
|
if (!solution_id) throw new Error("solution_id required");
|