@telora/mcp-products 0.22.13 → 0.22.15

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.
@@ -0,0 +1,27 @@
1
+ export type AffordanceScope = 'product' | 'focus' | 'delivery';
2
+ export interface AffordanceRoute {
3
+ tool: string;
4
+ action: string;
5
+ bodyShape: string;
6
+ }
7
+ export interface AffordanceFallback {
8
+ endpoint: string;
9
+ action: string;
10
+ bodyShape: string;
11
+ }
12
+ export interface Affordance {
13
+ name: string;
14
+ description: string;
15
+ primary: AffordanceRoute;
16
+ fallback: AffordanceFallback;
17
+ }
18
+ export declare const AFFORDANCE_REGISTRY: Record<AffordanceScope, Affordance[]>;
19
+ export declare function getAffordances(scope: AffordanceScope): Affordance[];
20
+ /**
21
+ * Render the affordance section for a given scope as markdown.
22
+ *
23
+ * Returns the empty string when the scope has no entries -- callers should
24
+ * suppress the section entirely (no empty `## Actions on this product`
25
+ * headers leaking into output).
26
+ */
27
+ export declare function renderAffordanceSection(scope: AffordanceScope): string;
@@ -0,0 +1,111 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Affordance registry: self-describing capabilities surfaced through
3
+ // telora_context_assemble so agents read the recipe (primary MCP route +
4
+ // HTTP fallback) inline with the entity description.
5
+ //
6
+ // Pure module: no I/O, no network, no fs. The registry is plain data; the
7
+ // render helper composes markdown. Adding a new capability means appending
8
+ // an entry to the right scope -- no out-of-band doc update required.
9
+ //
10
+ // Forward note: focus scope is the first to carry entries. Product and
11
+ // delivery scope start empty; their shape is fixed so future seeds slot in
12
+ // without changing the rendering or test code paths.
13
+ // ---------------------------------------------------------------------------
14
+ const PRODUCT_API_ENDPOINT = '/functions/v1/product-api';
15
+ const FOCUS_AFFORDANCES = [
16
+ {
17
+ name: 'debug_artifacts',
18
+ description: 'Write code-reality artifacts (Mermaid graph + markdown panels) onto the focus Debug tab. Section kinds: mermaid, file_inventory, git_stats, test_status, lint_typecheck, ac_verification.',
19
+ primary: {
20
+ tool: 'telora_product_focus_debug',
21
+ action: 'get | set | clear',
22
+ bodyShape: '{ focusId: string; action: "get" | "set" | "clear"; sectionKind?: "mermaid" | "file_inventory" | "git_stats" | "test_status" | "lint_typecheck" | "ac_verification"; content?: string }',
23
+ },
24
+ fallback: {
25
+ endpoint: PRODUCT_API_ENDPOINT,
26
+ action: 'focus_debug_get | focus_debug_set | focus_debug_clear',
27
+ bodyShape: '{ action: "focus_debug_set"; focusId: string; fields: { sectionKind: "mermaid" | "file_inventory" | "git_stats" | "test_status" | "lint_typecheck" | "ac_verification"; content: string; agentSessionId?: string } }',
28
+ },
29
+ },
30
+ {
31
+ name: 'review_complete',
32
+ description: 'Terminal action for a review agent. Writes a focus_reviews row with outcome + summary + created issue/delivery references and stamps focus.last_reviewed_at and focus.last_review_outcome atomically.',
33
+ primary: {
34
+ tool: 'telora_product_focus',
35
+ action: 'review_complete',
36
+ bodyShape: '{ focusId: string; action: "review_complete"; outcome: "approved" | "gaps_found"; summary: string; createdIssueIds?: string[]; createdDeliveryIds?: string[]; agentSessionId: string; startedAt?: string }',
37
+ },
38
+ fallback: {
39
+ endpoint: PRODUCT_API_ENDPOINT,
40
+ action: 'focus_review_complete',
41
+ bodyShape: '{ action: "focus_review_complete"; focusId: string; fields: { outcome: "approved" | "gaps_found"; summary: string; createdIssueIds?: string[]; createdDeliveryIds?: string[]; agentSessionId: string; startedAt?: string } }',
42
+ },
43
+ },
44
+ {
45
+ name: 'retrospective_trigger',
46
+ description: 'Create a pending retrospective for a focus. The daemon (or retrospective_run) executes it via LLM.',
47
+ primary: {
48
+ tool: 'telora_product_focus',
49
+ action: 'retrospective_trigger',
50
+ bodyShape: '{ focusId: string; action: "retrospective_trigger" }',
51
+ },
52
+ fallback: {
53
+ endpoint: PRODUCT_API_ENDPOINT,
54
+ action: 'focus_retrospective_trigger',
55
+ bodyShape: '{ action: "focus_retrospective_trigger"; focusId: string }',
56
+ },
57
+ },
58
+ {
59
+ name: 'retrospective_run',
60
+ description: 'Execute a pending retrospective via LLM. Targets a single retrospective by id.',
61
+ primary: {
62
+ tool: 'telora_product_focus',
63
+ action: 'retrospective_run',
64
+ bodyShape: '{ retrospectiveId: string; action: "retrospective_run" }',
65
+ },
66
+ fallback: {
67
+ endpoint: PRODUCT_API_ENDPOINT,
68
+ action: 'focus_retrospective_run',
69
+ bodyShape: '{ action: "focus_retrospective_run"; fields: { entityId: string } }',
70
+ },
71
+ },
72
+ ];
73
+ export const AFFORDANCE_REGISTRY = {
74
+ product: [],
75
+ focus: FOCUS_AFFORDANCES,
76
+ delivery: [],
77
+ };
78
+ export function getAffordances(scope) {
79
+ return AFFORDANCE_REGISTRY[scope] ?? [];
80
+ }
81
+ function renderAffordance(a) {
82
+ return [
83
+ `### ${a.name}`,
84
+ a.description,
85
+ '',
86
+ `**Primary**: \`${a.primary.tool}\` action \`${a.primary.action}\``,
87
+ '```ts',
88
+ a.primary.bodyShape,
89
+ '```',
90
+ `**Fallback**: \`POST ${a.fallback.endpoint}\` action \`${a.fallback.action}\``,
91
+ '```ts',
92
+ a.fallback.bodyShape,
93
+ '```',
94
+ ].join('\n');
95
+ }
96
+ /**
97
+ * Render the affordance section for a given scope as markdown.
98
+ *
99
+ * Returns the empty string when the scope has no entries -- callers should
100
+ * suppress the section entirely (no empty `## Actions on this product`
101
+ * headers leaking into output).
102
+ */
103
+ export function renderAffordanceSection(scope) {
104
+ const items = getAffordances(scope);
105
+ if (items.length === 0)
106
+ return '';
107
+ const header = `## Actions on this ${scope}`;
108
+ const blocks = items.map(renderAffordance);
109
+ return [header, '', ...blocks].join('\n\n');
110
+ }
111
+ //# sourceMappingURL=affordances.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"affordances.js","sourceRoot":"","sources":["../src/affordances.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,11 @@
1
1
  import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  import { type GetCreds } from "../shared.js";
3
+ /**
4
+ * Append the scope's affordance section to the API's `context` markdown.
5
+ * Pure: takes the raw API response and returns a new object with augmented
6
+ * `context`. Empty scopes are no-ops (no empty headers emitted).
7
+ *
8
+ * Exported for unit testing without an MCP server or network round-trip.
9
+ */
10
+ export declare function augmentContextWithAffordances(apiResult: Record<string, unknown>): Record<string, unknown>;
3
11
  export declare function registerContextAssembleTool(server: McpServer, getCreds: GetCreds): void;
@@ -7,12 +7,35 @@
7
7
  // ---------------------------------------------------------------------------
8
8
  import { z } from "zod";
9
9
  import { callProductApi, successResult, validationError, wrapHandler, } from "../shared.js";
10
+ import { renderAffordanceSection } from "../affordances.js";
11
+ function isAffordanceScope(value) {
12
+ return value === 'product' || value === 'focus' || value === 'delivery';
13
+ }
14
+ /**
15
+ * Append the scope's affordance section to the API's `context` markdown.
16
+ * Pure: takes the raw API response and returns a new object with augmented
17
+ * `context`. Empty scopes are no-ops (no empty headers emitted).
18
+ *
19
+ * Exported for unit testing without an MCP server or network round-trip.
20
+ */
21
+ export function augmentContextWithAffordances(apiResult) {
22
+ const scope = apiResult.scope;
23
+ if (!isAffordanceScope(scope))
24
+ return apiResult;
25
+ const section = renderAffordanceSection(scope);
26
+ if (!section)
27
+ return apiResult;
28
+ const existing = typeof apiResult.context === 'string' ? apiResult.context : '';
29
+ const joined = existing ? `${existing}\n\n${section}` : section;
30
+ return { ...apiResult, context: joined };
31
+ }
10
32
  export function registerContextAssembleTool(server, getCreds) {
11
33
  server.tool("telora_context_assemble", "Assemble layered context for a product, focus, or delivery. " +
12
34
  "Returns pre-formatted markdown with product overview, focus/delivery " +
13
- "scaffolding, and a wiki section drawn from wiki_search using scope-derived " +
14
- "queries (or your own `queries` override). Use at session start for " +
15
- "architectural/design work.", {
35
+ "scaffolding, a wiki section drawn from wiki_search using scope-derived " +
36
+ "queries (or your own `queries` override), and an 'Actions on this <scope>' " +
37
+ "section enumerating the primary MCP tool + HTTP fallback for each capability " +
38
+ "available on the entity. Use at session start for architectural/design work.", {
16
39
  productId: z.string().uuid().describe("Product UUID (required)"),
17
40
  focusId: z.string().uuid().optional().describe("Focus UUID (adds focus + delivery summaries)"),
18
41
  deliveryId: z.string().uuid().optional().describe("Delivery UUID (adds tech context + acceptance criteria + issues)"),
@@ -31,7 +54,7 @@ export function registerContextAssembleTool(server, getCreds) {
31
54
  if (params.queries)
32
55
  body.queries = params.queries;
33
56
  const result = await callProductApi(getCreds(), body);
34
- return successResult(result);
57
+ return successResult(augmentContextWithAffordances(result));
35
58
  }));
36
59
  }
37
60
  //# sourceMappingURL=contextHandlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contextHandlers.js","sourceRoot":"","sources":["../../src/handlers/contextHandlers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sDAAsD;AACtD,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,2DAA2D;AAC3D,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,GAEZ,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,2BAA2B,CACzC,MAAiB,EACjB,QAAkB;IAElB,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,8DAA8D;QAC9D,uEAAuE;QACvE,6EAA6E;QAC7E,qEAAqE;QACrE,4BAA4B,EAC5B;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;QACrH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACtG,EACD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACvE,MAAM,IAAI,GAA4B;YACpC,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;QACF,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClD,IAAI,MAAM,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3D,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAA4B,CAAC;QACjF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"contextHandlers.js","sourceRoot":"","sources":["../../src/handlers/contextHandlers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,sDAAsD;AACtD,EAAE;AACF,kEAAkE;AAClE,sEAAsE;AACtE,2DAA2D;AAC3D,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,GAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,uBAAuB,EAAwB,MAAM,mBAAmB,CAAC;AAElF,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,UAAU,CAAC;AAC1E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,SAAkC;IAElC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;IAC9B,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC/C,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,OAAO,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,OAAO,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAiB,EACjB,QAAkB;IAElB,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,8DAA8D;QAC9D,uEAAuE;QACvE,yEAAyE;QACzE,6EAA6E;QAC7E,+EAA+E;QAC/E,8EAA8E,EAC9E;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QAC9F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;QACrH,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;KACtG,EACD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3B,IAAI,CAAC,MAAM,CAAC,SAAS;YAAE,OAAO,eAAe,CAAC,uBAAuB,CAAC,CAAC;QACvE,MAAM,IAAI,GAA4B;YACpC,MAAM,EAAE,kBAAkB;YAC1B,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC;QACF,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClD,IAAI,MAAM,CAAC,UAAU;YAAE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3D,IAAI,MAAM,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAClD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,EAAE,IAAI,CAA4B,CAAC;QACjF,OAAO,aAAa,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { successResult, validationError, type GetCreds } from "../shared.js";
3
+ declare const SECTION_KINDS: readonly ["mermaid", "file_inventory", "git_stats", "test_status", "lint_typecheck", "ac_verification"];
4
+ type SectionKind = (typeof SECTION_KINDS)[number];
5
+ export interface FocusDebugParams {
6
+ action: "get" | "set" | "clear";
7
+ focusId?: string;
8
+ sectionKind?: SectionKind;
9
+ content?: string;
10
+ agentSessionId?: string;
11
+ }
12
+ export declare function handleFocusDebug(params: FocusDebugParams, callApi: (body: Record<string, unknown>) => Promise<unknown>): Promise<ReturnType<typeof successResult> | ReturnType<typeof validationError>>;
13
+ export declare function registerFocusDebugTools(server: McpServer, getCreds: GetCreds): void;
14
+ export {};
@@ -0,0 +1,89 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Focus debug artifact tool handler:
3
+ // telora_product_focus_debug (get | set | clear)
4
+ //
5
+ // The agent writes code-reality artifacts (Mermaid diagrams + quality
6
+ // markdown panels) into the focus_debug_artifacts table; the Debug tab on
7
+ // the focus page renders them. Telora itself runs no analysis -- the agent
8
+ // computes via its own shell tools and pushes the settled artifact here.
9
+ // ---------------------------------------------------------------------------
10
+ import { z } from "zod";
11
+ import { callProductApi, successResult, validationError, wrapHandler, } from "../shared.js";
12
+ const SECTION_KINDS = [
13
+ "mermaid",
14
+ "file_inventory",
15
+ "git_stats",
16
+ "test_status",
17
+ "lint_typecheck",
18
+ "ac_verification",
19
+ ];
20
+ // Pure handler exported for unit-testing: takes a `callApi` callback so the
21
+ // three actions can be exercised with a mock and no MCP/server scaffolding.
22
+ export async function handleFocusDebug(params, callApi) {
23
+ switch (params.action) {
24
+ case "get": {
25
+ if (!params.focusId)
26
+ return validationError("focusId required for get");
27
+ const result = (await callApi({
28
+ action: "focus_debug_get",
29
+ focusId: params.focusId,
30
+ }));
31
+ return successResult({ sections: result.sections ?? [] });
32
+ }
33
+ case "set": {
34
+ if (!params.focusId)
35
+ return validationError("focusId required for set");
36
+ if (!params.sectionKind)
37
+ return validationError("sectionKind required for set");
38
+ if (params.content === undefined)
39
+ return validationError("content required for set");
40
+ const fields = {
41
+ sectionKind: params.sectionKind,
42
+ content: params.content,
43
+ };
44
+ if (params.agentSessionId)
45
+ fields.agentSessionId = params.agentSessionId;
46
+ const result = (await callApi({
47
+ action: "focus_debug_set",
48
+ focusId: params.focusId,
49
+ fields,
50
+ }));
51
+ return successResult({ section: result.section });
52
+ }
53
+ case "clear": {
54
+ if (!params.focusId)
55
+ return validationError("focusId required for clear");
56
+ const fields = {};
57
+ if (params.sectionKind)
58
+ fields.sectionKind = params.sectionKind;
59
+ const result = (await callApi({
60
+ action: "focus_debug_clear",
61
+ focusId: params.focusId,
62
+ fields,
63
+ }));
64
+ return successResult({ deletedCount: result.deletedCount ?? 0 });
65
+ }
66
+ default:
67
+ return validationError(`Unknown action: ${params.action}`);
68
+ }
69
+ }
70
+ const focusDebugSchema = {
71
+ action: z.enum(["get", "set", "clear"]).describe("Action to perform"),
72
+ focusId: z.string().uuid().describe("Focus UUID"),
73
+ sectionKind: z.enum(SECTION_KINDS).optional()
74
+ .describe("Section kind (required for set; optional for clear -- omit to clear all sections)"),
75
+ content: z.string().optional().describe("Markdown or Mermaid source (required for set)"),
76
+ agentSessionId: z.string().uuid().optional()
77
+ .describe("Optional agent session UUID to stamp on the row (updated_by_session_id)"),
78
+ };
79
+ export function registerFocusDebugTools(server, getCreds) {
80
+ server.tool("telora_product_focus_debug", "Focus debug artifacts: agent-written code-reality views (Mermaid graph + markdown panels) " +
81
+ "rendered on the focus page Debug tab. One row per (focusId, sectionKind). " +
82
+ "Section kinds: mermaid, file_inventory, git_stats, test_status, lint_typecheck, ac_verification. " +
83
+ "Actions: get(focusId) returns all sections + updatedAt; " +
84
+ "set(focusId, sectionKind, content) upserts one section; " +
85
+ "clear(focusId, sectionKind?) deletes one section (sectionKind given) or all (omitted).", focusDebugSchema, wrapHandler(async (params) => {
86
+ return handleFocusDebug(params, (body) => callProductApi(getCreds(), body));
87
+ }));
88
+ }
89
+ //# sourceMappingURL=focusDebugHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focusDebugHandlers.js","sourceRoot":"","sources":["../../src/handlers/focusDebugHandlers.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export { registerProductTools } from "./productHandlers.js";
2
2
  export { registerDeliveryTools } from "./deliveryHandlers.js";
3
3
  export { registerFocusTools } from "./focusHandlers.js";
4
+ export { registerFocusDebugTools } from "./focusDebugHandlers.js";
4
5
  export { registerIssueTools } from "./issueHandlers.js";
5
6
  export { registerAgentTools } from "./agentHandlers.js";
6
7
  export { registerPlaybookTools } from "./playbookHandlers.js";
@@ -16,5 +17,6 @@ export { registerRiskTools, registerRiskDependencyTools, registerRiskCommunicati
16
17
  export { registerLoopTools } from "./loopHandlers.js";
17
18
  export { registerRealityTools } from "./realityHandlers.js";
18
19
  export { registerRealityTreeTools } from "./realityTreeHandlers.js";
20
+ export { registerRealityTreeInjectionVerifyTool, handleRealityTreeInjectionVerify, } from "./realityTreeInjectionVerifyHandler.js";
19
21
  export { registerContractTools } from "./contractHandlers.js";
20
22
  export { registerPrerequisiteTreeTools } from "./prerequisiteTreeHandlers.js";
@@ -4,6 +4,7 @@
4
4
  export { registerProductTools } from "./productHandlers.js";
5
5
  export { registerDeliveryTools } from "./deliveryHandlers.js";
6
6
  export { registerFocusTools } from "./focusHandlers.js";
7
+ export { registerFocusDebugTools } from "./focusDebugHandlers.js";
7
8
  export { registerIssueTools } from "./issueHandlers.js";
8
9
  export { registerAgentTools } from "./agentHandlers.js";
9
10
  export { registerPlaybookTools } from "./playbookHandlers.js";
@@ -19,6 +20,7 @@ export { registerRiskTools, registerRiskDependencyTools, registerRiskCommunicati
19
20
  export { registerLoopTools } from "./loopHandlers.js";
20
21
  export { registerRealityTools } from "./realityHandlers.js";
21
22
  export { registerRealityTreeTools } from "./realityTreeHandlers.js";
23
+ export { registerRealityTreeInjectionVerifyTool, handleRealityTreeInjectionVerify, } from "./realityTreeInjectionVerifyHandler.js";
22
24
  export { registerContractTools } from "./contractHandlers.js";
23
25
  export { registerPrerequisiteTreeTools } from "./prerequisiteTreeHandlers.js";
24
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { successResult, validationError, type GetCreds } from "../shared.js";
3
+ /**
4
+ * Pure handler used both by the registered tool and by the unit test.
5
+ * Takes a `callApi` callable (so tests can mock the HTTP layer) and the
6
+ * raw input params. Validates required fields, performs the two-step
7
+ * update + verify, and returns a structured result.
8
+ */
9
+ export declare function handleRealityTreeInjectionVerify(params: {
10
+ injectionId?: string;
11
+ evidence?: string;
12
+ rewrites?: unknown;
13
+ splits?: unknown;
14
+ }, callApi: (body: Record<string, unknown>) => Promise<unknown>): Promise<ReturnType<typeof successResult> | ReturnType<typeof validationError>>;
15
+ /**
16
+ * Register the top-level MCP tool `telora_reality_tree_injection_verify`.
17
+ *
18
+ * Inputs:
19
+ * - injectionId (UUID, required) -- the reality_tree_nodes row to verify.
20
+ * - evidence (string, required, max 5000 chars) -- worktree-checkable
21
+ * citation explaining why the FRT overlay flip is supported.
22
+ * - rewrites / splits (optional, forwarded to reality_tree_verify_injection)
23
+ * for compound verify operations.
24
+ */
25
+ export declare function registerRealityTreeInjectionVerifyTool(server: McpServer, getCreds: GetCreds): void;
@@ -0,0 +1,112 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Top-level MCP tool: telora_reality_tree_injection_verify
3
+ //
4
+ // Asymmetric "verified" outcome for the close-loop bookkeeper. The bookkeeper
5
+ // has confirmed that the worktree evidence supports the injection's FRT
6
+ // overlay flip; this tool persists that decision.
7
+ //
8
+ // Operationally a composite of two existing product-api actions:
9
+ //
10
+ // 1. reality_tree_node_update with { evidence } so the rationale for the
11
+ // verify decision is captured on the injection node alongside its
12
+ // lineage. Evidence is required -- the bookkeeper persona is explicit
13
+ // that verify decisions MUST cite worktree-checkable evidence.
14
+ //
15
+ // 2. reality_tree_verify_injection so:
16
+ // - injection.injection_status = 'verified'
17
+ // - the injection's `targets` edges are deleted (propagation step 1)
18
+ // - FRT overlays on each targeted UDE promote: frt_statement ->
19
+ // statement, frt_node_type -> node_type (the UDE flips to DE).
20
+ // See graph-verification.verifyInjectionImpl for the exact rules.
21
+ //
22
+ // Exposing this as a dedicated MCP tool (separate from
23
+ // telora_reality_tree_node action=verify) gives the bookkeeper persona a
24
+ // single-call, evidence-required entry point that matches the language in
25
+ // the persona prompt ("call telora_reality_tree_injection_verify"). The
26
+ // action-based verify path stays available for human use.
27
+ // ---------------------------------------------------------------------------
28
+ import { z } from "zod";
29
+ import { callProductApi, successResult, validationError, wrapHandler, } from "../shared.js";
30
+ /**
31
+ * Pure handler used both by the registered tool and by the unit test.
32
+ * Takes a `callApi` callable (so tests can mock the HTTP layer) and the
33
+ * raw input params. Validates required fields, performs the two-step
34
+ * update + verify, and returns a structured result.
35
+ */
36
+ export async function handleRealityTreeInjectionVerify(params, callApi) {
37
+ if (!params.injectionId)
38
+ return validationError("injectionId is required");
39
+ const evidence = (params.evidence ?? '').trim();
40
+ if (evidence.length === 0) {
41
+ return validationError("evidence is required for verify -- cite worktree-checkable proof (files exist, tests pass, code matches a pattern)");
42
+ }
43
+ // Step 1: persist evidence on the injection node so future audit reads
44
+ // (history walks, persona retros) can see the rationale.
45
+ await callApi({
46
+ action: "reality_tree_node_update",
47
+ nodeId: params.injectionId,
48
+ evidence,
49
+ });
50
+ // Step 2: verify -- sets injection.injection_status = 'verified', deletes
51
+ // targets edges, promotes FRT overlays on each targeted UDE.
52
+ const verifyBody = {
53
+ action: "reality_tree_verify_injection",
54
+ injectionNodeId: params.injectionId,
55
+ };
56
+ if (params.rewrites !== undefined)
57
+ verifyBody.rewrites = params.rewrites;
58
+ if (params.splits !== undefined)
59
+ verifyBody.splits = params.splits;
60
+ const result = await callApi(verifyBody);
61
+ return successResult({
62
+ injectionId: params.injectionId,
63
+ status: "verified",
64
+ evidence,
65
+ injection: result.injection ?? null,
66
+ retiredNodes: result.retiredNodes ?? [],
67
+ promoted: result.promoted ?? null,
68
+ createdNodes: result.createdNodes ?? [],
69
+ createdEdges: result.createdEdges ?? [],
70
+ });
71
+ }
72
+ /**
73
+ * Register the top-level MCP tool `telora_reality_tree_injection_verify`.
74
+ *
75
+ * Inputs:
76
+ * - injectionId (UUID, required) -- the reality_tree_nodes row to verify.
77
+ * - evidence (string, required, max 5000 chars) -- worktree-checkable
78
+ * citation explaining why the FRT overlay flip is supported.
79
+ * - rewrites / splits (optional, forwarded to reality_tree_verify_injection)
80
+ * for compound verify operations.
81
+ */
82
+ export function registerRealityTreeInjectionVerifyTool(server, getCreds) {
83
+ server.tool("telora_reality_tree_injection_verify", "Asymmetric 'verified' outcome for an anchored injection. The close-loop bookkeeper " +
84
+ "calls this when worktree evidence supports the FRT overlay flip. " +
85
+ "Performs two actions atomically from the agent's perspective: " +
86
+ "(1) updates the injection node's evidence field with the cited rationale, " +
87
+ "(2) advances injection_status to 'verified' and propagates the change: " +
88
+ "deletes the injection's 'targets' edges, promotes FRT overlays on each " +
89
+ "targeted UDE (frt_statement -> statement, frt_node_type -> node_type -- " +
90
+ "typically the UDE flips to a desired_effect). " +
91
+ "Evidence is REQUIRED -- the bookkeeper persona is explicit that verify " +
92
+ "decisions cite files, tests, or code patterns the bookkeeper inspected. " +
93
+ "If evidence is absent or ambiguous, file an `injection_unverified` " +
94
+ "escalation via telora_agent (action: escalate) instead.", {
95
+ injectionId: z.string().uuid().describe("Injection node UUID (reality_tree_nodes.id)"),
96
+ evidence: z.string().min(1).max(5000).describe("Worktree-checkable rationale: which files exist, which tests pass, which code " +
97
+ "matches the FRT overlay's promise. Stored on reality_tree_nodes.evidence."),
98
+ rewrites: z.array(z.object({
99
+ originalNodeId: z.string().uuid(),
100
+ newStatement: z.string(),
101
+ })).optional().describe("Optional: rewrite desired-effect nodes as part of the verify step (rare; for " +
102
+ "when the verified injection reveals a more accurate DE statement)."),
103
+ splits: z.array(z.object({
104
+ statement: z.string(),
105
+ nodeType: z.string(),
106
+ derivedFromNodeId: z.string().uuid(),
107
+ })).optional().describe("Optional: split off new nodes from a verified UDE (rare)."),
108
+ }, wrapHandler(async (params) => {
109
+ return handleRealityTreeInjectionVerify(params, (body) => callProductApi(getCreds(), body));
110
+ }));
111
+ }
112
+ //# sourceMappingURL=realityTreeInjectionVerifyHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"realityTreeInjectionVerifyHandler.js","sourceRoot":"","sources":["../../src/handlers/realityTreeInjectionVerifyHandler.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ if (subcommand === "init") {
11
11
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
12
12
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
13
13
  import { loadCredentials } from "./shared.js";
14
- import { registerProductTools, registerDeliveryTools, registerFocusTools, registerIssueTools, registerAgentTools, registerPlaybookTools, registerConnectorTools, registerWorkflowTools, registerContextAssembleTool, registerWikiTools, registerDeploymentProfileTools, registerInfrastructureTools, registerReportTools, registerRiskTools, registerRiskDependencyTools, registerRiskCommunicationTools, registerLoopTools, registerRealityTools, registerRealityTreeTools, registerContractTools, registerPrerequisiteTreeTools, registerSessionStateTool, } from "./handlers/index.js";
14
+ import { registerProductTools, registerDeliveryTools, registerFocusTools, registerFocusDebugTools, registerIssueTools, registerAgentTools, registerPlaybookTools, registerConnectorTools, registerWorkflowTools, registerContextAssembleTool, registerWikiTools, registerDeploymentProfileTools, registerInfrastructureTools, registerReportTools, registerRiskTools, registerRiskDependencyTools, registerRiskCommunicationTools, registerLoopTools, registerRealityTools, registerRealityTreeTools, registerRealityTreeInjectionVerifyTool, registerContractTools, registerPrerequisiteTreeTools, registerSessionStateTool, } from "./handlers/index.js";
15
15
  import { registerDiscoverTool } from "./handlers/discoverHandler.js";
16
16
  // ---------------------------------------------------------------------------
17
17
  // MCP Server
@@ -37,6 +37,7 @@ if (profile === 'human') {
37
37
  registerProductTools(server, getCreds, profile);
38
38
  registerDeliveryTools(server, getCreds, profile);
39
39
  registerFocusTools(server, getCreds, profile);
40
+ registerFocusDebugTools(server, getCreds);
40
41
  registerIssueTools(server, getCreds, profile);
41
42
  registerInfrastructureTools(server, getCreds);
42
43
  registerContextAssembleTool(server, getCreds);
@@ -178,11 +179,15 @@ if (profile === 'human') {
178
179
  { name: "telora_reality_tree_injection_context", summary: "Gather causal context for injections (by UUID or #seq) to synthesize focuses",
179
180
  actions: [],
180
181
  keywords: ["injection", "context", "focus", "synthesize", "upstream", "downstream", "causes", "effects", "seq"] },
182
+ { name: "telora_reality_tree_injection_verify", summary: "Asymmetric 'verified' outcome: set injection_status=verified, delete targets edges, promote FRT overlays",
183
+ actions: [],
184
+ keywords: ["injection", "verify", "verified", "close loop", "bookkeeper", "FRT", "overlay", "evidence", "promote"] },
181
185
  ],
182
186
  register: () => {
183
187
  registerLoopTools(server, getCreds);
184
188
  registerRealityTools(server, getCreds);
185
189
  registerRealityTreeTools(server, getCreds);
190
+ registerRealityTreeInjectionVerifyTool(server, getCreds);
186
191
  },
187
192
  },
188
193
  contracts: {
@@ -248,12 +253,16 @@ if (profile === 'human') {
248
253
  }],
249
254
  },
250
255
  focus: {
251
- description: "Execution roadmap: themed work scopes and agent assignment (1 tool, 4 actions)",
252
- keywords: ["focus", "roadmap", "scope", "theme", "agent"],
256
+ description: "Execution roadmap: themed work scopes and agent assignment (2 tools, 7 actions)",
257
+ keywords: ["focus", "roadmap", "scope", "theme", "agent", "debug"],
253
258
  toolIndex: [{
254
259
  name: "telora_product_focus", summary: "Execution roadmap: group deliveries into themed work scopes",
255
260
  actions: ["list", "create", "update", "reorder"],
256
261
  keywords: ["focus", "roadmap", "scope", "theme", "execution", "agent role"],
262
+ }, {
263
+ name: "telora_product_focus_debug", summary: "Agent-written code-reality artifacts (Mermaid + markdown panels) for the focus Debug tab",
264
+ actions: ["get", "set", "clear"],
265
+ keywords: ["focus", "debug", "mermaid", "artifact", "code reality"],
257
266
  }],
258
267
  },
259
268
  delivery: {
@@ -310,6 +319,7 @@ else {
310
319
  // Daemon/workflow tools
311
320
  registerDeliveryTools(server, getCreds, profile);
312
321
  registerFocusTools(server, getCreds, profile);
322
+ registerFocusDebugTools(server, getCreds);
313
323
  registerIssueTools(server, getCreds, profile);
314
324
  registerAgentTools(server, getCreds);
315
325
  // Playbook tools
@@ -329,6 +339,7 @@ else {
329
339
  registerLoopTools(server, getCreds);
330
340
  registerRealityTools(server, getCreds);
331
341
  registerRealityTreeTools(server, getCreds);
342
+ registerRealityTreeInjectionVerifyTool(server, getCreds);
332
343
  registerContractTools(server, getCreds);
333
344
  registerPrerequisiteTreeTools(server, getCreds);
334
345
  // Connector tools: full profile only (non-human)
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telora/mcp-products",
3
- "version": "0.22.13",
3
+ "version": "0.22.15",
4
4
  "description": "MCP server exposing Telora product operations to Claude Code",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",