@telora/mcp-products 0.22.110 → 0.22.112
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/auditTreeAuthoringGuide.d.ts +1 -1
- package/dist/handlers/auditTreeAuthoringGuide.js +6 -1
- package/dist/handlers/auditTreeAuthoringGuide.js.map +1 -1
- package/dist/handlers/realityTreeHandlers.d.ts +21 -1
- package/dist/handlers/realityTreeHandlers.js +102 -5
- package/dist/handlers/realityTreeHandlers.js.map +1 -1
- package/dist/reality-tree/de-restatement.d.ts +58 -0
- package/dist/reality-tree/de-restatement.js +124 -0
- package/dist/reality-tree/de-restatement.js.map +1 -0
- package/dist/reality-tree/omission-drain.d.ts +85 -0
- package/dist/reality-tree/omission-drain.js +92 -0
- package/dist/reality-tree/omission-drain.js.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const AUDIT_TREE_AUTHORING_GUIDE = "# Audit Tree-Authoring Protocol (CRT -> injections -> anchored plan)\n\nA safe audit emits a **tree and a plan, never a task checklist.** You are\nREAD-ONLY: discovery only. You author the intent structure -- the current\nreality, its root causes, and the leverage points -- and you anchor a plan of\ninjection-anchored remediation deliveries. You do NOT fix anything, and you do\nNOT file remediation Task/Bug issues. Remediation is scoped LATER, one root\ncause at a time, from the injections you anchor here -- so there is no flat\nchecklist to complete with completion-vigor and churn stays bounded to the real\ndefects.\n\nWhat happens to the deliveries you anchor depends on the focus posture, so do\nnot assume a human gate that may not exist:\n- On a **read-only audit focus**, the anchored deliveries rest at `planning`\n behind the human ratify gate -- a human reviews the plan and ratifies it\n before anything executes.\n- On a **live, past-planning focus**, the anchored deliveries are created\n `queued` and execute AUTONOMOUSLY through the normal review gate -- there is\n no human step before they run.\n\nEither way, if you believe the work must NOT run, that is a fork to DECIDE:\ntake the reversible option that preserves both futures and record it for the\nfocus review, never write the belief into a delivery's acceptance criteria.\n\nTwo artifacts, one purpose:\n- **CRT (current reality)** -- entities + undesired effects (UDEs) wired by\n causal edges, surfacing the systemic structure so cross-area root causes\n become visible in ONE focus tree (NOT one delivery per audit area).\n- **FRT (future reality)** -- injections at the root causes, self-validated to\n confirm they flip the UDEs, then anchored to planning deliveries whose\n acceptance is the future-state desired effect each injection produces.\n\n## Rounds (distinct jobs -- not \"find more\")\n1. **Facts -> CRT.** Author the current reality. Create the focus's reality\n tree if none exists (`telora_reality_tree action=create`), then add an\n **entity** node per real component/observation and an **undesired_effect**\n (UDE) node per observed problem (`telora_reality_tree_node action=create`).\n State what IS, in evidence terms -- not a fix.\n2. **Relationships -> causal edges.** Wire cause -> effect with\n `telora_reality_tree_edge action=create` (cause node -> effect node). This\n is the load-bearing round: edges turn a list of symptoms into a causal\n structure, so a single deep cause feeding many surface UDEs across different\n audit areas becomes visible as ONE root in ONE tree -- which is exactly what\n stops the \"one delivery per area\" sprawl.\n3. **Leverage -> injections.** Propose **injection** nodes at the LOWEST / root\n causes (the nodes with the most downstream UDEs), not at the symptoms.\n One injection at a root can clear a whole subtree of UDEs; that leverage is\n the whole reason for the tree.\n4. **Self-validate -> derive_frt.** Call\n `telora_reality_tree action=derive_frt` with the treeId. This is read-only:\n it returns the cleared/flipped UDE sets the injections produce. Confirm each\n injection flips the UDEs you targeted. If a UDE is left unresolved by your\n injection set, REPORT it -- do not hide it and do not lower the bar to make\n the tree look clean. An honest \"this UDE has no injection yet\" is signal; a\n silently dropped UDE is noise.\n5. **Anchor the plan -> injection-anchored deliveries.** For each injection,\n create a remediation delivery with\n `telora_product_delivery action=create`, passing\n `injectionNodeId=<the injection node>` and `executionStatus=\"planning\"`.\n Set its acceptance to the **FRT desired effect** -- the future-state the\n injection produces (what becomes true once the root cause is cleared), NOT a\n list of edits and NOT process instructions.\n\nExplicitly, in the audit phase your output is **the tree + the anchored\nplanning deliveries only.** Do NOT create remediation Task or Bug issues. Do\nNOT create one delivery per audit area -- unify the audit into ONE focus tree\nand let each injection (each root cause) anchor exactly one planning delivery.\nDo NOT attempt fixes.\n\n## Acceptance criteria carry the future state ONLY -- never a hold\nA remediation delivery's acceptanceCriteria state ONLY the **FRT desired\neffect**: the future-state that becomes true once the root cause is cleared.\nAcceptanceCriteria are NOT workflow state and NOT a channel to a human. Never\nwrite into acceptanceCriteria:\n- process instructions or step-by-step directions to the executing team,\n- a hold, a pause, or an approval requirement (e.g. \"HOLD FOR HUMAN REVIEW\n BEFORE EXECUTING\", \"do not execute until ...\", \"wait for sign-off\"),\n- status commentary or notes about what you think should happen next.\n\nProse is invisible to the workflow: a hold written into acceptanceCriteria\ngates nothing, and on a live focus the executing team either obeys a stop the\nmachine never enforces or is misled by an instruction it should never have been\ngiven. If you believe the work must NOT run yet, that is a fork to DECIDE, not\nto defer to a human: take the reversible option that preserves both futures --\nauthor the delivery against its real future-state and let it run -- and record\nthe doubt (the question, the options, what you chose, why it is reversible, and\nwhat changes if the human decides otherwise) for the focus review. Reserve an\nescalation for a genuine do-not-run reason you cannot resolve yourself -- a\nmissing dependency, work that truly needs human intent -- and never encode the\ndoubt as acceptance-criteria text.\n\n## Statement quality (Goldratt Categories of Legitimate Reservation)\nHold every node to three statement-quality reservations AS YOU WRITE IT --\ninline with the rounds above, not a separate pass:\n- **Clarity.** Each statement is ONE unambiguous declarative sentence that\n reads standalone -- no jargon or pronoun a reviewer must guess at.\n- **Entity Existence.** Each entity / UDE names a COMPLETE, REAL state that\n actually exists, not a sentence fragment or a vague gesture. Prefer a\n grounded observation over an invented abstraction.\n- **Tautology.** In the relationships round, no cause -> effect pair may be\n circular: an effect must NOT be offered as the reason its own cause exists.\n\nA node that fails any of these radiates unearned certainty; fix the statement\nbefore you wire it. These reservations cost no extra call -- they are how you\nwrite each node, not a gate you run afterward.\n\n## Two hard integrity gates (deterministic; a tree must pass to present)\nThe tree dump (`telora_reality_tree action=dump`) computes and surfaces two\ndeterministic doubt-revealer gates near its header, so unearned certainty\ncannot hide:\n- **Connectivity (NO ORPHANS).** A node with zero edges of ANY type AND no\n `evidence` is an ORPHAN -- it floats, neither wired into the causal graph nor\n folded into its own evidence. A single orphan makes the tree **NOT\n presentable**; the dump names the orphan seqs. Fix it: wire the node to a\n cause/effect with an edge, or ground it by setting `evidence`. An orphan is\n reality with nothing to measure it against -- it must not survive to review.\n- **Evidence-or-assumed.** An `entity` / `undesired_effect` with empty/null\n `evidence` renders an `[assumed]` marker; with evidence it renders\n `(evidence)`. Assumed is NOT a violation -- it is an honest hedge that the\n claim is unearned certainty until grounded. Set `evidence` on the nodes you\n can actually observe; leave the rest visibly `[assumed]` rather than dressing\n a guess up as a proven cause.\n\n## Why this shape (the discipline it enforces)\nA flat checklist invites an agent to \"complete\" it -- to keep going until every\nbox is ticked, which churns code well beyond the real defects. An\ninjection-anchored plan inverts that: remediation is scoped one root cause at a\ntime from an injection, with acceptance pinned to a desired effect, so there is\nnothing to over-complete. The structured CRT + FRT make a wrong root cause\nlegible as a plan -- catchable up front rather than only after code has moved.";
|
|
1
|
+
export declare const AUDIT_TREE_AUTHORING_GUIDE = "# Audit Tree-Authoring Protocol (CRT -> injections -> anchored plan)\n\nA safe audit emits a **tree and a plan, never a task checklist.** You are\nREAD-ONLY: discovery only. You author the intent structure -- the current\nreality, its root causes, and the leverage points -- and you anchor a plan of\ninjection-anchored remediation deliveries. You do NOT fix anything, and you do\nNOT file remediation Task/Bug issues. Remediation is scoped LATER, one root\ncause at a time, from the injections you anchor here -- so there is no flat\nchecklist to complete with completion-vigor and churn stays bounded to the real\ndefects.\n\nWhat happens to the deliveries you anchor depends on the focus posture, so do\nnot assume a human gate that may not exist:\n- On a **read-only audit focus**, the anchored deliveries rest at `planning`\n behind the human ratify gate -- a human reviews the plan and ratifies it\n before anything executes.\n- On a **live, past-planning focus**, the anchored deliveries are created\n `queued` and execute AUTONOMOUSLY through the normal review gate -- there is\n no human step before they run.\n\nEither way, if you believe the work must NOT run, that is a fork to DECIDE:\ntake the reversible option that preserves both futures and record it for the\nfocus review, never write the belief into a delivery's acceptance criteria.\n\nTwo artifacts, one purpose:\n- **CRT (current reality)** -- entities + undesired effects (UDEs) wired by\n causal edges, surfacing the systemic structure so cross-area root causes\n become visible in ONE focus tree (NOT one delivery per audit area).\n- **FRT (future reality)** -- injections at the root causes, self-validated to\n confirm they flip the UDEs, then anchored to planning deliveries whose\n acceptance is the future-state desired effect each injection produces.\n\n## Rounds (distinct jobs -- not \"find more\")\n1. **Facts -> CRT.** Author the current reality. Create the focus's reality\n tree if none exists (`telora_reality_tree action=create`), then add an\n **entity** node per real component/observation and an **undesired_effect**\n (UDE) node per observed problem (`telora_reality_tree_node action=create`).\n State what IS, in evidence terms -- not a fix.\n2. **Relationships -> causal edges.** Wire cause -> effect with\n `telora_reality_tree_edge action=create` (cause node -> effect node). This\n is the load-bearing round: edges turn a list of symptoms into a causal\n structure, so a single deep cause feeding many surface UDEs across different\n audit areas becomes visible as ONE root in ONE tree -- which is exactly what\n stops the \"one delivery per area\" sprawl.\n3. **Leverage -> injections.** Propose **injection** nodes at the LOWEST / root\n causes (the nodes with the most downstream UDEs), not at the symptoms.\n One injection at a root can clear a whole subtree of UDEs; that leverage is\n the whole reason for the tree. As you aim an injection at the UDE(s) it\n addresses (`telora_reality_tree_node action=target`), DECLARE each target's\n desired effect up front via `restatements` (the resolved future-state that\n UDE becomes) -- a flipped node must read as its future state, not its problem\n text. A flip left without a declared desired effect is an omission the machine\n can only backfill with a weaker draft.\n4. **Self-validate -> derive_frt.** Call\n `telora_reality_tree action=derive_frt` with the treeId. This is read-only:\n it returns the cleared/flipped UDE sets the injections produce. Confirm each\n injection flips the UDEs you targeted. If a UDE is left unresolved by your\n injection set, REPORT it -- do not hide it and do not lower the bar to make\n the tree look clean. An honest \"this UDE has no injection yet\" is signal; a\n silently dropped UDE is noise.\n5. **Anchor the plan -> injection-anchored deliveries.** For each injection,\n create a remediation delivery with\n `telora_product_delivery action=create`, passing\n `injectionNodeId=<the injection node>` and `executionStatus=\"planning\"`.\n Set its acceptance to the **FRT desired effect** -- the future-state the\n injection produces (what becomes true once the root cause is cleared), NOT a\n list of edits and NOT process instructions.\n\nExplicitly, in the audit phase your output is **the tree + the anchored\nplanning deliveries only.** Do NOT create remediation Task or Bug issues. Do\nNOT create one delivery per audit area -- unify the audit into ONE focus tree\nand let each injection (each root cause) anchor exactly one planning delivery.\nDo NOT attempt fixes.\n\n## Acceptance criteria carry the future state ONLY -- never a hold\nA remediation delivery's acceptanceCriteria state ONLY the **FRT desired\neffect**: the future-state that becomes true once the root cause is cleared.\nAcceptanceCriteria are NOT workflow state and NOT a channel to a human. Never\nwrite into acceptanceCriteria:\n- process instructions or step-by-step directions to the executing team,\n- a hold, a pause, or an approval requirement (e.g. \"HOLD FOR HUMAN REVIEW\n BEFORE EXECUTING\", \"do not execute until ...\", \"wait for sign-off\"),\n- status commentary or notes about what you think should happen next.\n\nProse is invisible to the workflow: a hold written into acceptanceCriteria\ngates nothing, and on a live focus the executing team either obeys a stop the\nmachine never enforces or is misled by an instruction it should never have been\ngiven. If you believe the work must NOT run yet, that is a fork to DECIDE, not\nto defer to a human: take the reversible option that preserves both futures --\nauthor the delivery against its real future-state and let it run -- and record\nthe doubt (the question, the options, what you chose, why it is reversible, and\nwhat changes if the human decides otherwise) for the focus review. Reserve an\nescalation for a genuine do-not-run reason you cannot resolve yourself -- a\nmissing dependency, work that truly needs human intent -- and never encode the\ndoubt as acceptance-criteria text.\n\n## Statement quality (Goldratt Categories of Legitimate Reservation)\nHold every node to three statement-quality reservations AS YOU WRITE IT --\ninline with the rounds above, not a separate pass:\n- **Clarity.** Each statement is ONE unambiguous declarative sentence that\n reads standalone -- no jargon or pronoun a reviewer must guess at.\n- **Entity Existence.** Each entity / UDE names a COMPLETE, REAL state that\n actually exists, not a sentence fragment or a vague gesture. Prefer a\n grounded observation over an invented abstraction.\n- **Tautology.** In the relationships round, no cause -> effect pair may be\n circular: an effect must NOT be offered as the reason its own cause exists.\n\nA node that fails any of these radiates unearned certainty; fix the statement\nbefore you wire it. These reservations cost no extra call -- they are how you\nwrite each node, not a gate you run afterward.\n\n## Two hard integrity gates (deterministic; a tree must pass to present)\nThe tree dump (`telora_reality_tree action=dump`) computes and surfaces two\ndeterministic doubt-revealer gates near its header, so unearned certainty\ncannot hide:\n- **Connectivity (NO ORPHANS).** A node with zero edges of ANY type AND no\n `evidence` is an ORPHAN -- it floats, neither wired into the causal graph nor\n folded into its own evidence. A single orphan makes the tree **NOT\n presentable**; the dump names the orphan seqs. Fix it: wire the node to a\n cause/effect with an edge, or ground it by setting `evidence`. An orphan is\n reality with nothing to measure it against -- it must not survive to review.\n- **Evidence-or-assumed.** An `entity` / `undesired_effect` with empty/null\n `evidence` renders an `[assumed]` marker; with evidence it renders\n `(evidence)`. Assumed is NOT a violation -- it is an honest hedge that the\n claim is unearned certainty until grounded. Set `evidence` on the nodes you\n can actually observe; leave the rest visibly `[assumed]` rather than dressing\n a guess up as a proven cause.\n\n## Why this shape (the discipline it enforces)\nA flat checklist invites an agent to \"complete\" it -- to keep going until every\nbox is ticked, which churns code well beyond the real defects. An\ninjection-anchored plan inverts that: remediation is scoped one root cause at a\ntime from an injection, with acceptance pinned to a desired effect, so there is\nnothing to over-complete. The structured CRT + FRT make a wrong root cause\nlegible as a plan -- catchable up front rather than only after code has moved.";
|
|
@@ -42,7 +42,12 @@ const AUDIT_GUIDE_SHARED = `## Rounds (distinct jobs -- not "find more")
|
|
|
42
42
|
3. **Leverage -> injections.** Propose **injection** nodes at the LOWEST / root
|
|
43
43
|
causes (the nodes with the most downstream UDEs), not at the symptoms.
|
|
44
44
|
One injection at a root can clear a whole subtree of UDEs; that leverage is
|
|
45
|
-
the whole reason for the tree.
|
|
45
|
+
the whole reason for the tree. As you aim an injection at the UDE(s) it
|
|
46
|
+
addresses (\`telora_reality_tree_node action=target\`), DECLARE each target's
|
|
47
|
+
desired effect up front via \`restatements\` (the resolved future-state that
|
|
48
|
+
UDE becomes) -- a flipped node must read as its future state, not its problem
|
|
49
|
+
text. A flip left without a declared desired effect is an omission the machine
|
|
50
|
+
can only backfill with a weaker draft.
|
|
46
51
|
4. **Self-validate -> derive_frt.** Call
|
|
47
52
|
\`telora_reality_tree action=derive_frt\` with the treeId. This is read-only:
|
|
48
53
|
it returns the cleared/flipped UDE sets the injections produce. Confirm each
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditTreeAuthoringGuide.js","sourceRoot":"","sources":["../../src/handlers/auditTreeAuthoringGuide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,8EAA8E;AAE9E,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG
|
|
1
|
+
{"version":3,"file":"auditTreeAuthoringGuide.js","sourceRoot":"","sources":["../../src/handlers/auditTreeAuthoringGuide.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,0EAA0E;AAC1E,gFAAgF;AAChF,EAAE;AACF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,8EAA8E;AAC9E,+EAA+E;AAC/E,0EAA0E;AAC1E,8EAA8E;AAC9E,+EAA+E;AAC/E,4EAA4E;AAC5E,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,6EAA6E;AAC7E,0EAA0E;AAC1E,4EAA4E;AAC5E,mFAAmF;AACnF,2EAA2E;AAC3E,6EAA6E;AAC7E,uEAAuE;AACvE,8EAA8E;AAE9E,2BAA2B;AAC3B,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+EAsGoD,CAAC;AAChF,yBAAyB;AAEzB,MAAM,CAAC,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCxC,kBAAkB,EAAE,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { type GetCreds } from "../shared.js";
|
|
4
|
+
import { type AuthorRestatementFn } from "../reality-tree/omission-drain.js";
|
|
4
5
|
declare const batchDefinitionSchema: z.ZodObject<{
|
|
5
6
|
nodes: z.ZodArray<z.ZodObject<{
|
|
6
7
|
ref: z.ZodString;
|
|
@@ -62,7 +63,9 @@ type CallApi = (body: Record<string, unknown>) => Promise<unknown>;
|
|
|
62
63
|
export declare function handleRealityTreeBuildBatch(params: {
|
|
63
64
|
treeId?: string;
|
|
64
65
|
definition?: BatchTreeDefinition;
|
|
65
|
-
}, callApi: CallApi
|
|
66
|
+
}, callApi: CallApi, deps?: {
|
|
67
|
+
authorRestatement?: AuthorRestatementFn;
|
|
68
|
+
}): Promise<{
|
|
66
69
|
content: {
|
|
67
70
|
type: "text";
|
|
68
71
|
text: string;
|
|
@@ -117,5 +120,22 @@ export declare function handleRealityTreeChoiceSetCommit(params: {
|
|
|
117
120
|
text: string;
|
|
118
121
|
}[];
|
|
119
122
|
}>;
|
|
123
|
+
/**
|
|
124
|
+
* A per-target restatement for the `target` action. The backend reads ONLY
|
|
125
|
+
* frtStatement; `statement` is the verify-action key and is inert here.
|
|
126
|
+
*/
|
|
127
|
+
export interface TargetRestatement {
|
|
128
|
+
nodeId: string;
|
|
129
|
+
frtStatement?: string;
|
|
130
|
+
statement?: string;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Find restatements mis-keyed as `statement` on the `target` action -- a
|
|
134
|
+
* non-empty `statement` with no `frtStatement`. The backend never reads
|
|
135
|
+
* `statement` on this action, so such a declaration would silently vanish;
|
|
136
|
+
* the handler refuses the call and names these nodeIds instead. Pure so the
|
|
137
|
+
* refusal is unit-testable without a server. Returns the offending nodeIds.
|
|
138
|
+
*/
|
|
139
|
+
export declare function findMisKeyedTargetRestatements(restatements: TargetRestatement[] | undefined): string[];
|
|
120
140
|
export declare function registerRealityTreeTools(server: McpServer, getCreds: GetCreds): void;
|
|
121
141
|
export {};
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
// ---------------------------------------------------------------------------
|
|
12
12
|
import { z } from "zod";
|
|
13
13
|
import { callProductApi, successResult, validationError, wrapHandler, compactEntity, LIST_INDEX_NOTE, } from "../shared.js";
|
|
14
|
+
import { drainFlipOmissions, } from "../reality-tree/omission-drain.js";
|
|
14
15
|
const nodeTypeEnum = z.enum(["entity", "undesired_effect", "desired_effect", "injection"]);
|
|
15
16
|
const edgeTypeEnum = z.enum(["sufficient", "and", "derived_from", "targets"]);
|
|
16
17
|
// 'endpoint' links a tree node to a provider-owned endpoint -- the seam that
|
|
@@ -52,7 +53,8 @@ const batchTargetSchema = z.object({
|
|
|
52
53
|
ref: z.string().optional(),
|
|
53
54
|
nodeId: z.string().uuid().optional(),
|
|
54
55
|
frtStatement: z.string().max(2000).optional(),
|
|
55
|
-
})).optional()
|
|
56
|
+
})).optional()
|
|
57
|
+
.describe("Per-target declared desired effect: [{ref|nodeId, frtStatement}]. Declare one for EVERY flipped target -- the intent of record, authored as you flip the UDE. An undeclared flip still happens but is backfilled by a weaker machine draft (surfaced in the response omissions/drained)."),
|
|
56
58
|
});
|
|
57
59
|
const batchDefinitionSchema = z.object({
|
|
58
60
|
nodes: z.array(batchNodeSchema).min(1).max(100),
|
|
@@ -65,7 +67,7 @@ const batchDefinitionSchema = z.object({
|
|
|
65
67
|
* definition verbatim to product-api `reality_tree_build_batch`, returning the
|
|
66
68
|
* backend result (created seqs/ids + warnings). Tests inject a stub `callApi`.
|
|
67
69
|
*/
|
|
68
|
-
export async function handleRealityTreeBuildBatch(params, callApi) {
|
|
70
|
+
export async function handleRealityTreeBuildBatch(params, callApi, deps = {}) {
|
|
69
71
|
if (!params.treeId)
|
|
70
72
|
return validationError("treeId required for create_from_definition");
|
|
71
73
|
if (!params.definition || !Array.isArray(params.definition.nodes) || params.definition.nodes.length === 0) {
|
|
@@ -76,6 +78,36 @@ export async function handleRealityTreeBuildBatch(params, callApi) {
|
|
|
76
78
|
treeId: params.treeId,
|
|
77
79
|
definition: params.definition,
|
|
78
80
|
});
|
|
81
|
+
// Close the differential AT the flip for the batch path too: each per-injection
|
|
82
|
+
// targets group may report omissions (targets flipped without a declared DE);
|
|
83
|
+
// author each one's injection-conditioned DE and persist it so the batch does
|
|
84
|
+
// NOT leave the tree rendering UDE prose. Best-effort per group: the batch
|
|
85
|
+
// already committed server-side, so a drain failure never fails the tool call.
|
|
86
|
+
if (Array.isArray(result?.targets)) {
|
|
87
|
+
for (const group of result.targets) {
|
|
88
|
+
if (!group?.omissions?.length)
|
|
89
|
+
continue;
|
|
90
|
+
try {
|
|
91
|
+
const res = await drainFlipOmissions(group, {
|
|
92
|
+
authorRestatement: deps.authorRestatement,
|
|
93
|
+
writeFrtStatement: async (nodeId, frtStatement) => {
|
|
94
|
+
await callApi({
|
|
95
|
+
action: "reality_tree_node_update",
|
|
96
|
+
nodeId,
|
|
97
|
+
frtStatement,
|
|
98
|
+
frtStatementDrafted: true,
|
|
99
|
+
});
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
const settled = new Set([...res.authored, ...res.alreadySatisfied]);
|
|
103
|
+
group.omissions = group.omissions.filter((o) => !settled.has(o.nodeId));
|
|
104
|
+
group.drained = { authored: res.authored.length, residual: res.residual.length };
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// best-effort -- leave this group's omissions as-is.
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
79
111
|
return successResult(result);
|
|
80
112
|
}
|
|
81
113
|
/**
|
|
@@ -153,6 +185,53 @@ export async function handleRealityTreeChoiceSetCommit(params, callApi) {
|
|
|
153
185
|
});
|
|
154
186
|
return successResult(result);
|
|
155
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Drain a flip response's `omissions` AT the flip event: author each omitted
|
|
190
|
+
* target's injection-conditioned desired effect and persist it as frt_statement
|
|
191
|
+
* (a machine draft, frtStatementDrafted=true -- distinct from an agent's
|
|
192
|
+
* up-front declaration). Mutates `carrier.omissions` in place to the residual
|
|
193
|
+
* (authored + already-satisfied nodes removed) and returns a `drained` summary.
|
|
194
|
+
*
|
|
195
|
+
* Best-effort by construction: the flip itself already succeeded server-side, so
|
|
196
|
+
* a drain failure (model unavailable, write error) must NEVER fail the tool
|
|
197
|
+
* call -- it leaves the omissions as-is. This is the machine backstop; the
|
|
198
|
+
* primary path is an agent declaring the restatement up front (see the tool
|
|
199
|
+
* discipline text), which produces no omission at all.
|
|
200
|
+
*/
|
|
201
|
+
async function drainFlipOmissionsWithCreds(carrier, getCreds) {
|
|
202
|
+
if (!carrier.omissions?.length)
|
|
203
|
+
return undefined;
|
|
204
|
+
try {
|
|
205
|
+
const res = await drainFlipOmissions(carrier, {
|
|
206
|
+
writeFrtStatement: async (nodeId, frtStatement) => {
|
|
207
|
+
await callProductApi(getCreds(), {
|
|
208
|
+
action: "reality_tree_node_update",
|
|
209
|
+
nodeId,
|
|
210
|
+
frtStatement,
|
|
211
|
+
frtStatementDrafted: true,
|
|
212
|
+
});
|
|
213
|
+
},
|
|
214
|
+
});
|
|
215
|
+
const settled = new Set([...res.authored, ...res.alreadySatisfied]);
|
|
216
|
+
carrier.omissions = carrier.omissions.filter((o) => !settled.has(o.nodeId));
|
|
217
|
+
return { authored: res.authored.length, residual: res.residual.length };
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
return undefined;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Find restatements mis-keyed as `statement` on the `target` action -- a
|
|
225
|
+
* non-empty `statement` with no `frtStatement`. The backend never reads
|
|
226
|
+
* `statement` on this action, so such a declaration would silently vanish;
|
|
227
|
+
* the handler refuses the call and names these nodeIds instead. Pure so the
|
|
228
|
+
* refusal is unit-testable without a server. Returns the offending nodeIds.
|
|
229
|
+
*/
|
|
230
|
+
export function findMisKeyedTargetRestatements(restatements) {
|
|
231
|
+
return (restatements ?? [])
|
|
232
|
+
.filter((r) => (r.statement?.trim() ?? "") !== "" && (r.frtStatement?.trim() ?? "") === "")
|
|
233
|
+
.map((r) => r.nodeId);
|
|
234
|
+
}
|
|
156
235
|
export function registerRealityTreeTools(server, getCreds) {
|
|
157
236
|
// -- telora_reality_tree ---------------------------------------------------
|
|
158
237
|
server.tool("telora_reality_tree", "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). " +
|
|
@@ -164,7 +243,7 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
164
243
|
"update (treeId + fields) -- edit name/description/status; " +
|
|
165
244
|
"dump (treeId) -- structured TEXT view of the whole graph (node seq numbers, types, statements, edge connections); " +
|
|
166
245
|
"derive_frt (treeId) -- LIVE derived Future Reality Tree cascade (cleared set, flipped UDE node ids, per-node derived type/state; read-only); " +
|
|
167
|
-
"create_from_definition (treeId + definition) -- ATOMIC BATCH build: submit a whole nodes+edges+targets graph in ONE all-or-nothing call (no half-built tree on failure), returns the created seqs/ids + warnings. Convenience alongside iterative authoring, NOT a replacement -- it still warns on a flat one-injection-per-UDE fan-in, so reason out the relationships/leverage passes first, then commit the result in one call. " +
|
|
246
|
+
"create_from_definition (treeId + definition) -- ATOMIC BATCH build: submit a whole nodes+edges+targets graph in ONE all-or-nothing call (no half-built tree on failure), returns the created seqs/ids + warnings. Convenience alongside iterative authoring, NOT a replacement -- it still warns on a flat one-injection-per-UDE fan-in, so reason out the relationships/leverage passes first, then commit the result in one call. Declare each flipped target's desired effect in the SAME call via targets[].restatements -- the FRT you build should already read as the future state; a target flipped without a declared desired effect is backfilled by a machine draft, which is weaker than your own intent. " +
|
|
168
247
|
"VERIFY AS YOU GO: after each step, call dump (whole graph) or telora_reality_tree_node get (one node by seq) to SEE current tree state before the next call -- this is how you confirm the graph matches your intent. " +
|
|
169
248
|
"MODEL: entities and UDEs live in both views; injection nodes are FRT-only (view_scope='frt_only'); UDE-to-DE transitions are overlays on the existing UDE node (frt_statement/frt_node_type), NOT new standalone DE nodes. Trees are focus-scoped: pass focusId on create and list; product-scoped trees are not supported. " +
|
|
170
249
|
"DISCIPLINE (build iteratively -- a flat fan-in of one-injection-per-UDE is a checklist, not a tree). Multi-pass: " +
|
|
@@ -187,7 +266,7 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
187
266
|
name: z.string().max(200).optional().describe("Tree name (required for create)"),
|
|
188
267
|
description: z.string().max(2000).optional().describe("Tree description"),
|
|
189
268
|
status: z.enum(["active", "archived"]).optional().describe("Tree status (update only)"),
|
|
190
|
-
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."),
|
|
269
|
+
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."),
|
|
191
270
|
returnFull: z.boolean().optional().describe("Return full entity (default: compact)"),
|
|
192
271
|
}, wrapHandler(async (params) => {
|
|
193
272
|
switch (params.action) {
|
|
@@ -279,7 +358,7 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
279
358
|
"VERIFY AS YOU GO: after create/target/verify, call get (treeId + seq) on the touched node -- or telora_reality_tree dump for the whole graph -- to confirm the change landed before the next call. " +
|
|
280
359
|
"DISCIPLINE: injections ANNOTATE the graph via 'targets' edges -- in CRT they are hidden, in FRT they appear connected to their targets. Capture UDE-to-DE flips as FRT overlays (frtStatement/frtNodeType) on existing nodes; do NOT create standalone desired_effect nodes to represent what a UDE becomes. " +
|
|
281
360
|
"Before creating an injection, finish the relationships pass: wire sufficient/and causal edges so root entities and upstream UDEs shared by multiple effects become visible, then aim injections at those leverage points, not symptoms. One injection per UDE with no causal edges between UDEs is a checklist, not a tree -- walk the relationships first. " +
|
|
282
|
-
"target detail: `restatements` (per-target frtStatement)
|
|
361
|
+
"target detail: ALWAYS pass `restatements` (per-target frtStatement) -- declaring each target's desired effect up front is the EXPECTED path, not an option. It is the intent of record: an agent-authored desired effect conditioned on your own injection intent, stored as declared; verify later RECONCILES it against evidence, it does not author it. A flip is where a UDE stops speaking its problem and starts speaking its resolved future state -- so state that future state as you flip it. A target flipped WITHOUT a declared desired effect is an OMISSION: the flip still happens and the machine backfills a draft desired effect at the flip event (so the FRT never renders the raw UDE text), but a machine draft is strictly weaker than your declared intent -- the drained omission ids and count return in the response `drained`/`omissions` fields so a missing declaration stays visible. Declare, don't omit. " +
|
|
283
362
|
"verify detail: UDE targets lacking an frt overlay auto-flip to node_type='desired_effect' (Goldratt FRT semantics); pass `restatements` (per-target statement) to set each flipped UDE's positive base statement -- an OUTPUT of verify, gated by the same evidence as the verdict. " +
|
|
284
363
|
"demote detail: records a symmetric history snapshot and clears the FRT overlay; runs a CASCADE revert (same deriveFrtCascade derivation as the forward flip) clearing the overlay on every downstream node that no longer un-flips (a node still resolved by ANOTHER active injection keeps its overlay); `revertedNodeIds` lists the swept downstream nodes. Human/agent-triggered only, never auto-proposed. " +
|
|
285
364
|
"held-alternative detail: a resolved fork stays VISIBLE -- choice_set_create groups >=2 competing injections (each must already `target` the SAME UDE) under one choiceSetId; choice_set_commit then keeps the winner active (rationale stamped on commitRationale) and flips the losers to rejected_alternative so the decision (and the path-not-taken) remains queryable on the tree rather than vanishing." +
|
|
@@ -434,6 +513,16 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
434
513
|
if (!params.nodeId || !params.targetNodeIds?.length) {
|
|
435
514
|
return validationError("nodeId (injection) and targetNodeIds required for target");
|
|
436
515
|
}
|
|
516
|
+
// The `target` backend reads ONLY frtStatement. A restatement mis-keyed
|
|
517
|
+
// as `statement` (the verify-action key) would be stripped to an absent
|
|
518
|
+
// declaration and vanish. Refuse it here rather than forward a
|
|
519
|
+
// declaration the caller believes was made -- symmetric to the backend
|
|
520
|
+
// refuse-loud guard for non-flippable targets.
|
|
521
|
+
const misKeyed = findMisKeyedTargetRestatements(params.restatements);
|
|
522
|
+
if (misKeyed.length > 0) {
|
|
523
|
+
return validationError(`Restatement(s) for target(s) [${misKeyed.join(", ")}] declared the desired effect via 'statement', ` +
|
|
524
|
+
"which the target action does not read. Declare it via 'frtStatement' -- 'statement' is the verify-action key.");
|
|
525
|
+
}
|
|
437
526
|
const body = {
|
|
438
527
|
action: "reality_tree_target_injection",
|
|
439
528
|
injectionNodeId: params.nodeId,
|
|
@@ -442,6 +531,14 @@ export function registerRealityTreeTools(server, getCreds) {
|
|
|
442
531
|
if (params.restatements?.length)
|
|
443
532
|
body.restatements = params.restatements;
|
|
444
533
|
const result = await callProductApi(getCreds(), body);
|
|
534
|
+
// Close the differential AT the flip: author the declared DE for any
|
|
535
|
+
// target flipped without one, so the response's omissions drain to
|
|
536
|
+
// zero rather than shipping a report nothing acts on.
|
|
537
|
+
if (result?.targeted) {
|
|
538
|
+
const drained = await drainFlipOmissionsWithCreds(result.targeted, getCreds);
|
|
539
|
+
if (drained)
|
|
540
|
+
result.targeted.drained = drained;
|
|
541
|
+
}
|
|
445
542
|
return successResult(result);
|
|
446
543
|
}
|
|
447
544
|
case "verify": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realityTreeHandlers.js","sourceRoot":"","sources":["../../src/handlers/realityTreeHandlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"realityTreeHandlers.js","sourceRoot":"","sources":["../../src/handlers/realityTreeHandlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Desired-effect restatement helper (MCP-side mirror).
|
|
3
|
+
*
|
|
4
|
+
* Turns a UDE (plus its resolving injection statement) into one concise,
|
|
5
|
+
* injection-conditioned positive desired-effect sentence. Mirrors the daemon's
|
|
6
|
+
* `packages/daemon/src/de-restatement.ts` prompt logic verbatim so the DE a
|
|
7
|
+
* flip authors at the flip event reads identically to one the daemon's
|
|
8
|
+
* verify/retire paths would author -- no new client or secret wiring: it spawns
|
|
9
|
+
* the same `claude` CLI in print mode.
|
|
10
|
+
*
|
|
11
|
+
* Why a mirror and not an import: `@telora/mcp-products` cannot depend on
|
|
12
|
+
* `packages/daemon` (separate package, no dependency edge), and the pure prompt
|
|
13
|
+
* builders are small. The daemon version tracks a spawned-worker registry for
|
|
14
|
+
* graceful teardown; the MCP server has no such fleet, so this copy drops that
|
|
15
|
+
* concern and keeps only the one-shot spawn.
|
|
16
|
+
*
|
|
17
|
+
* The model invocation is INJECTABLE (`invokeModel`) so the drain's unit tests
|
|
18
|
+
* never spawn a live model.
|
|
19
|
+
*
|
|
20
|
+
* @module reality-tree/de-restatement
|
|
21
|
+
*/
|
|
22
|
+
import { type ChildProcess } from "node:child_process";
|
|
23
|
+
export interface RestatementInputs {
|
|
24
|
+
/** The undesirable-effect statement to restate positively. */
|
|
25
|
+
udeStatement: string;
|
|
26
|
+
/** Resolving injection statement(s). Presence selects injection-conditioned mode. */
|
|
27
|
+
injectionStatements?: string[];
|
|
28
|
+
}
|
|
29
|
+
interface SpawnOpts {
|
|
30
|
+
stdio: ["pipe", "pipe", "pipe"];
|
|
31
|
+
}
|
|
32
|
+
export interface RestatementOptions {
|
|
33
|
+
/** Path to the `claude` CLI binary (default: 'claude'). */
|
|
34
|
+
claudeBin?: string;
|
|
35
|
+
/** Timeout in ms; defaults to 2 minutes. */
|
|
36
|
+
timeoutMs?: number;
|
|
37
|
+
/** Override spawn for tests. Defaults to node:child_process spawn. */
|
|
38
|
+
spawnFn?: (cmd: string, args: string[], opts: SpawnOpts) => ChildProcess;
|
|
39
|
+
/**
|
|
40
|
+
* Override the entire model invocation for tests -- bypasses spawning the
|
|
41
|
+
* CLI. Receives the system prompt and user message, returns the raw model
|
|
42
|
+
* text. When omitted, the default spawns the `claude` CLI in print mode.
|
|
43
|
+
*/
|
|
44
|
+
invokeModel?: (systemPrompt: string, userMessage: string) => Promise<string>;
|
|
45
|
+
}
|
|
46
|
+
export declare const RESTATEMENT_SYSTEM_PROMPT = "You restate an undesirable effect (UDE) from a Goldratt reality tree as the single positive desired effect it becomes once resolved.\n\nRules:\n- Output exactly ONE sentence. No preamble, no list, no trailing commentary, no quotes.\n- The desired effect must read as a concrete positive outcome, not a negation of the problem (\"operators can tell...\" is weak; \"operators see at a glance which focuses are blocked and why\" is strong).\n- When resolving injection(s) are provided, the desired effect is the positive state the UDE BECOMES given those injections -- it must carry the resolution the injection delivers, not a naive antonym of the UDE.\n- Keep the subject and domain of the original UDE; only flip its polarity to the resolved, desirable state.";
|
|
47
|
+
export declare function buildRestatementSystemPrompt(): string;
|
|
48
|
+
/** Build the user message. Injection-conditioned when `injectionStatements` are present. */
|
|
49
|
+
export declare function buildRestatementUserMessage(inputs: RestatementInputs): string;
|
|
50
|
+
/** Default model invocation: spawn the `claude` CLI in print mode and return stdout. */
|
|
51
|
+
export declare function invokeClaudeCli(systemPrompt: string, userMessage: string, opts: RestatementOptions): Promise<string>;
|
|
52
|
+
/**
|
|
53
|
+
* Author the positive desired-effect restatement for a UDE. Returns a single
|
|
54
|
+
* positive sentence. Throws on model-invocation failure; callers (the flip
|
|
55
|
+
* drain) catch and skip so a single failure never aborts the surrounding loop.
|
|
56
|
+
*/
|
|
57
|
+
export declare function authorRestatement(inputs: RestatementInputs, opts?: RestatementOptions): Promise<string>;
|
|
58
|
+
export {};
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Desired-effect restatement helper (MCP-side mirror).
|
|
3
|
+
*
|
|
4
|
+
* Turns a UDE (plus its resolving injection statement) into one concise,
|
|
5
|
+
* injection-conditioned positive desired-effect sentence. Mirrors the daemon's
|
|
6
|
+
* `packages/daemon/src/de-restatement.ts` prompt logic verbatim so the DE a
|
|
7
|
+
* flip authors at the flip event reads identically to one the daemon's
|
|
8
|
+
* verify/retire paths would author -- no new client or secret wiring: it spawns
|
|
9
|
+
* the same `claude` CLI in print mode.
|
|
10
|
+
*
|
|
11
|
+
* Why a mirror and not an import: `@telora/mcp-products` cannot depend on
|
|
12
|
+
* `packages/daemon` (separate package, no dependency edge), and the pure prompt
|
|
13
|
+
* builders are small. The daemon version tracks a spawned-worker registry for
|
|
14
|
+
* graceful teardown; the MCP server has no such fleet, so this copy drops that
|
|
15
|
+
* concern and keeps only the one-shot spawn.
|
|
16
|
+
*
|
|
17
|
+
* The model invocation is INJECTABLE (`invokeModel`) so the drain's unit tests
|
|
18
|
+
* never spawn a live model.
|
|
19
|
+
*
|
|
20
|
+
* @module reality-tree/de-restatement
|
|
21
|
+
*/
|
|
22
|
+
import { spawn } from "node:child_process";
|
|
23
|
+
const DEFAULT_TIMEOUT_MS = 2 * 60 * 1000;
|
|
24
|
+
export const RESTATEMENT_SYSTEM_PROMPT = `You restate an undesirable effect (UDE) from a Goldratt reality tree as the single positive desired effect it becomes once resolved.
|
|
25
|
+
|
|
26
|
+
Rules:
|
|
27
|
+
- Output exactly ONE sentence. No preamble, no list, no trailing commentary, no quotes.
|
|
28
|
+
- The desired effect must read as a concrete positive outcome, not a negation of the problem ("operators can tell..." is weak; "operators see at a glance which focuses are blocked and why" is strong).
|
|
29
|
+
- When resolving injection(s) are provided, the desired effect is the positive state the UDE BECOMES given those injections -- it must carry the resolution the injection delivers, not a naive antonym of the UDE.
|
|
30
|
+
- Keep the subject and domain of the original UDE; only flip its polarity to the resolved, desirable state.`;
|
|
31
|
+
export function buildRestatementSystemPrompt() {
|
|
32
|
+
return RESTATEMENT_SYSTEM_PROMPT;
|
|
33
|
+
}
|
|
34
|
+
/** Build the user message. Injection-conditioned when `injectionStatements` are present. */
|
|
35
|
+
export function buildRestatementUserMessage(inputs) {
|
|
36
|
+
const parts = [`Undesirable effect (UDE):\n${inputs.udeStatement}`];
|
|
37
|
+
const injections = (inputs.injectionStatements ?? []).filter((s) => s && s.trim() !== "");
|
|
38
|
+
if (injections.length > 0) {
|
|
39
|
+
parts.push(`Resolving injection(s):\n${injections.map((s) => `- ${s}`).join("\n")}`);
|
|
40
|
+
parts.push("Write the single positive desired-effect sentence that this UDE BECOMES once the injection(s) above are in place. It must carry the resolution the injection delivers, not a flat negation of the UDE.");
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
parts.push("Write the single positive desired-effect sentence that states the resolved, desirable version of the UDE above.");
|
|
44
|
+
}
|
|
45
|
+
parts.push("Respond with ONE sentence only.");
|
|
46
|
+
return parts.join("\n\n");
|
|
47
|
+
}
|
|
48
|
+
/** Normalize raw model output to one clean sentence (strip fences/quotes, collapse whitespace). */
|
|
49
|
+
function normalizeSentence(raw) {
|
|
50
|
+
let s = raw.trim();
|
|
51
|
+
s = s.replace(/```[a-zA-Z]*\s*/g, "").replace(/```/g, "").trim();
|
|
52
|
+
s = s.replace(/\s+/g, " ").trim();
|
|
53
|
+
s = s.replace(/^["'`]+/, "").replace(/["'`]+$/, "").trim();
|
|
54
|
+
return s;
|
|
55
|
+
}
|
|
56
|
+
/** Default model invocation: spawn the `claude` CLI in print mode and return stdout. */
|
|
57
|
+
export function invokeClaudeCli(systemPrompt, userMessage, opts) {
|
|
58
|
+
const claudeBin = opts.claudeBin ?? "claude";
|
|
59
|
+
const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
|
|
60
|
+
const spawnFn = opts.spawnFn ?? ((cmd, args, sopts) => spawn(cmd, args, sopts));
|
|
61
|
+
const args = [
|
|
62
|
+
"--print",
|
|
63
|
+
"--output-format", "text",
|
|
64
|
+
"--no-session-persistence",
|
|
65
|
+
"--system-prompt", systemPrompt,
|
|
66
|
+
];
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
let child;
|
|
69
|
+
try {
|
|
70
|
+
child = spawnFn(claudeBin, args, { stdio: ["pipe", "pipe", "pipe"] });
|
|
71
|
+
}
|
|
72
|
+
catch (err) {
|
|
73
|
+
reject(new Error(`de-restatement spawn failed: ${err.message}`));
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
let stdout = "";
|
|
77
|
+
let stderr = "";
|
|
78
|
+
child.stdout?.on("data", (chunk) => { stdout += chunk.toString("utf8"); });
|
|
79
|
+
child.stderr?.on("data", (chunk) => { stderr += chunk.toString("utf8"); });
|
|
80
|
+
const timer = setTimeout(() => {
|
|
81
|
+
try {
|
|
82
|
+
child.kill("SIGKILL");
|
|
83
|
+
}
|
|
84
|
+
catch { /* ignore */ }
|
|
85
|
+
}, timeoutMs);
|
|
86
|
+
child.on("error", (err) => {
|
|
87
|
+
clearTimeout(timer);
|
|
88
|
+
reject(new Error(`de-restatement spawn error: ${err.message}`));
|
|
89
|
+
});
|
|
90
|
+
child.on("close", (code) => {
|
|
91
|
+
clearTimeout(timer);
|
|
92
|
+
if (code !== 0) {
|
|
93
|
+
reject(new Error(`de-restatement exited ${code}: ${stderr.slice(-2000)}`));
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
resolve(stdout);
|
|
97
|
+
});
|
|
98
|
+
try {
|
|
99
|
+
child.stdin?.write(userMessage);
|
|
100
|
+
child.stdin?.end();
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
clearTimeout(timer);
|
|
104
|
+
reject(new Error(`de-restatement stdin write failed: ${err.message}`));
|
|
105
|
+
}
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Author the positive desired-effect restatement for a UDE. Returns a single
|
|
110
|
+
* positive sentence. Throws on model-invocation failure; callers (the flip
|
|
111
|
+
* drain) catch and skip so a single failure never aborts the surrounding loop.
|
|
112
|
+
*/
|
|
113
|
+
export async function authorRestatement(inputs, opts = {}) {
|
|
114
|
+
const systemPrompt = buildRestatementSystemPrompt();
|
|
115
|
+
const userMessage = buildRestatementUserMessage(inputs);
|
|
116
|
+
const invoke = opts.invokeModel ?? ((sys, msg) => invokeClaudeCli(sys, msg, opts));
|
|
117
|
+
const raw = await invoke(systemPrompt, userMessage);
|
|
118
|
+
const sentence = normalizeSentence(raw);
|
|
119
|
+
if (sentence === "") {
|
|
120
|
+
throw new Error("de-restatement produced empty output");
|
|
121
|
+
}
|
|
122
|
+
return sentence;
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=de-restatement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"de-restatement.js","sourceRoot":"","sources":["../../src/reality-tree/de-restatement.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flip-event omission drain.
|
|
3
|
+
*
|
|
4
|
+
* When a `targets` flip (the `target` action or the create_from_definition
|
|
5
|
+
* batch) flips a UDE with NO declared desired effect, product-api returns the
|
|
6
|
+
* node id in an `omissions` array. This drains that array AT THE FLIP EVENT
|
|
7
|
+
* (not on a timer, not in the display): for each omitted node the machine
|
|
8
|
+
* authors the injection-conditioned desired effect via the de-restatement
|
|
9
|
+
* plumbing and persists it as the node's `frt_statement`, so `omissions`
|
|
10
|
+
* reaches the caller drained to zero.
|
|
11
|
+
*
|
|
12
|
+
* DECLARED-vs-ACHIEVED asymmetry is preserved. The drain writes ONLY the
|
|
13
|
+
* declared side (`frt_statement`) and marks it `frtStatementDrafted=true` -- a
|
|
14
|
+
* machine DRAFT, distinct from an agent's up-front declaration
|
|
15
|
+
* (`frtStatementDrafted=false`, the intent of record). It NEVER touches the
|
|
16
|
+
* base `statement`. Verify-time reconciliation still overwrites `statement`
|
|
17
|
+
* with the ACHIEVED desired effect and never softens the declared side on
|
|
18
|
+
* shortfall.
|
|
19
|
+
*
|
|
20
|
+
* Idempotent: a node that already carries positive `frt_statement` prose is
|
|
21
|
+
* skipped (counted as already-satisfied, not residual).
|
|
22
|
+
*
|
|
23
|
+
* Pure orchestration -- the model call and the persistence write are injected,
|
|
24
|
+
* so unit tests never spawn a live model or hit the network.
|
|
25
|
+
*
|
|
26
|
+
* @module reality-tree/omission-drain
|
|
27
|
+
*/
|
|
28
|
+
import { type RestatementInputs } from "./de-restatement.js";
|
|
29
|
+
/** Resolved inputs for one flip's drain: the omitted nodes plus the statements
|
|
30
|
+
* needed to author each (the resolving injection + each UDE's own text). */
|
|
31
|
+
export interface OmissionDrainInputs {
|
|
32
|
+
/** Node ids product-api reported as omissions (flipped, no declared DE). */
|
|
33
|
+
omittedNodeIds: string[];
|
|
34
|
+
/** The resolving injection's statement (injection-conditioned authoring). */
|
|
35
|
+
injectionStatement?: string;
|
|
36
|
+
/** Omitted node id -> its (pre-flip) UDE statement, needed to author the DE. */
|
|
37
|
+
udeStatementById: Map<string, string>;
|
|
38
|
+
/**
|
|
39
|
+
* Omitted node id -> its CURRENT frt_statement, if any. A node that already
|
|
40
|
+
* carries positive prose is skipped (idempotency) rather than re-authored.
|
|
41
|
+
*/
|
|
42
|
+
existingFrtById?: Map<string, string | null | undefined>;
|
|
43
|
+
}
|
|
44
|
+
export type AuthorRestatementFn = (inputs: RestatementInputs) => Promise<string>;
|
|
45
|
+
/** Persist an authored declared DE onto a node. Marks it a machine DRAFT. */
|
|
46
|
+
export type WriteFrtStatementFn = (nodeId: string, frtStatement: string) => Promise<void>;
|
|
47
|
+
export interface OmissionDrainDeps {
|
|
48
|
+
/** Authors the injection-conditioned DE sentence. Defaults to the de-restatement helper. */
|
|
49
|
+
authorRestatement?: AuthorRestatementFn;
|
|
50
|
+
/** Writes the authored frt_statement (drafted=true) onto the node. */
|
|
51
|
+
writeFrtStatement: WriteFrtStatementFn;
|
|
52
|
+
}
|
|
53
|
+
export interface OmissionDrainResult {
|
|
54
|
+
/** Node ids whose declared DE was authored + written this run. */
|
|
55
|
+
authored: string[];
|
|
56
|
+
/** Node ids that already carried positive frt_statement (skipped, satisfied). */
|
|
57
|
+
alreadySatisfied: string[];
|
|
58
|
+
/** Node ids that could NOT be drained (missing UDE text, empty/failed author). */
|
|
59
|
+
residual: string[];
|
|
60
|
+
}
|
|
61
|
+
/** The shape a flip response carries for the drain: the resolving injection's
|
|
62
|
+
* statement plus each omitted target's own (pre-flip UDE) statement. Both the
|
|
63
|
+
* `target` action (`targeted`) and the batch path (per `targets[]` group)
|
|
64
|
+
* expose this shape. */
|
|
65
|
+
export interface FlipOmissionCarrier {
|
|
66
|
+
injectionStatement?: string;
|
|
67
|
+
omissions?: Array<{
|
|
68
|
+
nodeId: string;
|
|
69
|
+
statement?: string;
|
|
70
|
+
}>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Adapt a flip response carrier into drain inputs and run the drain. Returns the
|
|
74
|
+
* drain result; the caller rewrites the response's `omissions` to the residual.
|
|
75
|
+
* Kept separate from `drainOmissions` so the response->inputs mapping is unit-
|
|
76
|
+
* testable on its own.
|
|
77
|
+
*/
|
|
78
|
+
export declare function drainFlipOmissions(carrier: FlipOmissionCarrier, deps: OmissionDrainDeps): Promise<OmissionDrainResult>;
|
|
79
|
+
/**
|
|
80
|
+
* Drain the omissions from one flip. For each omitted node: skip if it already
|
|
81
|
+
* has positive prose; otherwise author the injection-conditioned DE and write
|
|
82
|
+
* it. Best-effort per node -- one failure never aborts the rest; failures land
|
|
83
|
+
* in `residual`.
|
|
84
|
+
*/
|
|
85
|
+
export declare function drainOmissions(inputs: OmissionDrainInputs, deps: OmissionDrainDeps): Promise<OmissionDrainResult>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Flip-event omission drain.
|
|
3
|
+
*
|
|
4
|
+
* When a `targets` flip (the `target` action or the create_from_definition
|
|
5
|
+
* batch) flips a UDE with NO declared desired effect, product-api returns the
|
|
6
|
+
* node id in an `omissions` array. This drains that array AT THE FLIP EVENT
|
|
7
|
+
* (not on a timer, not in the display): for each omitted node the machine
|
|
8
|
+
* authors the injection-conditioned desired effect via the de-restatement
|
|
9
|
+
* plumbing and persists it as the node's `frt_statement`, so `omissions`
|
|
10
|
+
* reaches the caller drained to zero.
|
|
11
|
+
*
|
|
12
|
+
* DECLARED-vs-ACHIEVED asymmetry is preserved. The drain writes ONLY the
|
|
13
|
+
* declared side (`frt_statement`) and marks it `frtStatementDrafted=true` -- a
|
|
14
|
+
* machine DRAFT, distinct from an agent's up-front declaration
|
|
15
|
+
* (`frtStatementDrafted=false`, the intent of record). It NEVER touches the
|
|
16
|
+
* base `statement`. Verify-time reconciliation still overwrites `statement`
|
|
17
|
+
* with the ACHIEVED desired effect and never softens the declared side on
|
|
18
|
+
* shortfall.
|
|
19
|
+
*
|
|
20
|
+
* Idempotent: a node that already carries positive `frt_statement` prose is
|
|
21
|
+
* skipped (counted as already-satisfied, not residual).
|
|
22
|
+
*
|
|
23
|
+
* Pure orchestration -- the model call and the persistence write are injected,
|
|
24
|
+
* so unit tests never spawn a live model or hit the network.
|
|
25
|
+
*
|
|
26
|
+
* @module reality-tree/omission-drain
|
|
27
|
+
*/
|
|
28
|
+
import { authorRestatement as defaultAuthorRestatement } from "./de-restatement.js";
|
|
29
|
+
function isNonEmpty(s) {
|
|
30
|
+
return typeof s === "string" && s.trim() !== "";
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Adapt a flip response carrier into drain inputs and run the drain. Returns the
|
|
34
|
+
* drain result; the caller rewrites the response's `omissions` to the residual.
|
|
35
|
+
* Kept separate from `drainOmissions` so the response->inputs mapping is unit-
|
|
36
|
+
* testable on its own.
|
|
37
|
+
*/
|
|
38
|
+
export async function drainFlipOmissions(carrier, deps) {
|
|
39
|
+
const omissions = carrier.omissions ?? [];
|
|
40
|
+
const udeStatementById = new Map();
|
|
41
|
+
for (const o of omissions) {
|
|
42
|
+
if (isNonEmpty(o.statement))
|
|
43
|
+
udeStatementById.set(o.nodeId, o.statement);
|
|
44
|
+
}
|
|
45
|
+
return drainOmissions({
|
|
46
|
+
omittedNodeIds: omissions.map((o) => o.nodeId),
|
|
47
|
+
injectionStatement: carrier.injectionStatement,
|
|
48
|
+
udeStatementById,
|
|
49
|
+
}, deps);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Drain the omissions from one flip. For each omitted node: skip if it already
|
|
53
|
+
* has positive prose; otherwise author the injection-conditioned DE and write
|
|
54
|
+
* it. Best-effort per node -- one failure never aborts the rest; failures land
|
|
55
|
+
* in `residual`.
|
|
56
|
+
*/
|
|
57
|
+
export async function drainOmissions(inputs, deps) {
|
|
58
|
+
const author = deps.authorRestatement ?? defaultAuthorRestatement;
|
|
59
|
+
const injectionStatements = isNonEmpty(inputs.injectionStatement)
|
|
60
|
+
? [inputs.injectionStatement.trim()]
|
|
61
|
+
: undefined;
|
|
62
|
+
const authored = [];
|
|
63
|
+
const alreadySatisfied = [];
|
|
64
|
+
const residual = [];
|
|
65
|
+
for (const nodeId of inputs.omittedNodeIds) {
|
|
66
|
+
// Idempotency: a node that already carries positive prose needs no drain.
|
|
67
|
+
if (isNonEmpty(inputs.existingFrtById?.get(nodeId))) {
|
|
68
|
+
alreadySatisfied.push(nodeId);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const ude = inputs.udeStatementById.get(nodeId);
|
|
72
|
+
if (!isNonEmpty(ude)) {
|
|
73
|
+
// Cannot author without the UDE text -- leave it as a genuine residual.
|
|
74
|
+
residual.push(nodeId);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
const text = await author({ udeStatement: ude, injectionStatements });
|
|
79
|
+
if (!isNonEmpty(text)) {
|
|
80
|
+
residual.push(nodeId);
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
await deps.writeFrtStatement(nodeId, text.trim());
|
|
84
|
+
authored.push(nodeId);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
residual.push(nodeId);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return { authored, alreadySatisfied, residual };
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=omission-drain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omission-drain.js","sourceRoot":"","sources":["../../src/reality-tree/omission-drain.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAA0B,MAAM,qBAAqB,CAAC;AAuC5G,SAAS,UAAU,CAAC,CAA4B;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAClD,CAAC;AAWD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAA4B,EAC5B,IAAuB;IAEvB,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC;IAC1C,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,IAAI,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,cAAc,CACnB;QACE,cAAc,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC9C,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,gBAAgB;KACjB,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAA2B,EAC3B,IAAuB;IAEvB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;IAClE,MAAM,mBAAmB,GAAG,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAC/D,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;QACpC,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3C,0EAA0E;QAC1E,IAAI,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;YACpD,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,wEAAwE;YACxE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;YACtE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,SAAS;YACX,CAAC;YACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClD,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;AAClD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telora/mcp-products",
|
|
3
|
-
"version": "0.22.
|
|
3
|
+
"version": "0.22.112",
|
|
4
4
|
"description": "MCP server exposing Telora product operations to Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@modelcontextprotocol/sdk": "^1.12.1",
|
|
41
|
-
"@telora/daemon-core": "^0.2.
|
|
41
|
+
"@telora/daemon-core": "^0.2.75",
|
|
42
42
|
"ts-morph": "^28.0.0",
|
|
43
43
|
"zod": "^4.3.6"
|
|
44
44
|
},
|