@axonity-ai/mcp 0.21.1 → 0.23.0
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/README.md +14 -1
- package/dist/index.js +56 -11
- package/dist/index.js.map +1 -1
- package/dist/tools/conventions.d.ts +1 -1
- package/dist/tools/conventions.js +16 -0
- package/dist/tools/conventions.js.map +1 -1
- package/dist/tools/dataSources.d.ts +14 -0
- package/dist/tools/dataSources.js +57 -8
- package/dist/tools/dataSources.js.map +1 -1
- package/dist/tools/measureFormula.d.ts +7 -1
- package/dist/tools/measureFormula.js +51 -15
- package/dist/tools/measureFormula.js.map +1 -1
- package/dist/tools/measureInfluences.d.ts +29 -0
- package/dist/tools/measureInfluences.js +205 -0
- package/dist/tools/measureInfluences.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -348,9 +348,22 @@ across these routes — the tool parameter names say which.
|
|
|
348
348
|
synonyms, what it refers to, owner. They are rows of one table the
|
|
349
349
|
platform keeps per workspace, so they are published with
|
|
350
350
|
`request_publish_data_table` on the `tableId` every write returns.
|
|
351
|
+
- **What moves a number** (influences): `list_measure_influences`,
|
|
352
|
+
`link_measures`, `update_measure_influence`, `unlink_measures` — one
|
|
353
|
+
measure moves another from outside its formula, with an `effect` (same
|
|
354
|
+
or opposite), `why`, `owner` (a role as text) and an optional `basis`. A
|
|
355
|
+
link the formula already makes, a duplicate and a loop are refused; a
|
|
356
|
+
`planned` row marks a link that is still missing and may name a measure
|
|
357
|
+
not built yet. The rows live in the `measure_influences` table, go live
|
|
358
|
+
when it is published and travel with the deploy like the measures.
|
|
359
|
+
`read_measure_tree` reads formula parts and influences as one graph
|
|
360
|
+
(`{ root, nodes, edges, missing }`), published by default; `read_measure`
|
|
361
|
+
shows `influencedBy` and `influences`.
|
|
351
362
|
- Reading numbers: `query_measures` (up to 40 questions, each answered on
|
|
352
363
|
its own, measures named by their handle), `list_measure_rows` (a list
|
|
353
|
-
tile). Plus `duplicate_dashboard`.
|
|
364
|
+
tile). Plus `duplicate_dashboard`. Besides the periods that run to date,
|
|
365
|
+
`last_3_full_months`, `last_12_full_months` and `year_to_last_full_month`
|
|
366
|
+
end at the last full month.
|
|
354
367
|
- A reference doc has no `semanticKind` any more; the platform refuses it
|
|
355
368
|
and the other retired fields and says where each one went.
|
|
356
369
|
- **Applications** (`application`): a program an agent operates through an
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ import { loadConfig } from "./config.js";
|
|
|
24
24
|
import { reportContractSkew } from "./contract.js";
|
|
25
25
|
import { registerConventions } from "./tools/conventions.js";
|
|
26
26
|
import { registerEntityContractTools } from "./tools/entityContract.js";
|
|
27
|
-
import { registerDashboardTools, registerDataSourceTools, registerMeasureTools, } from "./tools/dataSources.js";
|
|
27
|
+
import { FULL_MONTH_NOTE, PERIODS, registerDashboardTools, registerDataSourceTools, registerMeasureTools, } from "./tools/dataSources.js";
|
|
28
28
|
import { registerDataTableTools } from "./tools/dataTables.js";
|
|
29
29
|
import { assertFormulaShape, registerMeasureFormulaTools } from "./tools/measureFormula.js";
|
|
30
30
|
import { assertPlaceholderCredentials } from "./tools/credentials.js";
|
|
@@ -35,6 +35,7 @@ import { registerAuthoringSpecTools } from "./tools/authoringSpec.js";
|
|
|
35
35
|
import { registerCompanyTools } from "./tools/company.js";
|
|
36
36
|
import { registerComponentTools } from "./tools/components.js";
|
|
37
37
|
import { registerConceptTools } from "./tools/concepts.js";
|
|
38
|
+
import { registerMeasureInfluenceTools } from "./tools/measureInfluences.js";
|
|
38
39
|
import { registerKnowledgeGraphTools } from "./tools/knowledgeGraph.js";
|
|
39
40
|
import { registerOperationsTools } from "./tools/operations.js";
|
|
40
41
|
import { registerPromptPlacementTools } from "./tools/promptPlacement.js";
|
|
@@ -58,10 +59,14 @@ const FILL_NOTE = "WHAT FILLS IT — `filledBy`, one word: `author` (the default
|
|
|
58
59
|
"data its author maintains), `workflow` (a workflow writes the rows, " +
|
|
59
60
|
"limited to `allowedOperations`) or `query` (a named query fetches them). " +
|
|
60
61
|
"A table has ONE filler. `isDynamic` is no longer sent: it follows from " +
|
|
61
|
-
"`filledBy` — a table filled by a query or a workflow is dynamic
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
62
|
+
"`filledBy` — a table filled by a query or a workflow is dynamic. " +
|
|
63
|
+
"\n\nWHAT A MEASURE READS: every table whose rows Flow holds, whatever " +
|
|
64
|
+
"fills it — not a source table, whose rows stay in its data source. A " +
|
|
65
|
+
"table its AUTHOR fills (a plan, a target per period, a mapping) is read " +
|
|
66
|
+
"AS PUBLISHED: a row changed in the draft counts for no number until the " +
|
|
67
|
+
"table is published again (ensure_data_table_major_version, then " +
|
|
68
|
+
"request_publish_data_table). Rows a query or a workflow fills are read " +
|
|
69
|
+
"as they are now. " +
|
|
65
70
|
"\n\nFILLED BY A QUERY: `fillingQueryId` is the query (create_query, " +
|
|
66
71
|
"list_queries) — required with `filledBy: \"query\"`, refused otherwise, " +
|
|
67
72
|
"and one query fills one table. The query carries the SQL, the source " +
|
|
@@ -102,6 +107,14 @@ const DATE_TABLE_NOTE = "THE DATE TABLE — `dateTable: true` marks the ONE tabl
|
|
|
102
107
|
"whole, and a calendar sent without one is a new calendar. " +
|
|
103
108
|
"`dateTable: false` takes the calendars with it. A fact table reaches " +
|
|
104
109
|
"the date table through its own `timeAxis`.";
|
|
110
|
+
/**
|
|
111
|
+
* A dashboard's periods — its own `layout.period`, a tile's `config.period`,
|
|
112
|
+
* `period` on each compared row of a bars tile — take the names
|
|
113
|
+
* query_measures takes (backend `src/domain/dashboards.py`).
|
|
114
|
+
*/
|
|
115
|
+
const TILE_PERIOD_NOTE = `THE PERIOD — the dashboard's own \`layout.period\`, a tile's ` +
|
|
116
|
+
`\`config.period\`, and \`period\` on each compared row of a bars tile — ` +
|
|
117
|
+
`is one of: ${PERIODS}. ${FULL_MONTH_NOTE}`;
|
|
105
118
|
/**
|
|
106
119
|
* What writing a measure takes (axonity-flow#1908). The contract, not a manual:
|
|
107
120
|
* the words of the formula are in get_measure_formula_spec and nowhere else.
|
|
@@ -133,11 +146,29 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
|
|
|
133
146
|
"measure needs one too), `questions` (what it answers, in the words " +
|
|
134
147
|
"someone would ask) and optionally `name`, the handle — derived from the " +
|
|
135
148
|
"label when omitted and unique in the workspace. `definition` is " +
|
|
136
|
-
"`{ expression, quantity?, format?, direction?,
|
|
149
|
+
"`{ expression, quantity?, format?, direction?, limits? }`; " +
|
|
137
150
|
"`quantity` is derived for a formula over measures. " +
|
|
151
|
+
"\n\nA STATUS IS A MEASURE AND ITS LIMITS. `limits` are the bands a " +
|
|
152
|
+
"status is read from, LOWEST VALUES FIRST: `[{ status: \"off_track\", " +
|
|
153
|
+
"upTo: -0.05, includesUpTo: false }, { status: \"watch\", upTo: 0, " +
|
|
154
|
+
"includesUpTo: false }, { status: \"on_track\" }]`. `status` is " +
|
|
155
|
+
"on_track, watch or off_track. Every band but the last has `upTo`, in " +
|
|
156
|
+
"the measure's own unit as the number comes out (a percentage as a " +
|
|
157
|
+
"fraction: 0.05 is 5%), rising strictly from band to band, and " +
|
|
158
|
+
"`includesUpTo` — whether the bound itself belongs to this band; it is " +
|
|
159
|
+
"required, because whether exactly -5% is still off track is the " +
|
|
160
|
+
"owner's call. The last band has neither. At least two bands. Take the " +
|
|
161
|
+
"bounds from the owner — never invent them. No `limits`, no status: " +
|
|
162
|
+
"there is no default. A wrong list is refused with `bad_limits`. To " +
|
|
163
|
+
"watch a figure against its plan, write the measure 'deviation from " +
|
|
164
|
+
"plan' (recipe `against_plan_with_limits` in get_measure_formula_spec) " +
|
|
165
|
+
"and put the limits on THAT; a tile can show the figure and read its " +
|
|
166
|
+
"status from the deviation (`statusMeasure`). `direction` stays: it " +
|
|
167
|
+
"colours a change (is going up good?), not the status. " +
|
|
138
168
|
"\n\nThe fields from before the formula — `tableId`, `clearTable`, " +
|
|
139
|
-
"`definition.aggregation`, `column`, `numerator`, `denominator` —
|
|
140
|
-
"
|
|
169
|
+
"`definition.aggregation`, `column`, `numerator`, `denominator` — and " +
|
|
170
|
+
"`definition.target` and `watchMargin`, from before a status was a " +
|
|
171
|
+
"measure and its limits, are refused with `legacy_field`. " +
|
|
141
172
|
"\n\nIt is a DRAFT until published: request_publish_measure. Only a " +
|
|
142
173
|
"published measure gives a certified number.";
|
|
143
174
|
/**
|
|
@@ -388,7 +419,8 @@ const ENTITIES = [
|
|
|
388
419
|
updateWarning: MEASURE_NOTE +
|
|
389
420
|
" `tableId` and `clearTable` are gone: a measure has no home table, " +
|
|
390
421
|
"the tables it reads follow from its formula. Sending `definition` " +
|
|
391
|
-
"replaces it whole, so send the `expression` with
|
|
422
|
+
"replaces it whole, so send the `expression` and its `limits` with " +
|
|
423
|
+
"it — a definition sent without them takes the measure's status away.",
|
|
392
424
|
},
|
|
393
425
|
{
|
|
394
426
|
// A named read of one source (axonity-flow#2010, S1), with routes in the
|
|
@@ -508,9 +540,21 @@ const ENTITIES = [
|
|
|
508
540
|
"default — everyone sees it — or \"private\") and `layout`, the " +
|
|
509
541
|
"sections of tiles; omit it for an empty dashboard. A tile names a " +
|
|
510
542
|
"measure by its name (list_measures). The layout is " +
|
|
511
|
-
"checked when saved and a refusal names what is wrong."
|
|
543
|
+
"checked when saved and a refusal names what is wrong. " +
|
|
544
|
+
"\n\nA TILE'S STATUS comes from the limits of the measure it shows. " +
|
|
545
|
+
"To show one number and judge it by another — revenue, judged by " +
|
|
546
|
+
"'revenue against plan' — give the tile `config.statusMeasure`, the " +
|
|
547
|
+
"NAME of that measure: it is computed over the same period and filters " +
|
|
548
|
+
"as the number. Only a tile that shows a measure takes it; a number " +
|
|
549
|
+
"tile shows the status. While a tile names a measure as its " +
|
|
550
|
+
"`statusMeasure`, that measure cannot be renamed or deleted." +
|
|
551
|
+
"\n\n" +
|
|
552
|
+
TILE_PERIOD_NOTE,
|
|
512
553
|
updateWarning: "NO DRAFT: a saved dashboard is what everyone it is shared with sees. " +
|
|
513
|
-
"`layout` is replaced WHOLE when sent — read first and send it complete."
|
|
554
|
+
"`layout` is replaced WHOLE when sent — read first and send it complete. " +
|
|
555
|
+
"A tile may carry `config.statusMeasure`: the measure whose limits give " +
|
|
556
|
+
"it its status, when that is not the measure it shows. " +
|
|
557
|
+
TILE_PERIOD_NOTE,
|
|
514
558
|
},
|
|
515
559
|
];
|
|
516
560
|
/**
|
|
@@ -593,6 +637,7 @@ export function registerAll(server, client) {
|
|
|
593
637
|
registerMeasureFormulaTools(server, client);
|
|
594
638
|
registerDashboardTools(server, client);
|
|
595
639
|
registerConceptTools(server, client);
|
|
640
|
+
registerMeasureInfluenceTools(server, client);
|
|
596
641
|
registerQueryTools(server, client);
|
|
597
642
|
registerComponentTools(server, client);
|
|
598
643
|
registerApplicationTools(server, client);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,7 +62,7 @@ export declare function readPlacementRules(client: AxonityClient): Promise<strin
|
|
|
62
62
|
* the spec does not say — where a calculation belongs, and how a number made
|
|
63
63
|
* of parts is computed — so an agent does not have to infer it from recipes.
|
|
64
64
|
*/
|
|
65
|
-
export declare const MEASURE_FORMULA_SECTION = "## A measure is one formula\n\nThe words of a formula \u2014 functions, operators, grains, limits, every refusal\ncode with its fix, and recipes \u2014 are in `get_measure_formula_spec`. Read it\nbefore writing a measure, and never write a word from memory. With\n`includeWorkspace: true` it also lists this workspace's measures, tables,\ncolumns and the dimensions each table reaches.\n\n**Four kinds, one grammar.**\n\n- **Base** \u2014 one aggregation over one column of one table, optionally with\n `where`. It reads a column, never a calculation per row.\n- **Derived** \u2014 arithmetic over other measures by name: a sum over two facts,\n a margin, a share of the total with `ignore`.\n- **Time** and **cumulative** \u2014 the same measure in another window, or a\n running total, measured in a calendar of the workspace's date table.\n\n**Time runs over one date table.** One table per workspace is the date table\n(`dateTable: true`, a row per day), and its `calendars` say which column\nholds the year, quarter, month, week and day \u2014 a production calendar is just\nanother calendar. Every fact reaches it through its own time axis, so a week\nmeans the same thing to each of them. A series runs over the calendar's\nperiods: a period without rows is shown empty, not left out. A window's total\nis the window ending at the end of the period asked for; a running total per\nmonth is the standing at the end of each month, never their sum. A fact kept\nper month is not asked per week (`grain_too_fine`).\n\n**Row logic belongs in the query that fills the table, not in a measure.** A\nvalue per row (net = gross \u2212 discount) is a column, added to that query's\n`sql` and described like any other column. A measure is computed\nper question \u2014 period, grain, split, filters \u2014 and is never stored.\n\n**How a number is computed.** Each leaf is aggregated on its own table, over\nthe dimensions it reaches through declared many-to-one relationships. The\nresults are combined per group; two fact tables are never joined to each\nother. The formula is then applied per group, and the TOTAL is computed again\nover the whole period \u2014 never the sum or the average of the groups.\n\n**Refused, never guessed.** A dimension a leaf cannot reach, a measure that\nrests on itself, euros added to dogs, a format that does not fit what the\nnumber counts: each is refused with a code. `validate_measure` returns them\nbefore you save; repair on the code before asking a person.\n\n**Explain a number by its parts.** `query_measures` with `explain: true`\ngives what each part of the formula answered, on the total and per period and\ngroup. Use it to say why a number moved, instead of reading rows.\n\n**Order.** Base measures first, each with its `quantity`; then the derived\nones; `validate_measure` before every save; publish from the bottom up \u2014 a\npublished measure over an unpublished one is refused. A measure knows what\nrests on it (`usedBy`, `dashboards` on `read_measure`): read that before\nyou change or delete one, because those numbers move with it.\n";
|
|
65
|
+
export declare const MEASURE_FORMULA_SECTION = "## A measure is one formula\n\nThe words of a formula \u2014 functions, operators, grains, limits, every refusal\ncode with its fix, and recipes \u2014 are in `get_measure_formula_spec`. Read it\nbefore writing a measure, and never write a word from memory. With\n`includeWorkspace: true` it also lists this workspace's measures, tables,\ncolumns and the dimensions each table reaches.\n\n**Four kinds, one grammar.**\n\n- **Base** \u2014 one aggregation over one column of one table, optionally with\n `where`. It reads a column, never a calculation per row.\n- **Derived** \u2014 arithmetic over other measures by name: a sum over two facts,\n a margin, a share of the total with `ignore`.\n- **Time** and **cumulative** \u2014 the same measure in another window, or a\n running total, measured in a calendar of the workspace's date table.\n\n**Time runs over one date table.** One table per workspace is the date table\n(`dateTable: true`, a row per day), and its `calendars` say which column\nholds the year, quarter, month, week and day \u2014 a production calendar is just\nanother calendar. Every fact reaches it through its own time axis, so a week\nmeans the same thing to each of them. A series runs over the calendar's\nperiods: a period without rows is shown empty, not left out. A window's total\nis the window ending at the end of the period asked for; a running total per\nmonth is the standing at the end of each month, never their sum. A fact kept\nper month is not asked per week (`grain_too_fine`).\n\n**Row logic belongs in the query that fills the table, not in a measure.** A\nvalue per row (net = gross \u2212 discount) is a column, added to that query's\n`sql` and described like any other column. A measure is computed\nper question \u2014 period, grain, split, filters \u2014 and is never stored.\n\n**How a number is computed.** Each leaf is aggregated on its own table, over\nthe dimensions it reaches through declared many-to-one relationships. The\nresults are combined per group; two fact tables are never joined to each\nother. The formula is then applied per group, and the TOTAL is computed again\nover the whole period \u2014 never the sum or the average of the groups.\n\n**Refused, never guessed.** A dimension a leaf cannot reach, a measure that\nrests on itself, euros added to dogs, a format that does not fit what the\nnumber counts: each is refused with a code. `validate_measure` returns them\nbefore you save; repair on the code before asking a person.\n\n**Explain a number by its parts.** `query_measures` with `explain: true`\ngives what each part of the formula answered, on the total and per period and\ngroup. Use it to say why a number moved, instead of reading rows.\n\n**A formula or an influence.** When a number IS computed from another \u2014\nmargin is revenue minus cost \u2014 that is its formula, and the platform reads\nthe link from the formula (`dependsOn`). When one number MOVES another from\noutside \u2014 complaints push lost customers up, a price rise pulls conversion\ndown \u2014 that is an influence (`link_measures`): which way it pushes\n(`effect`), why, whose it is (`owner`, a role as text) and, if there is\none, its `basis`. Never both: a link the formula already makes is refused,\nand so is a loop over the two together. A link that is still missing \u2014 a\nnumber that must be computed from another, a measure not built yet \u2014 is a\n`planned` row, so `read_measure_tree` shows where \"why did this move?\"\nstops today. The influences are one table, `measure_influences`: published\nlike any table, and carried to the next environment with the deploy.\nPublishing is checked against what goes live \u2014 the published measures and\ninfluences \u2014 and refused with the reason; when a link moves between a formula\nand an influence, publish the side that removes it first.\n\n**Order.** Base measures first, each with its `quantity`; then the derived\nones; `validate_measure` before every save; publish from the bottom up \u2014 a\npublished measure over an unpublished one is refused. A measure knows what\nrests on it (`usedBy`, `dashboards` on `read_measure`): read that before\nyou change or delete one, because those numbers move with it.\n";
|
|
66
66
|
/** Read this deploy's semantic-knowledge rules, or say why not. Exported for testing. */
|
|
67
67
|
export declare function readSemanticKnowledgeRules(client: AxonityClient): Promise<string>;
|
|
68
68
|
export declare function registerConventions(server: McpServer, client: AxonityClient): void;
|
|
@@ -1164,6 +1164,22 @@ before you save; repair on the code before asking a person.
|
|
|
1164
1164
|
gives what each part of the formula answered, on the total and per period and
|
|
1165
1165
|
group. Use it to say why a number moved, instead of reading rows.
|
|
1166
1166
|
|
|
1167
|
+
**A formula or an influence.** When a number IS computed from another —
|
|
1168
|
+
margin is revenue minus cost — that is its formula, and the platform reads
|
|
1169
|
+
the link from the formula (\`dependsOn\`). When one number MOVES another from
|
|
1170
|
+
outside — complaints push lost customers up, a price rise pulls conversion
|
|
1171
|
+
down — that is an influence (\`link_measures\`): which way it pushes
|
|
1172
|
+
(\`effect\`), why, whose it is (\`owner\`, a role as text) and, if there is
|
|
1173
|
+
one, its \`basis\`. Never both: a link the formula already makes is refused,
|
|
1174
|
+
and so is a loop over the two together. A link that is still missing — a
|
|
1175
|
+
number that must be computed from another, a measure not built yet — is a
|
|
1176
|
+
\`planned\` row, so \`read_measure_tree\` shows where "why did this move?"
|
|
1177
|
+
stops today. The influences are one table, \`measure_influences\`: published
|
|
1178
|
+
like any table, and carried to the next environment with the deploy.
|
|
1179
|
+
Publishing is checked against what goes live — the published measures and
|
|
1180
|
+
influences — and refused with the reason; when a link moves between a formula
|
|
1181
|
+
and an influence, publish the side that removes it first.
|
|
1182
|
+
|
|
1167
1183
|
**Order.** Base measures first, each with its \`quantity\`; then the derived
|
|
1168
1184
|
ones; \`validate_measure\` before every save; publish from the bottom up — a
|
|
1169
1185
|
published measure over an unpublished one is refused. A measure knows what
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAMH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAo/B1B,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAEpE,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,sCAAsC,CAAC;AAQ/E;;;;GAIG;AACH,MAAM,qBAAqB,GACzB,iDAAiD;IACjD,wEAAwE;IACxE,UAAU,eAAe,iDAAiD;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,WAAW,CAAC;AAEd,qFAAqF;AACrF,MAAM,8BAA8B,GAClC,2CAA2C;IAC3C,8EAA8E;IAC9E,UAAU,wBAAwB,4CAA4C;IAC9E,wEAAwE;IACxE,uCAAuC;IACvC,yEAAyE;IACzE,8DAA8D,CAAC;AAEjE;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAqB,EACrB,KAAa,EACb,IAAY,EACZ,WAAmB;IAEnB,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAkB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO,CACL,OAAO,IAAI,wCAAwC;QACnD,mBAAmB,OAAO,UAAU;QACpC,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IAC5D,OAAO,eAAe,CACpB,MAAM,EACN,eAAe,EACf,gCAAgC,EAChC,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG
|
|
1
|
+
{"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,5 +31,19 @@
|
|
|
31
31
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
32
32
|
import type { AxonityClient } from "../client.js";
|
|
33
33
|
export declare function registerDataSourceTools(server: McpServer, client: AxonityClient): void;
|
|
34
|
+
/**
|
|
35
|
+
* The period names a measure question, a list tile and a dashboard tile
|
|
36
|
+
* accept. Mirrors `PeriodPreset` (backend `src/domain/measure_periods.py`);
|
|
37
|
+
* `test/measureInfluences.test.ts` holds it to the pinned snapshot.
|
|
38
|
+
*/
|
|
39
|
+
export declare const PERIOD_PRESETS: readonly ["today", "this_week", "last_week", "this_month", "last_month", "this_quarter", "year_to_date", "last_30_days", "last_3_months", "last_12_months", "last_3_full_months", "last_12_full_months", "year_to_last_full_month", "all_time"];
|
|
40
|
+
/** The names, as a list in a sentence. */
|
|
41
|
+
export declare const PERIODS: string;
|
|
42
|
+
/**
|
|
43
|
+
* What sets the `…full_month…` periods apart (axonity-flow#1783, 2 Nov): a
|
|
44
|
+
* monthly number read against a monthly plan must not count the month in
|
|
45
|
+
* progress. Said wherever a period is chosen.
|
|
46
|
+
*/
|
|
47
|
+
export declare const FULL_MONTH_NOTE: string;
|
|
34
48
|
export declare function registerMeasureTools(server: McpServer, client: AxonityClient): void;
|
|
35
49
|
export declare function registerDashboardTools(server: McpServer, client: AxonityClient): void;
|
|
@@ -93,11 +93,45 @@ export function registerDataSourceTools(server, client) {
|
|
|
93
93
|
...(maxRows !== undefined ? { maxRows } : {}),
|
|
94
94
|
}))));
|
|
95
95
|
}
|
|
96
|
-
/**
|
|
97
|
-
|
|
98
|
-
|
|
96
|
+
/**
|
|
97
|
+
* The period names a measure question, a list tile and a dashboard tile
|
|
98
|
+
* accept. Mirrors `PeriodPreset` (backend `src/domain/measure_periods.py`);
|
|
99
|
+
* `test/measureInfluences.test.ts` holds it to the pinned snapshot.
|
|
100
|
+
*/
|
|
101
|
+
export const PERIOD_PRESETS = [
|
|
102
|
+
"today",
|
|
103
|
+
"this_week",
|
|
104
|
+
"last_week",
|
|
105
|
+
"this_month",
|
|
106
|
+
"last_month",
|
|
107
|
+
"this_quarter",
|
|
108
|
+
"year_to_date",
|
|
109
|
+
"last_30_days",
|
|
110
|
+
"last_3_months",
|
|
111
|
+
"last_12_months",
|
|
112
|
+
"last_3_full_months",
|
|
113
|
+
"last_12_full_months",
|
|
114
|
+
"year_to_last_full_month",
|
|
115
|
+
"all_time",
|
|
116
|
+
];
|
|
117
|
+
/** The names, as a list in a sentence. */
|
|
118
|
+
export const PERIODS = PERIOD_PRESETS.join(", ");
|
|
119
|
+
/**
|
|
120
|
+
* What sets the `…full_month…` periods apart (axonity-flow#1783, 2 Nov): a
|
|
121
|
+
* monthly number read against a monthly plan must not count the month in
|
|
122
|
+
* progress. Said wherever a period is chosen.
|
|
123
|
+
*/
|
|
124
|
+
export const FULL_MONTH_NOTE = "A period that runs to date — this_month, this_quarter, year_to_date, " +
|
|
125
|
+
"last_3_months, last_12_months and the like — ends TODAY, the month in " +
|
|
126
|
+
"progress included. " +
|
|
127
|
+
"last_3_full_months, last_12_full_months and year_to_last_full_month end " +
|
|
128
|
+
"on the last day of the LAST FULL MONTH instead: use them for a monthly " +
|
|
129
|
+
"trend or a number held against a monthly budget, so two days of revenue " +
|
|
130
|
+
"are not read against a whole month. year_to_last_full_month is the year " +
|
|
131
|
+
"that month belongs to — on 2 January, the whole year before. Today and " +
|
|
132
|
+
"the last full month are counted in Europe/Brussels time.";
|
|
99
133
|
export function registerMeasureTools(server, client) {
|
|
100
|
-
server.tool("read_measure_design", "What a number over one
|
|
134
|
+
server.tool("read_measure_design", "What a number over one table may ask for: its columns and its " +
|
|
101
135
|
"time axis. Read-only. " +
|
|
102
136
|
"\n\nTHE MEASURES ARE NOT HERE. A measure belongs to the model, not " +
|
|
103
137
|
"to one table: list_measures({ tableId }) answers which measures read " +
|
|
@@ -109,7 +143,7 @@ export function registerMeasureTools(server, client) {
|
|
|
109
143
|
"its `calendars`, each naming the column that holds the year, quarter, " +
|
|
110
144
|
"month, week and day: what a time window (shift, to_date, rolling, " +
|
|
111
145
|
"running) can be measured in.", {
|
|
112
|
-
tableId: z.string().describe("The
|
|
146
|
+
tableId: z.string().describe("The table's id — any table but a source table."),
|
|
113
147
|
useDraft: z
|
|
114
148
|
.boolean()
|
|
115
149
|
.optional()
|
|
@@ -120,13 +154,16 @@ export function registerMeasureTools(server, client) {
|
|
|
120
154
|
"own. Read-only. This is where a dashboard's numbers come from. " +
|
|
121
155
|
"\n\nEach question is " +
|
|
122
156
|
"`{ key, measure, tableId?, period?, start?, end?, compare?, grain?, " +
|
|
123
|
-
"splitBy?, filters?, limit?, useDraft?, useDraftChain?, explain
|
|
157
|
+
"splitBy?, filters?, limit?, useDraft?, useDraftChain?, explain?, " +
|
|
158
|
+
"statusMeasure? }`. `key` is your own label and " +
|
|
124
159
|
"comes back on the answer. `measure` is the measure's NAME — its " +
|
|
125
160
|
"handle, unique in the workspace (list_measures); `tableId` is " +
|
|
126
161
|
"optional and no longer what finds it. `period` is one of: " +
|
|
127
162
|
PERIODS +
|
|
128
163
|
" (default this_month) — or set it to null and send `start`/`end` " +
|
|
129
|
-
"(YYYY-MM-DD) for a custom range.
|
|
164
|
+
"(YYYY-MM-DD) for a custom range. " +
|
|
165
|
+
FULL_MONTH_NOTE +
|
|
166
|
+
" `compare` is none, previous_period or " +
|
|
130
167
|
"previous_year. `grain` (none, auto, day, week, month, quarter, year) " +
|
|
131
168
|
"draws a series. `splitBy` names a column to group by; `limit` (1-50) " +
|
|
132
169
|
"keeps the largest groups. `useDraft` reads this measure's draft; " +
|
|
@@ -147,6 +184,17 @@ export function registerMeasureTools(server, client) {
|
|
|
147
184
|
"`leaves` — and each point of `series` and each entry of `groups` " +
|
|
148
185
|
"carries its own `parts`. \"The margin fell\" is not an explanation; " +
|
|
149
186
|
"\"revenue held and cost rose\" is. Use it instead of reading rows. " +
|
|
187
|
+
"\n\nTHE STATUS of the total — `status`: on_track, watch, off_track " +
|
|
188
|
+
"or null — is read from a measure's `limits`: by default those of " +
|
|
189
|
+
"`measure` itself; with `statusMeasure` (a measure's NAME) those of " +
|
|
190
|
+
"that measure, computed over the same period and filters — show " +
|
|
191
|
+
"revenue, judge it by 'revenue against plan'. `statusFrom` says how it " +
|
|
192
|
+
"was reached: `{ measure, value, band }` (the measure read, its value " +
|
|
193
|
+
"and the band it fell in), `{ measure, error }` when that measure " +
|
|
194
|
+
"could not be read — the number itself still stands — or null when " +
|
|
195
|
+
"there are no limits to read. No limits, no status: there is no " +
|
|
196
|
+
"default, so do not call a number on or off track without one. " +
|
|
197
|
+
"`measure` in the answer carries its `limits`. " +
|
|
150
198
|
"\n\nONE BAD QUESTION DOES NOT FAIL THE CALL: every answer carries " +
|
|
151
199
|
"`ok`, and `ok: false` comes with an `error` of its own and, where it " +
|
|
152
200
|
"has one, a `code` from get_measure_formula_spec — `grain_too_fine` " +
|
|
@@ -185,7 +233,8 @@ export function registerMeasureTools(server, client) {
|
|
|
185
233
|
period: z
|
|
186
234
|
.string()
|
|
187
235
|
.optional()
|
|
188
|
-
.describe(`Only rows in this period, on the table's time axis: ${PERIODS}
|
|
236
|
+
.describe(`Only rows in this period, on the table's time axis: ${PERIODS}. ` +
|
|
237
|
+
FULL_MONTH_NOTE),
|
|
189
238
|
filters: z
|
|
190
239
|
.array(z.record(z.unknown()))
|
|
191
240
|
.optional()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataSources.js","sourceRoot":"","sources":["../../src/tools/dataSources.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dataSources.js","sourceRoot":"","sources":["../../src/tools/dataSources.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
* with `legacy_field`. The platform refuses them too since its form writes only
|
|
26
26
|
* `expression`; the check stays here because a `definition` WITHOUT
|
|
27
27
|
* `expression` is still stored there as a `sum` nobody wrote.
|
|
28
|
+
*
|
|
29
|
+
* `target` and `watchMargin` are refused the same way (axonity-flow#1783 A1a):
|
|
30
|
+
* a status is a measure and its `limits` now, and nothing judges a margin
|
|
31
|
+
* around a target any more. The platform refuses them with the same code;
|
|
32
|
+
* refusing here gives the same repair before the call is made.
|
|
28
33
|
*/
|
|
29
34
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
30
35
|
import type { AxonityClient } from "../client.js";
|
|
@@ -38,7 +43,8 @@ export declare const VALIDATE_ROUTE = "/api/v1/measures/validate";
|
|
|
38
43
|
* Refuse a measure write in the shape from before the formula.
|
|
39
44
|
*
|
|
40
45
|
* Throws with `legacy_field` — the platform's own code for it, so an agent
|
|
41
|
-
* that repairs on codes reads the same word from either side
|
|
46
|
+
* that repairs on codes reads the same word from either side; `target` and
|
|
47
|
+
* `watchMargin` get their own sentence, pointing at `limits`. A `definition`
|
|
42
48
|
* without `expression` is refused too: the platform would quietly store it as
|
|
43
49
|
* a `sum`, which is a definition nobody wrote.
|
|
44
50
|
*/
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
* with `legacy_field`. The platform refuses them too since its form writes only
|
|
26
26
|
* `expression`; the check stays here because a `definition` WITHOUT
|
|
27
27
|
* `expression` is still stored there as a `sum` nobody wrote.
|
|
28
|
+
*
|
|
29
|
+
* `target` and `watchMargin` are refused the same way (axonity-flow#1783 A1a):
|
|
30
|
+
* a status is a measure and its `limits` now, and nothing judges a margin
|
|
31
|
+
* around a target any more. The platform refuses them with the same code;
|
|
32
|
+
* refusing here gives the same repair before the call is made.
|
|
28
33
|
*/
|
|
29
34
|
import { z } from "zod";
|
|
30
35
|
import { guard, jsonResult } from "./result.js";
|
|
@@ -39,6 +44,8 @@ export const VALIDATE_ROUTE = `${MEASURES}/validate`;
|
|
|
39
44
|
const LEGACY_TOP = ["tableId", "clearTable"];
|
|
40
45
|
/** Fields inside `definition` that the formula replaces. */
|
|
41
46
|
const LEGACY_DEFINITION = ["aggregation", "column", "numerator", "denominator"];
|
|
47
|
+
/** Fields inside `definition` from before a status was a measure and its limits. */
|
|
48
|
+
const LEGACY_STATUS = ["target", "watchMargin"];
|
|
42
49
|
/** Present in the sense that matters: sent, and not a null that clears nothing. */
|
|
43
50
|
function isSent(value) {
|
|
44
51
|
return value !== undefined && value !== null && value !== false;
|
|
@@ -47,12 +54,14 @@ function isSent(value) {
|
|
|
47
54
|
* Refuse a measure write in the shape from before the formula.
|
|
48
55
|
*
|
|
49
56
|
* Throws with `legacy_field` — the platform's own code for it, so an agent
|
|
50
|
-
* that repairs on codes reads the same word from either side
|
|
57
|
+
* that repairs on codes reads the same word from either side; `target` and
|
|
58
|
+
* `watchMargin` get their own sentence, pointing at `limits`. A `definition`
|
|
51
59
|
* without `expression` is refused too: the platform would quietly store it as
|
|
52
60
|
* a `sum`, which is a definition nobody wrote.
|
|
53
61
|
*/
|
|
54
62
|
export function assertFormulaShape(fields) {
|
|
55
63
|
const found = LEGACY_TOP.filter((key) => isSent(fields[key]));
|
|
64
|
+
const status = [];
|
|
56
65
|
const definition = fields.definition;
|
|
57
66
|
if (definition !== undefined && definition !== null) {
|
|
58
67
|
if (typeof definition !== "object" || Array.isArray(definition)) {
|
|
@@ -60,7 +69,8 @@ export function assertFormulaShape(fields) {
|
|
|
60
69
|
}
|
|
61
70
|
const def = definition;
|
|
62
71
|
found.push(...LEGACY_DEFINITION.filter((key) => isSent(def[key])).map((key) => `definition.${key}`));
|
|
63
|
-
|
|
72
|
+
status.push(...LEGACY_STATUS.filter((key) => isSent(def[key])).map((key) => `definition.${key}`));
|
|
73
|
+
if (found.length === 0 && status.length === 0 && !isSent(def.expression)) {
|
|
64
74
|
throw new Error("legacy_field: `definition` has no `expression`. A measure is one " +
|
|
65
75
|
"formula — send it as `definition.expression`, e.g. " +
|
|
66
76
|
'"sum(orders.amount)" or "[net_revenue] - [variable_costs]". ' +
|
|
@@ -68,16 +78,29 @@ export function assertFormulaShape(fields) {
|
|
|
68
78
|
"validate_measure first.");
|
|
69
79
|
}
|
|
70
80
|
}
|
|
71
|
-
if (found.length === 0)
|
|
81
|
+
if (found.length === 0 && status.length === 0)
|
|
72
82
|
return;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
const sentences = [];
|
|
84
|
+
if (found.length > 0) {
|
|
85
|
+
sentences.push(`${found.map((f) => `\`${f}\``).join(", ")} ` +
|
|
86
|
+
`${found.length === 1 ? "is" : "are"} the shape from before the formula. ` +
|
|
87
|
+
"A measure is one `definition.expression` now, and the tables it reads " +
|
|
88
|
+
"follow from it: `sum(orders.amount)` instead of `tableId` + " +
|
|
89
|
+
"`aggregation` + `column`, `divide(sum(a.x), sum(b.y))` instead of a " +
|
|
90
|
+
"`numerator` and a `denominator`, `… where table.column = 'value'` " +
|
|
91
|
+
"for a condition on one part. Remove these fields and write the " +
|
|
92
|
+
"formula — validate_measure checks it before you save.");
|
|
93
|
+
}
|
|
94
|
+
if (status.length > 0) {
|
|
95
|
+
sentences.push(`${status.map((f) => `\`${f}\``).join(", ")} ` +
|
|
96
|
+
`${status.length === 1 ? "is" : "are"} gone: a status is a measure and ` +
|
|
97
|
+
"its limits. Put the bands on this measure as `definition.limits`, or " +
|
|
98
|
+
"write the measure 'deviation from target' " +
|
|
99
|
+
"(`divide([revenue] - [planned_revenue], [planned_revenue])`) and put " +
|
|
100
|
+
"the limits on that — a tile can show the number itself and read its " +
|
|
101
|
+
"status from the deviation (`statusMeasure`).");
|
|
102
|
+
}
|
|
103
|
+
throw new Error(`legacy_field: ${sentences.join(" ")}`);
|
|
81
104
|
}
|
|
82
105
|
/**
|
|
83
106
|
* The stored tree, written back as text with its leaves, by the platform.
|
|
@@ -139,7 +162,8 @@ export function registerMeasureFormulaTools(server, client) {
|
|
|
139
162
|
"what it returns, its quantity rule and an example; the operators, " +
|
|
140
163
|
"grains and limits; every refusal `code` with `when` and `fix`; " +
|
|
141
164
|
"`recipes` for the numbers a management team asks for (a sum over two " +
|
|
142
|
-
"facts, a margin %, a share of the total
|
|
165
|
+
"facts, a margin %, a share of the total, a figure against its plan " +
|
|
166
|
+
"with a status); and `buildOrder`. A word " +
|
|
143
167
|
"with `available: false` is coming and is refused by name " +
|
|
144
168
|
"(`not_yet_supported`) — do not use it. " +
|
|
145
169
|
"\n\n`includeWorkspace: true` adds THIS workspace's vocabulary as " +
|
|
@@ -200,7 +224,10 @@ export function registerMeasureFormulaTools(server, client) {
|
|
|
200
224
|
"read) and over which `window` — shift, to_date, rolling, running, " +
|
|
201
225
|
"with its calendar. Empty `window` is the period asked for. " +
|
|
202
226
|
"`quantity_generic` is a warning: the migration left the placeholder " +
|
|
203
|
-
"quantity — say what the number counts."
|
|
227
|
+
"quantity — say what the number counts. " +
|
|
228
|
+
"\n\nA measure's `limits` (the bands its status is read from) are " +
|
|
229
|
+
"NOT checked here — only the formula is. They are checked when the " +
|
|
230
|
+
"measure is saved, and refused there with `bad_limits`.", {
|
|
204
231
|
expression: z
|
|
205
232
|
.union([z.string(), z.record(z.unknown())])
|
|
206
233
|
.describe("The formula, as text (`divide([cm1], [net_revenue])`) or as the " +
|
|
@@ -235,12 +262,21 @@ export function registerMeasureFormulaTools(server, client) {
|
|
|
235
262
|
"folds down to, each on its own table — `formula.quantity`, and " +
|
|
236
263
|
"`formula.problems`: a measure that rests on a column or measure that " +
|
|
237
264
|
"has since gone says so here. `readsTables` follows from the leaves; " +
|
|
238
|
-
"there is no home table. " +
|
|
265
|
+
"there is no home table. `definition.limits` holds the bands its " +
|
|
266
|
+
"status is read from, lowest values first; none means it has no " +
|
|
267
|
+
"status. " +
|
|
239
268
|
"\n\nWHAT IT IS CONNECTED TO: `dependsOn` is every measure it rests " +
|
|
240
269
|
"on — the whole chain, which publishing checks; `usedBy` every " +
|
|
241
270
|
"measure that rests on IT; `dashboards` every dashboard with a tile " +
|
|
242
271
|
"on it. Read `usedBy` and `dashboards` before you change or delete a " +
|
|
243
|
-
"measure: those numbers move with it."
|
|
272
|
+
"measure: those numbers move with it. " +
|
|
273
|
+
"\n\nWHAT MOVES IT FROM OUTSIDE ITS FORMULA: `influencedBy` lists the " +
|
|
274
|
+
"influences into this measure, `influences` the measures it moves — " +
|
|
275
|
+
"each `{ measure, kind, effect, why, owner, basis, planned, state }`, " +
|
|
276
|
+
"`measure` being the OTHER one. Read from the DRAFT of the influences " +
|
|
277
|
+
"table, so what you just wrote shows; what is published is " +
|
|
278
|
+
"list_measure_influences({ useDraft: false }) or read_measure_tree. " +
|
|
279
|
+
"Its formula parts are `dependsOn`, never an influence.", {
|
|
244
280
|
id: z.string().describe("The measure's id."),
|
|
245
281
|
useDraftChain: z
|
|
246
282
|
.boolean()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"measureFormula.js","sourceRoot":"","sources":["../../src/tools/measureFormula.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"measureFormula.js","sourceRoot":"","sources":["../../src/tools/measureFormula.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What moves a number — the connector half of axonity-flow#1783 A2 (S9,
|
|
3
|
+
* release 1b).
|
|
4
|
+
*
|
|
5
|
+
* A measure's formula says what it is MADE of; the platform reads that from
|
|
6
|
+
* the formula itself (`dependsOn` on read_measure). What a formula cannot say
|
|
7
|
+
* is what MOVES a number from outside: complaints push lost customers up, a
|
|
8
|
+
* price rise pulls conversion down. That is an influence, and it is what
|
|
9
|
+
* "why did this move?" follows once the formula runs out.
|
|
10
|
+
*
|
|
11
|
+
* Like concepts and concept links, an influence is NOT a new entity type. The
|
|
12
|
+
* entries are rows of one table the platform keeps for the workspace,
|
|
13
|
+
* `measure_influences`, created with the first one — so draft, approval,
|
|
14
|
+
* versions and history are that table's, and publishing the influences is
|
|
15
|
+
* publishing that table. No `request_publish_measure_influence` exists.
|
|
16
|
+
*
|
|
17
|
+
* Changing one is `update_measure_influence` (PUT on the same route), found
|
|
18
|
+
* by `fromMeasure` + `toMeasure` + `kind`: the backend offers it, and an
|
|
19
|
+
* unlink + link to change one sentence would leave a window in which the
|
|
20
|
+
* draft has no row at all.
|
|
21
|
+
*
|
|
22
|
+
* The RULES (no loop, no second row, nothing the formula already says, a
|
|
23
|
+
* measure must exist unless the row is planned) run in the backend; a refusal
|
|
24
|
+
* comes back with its message and its reasons unchanged (`errors.ts`). Here
|
|
25
|
+
* are only the routes and the sentences an agent needs to write a good row.
|
|
26
|
+
*/
|
|
27
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
28
|
+
import type { AxonityClient } from "../client.js";
|
|
29
|
+
export declare function registerMeasureInfluenceTools(server: McpServer, client: AxonityClient): void;
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What moves a number — the connector half of axonity-flow#1783 A2 (S9,
|
|
3
|
+
* release 1b).
|
|
4
|
+
*
|
|
5
|
+
* A measure's formula says what it is MADE of; the platform reads that from
|
|
6
|
+
* the formula itself (`dependsOn` on read_measure). What a formula cannot say
|
|
7
|
+
* is what MOVES a number from outside: complaints push lost customers up, a
|
|
8
|
+
* price rise pulls conversion down. That is an influence, and it is what
|
|
9
|
+
* "why did this move?" follows once the formula runs out.
|
|
10
|
+
*
|
|
11
|
+
* Like concepts and concept links, an influence is NOT a new entity type. The
|
|
12
|
+
* entries are rows of one table the platform keeps for the workspace,
|
|
13
|
+
* `measure_influences`, created with the first one — so draft, approval,
|
|
14
|
+
* versions and history are that table's, and publishing the influences is
|
|
15
|
+
* publishing that table. No `request_publish_measure_influence` exists.
|
|
16
|
+
*
|
|
17
|
+
* Changing one is `update_measure_influence` (PUT on the same route), found
|
|
18
|
+
* by `fromMeasure` + `toMeasure` + `kind`: the backend offers it, and an
|
|
19
|
+
* unlink + link to change one sentence would leave a window in which the
|
|
20
|
+
* draft has no row at all.
|
|
21
|
+
*
|
|
22
|
+
* The RULES (no loop, no second row, nothing the formula already says, a
|
|
23
|
+
* measure must exist unless the row is planned) run in the backend; a refusal
|
|
24
|
+
* comes back with its message and its reasons unchanged (`errors.ts`). Here
|
|
25
|
+
* are only the routes and the sentences an agent needs to write a good row.
|
|
26
|
+
*/
|
|
27
|
+
import { z } from "zod";
|
|
28
|
+
import { guard, jsonResult } from "./result.js";
|
|
29
|
+
const INFLUENCES = "/api/v1/measure-influences";
|
|
30
|
+
const TREE = "/api/v1/measures/tree";
|
|
31
|
+
const FROM = z
|
|
32
|
+
.string()
|
|
33
|
+
.describe("The measure that moves the other one, by its NAME (list_measures).");
|
|
34
|
+
const TO = z.string().describe("The measure that is moved, by its NAME.");
|
|
35
|
+
const KIND = z
|
|
36
|
+
.enum(["influence", "formula"])
|
|
37
|
+
.describe("`influence` (the default): the first moves the second from OUTSIDE its " +
|
|
38
|
+
"formula. `formula`: only on a PLANNED row — the second must be " +
|
|
39
|
+
"computed from the first and is not yet. A real formula lives on the " +
|
|
40
|
+
"measure itself, never here.");
|
|
41
|
+
const EFFECT = z
|
|
42
|
+
.enum(["same", "opposite"])
|
|
43
|
+
.describe("`same`: when the first rises, the second rises. `opposite`: when the " +
|
|
44
|
+
"first rises, the second falls.");
|
|
45
|
+
const WHY = z
|
|
46
|
+
.string()
|
|
47
|
+
.describe("One sentence: why the first moves the second, in the workspace's own " +
|
|
48
|
+
'words — "more complaints mean more customers who stop".');
|
|
49
|
+
const OWNER = z
|
|
50
|
+
.string()
|
|
51
|
+
.describe('Who answers for this influence: a ROLE, as text ("CFO", "Head of ' +
|
|
52
|
+
'Customer Care") — a person\'s name only when there is no role for ' +
|
|
53
|
+
"it. Not a user account; it is who to ask when the link is disputed.");
|
|
54
|
+
const BASIS = z
|
|
55
|
+
.string()
|
|
56
|
+
.describe("Where it comes from — a budget sheet, a study, an analysis of last " +
|
|
57
|
+
"year's orders. Optional; empty is normal for a link the owner knows " +
|
|
58
|
+
"from experience.");
|
|
59
|
+
const PLANNED = z
|
|
60
|
+
.boolean()
|
|
61
|
+
.describe("True marks a link that is still MISSING, so the tree shows where " +
|
|
62
|
+
'"why?" stops today. A planned row may name a measure that is not ' +
|
|
63
|
+
"built yet, and may say `kind: \"formula\"`; an ordinary row may do " +
|
|
64
|
+
"neither. When it comes true it is reported as `done`, never removed " +
|
|
65
|
+
"by itself: the author decides. Defaults to false.");
|
|
66
|
+
/** Said by every write: where the rule lives, and how it goes live. */
|
|
67
|
+
const RULES = "\n\nREFUSED, WITH THE REASON: a measure that does not exist (unless the " +
|
|
68
|
+
"row is `planned`), a second row with the same from, to and kind, a link " +
|
|
69
|
+
"the formula already makes (\"already rests on\" — that is `dependsOn`, " +
|
|
70
|
+
"not an influence), `formula` without `planned`, and a LOOP — A moves B " +
|
|
71
|
+
"moves A — checked over formula parts and influences together, with the " +
|
|
72
|
+
"path in the answer. Read the reason and repair the row; never force it " +
|
|
73
|
+
"in another way.";
|
|
74
|
+
const LIVE = "\n\nNOT LIVE UNTIL PUBLISHED. The influences are rows of one table named " +
|
|
75
|
+
"`measure_influences`, created with the first one: find its id with " +
|
|
76
|
+
"list_data_tables({ name: \"measure_influences\" }), then " +
|
|
77
|
+
"ensure_data_table_major_version and request_publish_data_table on it — " +
|
|
78
|
+
"one approval for every influence you wrote. An agent in a run and " +
|
|
79
|
+
"read_measure_tree read what is published. " +
|
|
80
|
+
"\n\nPUBLISHING ITSELF CAN BE REFUSED. It is checked against what goes " +
|
|
81
|
+
"LIVE — the published measures with these influences, not the draft — " +
|
|
82
|
+
"and refused with the reason: a loop, or an influence a live formula " +
|
|
83
|
+
"already makes. The same holds the other way round when a measure is " +
|
|
84
|
+
"published against the published influences. When a link moves between " +
|
|
85
|
+
"a formula and an influence, publish the side that REMOVES it first, " +
|
|
86
|
+
"then the side that adds it. " +
|
|
87
|
+
"\n\nTHEY TRAVEL WITH THE DEPLOY. Like the measures, the table is " +
|
|
88
|
+
"configuration: build the influences in the first environment (staging), " +
|
|
89
|
+
"and they go to the next one with the deployment. Never write them by " +
|
|
90
|
+
"hand in production.";
|
|
91
|
+
/** The fields of one row, the same for a new one and a change. */
|
|
92
|
+
const ROW = {
|
|
93
|
+
fromMeasure: FROM,
|
|
94
|
+
toMeasure: TO,
|
|
95
|
+
kind: KIND.optional(),
|
|
96
|
+
effect: EFFECT,
|
|
97
|
+
why: WHY,
|
|
98
|
+
owner: OWNER,
|
|
99
|
+
basis: BASIS.optional(),
|
|
100
|
+
planned: PLANNED.optional(),
|
|
101
|
+
};
|
|
102
|
+
/** The body as the route takes it: strict, so only what was given. */
|
|
103
|
+
function rowBody(fields) {
|
|
104
|
+
return Object.fromEntries(Object.entries(fields).filter(([, v]) => v !== undefined));
|
|
105
|
+
}
|
|
106
|
+
export function registerMeasureInfluenceTools(server, client) {
|
|
107
|
+
server.tool("list_measure_influences", "The influences between measures: what moves one number from OUTSIDE " +
|
|
108
|
+
"its formula, which way, why and whose it is. Read-only. Pass " +
|
|
109
|
+
"`measure` for every influence into or out of one measure, or nothing " +
|
|
110
|
+
"for the whole workspace. " +
|
|
111
|
+
"\n\nEach item is `{ fromMeasure, toMeasure, kind, effect, why, owner, " +
|
|
112
|
+
"basis, planned, state }`. `state`: `active` (both measures are " +
|
|
113
|
+
"there), `planned` (a missing link, still missing), `done` (a planned " +
|
|
114
|
+
"link that came true — remove it if it was a formula, or make it an " +
|
|
115
|
+
"ordinary influence), `points_nowhere` (a measure it names was removed " +
|
|
116
|
+
"or renamed — repair or remove it). " +
|
|
117
|
+
"\n\nReads the DRAFT by default, what you are writing; `useDraft: " +
|
|
118
|
+
"false` for what is published, which is what an agent reads. For the " +
|
|
119
|
+
"whole picture — formula parts and influences in one graph, with " +
|
|
120
|
+
"where it stops — use read_measure_tree.", {
|
|
121
|
+
measure: z
|
|
122
|
+
.string()
|
|
123
|
+
.optional()
|
|
124
|
+
.describe("Only the influences into or out of this measure, by its NAME."),
|
|
125
|
+
useDraft: z
|
|
126
|
+
.boolean()
|
|
127
|
+
.optional()
|
|
128
|
+
.describe("true (the default): the draft of the influences table. false: " +
|
|
129
|
+
"what is published."),
|
|
130
|
+
}, async ({ measure, useDraft }) => guard(async () => jsonResult(await client.get(INFLUENCES, { measure, useDraft }))));
|
|
131
|
+
server.tool("link_measures", "Write one influence into the draft: `fromMeasure` moves `toMeasure` " +
|
|
132
|
+
"from outside its formula — complaints push lost customers up, a price " +
|
|
133
|
+
"rise pulls conversion down. It is what \"why did this move?\" " +
|
|
134
|
+
"follows once the formula runs out, so write the influences the " +
|
|
135
|
+
"owner knows, with the reason in `why`. " +
|
|
136
|
+
"\n\nAN INFLUENCE IS NOT A FORMULA. When a number IS computed from " +
|
|
137
|
+
"another (margin = revenue − cost), that belongs in the measure's " +
|
|
138
|
+
"formula and read_measure shows it as `dependsOn`; it is refused here. " +
|
|
139
|
+
"A link that must become a formula but is not yet is a `planned` row " +
|
|
140
|
+
"with `kind: \"formula\"`. Read axonity_semantic_conventions for when " +
|
|
141
|
+
"to write which. " +
|
|
142
|
+
"\n\nAnswers with the row as written and its `state`. To change the " +
|
|
143
|
+
"effect, why, owner, basis or planned of one that is there, use " +
|
|
144
|
+
"update_measure_influence; to change its from, to or kind, unlink it " +
|
|
145
|
+
"and write a new one." +
|
|
146
|
+
RULES +
|
|
147
|
+
LIVE, ROW, async (fields) => guard(async () => jsonResult(await client.post(INFLUENCES, rowBody(fields)))));
|
|
148
|
+
server.tool("update_measure_influence", "Change one influence in the draft: its `effect`, `why`, `owner`, " +
|
|
149
|
+
"`basis` or `planned`. It is found by `fromMeasure` + `toMeasure` + " +
|
|
150
|
+
"`kind` — what makes it the same influence — so those three cannot " +
|
|
151
|
+
"change here: unlink_measures and link_measures for that. Send the " +
|
|
152
|
+
"WHOLE row (effect, why and owner are required, as on a new one); a " +
|
|
153
|
+
"field you leave out takes its default (`basis` empty, `planned` " +
|
|
154
|
+
"false) — read it with list_measure_influences first. Refused when no " +
|
|
155
|
+
"such row is in the draft. Making a planned row ordinary " +
|
|
156
|
+
"(`planned: false`) is held to the same rules as a new one." +
|
|
157
|
+
RULES +
|
|
158
|
+
LIVE, ROW, async (fields) => guard(async () => jsonResult(await client.put(INFLUENCES, rowBody(fields)))));
|
|
159
|
+
server.tool("unlink_measures", "Take one influence out of the draft. Answers with the influences " +
|
|
160
|
+
"`toMeasure` has left, into it and out of it. Taking away one that is not there is a " +
|
|
161
|
+
"success, not an error. The measures themselves stay. Like a new one, " +
|
|
162
|
+
"the removal counts once the `measure_influences` table is published " +
|
|
163
|
+
"again (ensure_data_table_major_version, request_publish_data_table); " +
|
|
164
|
+
"until then the published version still has it.", {
|
|
165
|
+
fromMeasure: z.string().describe("The measure that moves, by its NAME."),
|
|
166
|
+
toMeasure: z.string().describe("The measure that is moved, by its NAME."),
|
|
167
|
+
kind: z
|
|
168
|
+
.enum(["influence", "formula"])
|
|
169
|
+
.optional()
|
|
170
|
+
.describe("`influence` (the default), or `formula` for a planned formula row " +
|
|
171
|
+
"— exactly as list_measure_influences shows it."),
|
|
172
|
+
confirm: z
|
|
173
|
+
.literal(true)
|
|
174
|
+
.describe("Must be true. Acknowledges the influence is removed from the draft."),
|
|
175
|
+
}, async ({ fromMeasure, toMeasure, kind }) => guard(async () => jsonResult(await client.del(INFLUENCES, { fromMeasure, toMeasure, kind }))));
|
|
176
|
+
server.tool("read_measure_tree", "The measure tree: what a number is made of and what moves it, as one " +
|
|
177
|
+
"graph. Read-only. From one `measure` down — along the measures its " +
|
|
178
|
+
"formula names and the influences into it — or, without `measure`, " +
|
|
179
|
+
"the whole workspace. The same tree the Measure tree screen draws and " +
|
|
180
|
+
"an agent's read_measure_tree reads. " +
|
|
181
|
+
"\n\nAnswers `{ root, nodes, edges, missing }`. A node is " +
|
|
182
|
+
"`{ name, label, unit, published, built }` — `built: false` is a " +
|
|
183
|
+
"measure only a planned row names. An edge is `{ from, to, kind, " +
|
|
184
|
+
"effect, why, owner, basis, planned, state }`: `kind` `formula` is a " +
|
|
185
|
+
"part of the formula (no effect), `influence` an influence. `missing` " +
|
|
186
|
+
"is every place where \"why did this move?\" stops: `{ measure, " +
|
|
187
|
+
"reason, from, to, kind }` with reason `not_built`, `not_published`, " +
|
|
188
|
+
"`planned` or `points_nowhere`. " +
|
|
189
|
+
"\n\nNO VALUES: ask query_measures for the numbers of the nodes, in " +
|
|
190
|
+
"one call, so a number is computed one way. Reads what is PUBLISHED " +
|
|
191
|
+
"by default — the measures and the influences an agent sees; " +
|
|
192
|
+
"`useDraft: true` reads the drafts of both, to check a tree before you " +
|
|
193
|
+
"publish it. An unknown measure is refused by name.", {
|
|
194
|
+
measure: z
|
|
195
|
+
.string()
|
|
196
|
+
.optional()
|
|
197
|
+
.describe("The measure to start from, by its NAME. Omit for the whole workspace."),
|
|
198
|
+
useDraft: z
|
|
199
|
+
.boolean()
|
|
200
|
+
.optional()
|
|
201
|
+
.describe("Read the drafts of the measures and of the influences. Defaults " +
|
|
202
|
+
"to false: what is published."),
|
|
203
|
+
}, async ({ measure, useDraft }) => guard(async () => jsonResult(await client.get(TREE, { measure, useDraft }))));
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=measureInfluences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureInfluences.js","sourceRoot":"","sources":["../../src/tools/measureInfluences.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axonity-ai/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"description": "Model Context Protocol server for Axonity Flow — lets an external agent (e.g. Claude Code) read, draft, and update workflows, agents and tools in an Axonity tenant.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|