@telora/mcp-products 0.22.16 → 0.22.18
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.
|
@@ -9,6 +9,7 @@ export interface DeliveryCreateParams {
|
|
|
9
9
|
techContext?: string;
|
|
10
10
|
focusId?: string | null;
|
|
11
11
|
injectionNodeId?: string;
|
|
12
|
+
executionStatus?: string;
|
|
12
13
|
returnFull?: boolean;
|
|
13
14
|
}
|
|
14
15
|
export declare function handleDeliveryCreate(params: DeliveryCreateParams, callApi: (body: Record<string, unknown>) => Promise<unknown>): Promise<ReturnType<typeof successResult> | ReturnType<typeof validationError>>;
|
|
@@ -4,13 +4,90 @@
|
|
|
4
4
|
// ---------------------------------------------------------------------------
|
|
5
5
|
import { z } from "zod";
|
|
6
6
|
import { callProductApi, successResult, validationError, buildFields, wrapHandler, compactEntity, LIST_INDEX_NOTE, } from "../shared.js";
|
|
7
|
+
// Focus stages past the planning phase. When a delivery is created on a
|
|
8
|
+
// focus already in one of these stages, the daemon's poll loop expects new
|
|
9
|
+
// work to land in 'queued' so a team can pick it up — defaulting to
|
|
10
|
+
// 'planning' would leave the row invisible.
|
|
11
|
+
const POST_PLANNING_FOCUS_STAGES = new Set([
|
|
12
|
+
'queued',
|
|
13
|
+
'in_progress',
|
|
14
|
+
'verify',
|
|
15
|
+
'review',
|
|
16
|
+
'close_loop',
|
|
17
|
+
]);
|
|
18
|
+
// Page size for the focus_list lookup. focus_list has no by-id filter, so we
|
|
19
|
+
// walk pages until we find the focus or exhaust them.
|
|
20
|
+
const FOCUS_LOOKUP_PAGE_SIZE = 500;
|
|
21
|
+
// Hard cap on pages walked. 25 * 500 = 12500 focuses per product, well beyond
|
|
22
|
+
// any realistic product size; the cap is a defensive ceiling so a misbehaving
|
|
23
|
+
// backend cannot wedge the handler in an infinite loop.
|
|
24
|
+
const FOCUS_LOOKUP_MAX_PAGES = 25;
|
|
25
|
+
/**
|
|
26
|
+
* Resolve the default executionStatus for a new delivery based on its parent
|
|
27
|
+
* focus's current stage. Returns 'queued' when the focus is past planning,
|
|
28
|
+
* 'planning' otherwise (including when focusId is absent or the focus cannot
|
|
29
|
+
* be located).
|
|
30
|
+
*
|
|
31
|
+
* focus_list is the only available MCP read path (no focus_get by id), so we
|
|
32
|
+
* paginate through it until the focus is found or we exhaust the pages. The
|
|
33
|
+
* page size is generous; the page cap is a defensive ceiling.
|
|
34
|
+
*
|
|
35
|
+
* A lookup failure or genuinely missing focus falls back to 'planning' AND
|
|
36
|
+
* emits a console.warn so the fallback is visible in the daemon log -- the
|
|
37
|
+
* silent fallback was the harmful part of the prior behavior.
|
|
38
|
+
*/
|
|
39
|
+
async function resolveDefaultExecutionStatus(focusId, productId, callApi) {
|
|
40
|
+
if (!focusId)
|
|
41
|
+
return 'planning';
|
|
42
|
+
let pagesWalked = 0;
|
|
43
|
+
try {
|
|
44
|
+
for (let offset = 0; pagesWalked < FOCUS_LOOKUP_MAX_PAGES; offset += FOCUS_LOOKUP_PAGE_SIZE) {
|
|
45
|
+
const response = (await callApi({
|
|
46
|
+
action: 'focus_list',
|
|
47
|
+
productId,
|
|
48
|
+
detail: 'summary',
|
|
49
|
+
limit: FOCUS_LOOKUP_PAGE_SIZE,
|
|
50
|
+
offset,
|
|
51
|
+
}));
|
|
52
|
+
const focuses = response.focuses ?? [];
|
|
53
|
+
pagesWalked += 1;
|
|
54
|
+
const focus = focuses.find((f) => f.id === focusId);
|
|
55
|
+
if (focus) {
|
|
56
|
+
const stage = typeof focus.stage === 'string' ? focus.stage : null;
|
|
57
|
+
if (stage && POST_PLANNING_FOCUS_STAGES.has(stage))
|
|
58
|
+
return 'queued';
|
|
59
|
+
return 'planning';
|
|
60
|
+
}
|
|
61
|
+
// Last page reached -- no more pages to walk.
|
|
62
|
+
if (focuses.length < FOCUS_LOOKUP_PAGE_SIZE)
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
const exhausted = pagesWalked >= FOCUS_LOOKUP_MAX_PAGES;
|
|
66
|
+
console.warn(`[delivery_create] resolveDefaultExecutionStatus: focus ${focusId} not found in product ${productId} ` +
|
|
67
|
+
`after scanning ${pagesWalked} page(s) of focus_list` +
|
|
68
|
+
(exhausted ? ` (hit ${FOCUS_LOOKUP_MAX_PAGES}-page safety cap)` : '') +
|
|
69
|
+
`. Falling back to executionStatus='planning'. If the focus is past planning stage, ` +
|
|
70
|
+
`pass executionStatus explicitly to override.`);
|
|
71
|
+
return 'planning';
|
|
72
|
+
}
|
|
73
|
+
catch (err) {
|
|
74
|
+
console.warn(`[delivery_create] resolveDefaultExecutionStatus: focus_list lookup failed for focus ${focusId} ` +
|
|
75
|
+
`in product ${productId}: ${err.message}. Falling back to executionStatus='planning'.`);
|
|
76
|
+
return 'planning';
|
|
77
|
+
}
|
|
78
|
+
}
|
|
7
79
|
export async function handleDeliveryCreate(params, callApi) {
|
|
8
80
|
if (!params.productId)
|
|
9
81
|
return validationError("productId required for create");
|
|
10
82
|
if (!params.name)
|
|
11
83
|
return validationError("name required for create");
|
|
12
84
|
const fields = buildFields(params, ['name', 'description', 'targetDate', 'acceptanceCriteria', 'techContext']);
|
|
13
|
-
|
|
85
|
+
if (typeof params.executionStatus === 'string' && params.executionStatus.length > 0) {
|
|
86
|
+
fields.executionStatus = params.executionStatus;
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
fields.executionStatus = await resolveDefaultExecutionStatus(params.focusId, params.productId, callApi);
|
|
90
|
+
}
|
|
14
91
|
const body = {
|
|
15
92
|
action: "delivery_create",
|
|
16
93
|
productId: params.productId,
|
|
@@ -53,7 +130,7 @@ export function registerDeliveryTools(server, getCreds, profile = 'full') {
|
|
|
53
130
|
techContext: z.string().max(4000).optional().describe("Technical context: stack, repos, key files, architecture notes"),
|
|
54
131
|
focusId: z.string().uuid().nullable().optional().describe("Focus UUID to link (create/update), null to unlink (update)"),
|
|
55
132
|
injectionNodeId: z.string().uuid().optional().describe("Optional. UUID of an injection node in the focus's reality tree that this delivery materializes. Sets product_deliveries.injection_id atomically. The MCP returns a warning when omitted and the focus has an active reality tree."),
|
|
56
|
-
executionStatus: z.enum(["draft", "planning", "
|
|
133
|
+
executionStatus: z.enum(["draft", "planning", "awaiting_verify", "queued", "coding", "verify", "in_review", "done", "paused", "cancelled"]).optional().describe("Execution status. On create: overrides the focus-stage-aware default ('queued' when the parent focus is past planning, otherwise 'planning'). On update: new status. On list: filter."),
|
|
57
134
|
parentNodeId: z.string().uuid().optional().describe("Target org unit or stream UUID (operationalize only)"),
|
|
58
135
|
deliveryIds: z.array(z.string().uuid()).optional().describe("Ordered array of delivery UUIDs for reorder (first = rank 0 = highest priority)"),
|
|
59
136
|
includeIssueCounts: z.boolean().optional().describe("Include done/total issue counts per delivery (list only)"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryHandlers.js","sourceRoot":"","sources":["../../src/handlers/deliveryHandlers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wCAAwC;AACxC,yFAAyF;AACzF,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAGhB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"deliveryHandlers.js","sourceRoot":"","sources":["../../src/handlers/deliveryHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,7 +25,7 @@ export function registerIssueTools(server, getCreds, profile = 'full') {
|
|
|
25
25
|
title: z.string().max(500).optional().describe("Issue title (required for create)"),
|
|
26
26
|
issueType: z.enum(["Context Group", "Task", "Bug"]).optional().describe("Issue type (default: Task)"),
|
|
27
27
|
description: z.string().max(5000).optional().describe("Issue description"),
|
|
28
|
-
status: z.enum(["To Do", "In Progress", "In Review", "Blocked", "Done"]).optional().describe("Issue status (create default: 'To Do'; list: filter)"),
|
|
28
|
+
status: z.enum(["To Do", "In Progress", "In Review", "Blocked", "Done", "Verified"]).optional().describe("Issue status (create default: 'To Do'; list: filter). 'Verified' means confirmed-addressed by a review agent — treated as terminal for delivery completion."),
|
|
29
29
|
parentIssueId: z.string().uuid().optional().describe("Parent issue UUID (for nesting under context groups)"),
|
|
30
30
|
priority: z.enum(["P0", "P1", "P2", "P3"]).optional().describe("Priority label"),
|
|
31
31
|
context: z.string().max(10000).optional().describe("Rich text/markdown context for AI agents (Context Group only)"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issueHandlers.js","sourceRoot":"","sources":["../../src/handlers/issueHandlers.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qCAAqC;AACrC,2DAA2D;AAC3D,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,eAAe,GAGhB,MAAM,cAAc,CAAC;AAEtB,MAAM,UAAU,kBAAkB,CAAC,MAAiB,EAAE,QAAkB,EAAE,UAAuB,MAAM;IACrG,gFAAgF;IAChF,MAAM,WAAW,GAAG,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,OAAO,CAAC;IAC9D,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAW;QACnD,CAAC,CAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAW,CAAC;IAC5C,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC,uEAAuE;QACzE,CAAC,CAAC,sDAAsD,CAAC;IAE3D,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,gFAAgF;QAChF,4HAA4H;QAC5H,4FAA4F;QAC5F,UAAU;QACV,eAAe,EACf;QACE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAC1F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+DAA+D,CAAC;QAClH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QAC3G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACnF,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;QACrG,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC1E,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"issueHandlers.js","sourceRoot":"","sources":["../../src/handlers/issueHandlers.ts"],"names":[],"mappings":"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"}
|