@kynver-app/mcp-agent-os 0.3.23 → 0.3.25

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/dist/server.js CHANGED
@@ -14,6 +14,7 @@ import { registerPlanProgressTools } from "./tools/plan-progress.js";
14
14
  import { registerTaskTools } from "./tools/tasks.js";
15
15
  import { registerActionRequiredTools } from "./tools/action-required.js";
16
16
  import { registerGraphTools } from "./tools/graph.js";
17
+ import { registerWorkbenchTools } from "./tools/workbench.js";
17
18
  import { registerCommandCenterTools } from "./tools/command-center.js";
18
19
  import { registerMemoryQualityFeedbackTools } from "./tools/memory-quality-feedback.js";
19
20
  import { registerOperatingRulesTools } from "./tools/operating-rules.js";
@@ -675,6 +676,8 @@ export function createAgentOsServer() {
675
676
  registerActionRequiredTools({ register, jsonResult, compact });
676
677
  // Operational graph insights — Agent SEE (agent_os_graph_query).
677
678
  registerGraphTools({ register, resolveToolSlug, jsonResult });
679
+ // Workbench view control — steer whole Command Center (agent_os_workbench_*).
680
+ registerWorkbenchTools({ register, resolveToolSlug, jsonResult });
678
681
  // Command Center rollup (by-id route; includes packageVersionHealth).
679
682
  registerCommandCenterTools({ register, resolveToolSlug, jsonResult });
680
683
  // Memory quality feedback (M2): record events + query status.
@@ -23,6 +23,7 @@ const rowUpsertSchema = z.object({
23
23
  title: z.string(),
24
24
  description: z.string().optional(),
25
25
  ordinal: z.number(),
26
+ status: progressStatus.optional(),
26
27
  stageId: z.string().optional(),
27
28
  ownerLane: roleLane.optional(),
28
29
  taskId: z.string().optional(),
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Workbench control MCP tools (M1) — steer the whole Command Center view.
3
+ */
4
+ type ToolResult = {
5
+ content: {
6
+ type: "text";
7
+ text: string;
8
+ }[];
9
+ structuredContent?: unknown;
10
+ };
11
+ export interface WorkbenchToolDeps {
12
+ register: (name: string, description: string, inputSchema: Record<string, unknown>, cb: (args: any) => any) => void;
13
+ resolveToolSlug: (explicitSlug?: string) => Promise<string>;
14
+ jsonResult: (data: unknown) => ToolResult;
15
+ }
16
+ export declare function registerWorkbenchTools({ register, resolveToolSlug, jsonResult, }: WorkbenchToolDeps): void;
17
+ export {};
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Workbench control MCP tools (M1) — steer the whole Command Center view.
3
+ */
4
+ import { z } from "zod";
5
+ import { get, post } from "../lib/kynver-client.js";
6
+ const commandKind = z.enum([
7
+ "navigate",
8
+ "focus",
9
+ "drill",
10
+ "drill_pop",
11
+ "open_panel",
12
+ "open_report",
13
+ "open_pr_history",
14
+ "highlight",
15
+ "annotate",
16
+ "filter",
17
+ "graph",
18
+ "reset",
19
+ "yield",
20
+ "take",
21
+ ]);
22
+ export function registerWorkbenchTools({ register, resolveToolSlug, jsonResult, }) {
23
+ register("agent_os_workbench_query", [
24
+ "Read the operator's current workbench focus (view mode, drilldown stack, focused entity)",
25
+ "plus a compact rollup digest. Use before steering so you and the operator share context.",
26
+ "Read-only.",
27
+ ].join(" "), {
28
+ slug: z.string().optional().describe("AgentOS slug. Defaults to env/primary."),
29
+ }, async (args) => {
30
+ const slug = await resolveToolSlug(args.slug);
31
+ return jsonResult(await get(`/agent-os/${slug}/workbench/focus`));
32
+ });
33
+ register("agent_os_workbench_view", [
34
+ "Steer the Command Center workbench (navigate, focus, drill, open panels, filter, reset).",
35
+ "View-control only — does not mutate tasks/plans. Delivered over SSE to open surfaces.",
36
+ "For 3D graph camera commands, use kind=graph or agent_os_graph_view.",
37
+ ].join(" "), {
38
+ slug: z.string().optional(),
39
+ kind: commandKind,
40
+ view: z.enum(["projects", "tasks", "goals", "dq", "web"]).optional(),
41
+ target: z.string().optional().describe("EntityRef e.g. task:<id>, plan:<id>"),
42
+ push: z.boolean().optional().describe("For drill: push onto stack (default true)"),
43
+ panel: z.string().optional(),
44
+ tab: z.string().optional(),
45
+ personaSlug: z.string().optional(),
46
+ planId: z.string().optional(),
47
+ prUrl: z.string().optional(),
48
+ chip: z.string().optional(),
49
+ review: z.string().optional(),
50
+ q: z.string().optional(),
51
+ sessionId: z.string().optional(),
52
+ nodeId: z.string().optional().describe("For kind=graph: graph node id"),
53
+ graphKind: z.enum(["focus", "filter", "reset", "highlight"]).optional(),
54
+ }, async (args) => {
55
+ const slug = await resolveToolSlug(args.slug);
56
+ const body = {
57
+ kind: args.kind,
58
+ source: "agent",
59
+ sessionId: args.sessionId,
60
+ personaSlug: args.personaSlug,
61
+ };
62
+ switch (args.kind) {
63
+ case "navigate":
64
+ body.navigate = { view: args.view };
65
+ break;
66
+ case "focus":
67
+ body.focus = { target: args.target };
68
+ break;
69
+ case "drill":
70
+ body.drill = { target: args.target, push: args.push };
71
+ break;
72
+ case "drill_pop":
73
+ body.drill_pop = {};
74
+ break;
75
+ case "open_panel":
76
+ body.open_panel = { panel: args.panel, tab: args.tab };
77
+ break;
78
+ case "open_report":
79
+ body.open_report = { personaSlug: args.personaSlug };
80
+ break;
81
+ case "open_pr_history":
82
+ body.open_pr_history = { planId: args.planId, prUrl: args.prUrl };
83
+ break;
84
+ case "filter":
85
+ body.filter = { chip: args.chip, review: args.review, q: args.q };
86
+ break;
87
+ case "graph":
88
+ body.graph = {
89
+ command: {
90
+ kind: args.graphKind ?? "focus",
91
+ nodeId: args.nodeId,
92
+ source: "agent",
93
+ },
94
+ };
95
+ break;
96
+ default:
97
+ break;
98
+ }
99
+ return jsonResult(await post(`/agent-os/${slug}/workbench/command`, body));
100
+ });
101
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kynver-app/mcp-agent-os",
3
- "version": "0.3.23",
3
+ "version": "0.3.25",
4
4
  "description": "Kynver Agentic OS MCP server — slug-keyed agent identity, goals, projects, sessions, and long-term memory",
5
5
  "type": "module",
6
6
  "bin": {