@axonity-ai/mcp 0.22.0 → 0.24.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 CHANGED
@@ -348,9 +348,40 @@ 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. `last_quarter` is the previous completed
367
+ calendar quarter. Both question and row tools accept `period: null` with
368
+ `start`/`end` dates (end inclusive) for a chosen month or quarter.
369
+ - **Expected ranges**: choose `definition.rangeMethod` explicitly from the
370
+ live formula spec's `rangeMethods`; no method, grain or history length
371
+ is invented by the connector. `query_measures` with `expected: true`
372
+ returns the server's band and historical basis, or the reason none is
373
+ available. Series points retain `expectedBasis`, `expectedReason` and
374
+ `partial`. `power_undefined` warnings locate the affected total, group
375
+ or point. The formula spec and validation also carry `power` unchanged.
376
+ - **Number cards**: query `against` names another measure; the answer keeps
377
+ its value, gap and errors separate from the status. Report changes as
378
+ `changeKind` says: `delta` in points for a percentage/score, `change` as
379
+ a percentage for a relative change. A dashboard number tile accepts
380
+ `config.against: {measure, label?}` and `config.sparkline` (none, trend,
381
+ bullet); number and trend tiles accept `showExpected`. A dashboard's
382
+ `periodPicker` selects free, full_periods or hidden. These settings are
383
+ forwarded and validated by the backend; read the tool descriptions
384
+ before changing them, and preserve the whole layout on update.
354
385
  - A reference doc has no `semanticKind` any more; the platform refuses it
355
386
  and the other retired fields and says where each one went.
356
387
  - **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";
@@ -106,6 +107,36 @@ const DATE_TABLE_NOTE = "THE DATE TABLE — `dateTable: true` marks the ONE tabl
106
107
  "whole, and a calendar sent without one is a new calendar. " +
107
108
  "`dateTable: false` takes the calendars with it. A fact table reaches " +
108
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} ` +
118
+ "`layout.periodPicker` is free (default), full_periods or hidden. " +
119
+ "full_periods requires layout.period to be last_month, last_quarter, " +
120
+ "last_3_full_months, last_12_full_months or year_to_last_full_month. " +
121
+ "The viewer may also choose a closed month/quarter without changing the " +
122
+ "saved layout; query it with period null and start/end dates, end inclusive. " +
123
+ "hidden hides the viewer's selector and keeps layout.period. A tile's own " +
124
+ "period or fixed start/end dates take precedence.";
125
+ /** Number comparisons and expected bands are validated by the backend. */
126
+ const TILE_NUMBER_NOTE = "\n\nA NUMBER TILE may carry `config.against: {measure, label?}`: " +
127
+ "a non-empty measure NAME different from config.measure, and an optional " +
128
+ "label of at most 120 characters (otherwise the basis measure's label). " +
129
+ "This sets it against another number, never its status. Quantity and " +
130
+ "filter compatibility are checked when queried. `config.sparkline` is " +
131
+ "none, trend (default) or bullet; bullet requires config.against. " +
132
+ "none/bullet ask for grain none, trend for auto. Only number tiles accept " +
133
+ "against or sparkline. compare and against are independent: set " +
134
+ "`compare: \"none\"` explicitly for the basis comparison alone. " +
135
+ "For an S card with both comparisons, omit the trend or choose M; the " +
136
+ "viewer enforces this space constraint, not the API schema. " +
137
+ "`config.showExpected` is a boolean, only on number or trend tiles, " +
138
+ "to request the measure's expected band. The period and comparison " +
139
+ "caption come from the answer; caption remains context, with no variables.";
109
140
  /**
110
141
  * What writing a measure takes (axonity-flow#1908). The contract, not a manual:
111
142
  * the words of the formula are in get_measure_formula_spec and nowhere else.
@@ -137,7 +168,7 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
137
168
  "measure needs one too), `questions` (what it answers, in the words " +
138
169
  "someone would ask) and optionally `name`, the handle — derived from the " +
139
170
  "label when omitted and unique in the workspace. `definition` is " +
140
- "`{ expression, quantity?, format?, direction?, limits? }`; " +
171
+ "`{ expression, quantity?, format?, direction?, limits?, rangeMethod? }`; " +
141
172
  "`quantity` is derived for a formula over measures. " +
142
173
  "\n\nA STATUS IS A MEASURE AND ITS LIMITS. `limits` are the bands a " +
143
174
  "status is read from, LOWEST VALUES FIRST: `[{ status: \"off_track\", " +
@@ -156,6 +187,13 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
156
187
  "and put the limits on THAT; a tile can show the figure and read its " +
157
188
  "status from the deviation (`statusMeasure`). `direction` stays: it " +
158
189
  "colours a change (is going up good?), not the status. " +
190
+ "\n\nAN EXPECTED RANGE is optional `definition.rangeMethod`: " +
191
+ "`{method, grain, periods}`. Read `rangeMethods` in " +
192
+ "get_measure_formula_spec for the methods, when they fit and their " +
193
+ "settings. The owner chooses all three; there is no default. The " +
194
+ "backend checks them on save (`bad_range_method`), including a time " +
195
+ "axis and a grain no finer than any table the measure reads. An " +
196
+ "expected range describes what is normal and never changes the status. " +
159
197
  "\n\nThe fields from before the formula — `tableId`, `clearTable`, " +
160
198
  "`definition.aggregation`, `column`, `numerator`, `denominator` — and " +
161
199
  "`definition.target` and `watchMargin`, from before a status was a " +
@@ -411,7 +449,9 @@ const ENTITIES = [
411
449
  " `tableId` and `clearTable` are gone: a measure has no home table, " +
412
450
  "the tables it reads follow from its formula. Sending `definition` " +
413
451
  "replaces it whole, so send the `expression` and its `limits` with " +
414
- "it — a definition sent without them takes the measure's status away.",
452
+ "it — a definition sent without them takes the measure's status away. " +
453
+ "Sending definition without rangeMethod removes the expected range; " +
454
+ "include it to keep the range.",
415
455
  },
416
456
  {
417
457
  // A named read of one source (axonity-flow#2010, S1), with routes in the
@@ -538,11 +578,14 @@ const ENTITIES = [
538
578
  "NAME of that measure: it is computed over the same period and filters " +
539
579
  "as the number. Only a tile that shows a measure takes it; a number " +
540
580
  "tile shows the status. While a tile names a measure as its " +
541
- "`statusMeasure`, that measure cannot be renamed or deleted.",
581
+ "`statusMeasure`, that measure cannot be renamed or deleted." +
582
+ "\n\n" +
583
+ TILE_PERIOD_NOTE + TILE_NUMBER_NOTE,
542
584
  updateWarning: "NO DRAFT: a saved dashboard is what everyone it is shared with sees. " +
543
585
  "`layout` is replaced WHOLE when sent — read first and send it complete. " +
544
586
  "A tile may carry `config.statusMeasure`: the measure whose limits give " +
545
- "it its status, when that is not the measure it shows.",
587
+ "it its status, when that is not the measure it shows. " +
588
+ TILE_PERIOD_NOTE + TILE_NUMBER_NOTE,
546
589
  },
547
590
  ];
548
591
  /**
@@ -625,6 +668,7 @@ export function registerAll(server, client) {
625
668
  registerMeasureFormulaTools(server, client);
626
669
  registerDashboardTools(server, client);
627
670
  registerConceptTools(server, client);
671
+ registerMeasureInfluenceTools(server, client);
628
672
  registerQueryTools(server, client);
629
673
  registerComponentTools(server, client);
630
674
  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":"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"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"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"}
@@ -31,5 +31,20 @@
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", "last_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", "last_4_full_weeks", "last_8_full_weeks", "last_13_full_weeks", "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. Also explains the completed quarter and week presets. Said
46
+ * wherever a period is chosen.
47
+ */
48
+ export declare const FULL_MONTH_NOTE: string;
34
49
  export declare function registerMeasureTools(server: McpServer, client: AxonityClient): void;
35
50
  export declare function registerDashboardTools(server: McpServer, client: AxonityClient): void;
@@ -93,9 +93,52 @@ export function registerDataSourceTools(server, client) {
93
93
  ...(maxRows !== undefined ? { maxRows } : {}),
94
94
  }))));
95
95
  }
96
- /** The period names a measure question accepts. Mirrors `PeriodPreset`. */
97
- const PERIODS = "today, this_week, last_week, this_month, last_month, this_quarter, " +
98
- "year_to_date, last_30_days, last_12_months, all_time";
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
+ "last_quarter",
109
+ "year_to_date",
110
+ "last_30_days",
111
+ "last_3_months",
112
+ "last_12_months",
113
+ "last_3_full_months",
114
+ "last_12_full_months",
115
+ "year_to_last_full_month",
116
+ "last_4_full_weeks",
117
+ "last_8_full_weeks",
118
+ "last_13_full_weeks",
119
+ "all_time",
120
+ ];
121
+ /** The names, as a list in a sentence. */
122
+ export const PERIODS = PERIOD_PRESETS.join(", ");
123
+ /**
124
+ * What sets the `…full_month…` periods apart (axonity-flow#1783, 2 Nov): a
125
+ * monthly number read against a monthly plan must not count the month in
126
+ * progress. Also explains the completed quarter and week presets. Said
127
+ * wherever a period is chosen.
128
+ */
129
+ export const FULL_MONTH_NOTE = "A period that runs to date — this_month, this_quarter, year_to_date, " +
130
+ "last_3_months, last_12_months and the like — ends TODAY, the month in " +
131
+ "progress included. " +
132
+ "last_3_full_months, last_12_full_months and year_to_last_full_month end " +
133
+ "on the last day of the LAST FULL MONTH instead: use them for a monthly " +
134
+ "trend or a number held against a monthly budget, so two days of revenue " +
135
+ "are not read against a whole month. year_to_last_full_month is the year " +
136
+ "that month belongs to — on 2 January, the whole year before. Today and " +
137
+ "the last full month are counted in Europe/Brussels time. " +
138
+ "last_quarter is the previous completed calendar quarter. " +
139
+ "last_4_full_weeks, last_8_full_weeks and last_13_full_weeks are the last " +
140
+ "4, 8 or 13 completed weeks, Monday to Sunday, with the current week excluded. " +
141
+ "They end on the Sunday before this week's Monday, in Europe/Brussels time.";
99
142
  export function registerMeasureTools(server, client) {
100
143
  server.tool("read_measure_design", "What a number over one table may ask for: its columns and its " +
101
144
  "time axis. Read-only. " +
@@ -121,13 +164,17 @@ export function registerMeasureTools(server, client) {
121
164
  "\n\nEach question is " +
122
165
  "`{ key, measure, tableId?, period?, start?, end?, compare?, grain?, " +
123
166
  "splitBy?, filters?, limit?, useDraft?, useDraftChain?, explain?, " +
124
- "statusMeasure? }`. `key` is your own label and " +
167
+ "statusMeasure?, against?, expected? }`. `key` is your own label and " +
125
168
  "comes back on the answer. `measure` is the measure's NAME — its " +
126
169
  "handle, unique in the workspace (list_measures); `tableId` is " +
127
170
  "optional and no longer what finds it. `period` is one of: " +
128
171
  PERIODS +
129
172
  " (default this_month) — or set it to null and send `start`/`end` " +
130
- "(YYYY-MM-DD) for a custom range. `compare` is none, previous_period or " +
173
+ "(YYYY-MM-DD, end inclusive) for a custom range, including a chosen " +
174
+ "month or quarter. compare also works on these dates; month:YYYY-MM " +
175
+ "and quarter:YYYY-QN are viewer state, never API period presets. " +
176
+ FULL_MONTH_NOTE +
177
+ " `compare` is none, previous_period or " +
131
178
  "previous_year. `grain` (none, auto, day, week, month, quarter, year) " +
132
179
  "draws a series. `splitBy` names a column to group by; `limit` (1-50) " +
133
180
  "keeps the largest groups. `useDraft` reads this measure's draft; " +
@@ -159,6 +206,44 @@ export function registerMeasureTools(server, client) {
159
206
  "there are no limits to read. No limits, no status: there is no " +
160
207
  "default, so do not call a number on or off track without one. " +
161
208
  "`measure` in the answer carries its `limits`. " +
209
+ "\n\nAGAINST ANOTHER MEASURE: `against` is its NAME (string or null, " +
210
+ "not a {measure, label} object). It reads the same period and filters, " +
211
+ "without a comparison, series or split of its own. It reads published " +
212
+ "definitions even with useDraft; only useDraftChain reads its draft. " +
213
+ "`against` never determines the status. The answer is null when not " +
214
+ "asked, or `{measure, label, total, delta, change, changeKind}`. " +
215
+ "`against.error` instead explains a missing/unpublished measure, a " +
216
+ "different known quantity, an unsupported filter or a calculation " +
217
+ "failure; the main number can still be ok. Generic quantity count " +
218
+ "does not cause a quantity mismatch. An empty basis keeps " +
219
+ "total/delta/change null; a zero basis keeps delta but change is null. " +
220
+ "\n\nREPORT A CHANGE as `changeKind` says: points is `delta` in " +
221
+ "percentage points (pp) for a percentage, or points for a score; " +
222
+ "relative is `change` as a percentage. `measure.quantity` says what " +
223
+ "the number counts (count is the generic fallback); quantity ratio " +
224
+ "or a percent format gives points. `delta` is total - comparisonTotal " +
225
+ "in the number's own unit; `change` remains relative to the absolute " +
226
+ "comparisonTotal. With against they describe the gap to against.total. " +
227
+ "Missing values give null; a zero comparison gives change null. For " +
228
+ "a percentage delta 0.029 means +2.9 pp; for a score delta 5.2 is " +
229
+ "+5.2 points; a relative change 0.096 is +9.6%. Compared groups carry " +
230
+ "changeKind too. Use the server's values, never recalculate them. " +
231
+ "\n\nEXPECTED RANGE: ask `expected: true` (off by default). " +
232
+ "`expected` is null when not asked, otherwise " +
233
+ "`{method, label, grain, periods, low, high, center, basis: " +
234
+ "{from, to, values, spread}, outside: below|above|null}`. It describes " +
235
+ "what is normal, independently of the status. Without a band, low/high " +
236
+ "are null and reason/detail explain no_range_method, not_with_split, " +
237
+ "period_is_not_one_full_<grain>, or not_enough_history (needed, " +
238
+ "withValue). The method label comes from get_measure_formula_spec. " +
239
+ "`basis.values` is the chosen number of historical periods for both " +
240
+ "methods; same_period_last_year counts pairs, and from/to also covers " +
241
+ "last year. An ISO week 53 without a counterpart has no band; read " +
242
+ "detail. Only a series in the rangeMethod grain carries expectedLow, " +
243
+ "expectedHigh and partial: a running or incompletely requested period " +
244
+ "has partial true and no band. A missing band has expectedReason " +
245
+ "(partial or not_enough_history); a band has expectedBasis, the same " +
246
+ "{from, to, values, spread} as the total's basis. " +
162
247
  "\n\nONE BAD QUESTION DOES NOT FAIL THE CALL: every answer carries " +
163
248
  "`ok`, and `ok: false` comes with an `error` of its own and, where it " +
164
249
  "has one, a `code` from get_measure_formula_spec — `grain_too_fine` " +
@@ -167,9 +252,11 @@ export function registerMeasureTools(server, client) {
167
252
  "relationship it reads is gone: the measure must be repaired, not the " +
168
253
  "question). Check each one. `warnings` do not make it wrong but are " +
169
254
  "worth saying: `empty_leaf` means one PART found no rows in this " +
170
- "period — in a sum that side counts as nought, which is also what a " +
171
- "feed that stopped loading looks like. A period with no rows in a " +
172
- "series is shown empty, not left out. " +
255
+ "period — check whether its feed stopped loading. A period with no rows in a " +
256
+ "series is shown empty, not left out. `power_undefined` means a power " +
257
+ "has no real value. Read `where.scope` (total, groups, series), " +
258
+ "`where.group` for groups/series and `where.bucket` for series: a " +
259
+ "warning about one group or point does not invalidate a valid total. " +
173
260
  "\n\n`freshAsOf` says how old the newest row behind the number is; " +
174
261
  "`certified: false` means it was computed from a draft; `tables` names " +
175
262
  "every table the number came from. Say so when you " +
@@ -196,8 +283,13 @@ export function registerMeasureTools(server, client) {
196
283
  limit: z.number().int().optional().describe("How many rows, 1-50. Defaults to 10."),
197
284
  period: z
198
285
  .string()
286
+ .nullable()
199
287
  .optional()
200
- .describe(`Only rows in this period, on the table's time axis: ${PERIODS}.`),
288
+ .describe(`Only rows in this period, on the table's time axis: ${PERIODS}. ` +
289
+ "Set null (or omit) with start/end for a chosen month or quarter. " +
290
+ FULL_MONTH_NOTE),
291
+ start: z.string().nullable().optional().describe("First day of a custom range, YYYY-MM-DD; send with end and no period."),
292
+ end: z.string().nullable().optional().describe("Last day of a custom range, YYYY-MM-DD, inclusive."),
201
293
  filters: z
202
294
  .array(z.record(z.unknown()))
203
295
  .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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"}
@@ -163,7 +163,12 @@ export function registerMeasureFormulaTools(server, client) {
163
163
  "grains and limits; every refusal `code` with `when` and `fix`; " +
164
164
  "`recipes` for the numbers a management team asks for (a sum over two " +
165
165
  "facts, a margin %, a share of the total, a figure against its plan " +
166
- "with a status); and `buildOrder`. A word " +
166
+ "with a status, or growth to a plan); and `buildOrder`. The live spec " +
167
+ "also supplies `power(base, exponent)`, its growth_to_a_plan recipe " +
168
+ "and its refusal/warning codes, plus `rangeMethods`: each method's " +
169
+ "label, description, fits, needs, readsLastYear and settings " +
170
+ "(grain choices and the minimum periods). Choose from this deploy's " +
171
+ "spec; the connector does not maintain a second register. A word " +
167
172
  "with `available: false` is coming and is refused by name " +
168
173
  "(`not_yet_supported`) — do not use it. " +
169
174
  "\n\n`includeWorkspace: true` adds THIS workspace's vocabulary as " +
@@ -227,7 +232,10 @@ export function registerMeasureFormulaTools(server, client) {
227
232
  "quantity — say what the number counts. " +
228
233
  "\n\nA measure's `limits` (the bands its status is read from) are " +
229
234
  "NOT checked here — only the formula is. They are checked when the " +
230
- "measure is saved, and refused there with `bad_limits`.", {
235
+ "measure is saved, and refused there with `bad_limits`. " +
236
+ "`rangeMethod` is also checked only on save (`bad_range_method`); " +
237
+ "this tool checks the formula, including power and its bad_power " +
238
+ "refusal, using the platform's current specification.", {
231
239
  expression: z
232
240
  .union([z.string(), z.record(z.unknown())])
233
241
  .describe("The formula, as text (`divide([cm1], [net_revenue])`) or as the " +
@@ -264,12 +272,21 @@ export function registerMeasureFormulaTools(server, client) {
264
272
  "has since gone says so here. `readsTables` follows from the leaves; " +
265
273
  "there is no home table. `definition.limits` holds the bands its " +
266
274
  "status is read from, lowest values first; none means it has no " +
267
- "status. " +
275
+ "status. `definition.rangeMethod`, when chosen, holds the expected " +
276
+ "range settings {method, grain, periods}; read rangeMethods in " +
277
+ "get_measure_formula_spec for their meaning. " +
268
278
  "\n\nWHAT IT IS CONNECTED TO: `dependsOn` is every measure it rests " +
269
279
  "on — the whole chain, which publishing checks; `usedBy` every " +
270
280
  "measure that rests on IT; `dashboards` every dashboard with a tile " +
271
281
  "on it. Read `usedBy` and `dashboards` before you change or delete a " +
272
- "measure: those numbers move with it.", {
282
+ "measure: those numbers move with it. " +
283
+ "\n\nWHAT MOVES IT FROM OUTSIDE ITS FORMULA: `influencedBy` lists the " +
284
+ "influences into this measure, `influences` the measures it moves — " +
285
+ "each `{ measure, kind, effect, why, owner, basis, planned, state }`, " +
286
+ "`measure` being the OTHER one. Read from the DRAFT of the influences " +
287
+ "table, so what you just wrote shows; what is published is " +
288
+ "list_measure_influences({ useDraft: false }) or read_measure_tree. " +
289
+ "Its formula parts are `dependsOn`, never an influence.", {
273
290
  id: z.string().describe("The measure's id."),
274
291
  useDraftChain: z
275
292
  .boolean()
@@ -1 +1 @@
1
- {"version":3,"file":"measureFormula.js","sourceRoot":"","sources":["../../src/tools/measureFormula.ts"],"names":[],"mappings":"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"}
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.22.0",
3
+ "version": "0.24.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": {