@telora/mcp-products 0.22.150 → 0.22.155
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/handlers/deliveryHandlers.d.ts +25 -0
- package/dist/handlers/deliveryHandlers.js +65 -23
- package/dist/handlers/deliveryHandlers.js.map +1 -1
- package/dist/handlers/focusHandlers.d.ts +3 -1
- package/dist/handlers/focusHandlers.js +81 -4
- package/dist/handlers/focusHandlers.js.map +1 -1
- package/dist/handlers/realityTreeHandlers.d.ts +25 -0
- package/dist/handlers/realityTreeHandlers.js +73 -22
- package/dist/handlers/realityTreeHandlers.js.map +1 -1
- package/dist/handlers/realityTreeInjectionVerifyHandler.d.ts +15 -3
- package/dist/handlers/realityTreeInjectionVerifyHandler.js +120 -22
- package/dist/handlers/realityTreeInjectionVerifyHandler.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/shared.js +23 -0
- package/dist/shared.js.map +1 -1
- package/package.json +2 -2
|
@@ -11,6 +11,10 @@ export interface DeliveryCreateParams {
|
|
|
11
11
|
injectionNodeId?: string | null;
|
|
12
12
|
allowUnanchored?: boolean;
|
|
13
13
|
unanchoredReason?: string;
|
|
14
|
+
allowDuplicateAnchor?: boolean;
|
|
15
|
+
duplicateAnchorReason?: string;
|
|
16
|
+
allowUnreviewedResidue?: boolean;
|
|
17
|
+
unreviewedResidueReason?: string;
|
|
14
18
|
executionStatus?: string;
|
|
15
19
|
workFacing?: string;
|
|
16
20
|
returnFull?: boolean;
|
|
@@ -31,4 +35,25 @@ export interface DeliveryAttributeCommitParams {
|
|
|
31
35
|
* commit outside the delivery's focus batches with a named code.
|
|
32
36
|
*/
|
|
33
37
|
export declare function handleDeliveryAttributeCommit(params: DeliveryAttributeCommitParams, callApi: (body: Record<string, unknown>) => Promise<unknown>): Promise<ReturnType<typeof successResult> | ReturnType<typeof validationError>>;
|
|
38
|
+
/**
|
|
39
|
+
* Extracted pure handler for delivery_update. Tests inject a stub via
|
|
40
|
+
* `callApi` so the forwarded wire body is assertable without a live server --
|
|
41
|
+
* which is how the dropped split-override fields were caught: the MCP schema
|
|
42
|
+
* exposed them and the backend honoured them, but this case forwarded only
|
|
43
|
+
* `fields` and `injectionNodeId`, so a deliberate split could not be declared
|
|
44
|
+
* through the agent-facing surface at all.
|
|
45
|
+
*/
|
|
46
|
+
export declare function handleDeliveryUpdate(params: {
|
|
47
|
+
deliveryId?: string;
|
|
48
|
+
injectionNodeId?: string | null;
|
|
49
|
+
allowDuplicateAnchor?: boolean;
|
|
50
|
+
duplicateAnchorReason?: string;
|
|
51
|
+
returnFull?: boolean;
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}, callApi: (body: Record<string, unknown>) => Promise<unknown>): Promise<{
|
|
54
|
+
content: {
|
|
55
|
+
type: "text";
|
|
56
|
+
text: string;
|
|
57
|
+
}[];
|
|
58
|
+
}>;
|
|
34
59
|
export declare function registerDeliveryTools(server: McpServer, getCreds: GetCreds, profile?: ToolProfile): void;
|
|
@@ -45,6 +45,17 @@ export async function handleDeliveryCreate(params, callApi) {
|
|
|
45
45
|
body.allowUnanchored = params.allowUnanchored;
|
|
46
46
|
if (params.unanchoredReason !== undefined)
|
|
47
47
|
body.unanchoredReason = params.unanchoredReason;
|
|
48
|
+
if (params.allowDuplicateAnchor !== undefined)
|
|
49
|
+
body.allowDuplicateAnchor = params.allowDuplicateAnchor;
|
|
50
|
+
if (params.duplicateAnchorReason !== undefined)
|
|
51
|
+
body.duplicateAnchorReason = params.duplicateAnchorReason;
|
|
52
|
+
// Absent must stay ABSENT: the backend distinguishes "no override requested"
|
|
53
|
+
// (the hold applies) from "override with a blank reason" (refused with
|
|
54
|
+
// override_reason_required). Forwarding false/'' would collapse that.
|
|
55
|
+
if (params.allowUnreviewedResidue !== undefined)
|
|
56
|
+
body.allowUnreviewedResidue = params.allowUnreviewedResidue;
|
|
57
|
+
if (params.unreviewedResidueReason !== undefined)
|
|
58
|
+
body.unreviewedResidueReason = params.unreviewedResidueReason;
|
|
48
59
|
const result = await callApi(body);
|
|
49
60
|
const compact = compactEntity(result.delivery, Object.keys(fields), params.returnFull);
|
|
50
61
|
const out = { ...compact };
|
|
@@ -76,6 +87,42 @@ export async function handleDeliveryAttributeCommit(params, callApi) {
|
|
|
76
87
|
});
|
|
77
88
|
return successResult(result.attribution);
|
|
78
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Extracted pure handler for delivery_update. Tests inject a stub via
|
|
92
|
+
* `callApi` so the forwarded wire body is assertable without a live server --
|
|
93
|
+
* which is how the dropped split-override fields were caught: the MCP schema
|
|
94
|
+
* exposed them and the backend honoured them, but this case forwarded only
|
|
95
|
+
* `fields` and `injectionNodeId`, so a deliberate split could not be declared
|
|
96
|
+
* through the agent-facing surface at all.
|
|
97
|
+
*/
|
|
98
|
+
export async function handleDeliveryUpdate(params, callApi) {
|
|
99
|
+
if (!params.deliveryId)
|
|
100
|
+
return validationError("deliveryId required for update");
|
|
101
|
+
const fields = buildFields(params, [...DELIVERY_UPDATE_FIELD_KEYS]);
|
|
102
|
+
const hasInjectionAnchor = params.injectionNodeId !== undefined;
|
|
103
|
+
if (Object.keys(fields).length === 0 && !hasInjectionAnchor) {
|
|
104
|
+
return validationError("Provide at least one field to update (or injectionNodeId to anchor)");
|
|
105
|
+
}
|
|
106
|
+
const body = {
|
|
107
|
+
action: "delivery_update",
|
|
108
|
+
deliveryId: params.deliveryId,
|
|
109
|
+
fields,
|
|
110
|
+
};
|
|
111
|
+
if (hasInjectionAnchor)
|
|
112
|
+
body.injectionNodeId = params.injectionNodeId;
|
|
113
|
+
// Forwarded only when supplied: the backend distinguishes "no override
|
|
114
|
+
// requested" from "override with a blank reason" (the latter is refused with
|
|
115
|
+
// override_reason_required), so absent must stay ABSENT.
|
|
116
|
+
if (params.allowDuplicateAnchor !== undefined)
|
|
117
|
+
body.allowDuplicateAnchor = params.allowDuplicateAnchor;
|
|
118
|
+
if (params.duplicateAnchorReason !== undefined)
|
|
119
|
+
body.duplicateAnchorReason = params.duplicateAnchorReason;
|
|
120
|
+
const result = await callApi(body);
|
|
121
|
+
const projected = hasInjectionAnchor
|
|
122
|
+
? [...Object.keys(fields), 'injectionId']
|
|
123
|
+
: Object.keys(fields);
|
|
124
|
+
return successResult(compactEntity(result.delivery, projected, params.returnFull));
|
|
125
|
+
}
|
|
79
126
|
export function registerDeliveryTools(server, getCreds, profile = 'full') {
|
|
80
127
|
// Agents cannot delete deliveries — CASCADE deletes all child issues (planning data).
|
|
81
128
|
const allowDelete = profile === 'full' || profile === 'human';
|
|
@@ -110,7 +157,17 @@ export function registerDeliveryTools(server, getCreds, profile = 'full') {
|
|
|
110
157
|
"anchors the delivery to a reality-tree injection -- REQUIRED when the focus is past planning and has an " +
|
|
111
158
|
"active reality tree: the create is REFUSED (error, no row) if omitted, and likewise refused on a " +
|
|
112
159
|
"past-planning focus that has no tree. Anchoring is the default path; for a genuinely tree-less delivery you must " +
|
|
113
|
-
"pass BOTH allowUnanchored=true AND unanchoredReason (a bare override with no reason is refused)
|
|
160
|
+
"pass BOTH allowUnanchored=true AND unanchoredReason (a bare override with no reason is refused). " +
|
|
161
|
+
"The converse also holds: an injection already materialized by a live delivery REFUSES a second one " +
|
|
162
|
+
"(duplicate_injection_anchor, no row) -- put residual work on the EXISTING delivery it names, or for a " +
|
|
163
|
+
"genuinely deliberate split pass BOTH allowDuplicateAnchor=true AND duplicateAnchorReason. " +
|
|
164
|
+
"A third refusal asks not whether the delivery is well-formed but whether it should exist YET: while the focus " +
|
|
165
|
+
"still carries unreviewed work-bearing deliveries, a new delivery is PRESUMED to be their residue and HELD " +
|
|
166
|
+
"(unreviewed_residue_hold, no row) -- the default path is to let residue wait for the review that covers it, so " +
|
|
167
|
+
"put the follow-on on the unreviewed delivery the refusal names, or let the review complete. For a genuinely NEW " +
|
|
168
|
+
"root cause pass BOTH allowUnreviewedResidue=true AND unreviewedResidueReason; each of these three is an " +
|
|
169
|
+
"effortful, reason-bearing, attributed override, and a bare boolean with no reason is refused " +
|
|
170
|
+
"(override_reason_required); " +
|
|
114
171
|
"declare workFacing 'outward'|'inward' at create to record whether the delivery opens new ground or refines existing ground), " +
|
|
115
172
|
actionDesc +
|
|
116
173
|
LIST_INDEX_NOTE, {
|
|
@@ -128,9 +185,13 @@ export function registerDeliveryTools(server, getCreds, profile = 'full') {
|
|
|
128
185
|
acceptanceCriteria: z.string().max(4000).optional().describe("Definition of done / success criteria"),
|
|
129
186
|
techContext: z.string().max(4000).optional().describe("Technical context: stack, repos, key files, architecture notes"),
|
|
130
187
|
focusId: focusRefSchema.nullable().optional().describe("Focus UUID or ephemeral focusKey like \"f3\" to link/filter (create/update/list), null to unlink (update)"),
|
|
131
|
-
injectionNodeId: z.string().uuid().nullable().optional().describe("UUID of an injection node in the focus's reality tree that this delivery materializes. Sets product_deliveries.injection_id atomically. Accepted on create and update; pass null on update to unlink. REQUIRED on create when the focus is past planning and has an active reality tree -- the create is REFUSED (error, no row) otherwise. This is the default path; to override for a genuinely tree-less delivery pass allowUnanchored=true WITH a unanchoredReason."),
|
|
188
|
+
injectionNodeId: z.string().uuid().nullable().optional().describe("UUID of an injection node in the focus's reality tree that this delivery materializes. Sets product_deliveries.injection_id atomically. Accepted on create and update; pass null on update to unlink. REQUIRED on create when the focus is past planning and has an active reality tree -- the create is REFUSED (error, no row) otherwise. This is the default path; to override for a genuinely tree-less delivery pass allowUnanchored=true WITH a unanchoredReason. The anchor must also be UNSHARED: naming an injection that already carries a live (non-cancelled) delivery is refused with duplicate_injection_anchor, which names the existing delivery so you can re-scope the residual onto it; unlinking (null) is always permitted and is how an existing double anchor is resolved."),
|
|
132
189
|
allowUnanchored: z.boolean().optional().describe("Effortful, reason-bearing OVERRIDE of the create structural-validity gate -- NOT a frictionless peer to anchoring. The default path is to anchor the delivery to an injection (injectionNodeId); only pass allowUnanchored=true for a genuinely tree-less delivery, and you MUST pass unanchoredReason alongside it. A bare allowUnanchored with no reason is refused (override_reason_required): skipping the differential instrument is a deliberate, recorded act."),
|
|
133
190
|
unanchoredReason: z.string().min(1).optional().describe("Required when allowUnanchored=true: a non-blank explanation of why this delivery legitimately has no reality-tree anchor. Recorded durably as the override's justification so a silent skip of the differential instrument cannot pass."),
|
|
191
|
+
allowDuplicateAnchor: z.boolean().optional().describe("Effortful, reason-bearing OVERRIDE of the duplicate-anchor gate -- the RARE path, not a frictionless peer. Before reaching for it: if the injection already has a live delivery, the intended move is to put the work on THAT delivery (re-scope the residual onto it with telora_product_issue create, or telora_product_delivery update). Finding an injection's desired effect already partly landed is NOT a reason to abandon the work -- the anchor is what is wrong, not the work. Only pass allowDuplicateAnchor=true when two deliveries genuinely must materialize one injection, and you MUST pass duplicateAnchorReason alongside it. A bare allowDuplicateAnchor with no reason is refused (override_reason_required). Two deliveries on one injection split the evidence for one desired effect: verify partitions commits by the Telora-Delivery trailer, so the sibling ends up holding acceptance criteria it has no trailered commits to evidence."),
|
|
192
|
+
duplicateAnchorReason: z.string().min(1).optional().describe("Required when allowDuplicateAnchor=true: a non-blank explanation of why this injection legitimately needs a second live delivery. Recorded durably on the delivery with its attribution (who declared the split, and whether by an agent or a human), so a deliberate split is an attributed act rather than a silent second anchor."),
|
|
193
|
+
allowUnreviewedResidue: z.boolean().optional().describe("Effortful, reason-bearing OVERRIDE of the unreviewed-residue hold -- the RARE path, not a frictionless peer. While the focus still carries unreviewed work-bearing deliveries, a new delivery on it is PRESUMED to be their residue and refused (unreviewed_residue_hold, no row): anchoring residue as a fresh sibling removes the floor the review gate provides -- the focus re-opens on new work while the pass that produced it is never judged. The default path is to let residue WAIT for the review that covers it: put the follow-on on the unreviewed delivery the refusal names (telora_product_issue create with its deliveryId, or telora_product_delivery update), or let the review complete, after which a new delivery needs no override at all. Only pass allowUnreviewedResidue=true when this is a genuinely NEW root cause rather than residue, and you MUST pass unreviewedResidueReason alongside it. A bare allowUnreviewedResidue with no reason is refused (override_reason_required). An escape declares ONE deviation, not all of them: it does not relax the anchoring contract."),
|
|
194
|
+
unreviewedResidueReason: z.string().min(1).optional().describe("Required when allowUnreviewedResidue=true: a non-blank explanation of why this delivery is a genuinely new root cause and not residue of the focus's unreviewed work. Recorded durably on the delivery with its attribution (who declared it, and whether by an agent or a human), so re-opening a focus ahead of its review is a traced act rather than a silent one -- a non-blank reason is what distinguishes a declared new root cause from a delivery that merely predates the hold."),
|
|
134
195
|
executionStatus: z.enum([...EXECUTION_STATUSES]).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."),
|
|
135
196
|
workFacing: z.enum([...WORK_FACINGS]).optional().describe("Work-facing novelty label declared at scope time (create) or re-declared on re-scope (update). 'outward' = a capability the user did not have before (new ground; includes machine/tooling capabilities -- the axis is novelty, not product-vs-system). 'inward' = improving a capability that already exists. Declare it as a byproduct of scoping each delivery -- it forces the explicit 'new ground or improving old ground?' question. Read downstream as a mirror of where intent-energy went, never a quota."),
|
|
136
197
|
parentNodeId: z.string().uuid().optional().describe("Target org unit or stream UUID (operationalize only)"),
|
|
@@ -184,27 +245,8 @@ export function registerDeliveryTools(server, getCreds, profile = 'full') {
|
|
|
184
245
|
case "create": {
|
|
185
246
|
return handleDeliveryCreate(params, (body) => callProductApi(getCreds(), body));
|
|
186
247
|
}
|
|
187
|
-
case "update":
|
|
188
|
-
|
|
189
|
-
return validationError("deliveryId required for update");
|
|
190
|
-
const fields = buildFields(params, [...DELIVERY_UPDATE_FIELD_KEYS]);
|
|
191
|
-
const hasInjectionAnchor = params.injectionNodeId !== undefined;
|
|
192
|
-
if (Object.keys(fields).length === 0 && !hasInjectionAnchor) {
|
|
193
|
-
return validationError("Provide at least one field to update (or injectionNodeId to anchor)");
|
|
194
|
-
}
|
|
195
|
-
const body = {
|
|
196
|
-
action: "delivery_update",
|
|
197
|
-
deliveryId: params.deliveryId,
|
|
198
|
-
fields,
|
|
199
|
-
};
|
|
200
|
-
if (hasInjectionAnchor)
|
|
201
|
-
body.injectionNodeId = params.injectionNodeId;
|
|
202
|
-
const result = await callProductApi(getCreds(), body);
|
|
203
|
-
const projected = hasInjectionAnchor
|
|
204
|
-
? [...Object.keys(fields), 'injectionId']
|
|
205
|
-
: Object.keys(fields);
|
|
206
|
-
return successResult(compactEntity(result.delivery, projected, params.returnFull));
|
|
207
|
-
}
|
|
248
|
+
case "update":
|
|
249
|
+
return handleDeliveryUpdate(params, (body) => callProductApi(getCreds(), body));
|
|
208
250
|
case "operationalize": {
|
|
209
251
|
if (!params.deliveryId)
|
|
210
252
|
return validationError("deliveryId required for operationalize");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deliveryHandlers.js","sourceRoot":"","sources":["../../src/handlers/deliveryHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"deliveryHandlers.js","sourceRoot":"","sources":["../../src/handlers/deliveryHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,8 @@ export declare const focusToolSchema: {
|
|
|
75
75
|
retrospective_get: "retrospective_get";
|
|
76
76
|
review_list: "review_list";
|
|
77
77
|
review_get: "review_get";
|
|
78
|
+
criteria_standing: "criteria_standing";
|
|
79
|
+
growth_since_arming: "growth_since_arming";
|
|
78
80
|
}>;
|
|
79
81
|
productId: z.ZodOptional<z.ZodString>;
|
|
80
82
|
focusId: z.ZodOptional<z.ZodString>;
|
|
@@ -157,7 +159,7 @@ export declare const focusToolSchema: {
|
|
|
157
159
|
returnFull: z.ZodOptional<z.ZodBoolean>;
|
|
158
160
|
};
|
|
159
161
|
type FocusToolParams = {
|
|
160
|
-
action: "list" | "create" | "update" | "reorder" | "merges" | "retrospective_trigger" | "retrospective_run" | "retrospective_list" | "retrospective_get" | "review_complete" | "review_list" | "review_get";
|
|
162
|
+
action: "list" | "create" | "update" | "reorder" | "merges" | "retrospective_trigger" | "retrospective_run" | "retrospective_list" | "retrospective_get" | "review_complete" | "review_list" | "review_get" | "criteria_standing" | "growth_since_arming";
|
|
161
163
|
productId?: string;
|
|
162
164
|
focusId?: string;
|
|
163
165
|
name?: string;
|
|
@@ -135,13 +135,36 @@ const FOCUS_TOOL_DESCRIPTION = "Execution roadmap: group deliveries into themed
|
|
|
135
135
|
"retrospective_get (get a single retrospective by ID), " +
|
|
136
136
|
"review_complete (terminal action for a review agent: writes a focus_reviews row with outcome + summary + references, and updates focus.last_reviewed_at and focus.last_review_outcome), " +
|
|
137
137
|
"review_list (read completed focus reviews back, newest first, with the decisions taken under uncertainty each one recorded -- question, options, chosen, why reversible, what changes if the human decides otherwise; scope by focusId, productId, or omit both for the whole organization; carries the decision-record rate: the share of completed reviews that recorded at least one resolved fork), " +
|
|
138
|
-
"review_get (read one focus review by focusReviewId: full summary plus its decisions rendered for a human)
|
|
138
|
+
"review_get (read one focus review by focusReviewId: full summary plus its decisions rendered for a human), " +
|
|
139
|
+
"criteria_standing (the focus's FLOOR, read without running a review: names which of the focus's OWN " +
|
|
140
|
+
"declared acceptance criteria its current deliveries address and which remain open, echoing every open " +
|
|
141
|
+
"criterion verbatim. This is the stated condition under which elaboration stops -- consult it before " +
|
|
142
|
+
"adding another delivery to a focus that may already be close to met. Available BETWEEN reviews and on a " +
|
|
143
|
+
"focus that has NEVER been reviewed: it is a read, not a review act, so it needs no review session, " +
|
|
144
|
+
"renders no verdict, and has no 'excused' -- excusing a criterion stays a review act with separation of " +
|
|
145
|
+
"duties. A focus with NO declared criteria has NOT reached a floor: floorBasis reports " +
|
|
146
|
+
"no_criteria_declared, which means the focus has gone unmeasured, not that it has arrived), " +
|
|
147
|
+
"growth_since_arming (REPORTS how the focus has grown since the operator armed it -- it refuses " +
|
|
148
|
+
"nothing and gates nothing. One read returns armedDeliveryCount (what the focus HELD at the arm; " +
|
|
149
|
+
"null when it was never armed), currentDeliveryCount (what it holds now), armedBaselineAt, and " +
|
|
150
|
+
"additionsSinceArming -- every delivery added since, each NAMING what anchored it: the injection " +
|
|
151
|
+
"seq + statement, the verbatim unanchored_reason, injection_unresolved (anchored, but this read " +
|
|
152
|
+
"could not name to what), or no_anchor_recorded. An addition that has since been CANCELLED stays " +
|
|
153
|
+
"in the list flagged isCancelled -- it was added against the arm and its anchor is part of the " +
|
|
154
|
+
"history -- while currentDeliveryCount counts only what the focus still HOLDS. Read the top-level " +
|
|
155
|
+
"basis before trusting the number: ONLY baseline_delivery_ids is EXACT (the id set was stamped at " +
|
|
156
|
+
"the arm edge). backfilled_delivery_ids is APPROXIMATE -- the baseline was RECONSTRUCTED at " +
|
|
157
|
+
"baselineRecordedAt from what the focus held then, so growth inside that window is invisible; " +
|
|
158
|
+
"unverified_delivery_ids is APPROXIMATE -- an id set with no recorded provenance, which cannot be " +
|
|
159
|
+
"shown to be an arm-instant snapshot; created_at_fallback is APPROXIMATE -- no id set at all, so " +
|
|
160
|
+
"additions are inferred from creation time. never_armed means there is no arm to measure against " +
|
|
161
|
+
"-- an empty additions list and a null armed count, never growth from zero). " +
|
|
139
162
|
"On update, pass `clearReviewRequest: true` to clear `product_focuses.review_requested_at` -- the non-SQL recovery path for a focus stuck with a stale review request." +
|
|
140
163
|
LIST_INDEX_NOTE;
|
|
141
164
|
export const focusToolSchema = {
|
|
142
|
-
action: z.enum(["list", "create", "update", "reorder", "merges", "retrospective_trigger", "retrospective_run", "retrospective_list", "retrospective_get", "review_complete", "review_list", "review_get"]).describe("Action to perform"),
|
|
143
|
-
productId: z.string().uuid().optional().describe("Product UUID (required for list, create, reorder; optional scope for review_list, and needed
|
|
144
|
-
focusId: focusRefSchema.optional().describe("Focus UUID or ephemeral focusKey like \"f3\" (required for update; also required for review_complete; optional scope for review_list)"),
|
|
165
|
+
action: z.enum(["list", "create", "update", "reorder", "merges", "retrospective_trigger", "retrospective_run", "retrospective_list", "retrospective_get", "review_complete", "review_list", "review_get", "criteria_standing", "growth_since_arming"]).describe("Action to perform"),
|
|
166
|
+
productId: z.string().uuid().optional().describe("Product UUID (required for list, create, reorder; optional scope for review_list, and needed wherever a focusKey like \"f3\" must be resolved -- including criteria_standing and growth_since_arming)"),
|
|
167
|
+
focusId: focusRefSchema.optional().describe("Focus UUID or ephemeral focusKey like \"f3\" (required for update; also required for review_complete, criteria_standing and growth_since_arming; optional scope for review_list)"),
|
|
145
168
|
name: z.string().max(200).optional().describe("Focus name (required for create)"),
|
|
146
169
|
description: z.string().max(4000).optional().describe("What this focus aims to achieve"),
|
|
147
170
|
acceptanceCriteria: z.string().max(4000).optional().describe("Focus-level (outcome) acceptance criteria: criteria that span the focus and no single delivery can satisfy alone. This is the home for an outcome-level criterion relocated up from a delivery. Enumerated by review_complete alongside each delivery's criteria, so a relocated criterion is verdicted like any other -- never annotated away in a delivery footnote."),
|
|
@@ -502,6 +525,60 @@ export function buildFocusHandler(getCreds, profile, callApi = (body) => callPro
|
|
|
502
525
|
summary: review.summary,
|
|
503
526
|
});
|
|
504
527
|
}
|
|
528
|
+
case "criteria_standing": {
|
|
529
|
+
// The focus's floor, read WITHOUT running a review: which of the focus's
|
|
530
|
+
// OWN declared acceptance criteria its current deliveries address, and
|
|
531
|
+
// which remain open. It renders no verdict, so it needs no review session
|
|
532
|
+
// and passes no separation-of-duties gate -- which is exactly why it is
|
|
533
|
+
// reachable between reviews, and on a focus never reviewed at all.
|
|
534
|
+
if (!params.focusId)
|
|
535
|
+
return validationError("focusId required for criteria_standing");
|
|
536
|
+
const result = await callApi({
|
|
537
|
+
action: "focus_criteria_standing",
|
|
538
|
+
focusId: params.focusId,
|
|
539
|
+
});
|
|
540
|
+
// Pass the composer's shape through UNCHANGED, minus the `success: true`
|
|
541
|
+
// transport flag every product-api envelope carries (the sibling handlers
|
|
542
|
+
// shed it by unwrapping a named key; this read has no named key to unwrap
|
|
543
|
+
// because its whole body IS the payload).
|
|
544
|
+
//
|
|
545
|
+
// Nothing else is touched. `openCriteria` arrives as a verbatim echo of
|
|
546
|
+
// every criterion no delivery addresses, and those echoes ARE the signal a
|
|
547
|
+
// scoping agent acts on: collapsing them to a count would leave a caller
|
|
548
|
+
// knowing a floor was missed without knowing by what -- the exact softening
|
|
549
|
+
// this read exists to prevent -- and re-rendering the criteria would assert
|
|
550
|
+
// a standing about text nobody declared.
|
|
551
|
+
const { success: _envelopeSuccess, ...standing } = result;
|
|
552
|
+
return successResult(standing);
|
|
553
|
+
}
|
|
554
|
+
case "growth_since_arming": {
|
|
555
|
+
// How the focus has grown since the operator armed it: armed at N,
|
|
556
|
+
// holds M, and what anchored every delivery added in between -- in ONE
|
|
557
|
+
// read. This REPORTS growth; it refuses nothing. No create is gated
|
|
558
|
+
// here and no refusal code is reachable from this branch: whether a
|
|
559
|
+
// delivery may exist is decided by the delivery-create path, and an
|
|
560
|
+
// operator learning that a focus grew is a separate act from the gate
|
|
561
|
+
// deciding whether it may.
|
|
562
|
+
if (!params.focusId)
|
|
563
|
+
return validationError("focusId required for growth_since_arming");
|
|
564
|
+
const result = await callApi({
|
|
565
|
+
action: "focus_growth_since_arming",
|
|
566
|
+
focusId: params.focusId,
|
|
567
|
+
});
|
|
568
|
+
// The edge names its payload `growth`; unwrap that key exactly as the
|
|
569
|
+
// sibling review_get unwraps `review`. Everything under it passes
|
|
570
|
+
// through UNCHANGED.
|
|
571
|
+
//
|
|
572
|
+
// `additionsSinceArming` in particular is echoed whole. Each addition's
|
|
573
|
+
// `anchor.description` is the content of this read -- the injection it
|
|
574
|
+
// was cut from, or the verbatim reason it was cut without one -- and a
|
|
575
|
+
// count of additions would tell a caller that a focus grew without
|
|
576
|
+
// telling it by what, which is the inference chain this action removes.
|
|
577
|
+
// `basis` travels with the counts for the same reason: an approximate
|
|
578
|
+
// number read as exact is the failure mode, so the strength of the
|
|
579
|
+
// measurement is part of the measurement.
|
|
580
|
+
return successResult(result.growth ?? {});
|
|
581
|
+
}
|
|
505
582
|
default:
|
|
506
583
|
return validationError(`Unknown action: ${params.action}`);
|
|
507
584
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"focusHandlers.js","sourceRoot":"","sources":["../../src/handlers/focusHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"focusHandlers.js","sourceRoot":"","sources":["../../src/handlers/focusHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,29 @@ export declare function handleRealityTreeBuildBatch(params: {
|
|
|
71
71
|
text: string;
|
|
72
72
|
}[];
|
|
73
73
|
}>;
|
|
74
|
+
/**
|
|
75
|
+
* Extracted pure handler for reality_tree_injection_context. Tests inject a
|
|
76
|
+
* stub via `callApi` so the dispatch (per-injection vs focus-wide) and its
|
|
77
|
+
* guards are assertable without a live server.
|
|
78
|
+
*
|
|
79
|
+
* Two modes, one payload shape: nodeIds/seqs return the named injections,
|
|
80
|
+
* focusId returns every injection in that focus's tree plus the
|
|
81
|
+
* cross-injection coordination structure. Both carry each injection's
|
|
82
|
+
* anchored deliveries, so an agent reads anchors identically either way --
|
|
83
|
+
* which is what makes "does this injection already have a delivery?"
|
|
84
|
+
* answerable from ONE call with no inference.
|
|
85
|
+
*/
|
|
86
|
+
export declare function handleInjectionContext(params: {
|
|
87
|
+
nodeIds?: string[];
|
|
88
|
+
seqs?: number[];
|
|
89
|
+
treeId?: string;
|
|
90
|
+
focusId?: string;
|
|
91
|
+
}, callApi: CallApi): Promise<{
|
|
92
|
+
content: {
|
|
93
|
+
type: "text";
|
|
94
|
+
text: string;
|
|
95
|
+
}[];
|
|
96
|
+
}>;
|
|
74
97
|
/**
|
|
75
98
|
* Extracted pure handler for reality_tree create. Tests inject a stub via
|
|
76
99
|
* the `callApi` parameter so they can assert next_steps pass-through without
|
|
@@ -82,6 +105,8 @@ export declare function handleRealityTreeCreate(params: {
|
|
|
82
105
|
description?: string;
|
|
83
106
|
scope?: string;
|
|
84
107
|
returnFull?: boolean;
|
|
108
|
+
allowDuplicateTree?: boolean;
|
|
109
|
+
duplicateTreeReason?: string;
|
|
85
110
|
}, callApi: CallApi): Promise<{
|
|
86
111
|
content: {
|
|
87
112
|
type: "text";
|
|
@@ -110,6 +110,49 @@ export async function handleRealityTreeBuildBatch(params, callApi, deps = {}) {
|
|
|
110
110
|
}
|
|
111
111
|
return successResult(result);
|
|
112
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Extracted pure handler for reality_tree_injection_context. Tests inject a
|
|
115
|
+
* stub via `callApi` so the dispatch (per-injection vs focus-wide) and its
|
|
116
|
+
* guards are assertable without a live server.
|
|
117
|
+
*
|
|
118
|
+
* Two modes, one payload shape: nodeIds/seqs return the named injections,
|
|
119
|
+
* focusId returns every injection in that focus's tree plus the
|
|
120
|
+
* cross-injection coordination structure. Both carry each injection's
|
|
121
|
+
* anchored deliveries, so an agent reads anchors identically either way --
|
|
122
|
+
* which is what makes "does this injection already have a delivery?"
|
|
123
|
+
* answerable from ONE call with no inference.
|
|
124
|
+
*/
|
|
125
|
+
export async function handleInjectionContext(params, callApi) {
|
|
126
|
+
if (!params.nodeIds?.length && !params.seqs?.length && !params.focusId) {
|
|
127
|
+
return validationError("Either nodeIds, seqs+treeId, or focusId is required");
|
|
128
|
+
}
|
|
129
|
+
if (params.focusId && (params.nodeIds?.length || params.seqs?.length)) {
|
|
130
|
+
return validationError("focusId is mutually exclusive with nodeIds/seqs");
|
|
131
|
+
}
|
|
132
|
+
if (params.seqs?.length && !params.treeId) {
|
|
133
|
+
return validationError("treeId is required when using seqs");
|
|
134
|
+
}
|
|
135
|
+
// focusId selects the focus-WIDE read, which returns the same per-injection
|
|
136
|
+
// items (anchored deliveries included) plus the coordination structure.
|
|
137
|
+
if (params.focusId) {
|
|
138
|
+
const result = await callApi({
|
|
139
|
+
action: "reality_tree_focus_injections",
|
|
140
|
+
focusId: params.focusId,
|
|
141
|
+
});
|
|
142
|
+
return successResult(result);
|
|
143
|
+
}
|
|
144
|
+
const body = {
|
|
145
|
+
action: "reality_tree_injection_context",
|
|
146
|
+
};
|
|
147
|
+
if (params.nodeIds?.length)
|
|
148
|
+
body.nodeIds = params.nodeIds;
|
|
149
|
+
if (params.seqs?.length) {
|
|
150
|
+
body.seqs = params.seqs;
|
|
151
|
+
body.treeId = params.treeId;
|
|
152
|
+
}
|
|
153
|
+
const result = await callApi(body);
|
|
154
|
+
return successResult(result);
|
|
155
|
+
}
|
|
113
156
|
/**
|
|
114
157
|
* Extracted pure handler for reality_tree create. Tests inject a stub via
|
|
115
158
|
* the `callApi` parameter so they can assert next_steps pass-through without
|
|
@@ -135,6 +178,13 @@ export async function handleRealityTreeCreate(params, callApi) {
|
|
|
135
178
|
body.focusId = params.focusId;
|
|
136
179
|
if (params.description !== undefined)
|
|
137
180
|
body.description = params.description;
|
|
181
|
+
// Forwarded only when supplied: the backend distinguishes "no override
|
|
182
|
+
// requested" from "override with a blank reason" (the latter is refused with
|
|
183
|
+
// override_reason_required), so absent must stay ABSENT.
|
|
184
|
+
if (params.allowDuplicateTree !== undefined)
|
|
185
|
+
body.allowDuplicateTree = params.allowDuplicateTree;
|
|
186
|
+
if (params.duplicateTreeReason !== undefined)
|
|
187
|
+
body.duplicateTreeReason = params.duplicateTreeReason;
|
|
138
188
|
const result = await callApi(body);
|
|
139
189
|
const tree = result.tree;
|
|
140
190
|
const treeResponse = {
|
|
@@ -288,7 +338,8 @@ export function findMisKeyedTargetRestatements(restatements) {
|
|
|
288
338
|
}
|
|
289
339
|
export function registerRealityTreeTools(server, getCreds) {
|
|
290
340
|
// -- telora_reality_tree ---------------------------------------------------
|
|
291
|
-
server.tool("telora_reality_tree", "
|
|
341
|
+
server.tool("telora_reality_tree", "A focus carries ONE plan-of-record tree: a create against a focus that already has an active tree is REFUSED (duplicate_focus_tree, no row) naming the existing tree -- add to that tree, or archive it first if superseded; a deliberate second tree needs allowDuplicateTree plus a non-blank duplicateTreeReason. " +
|
|
342
|
+
"CAUSAL planning graph / root-cause (Goldratt) -- NOT runtime metrics (for measured execution telemetry use telora_reality_metrics). To READ current modeled reality, call get (whole graph) or dump (structured text). " +
|
|
292
343
|
"Reality trees: CRT/FRT planning structures (Goldratt Thinking Processes). One unified graph per focus; CRT and FRT are views over the SAME graph, not two physical trees. " +
|
|
293
344
|
"ACTIONS (required params in parens): " +
|
|
294
345
|
"list (focusId) -- trees for a focus; OR list (orgScope=true) -- ORG-scoped portfolio trees for your organization; " +
|
|
@@ -321,6 +372,8 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
321
372
|
name: z.string().max(200).optional().describe("Tree name (required for create)"),
|
|
322
373
|
description: z.string().max(2000).optional().describe("Tree description"),
|
|
323
374
|
status: z.enum(["active", "archived"]).optional().describe("Tree status (update only)"),
|
|
375
|
+
allowDuplicateTree: z.boolean().optional().describe("Effortful, reason-bearing OVERRIDE of the one-plan-of-record-tree gate (create only) -- the RARE path, not a frictionless peer. A focus carries ONE plan-of-record tree; a create against a focus that already has an active tree is refused (duplicate_focus_tree) naming the existing tree. Before reaching for this: add to the existing tree (telora_reality_tree_node create, or create_from_definition with its treeId), or -- if it is genuinely superseded -- archive it first (action=update, status='archived') and then create the replacement, which needs no override. Only pass allowDuplicateTree=true when the focus genuinely must hold two trees at once, and you MUST pass duplicateTreeReason alongside it; a bare flag with no reason is refused (override_reason_required). Two active trees split the planning surface: the coordination map shows only the plan of record and withholds the other's injections, so work scoped against the wrong tree has nothing reading it."),
|
|
376
|
+
duplicateTreeReason: z.string().min(1).optional().describe("Required when allowDuplicateTree=true: a non-blank explanation of why this focus legitimately needs a second reality tree. Recorded durably on the new tree with its attribution (who declared it, and whether by an agent or a human), so a deliberate second tree is an attributed act rather than a silent duplicate."),
|
|
324
377
|
definition: batchDefinitionSchema.optional().describe("Atomic batch build (create_from_definition): a whole tree as { nodes:[{ref,statement,nodeType,...}], edges:[{fromRef|fromNodeId,toRef|toNodeId,edgeType}], targets?:[{injectionRef|injectionNodeId,targetRefs|targetNodeIds,restatements?}] }. Nodes carry a client-local `ref`; edges/targets reference by ref (batch nodes) or nodeId (pre-existing). Commits all-or-nothing. Declare each flipped target's desired effect up front in targets[].restatements ([{ref|nodeId, frtStatement}]) -- the intent of record; an undeclared flip is backfilled by a weaker machine draft."),
|
|
325
378
|
returnFull: z.boolean().optional().describe("Return full entity (default: compact)"),
|
|
326
379
|
}, wrapHandler(async (params) => {
|
|
@@ -869,32 +922,30 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
869
922
|
"Use this when you need to understand what a group of injections collectively address " +
|
|
870
923
|
"so you can draft a coherent focus covering them all. " +
|
|
871
924
|
"Identify injections by UUID (nodeIds) or by their display number (seqs + treeId), e.g. " +
|
|
872
|
-
"\"injections #57 and #58\" becomes seqs: [57, 58] with the treeId."
|
|
925
|
+
"\"injections #57 and #58\" becomes seqs: [57, 58] with the treeId. " +
|
|
926
|
+
"Pass focusId INSTEAD to get every injection in that focus's tree in one call. " +
|
|
927
|
+
"ANCHORS: each injection reports anchoredDeliveries (deliveryId, deliveryName, " +
|
|
928
|
+
"executionStatus, isLive) plus liveAnchoredDeliveryCount and anchorsResolved, resolved from " +
|
|
929
|
+
"the delivery rows themselves. So this call answers \"does this injection already have a " +
|
|
930
|
+
"delivery?\" directly -- an empty anchoredDeliveries with anchorsResolved=true means " +
|
|
931
|
+
"genuinely none, which is DIFFERENT from anchorsResolved=false (not looked up); never read " +
|
|
932
|
+
"the latter as \"no delivery\". liveAnchoredDeliveryCount > 1 is a DOUBLE ANCHOR: two " +
|
|
933
|
+
"deliveries claiming one injection, which splits the evidence for one desired effect (verify " +
|
|
934
|
+
"partitions commits by the Telora-Delivery trailer, so the sibling holds acceptance criteria " +
|
|
935
|
+
"it cannot evidence and the gate re-queues it). On a hit, reconcile the ANCHOR -- retire or " +
|
|
936
|
+
"unlink one side (telora_product_delivery update with injectionNodeId: null), or record the " +
|
|
937
|
+
"split deliberately (allowDuplicateAnchor + duplicateAnchorReason). Residual work on an " +
|
|
938
|
+
"already-anchored injection belongs on the EXISTING delivery; finding its desired effect " +
|
|
939
|
+
"partly landed is never a reason to abandon the work.", {
|
|
873
940
|
nodeIds: z.array(z.string().uuid()).min(1).max(20).optional()
|
|
874
|
-
.describe("Injection node UUIDs (use this OR seqs+treeId)"),
|
|
941
|
+
.describe("Injection node UUIDs (use this OR seqs+treeId OR focusId)"),
|
|
875
942
|
seqs: z.array(z.number().int().positive()).min(1).max(20).optional()
|
|
876
943
|
.describe("Injection display numbers, e.g. [57, 58] (requires treeId)"),
|
|
877
944
|
treeId: z.string().uuid().optional()
|
|
878
945
|
.describe("Reality tree UUID (required when using seqs)"),
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
}
|
|
883
|
-
if (params.seqs?.length && !params.treeId) {
|
|
884
|
-
return validationError("treeId is required when using seqs");
|
|
885
|
-
}
|
|
886
|
-
const body = {
|
|
887
|
-
action: "reality_tree_injection_context",
|
|
888
|
-
};
|
|
889
|
-
if (params.nodeIds?.length)
|
|
890
|
-
body.nodeIds = params.nodeIds;
|
|
891
|
-
if (params.seqs?.length) {
|
|
892
|
-
body.seqs = params.seqs;
|
|
893
|
-
body.treeId = params.treeId;
|
|
894
|
-
}
|
|
895
|
-
const result = await callProductApi(getCreds(), body);
|
|
896
|
-
return successResult(result);
|
|
897
|
-
}));
|
|
946
|
+
focusId: z.string().uuid().optional()
|
|
947
|
+
.describe("Focus UUID: return EVERY injection in this focus's reality tree, each with its anchored deliveries, plus the cross-injection coordination structure. Use this to find which injections lack a delivery -- and which already carry more than one -- without walking them one at a time. Mutually exclusive with nodeIds/seqs."),
|
|
948
|
+
}, wrapHandler((params) => handleInjectionContext(params, (body) => callProductApi(getCreds(), body))));
|
|
898
949
|
// -- telora_reality_tree_injection_history ------------------------------------
|
|
899
950
|
server.tool("telora_reality_tree_injection_history", "Returns the chronological list of injections that have modified a reality tree entity -- " +
|
|
900
951
|
"use this to understand why an entity's current statement looks the way it does, what previous " +
|