@axonity-ai/mcp 0.17.0 → 0.19.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.
Files changed (38) hide show
  1. package/README.md +82 -16
  2. package/dist/errors.js +41 -11
  3. package/dist/errors.js.map +1 -1
  4. package/dist/generated/listFilters.js +23 -1
  5. package/dist/generated/listFilters.js.map +1 -1
  6. package/dist/index.js +250 -27
  7. package/dist/index.js.map +1 -1
  8. package/dist/tools/access.d.ts +19 -0
  9. package/dist/tools/access.js +71 -0
  10. package/dist/tools/access.js.map +1 -0
  11. package/dist/tools/applications.d.ts +24 -0
  12. package/dist/tools/applications.js +145 -0
  13. package/dist/tools/applications.js.map +1 -0
  14. package/dist/tools/concepts.js +68 -3
  15. package/dist/tools/concepts.js.map +1 -1
  16. package/dist/tools/conventions.d.ts +2 -2
  17. package/dist/tools/conventions.js +37 -10
  18. package/dist/tools/conventions.js.map +1 -1
  19. package/dist/tools/dataSources.d.ts +5 -5
  20. package/dist/tools/dataSources.js +38 -14
  21. package/dist/tools/dataSources.js.map +1 -1
  22. package/dist/tools/dataTables.js +7 -5
  23. package/dist/tools/dataTables.js.map +1 -1
  24. package/dist/tools/knowledgeGraph.d.ts +28 -0
  25. package/dist/tools/knowledgeGraph.js +126 -0
  26. package/dist/tools/knowledgeGraph.js.map +1 -0
  27. package/dist/tools/measureFormula.d.ts +5 -5
  28. package/dist/tools/measureFormula.js +33 -12
  29. package/dist/tools/measureFormula.js.map +1 -1
  30. package/dist/tools/queries.d.ts +18 -0
  31. package/dist/tools/queries.js +70 -0
  32. package/dist/tools/queries.js.map +1 -0
  33. package/dist/tools/register.d.ts +12 -0
  34. package/dist/tools/register.js +4 -2
  35. package/dist/tools/register.js.map +1 -1
  36. package/dist/tools/validation.js +21 -3
  37. package/dist/tools/validation.js.map +1 -1
  38. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -28,12 +28,16 @@ import { registerDataTableTools } from "./tools/dataTables.js";
28
28
  import { assertFormulaShape, registerMeasureFormulaTools } from "./tools/measureFormula.js";
29
29
  import { assertPlaceholderCredentials } from "./tools/credentials.js";
30
30
  import { registerAttachTools, registerCatalogTools, registerConnectorTools, registerDependencyTools, registerPersonaTools, } from "./tools/extras.js";
31
+ import { registerApplicationTools } from "./tools/applications.js";
32
+ import { registerAccessTools } from "./tools/access.js";
31
33
  import { registerAuthoringSpecTools } from "./tools/authoringSpec.js";
32
34
  import { registerCompanyTools } from "./tools/company.js";
33
35
  import { registerComponentTools } from "./tools/components.js";
34
36
  import { registerConceptTools } from "./tools/concepts.js";
37
+ import { registerKnowledgeGraphTools } from "./tools/knowledgeGraph.js";
35
38
  import { registerOperationsTools } from "./tools/operations.js";
36
39
  import { registerPromptPlacementTools } from "./tools/promptPlacement.js";
40
+ import { registerQueryTools } from "./tools/queries.js";
37
41
  import { LIST_FILTERS } from "./generated/listFilters.js";
38
42
  import { registerEntityTools } from "./tools/register.js";
39
43
  import { registerRunTools } from "./tools/runs.js";
@@ -44,25 +48,59 @@ import { registerTriggerTools } from "./tools/triggers.js";
44
48
  import { registerApprovalTools, registerExecutionTools, registerValidationTools, } from "./tools/validation.js";
45
49
  import { registerVersionTools } from "./tools/versions.js";
46
50
  import { registerWorkflowMutations } from "./tools/workflowMutations.js";
47
- const PROVENANCE_NOTE = "WHERE THE ROWS COME FROM — `provenance`, for a dynamic table filled from " +
48
- "a warehouse. It replaces the old data-source sync: there is no separate " +
49
- "sync object any more, so create_data_source_sync / run_data_source_sync " +
50
- "do not exist. `provenance` is " +
51
- "`{ sourceId, sql, grain, keyColumns?, mode?, cron, timezone?, enabled? }`: " +
52
- "`sourceId` the data source; `sql` the query whose RESULT fills the table " +
53
- "(try it first with query_data_source); `grain` what ONE ROW of that " +
54
- "result is, as a sentence (\"one row per month per country\") — " +
55
- "mandatory, it decides what the table can be asked for ever after; " +
56
- "`keyColumns` which columns identify a row for `mode: \"upsert\"` (the " +
57
- "default — `append` takes no key); `cron` when it runs, read in " +
58
- "`timezone` (default UTC); `enabled: false` pauses it. A table with " +
59
- "provenance has no other filler — a workflow may not also write its " +
60
- "rows. It is part of the table's design, so a changed query is published " +
61
- "through request_publish_data_table like a changed column. To fill it " +
62
- "now rather than at its next turn: refresh_data_table. " +
51
+ /**
52
+ * What fills a table (axonity-flow#2013). The inline `provenance` bag is gone:
53
+ * its SQL, source and grain moved to a named query, and what stays on the
54
+ * table is which filler it has and when it runs.
55
+ */
56
+ const FILL_NOTE = "WHAT FILLS IT — `filledBy`, one word: `author` (the default: reference " +
57
+ "data its author maintains), `workflow` (a workflow writes the rows, " +
58
+ "limited to `allowedOperations`) or `query` (a named query fetches them). " +
59
+ "A table has ONE filler. `isDynamic` is no longer sent: it follows from " +
60
+ "`filledBy` — a table filled by a query or a workflow is dynamic, and " +
61
+ "ONLY A DYNAMIC TABLE CAN BE READ BY A MEASURE. Never set `filledBy: " +
62
+ "\"workflow\"` on a table no workflow fills just to make a measure read " +
63
+ "it; give it a query. " +
64
+ "\n\nFILLED BY A QUERY: `fillingQueryId` is the query (create_query, " +
65
+ "list_queries) — required with `filledBy: \"query\"`, refused otherwise, " +
66
+ "and one query fills one table. The query carries the SQL, the source " +
67
+ "and the grain. `rhythm` says when and how it fills: " +
68
+ "`{ cron, timezone?, keyColumns?, mode?, enabled? }` — `cron` when it " +
69
+ "runs, read in `timezone` (default UTC; an empty cron never runs by " +
70
+ "itself); `mode` `upsert` (the default: replaces the rows that match " +
71
+ "`keyColumns` and adds the rest) or `append` (takes no key); `enabled: " +
72
+ "false` pauses it and keeps its rows. Leave `rhythm` out and the table " +
73
+ "fills only when asked: refresh_data_table. The fill runs the query as " +
74
+ "it stands. " +
75
+ "\n\n`provenance` and `clearProvenance` no longer exist and are refused " +
76
+ "— the query took their place. " +
63
77
  "\n\nMEASURES ARE NOT ON THE TABLE. A measure is its own entity " +
64
78
  "(create_measure); a table carries only its `timeAxis` " +
65
79
  "(`{ column, grain }`), which every measure over it reads.";
80
+ /**
81
+ * The date table and its calendars (axonity-flow#1908, phase 2): what a time
82
+ * window in a formula is measured in. Metadata on a table, not an entity.
83
+ */
84
+ /** What a change to the model may do to a published measure (axonity-flow#1908). */
85
+ const BREAKS_MEASURE_NOTE = "`breaks_measure`: refused when a PUBLISHED measure reads what this " +
86
+ "change takes away — a column, the table, or the relationship a part " +
87
+ "reaches a dimension over. The refusal names the measures: repair them " +
88
+ "first (update_measure, then publish), then retry.";
89
+ const DATE_TABLE_NOTE = "THE DATE TABLE — `dateTable: true` marks the ONE table of the workspace " +
90
+ "with a row per day (its `timeAxis` on the day column, grain `day`, no " +
91
+ "gaps): what makes a week mean the same thing to every fact. A second one " +
92
+ "is refused. On it, `calendars` (at most 10): " +
93
+ "`[{ name, label?, isDefault?, grains: { year?, quarter?, month?, week?, " +
94
+ "day? } }]`, each grain naming the column of this table that holds that " +
95
+ "period — e.g. a calendar `production` whose `week` is the production " +
96
+ "week. `name` is what a formula writes (`rolling([revenue], 4 week, " +
97
+ "production)`); exactly one is `isDefault`, used when a formula names " +
98
+ "none. A grain left out is a grain that calendar does not have. A formula " +
99
+ "stores its calendar BY ID: when you change `calendars`, read the table " +
100
+ "first and send every calendar back WITH its `id` — the list is replaced " +
101
+ "whole, and a calendar sent without one is a new calendar. " +
102
+ "`dateTable: false` takes the calendars with it. A fact table reaches " +
103
+ "the date table through its own `timeAxis`.";
66
104
  /**
67
105
  * What writing a measure takes (axonity-flow#1908). The contract, not a manual:
68
106
  * the words of the formula are in get_measure_formula_spec and nowhere else.
@@ -72,15 +110,18 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
72
110
  "as text or as the stored tree. Four kinds, one grammar: " +
73
111
  "\n- a BASE aggregates one COLUMN of one table: " +
74
112
  "`sum(orders.amount) where orders.channel = 'd2c'`. It reads a column, " +
75
- "never a calculation per row — a value per row belongs in the table's " +
76
- "source query (`provenance.sql`), as a column of its own; " +
113
+ "never a calculation per row — a value per row belongs in the query " +
114
+ "that fills the table, as a column of its own; " +
77
115
  "\n- a DERIVED measure computes with other measures by name: " +
78
116
  "`[revenue_d2c] + [revenue_retail]`, `divide([cm1], [net_revenue])`, " +
79
117
  "`divide([revenue_d2c], [net_revenue] ignore orders.channel)` for a share " +
80
118
  "of the total. Two fact tables may meet in one number; they are never " +
81
119
  "joined; " +
82
120
  "\n- TIME (`shift`, `to_date`, `rolling`) and CUMULATIVE (`running`): " +
83
- "use them only where the spec marks them `available`. " +
121
+ "the same measure in another window, measured in a calendar of the " +
122
+ "workspace's date table (create_data_table / update_data_table with " +
123
+ "`dateTable` and `calendars`); without one they are refused with " +
124
+ "`no_date_table`. " +
84
125
  "\n\nBuild bottom-up: the base measures first, each with its `quantity` " +
85
126
  "(what it counts: EUR, customers, orders), then the derived ones; " +
86
127
  "validate_measure before every save, and publish from the bottom up. " +
@@ -98,6 +139,94 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
98
139
  "refused with `legacy_field`. " +
99
140
  "\n\nIt is a DRAFT until published: request_publish_measure. Only a " +
100
141
  "published measure gives a certified number.";
142
+ /**
143
+ * What an application is made of (axonity-flow#1901). The limits are the point:
144
+ * an executor enforces them on every command, so a wrong key is a limit nobody
145
+ * enforces — the platform refuses unknown keys, and this says which exist.
146
+ */
147
+ const APPLICATION_NOTE = "Fields: `name` (unique in the workspace), `technology` (`win32` for a " +
148
+ "Windows desktop program, `web` for a site in a browser), `description` " +
149
+ "and `limits` — what an agent may NEVER do in it, enforced by the executor " +
150
+ "on the machine. `limits` keys stay snake_case, the way the executor reads " +
151
+ "them, and an unknown key is refused: `processes` (executables it may " +
152
+ "touch, `app.exe`), `windows` (window classes it may act in), " +
153
+ "`never_keys` (key combinations it may never send, `ctrl+a`), " +
154
+ "`never_buttons` (button captions it may never press), `folders` (folders " +
155
+ "it stays inside), `domains` (web domains it stays inside, " +
156
+ "`nl.wikipedia.org`), `secrets` (workspace secrets it may type, BY NAME — " +
157
+ "never a value), `home` (a website's start address) and `readers` (per " +
158
+ "control class, how a screen reader reads it). " +
159
+ "\n\nAn executor receives only the PUBLISHED limits, never a draft: " +
160
+ "request_publish_application, then a human approves. Which machines run it " +
161
+ "is set_application_executors.";
162
+ /**
163
+ * Who may read a piece of knowledge (axonity-mcp#88, S2; axonity-flow#1918).
164
+ * The four knowledge kinds carry a label; the backend already took the fields,
165
+ * and nothing told an agent they exist or that `null` means "nobody".
166
+ */
167
+ const LABEL_NOTE = "WHO MAY READ IT — the label. `level` is how sensitive it is (public, " +
168
+ "internal or confidential); `audienceIds` is whom it is meant for, as ids " +
169
+ "from list_audiences — never guess one and never match on a name. Leave " +
170
+ "both out and it gets the workspace default: internal, for Staff. " +
171
+ "Sending `level: null` means NO label: nobody can read it — no colleague, " +
172
+ "no agent — until a colleague who maintains its audience labels it. You " +
173
+ "can only give a label you can read yourself.";
174
+ const LABEL_UPDATE_NOTE = "CHANGING WHO MAY READ IT. Narrowing is always allowed: a higher " +
175
+ "`level`, or an audience taken away. WIDENING — a lower level, or an " +
176
+ "audience added — makes it readable for more people, which is publishing " +
177
+ "it, and only a colleague who maintains those audiences may do that. A " +
178
+ "token never can: the refusal says so, and the way forward is to ask a " +
179
+ "colleague in Axonity, not to try another route. `audienceIds` replaces " +
180
+ "the whole set — send the ones it keeps too. `level: null` removes the " +
181
+ "label, which leaves it readable by nobody.";
182
+ /** What an agent or a process may read (axonity-mcp#88, S2). */
183
+ const CLEARANCE_SHAPE = "`clearance` is `{ maxLevel, audienceIds }`: up to which level it reads " +
184
+ "(public, internal or confidential; null reads nothing) and for which " +
185
+ "audiences (ids from list_audiences).";
186
+ const AGENT_CLEARANCE_NOTE = "WHAT THE AGENT MAY READ. " +
187
+ CLEARANCE_SHAPE +
188
+ " Only an ADMINISTRATOR sets it, so a token sending it is refused: leave " +
189
+ "it out and the agent gets the workspace default, internal for Staff. " +
190
+ "Inside a workflow the agent never reads more than the workflow's own " +
191
+ "clearance.";
192
+ const WORKFLOW_CLEARANCE_NOTE = "WHAT THE PROCESS MAY READ. " +
193
+ CLEARANCE_SHAPE +
194
+ " Set it to the audiences of whoever the process serves. A new workflow " +
195
+ "starts with the workspace default (internal, for Staff); change it with " +
196
+ "update_workflow({ fields: { clearance } }). It takes effect through the " +
197
+ "publish approval like the rest of the workflow, and no agent in the " +
198
+ "process ever reads more than this.";
199
+ /**
200
+ * What a query is made of (axonity-flow#2010, S1). A query is a named, typed
201
+ * read of one source: it answers an agent's question once published, and it
202
+ * fills a table. The SQL, source and grain that used to sit in a table's
203
+ * `provenance` live here now.
204
+ */
205
+ const QUERY_NOTE = "A QUERY is a named, typed read of one data source. Published, it does " +
206
+ "two things: it becomes a read tool an agent can be given (its " +
207
+ "`description` is what that agent reads), and it can fill a table " +
208
+ "(`filledBy: \"query\"`, `fillingQueryId` on the table). " +
209
+ "\n\nFields: `name` (unique in the workspace; the tool carries it), " +
210
+ "`description` (what it answers), `dataSourceId` (required — " +
211
+ "list_data_sources), `sql` (read-only, in the warehouse's own dialect, " +
212
+ "with each input written `:name`; read_data_source_schema spells the " +
213
+ "tables), `grain` (what ONE ROW is, as a sentence — \"one row per month " +
214
+ "per country\"), `questions` (how somebody would ask for this, at most " +
215
+ "20), `parameters` and `returns`. " +
216
+ "\n\n`parameters` (at most 20): `[{ name, label?, kind, description?, " +
217
+ "required?, default?, choiceOptions? }]`. `kind` is text, number, date, " +
218
+ "datetime, time, yes-no or choice — one value, never a list or an " +
219
+ "object. A value is BOUND, never written into the statement. An optional " +
220
+ "one with no value binds NULL, which is what `(:land is null or l = " +
221
+ ":land)` is written for. " +
222
+ "\n\n`returns`: `[{ name, label?, kind, description, concept? }]`, one " +
223
+ "per column the statement hands back, named exactly as it returns it. " +
224
+ "`kind` adds object and list to the parameter kinds. Every column needs " +
225
+ "a `description` before the query can be published. " +
226
+ "\n\nThe statement can carry its own figures: a query with no table " +
227
+ "behind it (a `select … union all select …` of plan values) is a query " +
228
+ "like any other. Try it with test_query before you ask for publication; " +
229
+ "its answer suggests `returns` from what came back.";
101
230
  /**
102
231
  * The entities the connector covers. Core entities (C4), memory entities (C5)
103
232
  * — skills, policies, reference docs — which have the same draft→publish
@@ -111,6 +240,8 @@ const ENTITIES = [
111
240
  updateMethod: "PATCH",
112
241
  label: "workflows (business processes)",
113
242
  deleteVersionParam: "expectedVersion",
243
+ createNote: WORKFLOW_CLEARANCE_NOTE,
244
+ updateWarning: WORKFLOW_CLEARANCE_NOTE,
114
245
  },
115
246
  {
116
247
  singular: "agent",
@@ -118,6 +249,8 @@ const ENTITIES = [
118
249
  updateMethod: "PUT",
119
250
  label: "agents",
120
251
  deleteVersionParam: "expectedVersion",
252
+ createNote: AGENT_CLEARANCE_NOTE,
253
+ updateWarning: AGENT_CLEARANCE_NOTE,
121
254
  },
122
255
  {
123
256
  singular: "tool",
@@ -135,6 +268,8 @@ const ENTITIES = [
135
268
  updateMethod: "PUT",
136
269
  label: "skills (reusable know-how for agents)",
137
270
  deleteVersionParam: "expected_version",
271
+ createNote: LABEL_NOTE,
272
+ updateWarning: LABEL_UPDATE_NOTE,
138
273
  },
139
274
  {
140
275
  singular: "policy",
@@ -143,6 +278,8 @@ const ENTITIES = [
143
278
  label: "policies (rules and guardrails for agents)",
144
279
  plural: "policies",
145
280
  deleteVersionParam: "expected_version",
281
+ createNote: LABEL_NOTE,
282
+ updateWarning: LABEL_UPDATE_NOTE,
146
283
  },
147
284
  {
148
285
  singular: "reference_doc",
@@ -150,6 +287,8 @@ const ENTITIES = [
150
287
  updateMethod: "PUT",
151
288
  label: "reference docs (background knowledge for agents)",
152
289
  deleteVersionParam: "expected_version",
290
+ createNote: LABEL_NOTE,
291
+ updateWarning: LABEL_UPDATE_NOTE,
153
292
  },
154
293
  {
155
294
  singular: "output_schema",
@@ -199,16 +338,24 @@ const ENTITIES = [
199
338
  label: "tables (authored reference data agents and decisions read)",
200
339
  deleteVersionParam: "expected_version",
201
340
  listPaging: { defaultPageSize: 20, maxPageSize: 200 },
202
- createNote: PROVENANCE_NOTE,
203
- updateWarning: PROVENANCE_NOTE +
204
- " Sending `provenance` replaces it whole; `clearProvenance: true` " +
205
- "takes the source away and leaves the rows that are there. " +
341
+ createNote: `${FILL_NOTE}\n\n${DATE_TABLE_NOTE}\n\n${LABEL_NOTE}`,
342
+ deleteNote: BREAKS_MEASURE_NOTE,
343
+ publishNote: BREAKS_MEASURE_NOTE,
344
+ updateWarning: FILL_NOTE +
345
+ " On an update: `clearFillingQuery: true` takes the query away and " +
346
+ "leaves the rows that are there; `rhythm` is replaced whole when sent; " +
347
+ "`clearRhythm: true` takes it away (the table then fills only when " +
348
+ "asked), which is not the same as pausing it. " +
349
+ "\n\n" +
350
+ DATE_TABLE_NOTE +
206
351
  "\n\n`rows` AND `columns` ARE WHOLE-COLLECTION FIELDS: sending either " +
207
352
  "REPLACES it entirely. Passing one row in `rows` does not append it — it " +
208
353
  "deletes every other row in the table. To change content, use " +
209
354
  "add_data_table_row / update_data_table_row / delete_data_table_row, " +
210
355
  "which address a single row and cannot destroy the rest. Use `rows` here " +
211
- "only when you genuinely mean to replace the whole content.",
356
+ "only when you genuinely mean to replace the whole content." +
357
+ "\n\n" +
358
+ LABEL_UPDATE_NOTE,
212
359
  },
213
360
  {
214
361
  // A measure was a field on a table; the semantic model (axonity-flow#1881
@@ -226,11 +373,76 @@ const ENTITIES = [
226
373
  readable: false,
227
374
  guardFields: assertFormulaShape,
228
375
  createNote: MEASURE_NOTE,
376
+ deleteNote: "`still_referenced`: a measure other measures rest on is refused, " +
377
+ "with their names. Change or delete those first — the one furthest " +
378
+ "from it first. read_measure's `usedBy` lists them beforehand.",
379
+ publishNote: "Certified is the WHOLE chain: refused with `depends_on_unpublished` " +
380
+ "(a measure it rests on is not published — publish from the bottom " +
381
+ "up) or `unverified_relationship` (a part reaches a table over a " +
382
+ "relationship nobody verified — verify it first). The approval's " +
383
+ "`changesWith` names what moves with it: the measures that rest on " +
384
+ "it (`measures`, the whole chain above) and the dashboards with a " +
385
+ "tile on any of them (`dashboards`). Say so in `changeSummary` when " +
386
+ "it is not empty.",
229
387
  updateWarning: MEASURE_NOTE +
230
388
  " `tableId` and `clearTable` are gone: a measure has no home table, " +
231
389
  "the tables it reads follow from its formula. Sending `definition` " +
232
390
  "replaces it whole, so send the `expression` with it.",
233
391
  },
392
+ {
393
+ // A named read of one source (axonity-flow#2010, S1), with routes in the
394
+ // same order and spelling as a measure's — so the whole family comes from
395
+ // the registrars. Running it once, and who holds its tool, are in
396
+ // tools/queries.ts.
397
+ singular: "query",
398
+ basePath: "/api/v1/queries",
399
+ updateMethod: "PUT",
400
+ plural: "queries",
401
+ label: "queries (named, typed reads of a data source that answer an agent and fill tables)",
402
+ deleteVersionParam: "expectedVersion",
403
+ listPaging: { defaultPageSize: 20, maxPageSize: 200 },
404
+ createNote: QUERY_NOTE,
405
+ deleteNote: "A query that fills a table, or whose tool an agent holds, is used: " +
406
+ "read_query_usage says who holds its tool, and list_data_tables " +
407
+ "({ filledBy: \"query\" }) which tables it fills.",
408
+ publishNote: "Refused while read_query's `publishBlockers` is not empty — each one " +
409
+ "names what is missing (a grain, a column without a description, a " +
410
+ "parameter the statement does not use). Publishing makes its read tool " +
411
+ "live for every agent that holds it.",
412
+ updateWarning: QUERY_NOTE +
413
+ " On an update, `parameters`, `returns` and `questions` are replaced " +
414
+ "WHOLE when sent: read first and send the complete list, each item " +
415
+ "with its `id` so it stays the same item.",
416
+ },
417
+ {
418
+ // A program an agent operates through an executor (axonity-flow#1901),
419
+ // with routes in the same order and spelling as a table's — so the whole
420
+ // family comes from the registrars. What is not generic (the executors it
421
+ // runs on, what it has learned) is in tools/applications.ts.
422
+ singular: "application",
423
+ basePath: "/api/v1/applications",
424
+ updateMethod: "PUT",
425
+ label: "applications (programs an agent operates through an executor, with their limits)",
426
+ deleteVersionParam: "expected_version",
427
+ listPaging: { defaultPageSize: 20, maxPageSize: 200 },
428
+ createNote: APPLICATION_NOTE,
429
+ updateWarning: APPLICATION_NOTE +
430
+ " `limits` is replaced WHOLE when sent: read the application first and " +
431
+ "send the complete object, or a limit you left out is gone.",
432
+ publishNote: "The limits are what an executor on a customer's machine is allowed to " +
433
+ "do, which is why only a human makes them live. Until the approval is " +
434
+ "decided, the executors keep the limits published before. " +
435
+ "\n\nPublishing is also what rebuilds the application's act/observe " +
436
+ "tools from the published version. To publish again WITHOUT a change — " +
437
+ "an application already live, no draft, the request refused as " +
438
+ "`already_live` — call ensure_application_major_version first: it opens " +
439
+ "a draft of the current content, and this request then goes through. " +
440
+ "Never edit a field just to make a draft. A platform release rebuilds " +
441
+ "these tools by itself on start, so a new tool shape after a deploy " +
442
+ "needs no publish. To take a workflow live with the application its " +
443
+ "agents operate, request this alongside request_publish_release: a " +
444
+ "release does not carry the application yet.",
445
+ },
234
446
  // The three below arrived with axonity-flow#1849 (axonity-mcp#78). None is
235
447
  // versioned or publish-approved: a change is live the moment it is saved, so
236
448
  // there is no draft to discard and no request_publish_*. Each lists one page
@@ -254,9 +466,9 @@ const ENTITIES = [
254
466
  "(maxBytesBilled, maxSeconds, allowedDatasets, forbiddenDatasets, " +
255
467
  "personalColumns, dateFilters); all are empty by default. " +
256
468
  "\n\nThen test_data_source to see whether it answers. A table is " +
257
- "filled from this source through its own `provenance.sourceId` " +
258
- "(create_data_table) — not through a sync, and not through a " +
259
- "reference doc.",
469
+ "filled from this source by a query that reads it (create_query, " +
470
+ "then `filledBy: \"query\"` and `fillingQueryId` on the table) — not " +
471
+ "through a sync, and not through a reference doc.",
260
472
  updateWarning: "NO DRAFT: this changes the live source, which every table it fills and every query " +
261
473
  "uses at once. `config` and `policy` are replaced WHOLE when sent — " +
262
474
  "read first and send the complete block.",
@@ -270,6 +482,7 @@ const ENTITIES = [
270
482
  hasDiscardDraft: false,
271
483
  deleteVersionParam: "expected_version",
272
484
  listPaging: { defaultPageSize: 20, maxPageSize: 200 },
485
+ deleteNote: BREAKS_MEASURE_NOTE,
273
486
  createNote: "Fields: `fromTableId` + `fromColumn` (the MANY side — the facts, e.g. " +
274
487
  "orders), `toTableId` + `toColumn` (the ONE side — e.g. countries), " +
275
488
  "`cardinality` (many_to_one, the default, or one_to_one; there is no " +
@@ -333,6 +546,12 @@ const VERSIONED = [
333
546
  publishedPath: "versions",
334
547
  },
335
548
  { singular: "measure", basePath: "/api/v1/measures", publishedPath: "versions" },
549
+ { singular: "query", basePath: "/api/v1/queries", publishedPath: "versions" },
550
+ {
551
+ singular: "application",
552
+ basePath: "/api/v1/applications",
553
+ publishedPath: "versions",
554
+ },
336
555
  ];
337
556
  export function registerAll(server, client) {
338
557
  registerConventions(server, client);
@@ -372,7 +591,11 @@ export function registerAll(server, client) {
372
591
  registerMeasureFormulaTools(server, client);
373
592
  registerDashboardTools(server, client);
374
593
  registerConceptTools(server, client);
594
+ registerQueryTools(server, client);
375
595
  registerComponentTools(server, client);
596
+ registerApplicationTools(server, client);
597
+ registerAccessTools(server, client);
598
+ registerKnowledgeGraphTools(server, client);
376
599
  }
377
600
  export function buildServer(client) {
378
601
  const server = new McpServer({ name: "axonity", version: "0.1.0" });
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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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Who may read what: the audiences and roles of a workspace (axonity-mcp#88,
3
+ * S1; the platform half is axonity-flow#1918).
4
+ *
5
+ * Every piece of knowledge — a policy, a skill, a reference doc, a table —
6
+ * carries a label: a level and the audiences it is meant for. Every reader
7
+ * carries a clearance. Both name audiences BY ID, so an agent that writes a
8
+ * label needs the ids, and the only honest source of them is the workspace
9
+ * itself. That is all this file is for: reading the vocabulary.
10
+ *
11
+ * **Reading only.** Creating or changing an audience or a role, and giving a
12
+ * colleague a role, are `require_admin` on the platform, and a service token
13
+ * always resolves as a member. Whether a token may ever do that is an open
14
+ * decision in #88 (S3); until it is taken those routes are not in the pinned
15
+ * snapshot, so they are neither covered nor excluded here.
16
+ */
17
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
18
+ import type { AxonityClient } from "../client.js";
19
+ export declare function registerAccessTools(server: McpServer, client: AxonityClient): void;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Who may read what: the audiences and roles of a workspace (axonity-mcp#88,
3
+ * S1; the platform half is axonity-flow#1918).
4
+ *
5
+ * Every piece of knowledge — a policy, a skill, a reference doc, a table —
6
+ * carries a label: a level and the audiences it is meant for. Every reader
7
+ * carries a clearance. Both name audiences BY ID, so an agent that writes a
8
+ * label needs the ids, and the only honest source of them is the workspace
9
+ * itself. That is all this file is for: reading the vocabulary.
10
+ *
11
+ * **Reading only.** Creating or changing an audience or a role, and giving a
12
+ * colleague a role, are `require_admin` on the platform, and a service token
13
+ * always resolves as a member. Whether a token may ever do that is an open
14
+ * decision in #88 (S3); until it is taken those routes are not in the pinned
15
+ * snapshot, so they are neither covered nor excluded here.
16
+ */
17
+ import { z } from "zod";
18
+ import { guard, jsonResult } from "./result.js";
19
+ const AUDIENCES = "/api/v1/audiences";
20
+ const ROLES = "/api/v1/roles";
21
+ /** Said on both list tools: these are pages, not the whole vocabulary. */
22
+ const PAGE_NOTE = "\n\nTHE RESPONSE IS ONE PAGE: { items, nextCursor, pageSize, hasMore }. " +
23
+ "While hasMore is true you have not seen them all — pass nextCursor back " +
24
+ "as cursor for the next page. Never build a cursor yourself.";
25
+ const LIMIT = z
26
+ .number()
27
+ .int()
28
+ .optional()
29
+ .describe("Page size. Omit for the platform's default.");
30
+ const CURSOR = z
31
+ .string()
32
+ .optional()
33
+ .describe("The previous response's nextCursor, to get the next page. Omit for the " +
34
+ "first page.");
35
+ export function registerAccessTools(server, client) {
36
+ server.tool("list_audiences", "The workspace's audiences. Read-only. " +
37
+ "\n\nAN AUDIENCE IS WHOM KNOWLEDGE IS MEANT FOR: Staff, Clients, " +
38
+ "Candidates — a group of people, not a permission. A policy, skill, " +
39
+ "reference doc or table names its audiences in `audienceIds`; a role " +
40
+ "says which audiences a colleague may read. `internal: true` means " +
41
+ "people inside the workspace, false the people it serves. `isSystem` " +
42
+ "marks the one the platform ships (Staff): usable, not changeable. " +
43
+ "\n\nThis is where an audience id comes from. Never guess one and never " +
44
+ "match on a name: two workspaces can both have \"Clients\" with " +
45
+ "different ids, and a name can be changed." +
46
+ PAGE_NOTE, { limit: LIMIT, cursor: CURSOR }, async ({ limit, cursor }) => guard(async () => jsonResult(await client.get(AUDIENCES, { limit, cursor }))));
47
+ server.tool("read_audience", "One audience: its name, description, and whether it is inside the " +
48
+ "workspace (`internal`). Read-only. An audience is whom knowledge is " +
49
+ "meant for — see list_audiences.", { id: z.string().describe("The audience's id, from list_audiences.") }, async ({ id }) => guard(async () => jsonResult(await client.get(`${AUDIENCES}/${id}`))));
50
+ server.tool("list_roles", "The workspace's roles. Read-only. " +
51
+ "\n\nA ROLE IS WHAT A COLLEAGUE MAY READ AND MAINTAIN. Each one says: " +
52
+ "up to which level it reads (`readMaxLevel`: public, internal or " +
53
+ "confidential; null reads nothing), for which audiences " +
54
+ "(`readAudienceIds`), and which audiences it maintains " +
55
+ "(`maintainAudienceIds`) — maintaining is confirming, correcting and " +
56
+ "labelling what is meant for them. `holders` is how many colleagues " +
57
+ "hold it. `isSystem` marks the one the platform ships (Member). A " +
58
+ "colleague with several roles reads with the widest. " +
59
+ "\n\nRoles are for people. An agent, a workflow and your own token " +
60
+ "have a clearance of their own instead, and none of them ever " +
61
+ "maintains anything." +
62
+ PAGE_NOTE, { limit: LIMIT, cursor: CURSOR }, async ({ limit, cursor }) => guard(async () => jsonResult(await client.get(ROLES, { limit, cursor }))));
63
+ server.tool("read_role", "One role: up to which level it reads, for which audiences, which " +
64
+ "audiences it maintains, and how many colleagues hold it. Read-only. " +
65
+ "The audiences are ids — read_audience or list_audiences names them.", { id: z.string().describe("The role's id, from list_roles.") }, async ({ id }) => guard(async () => jsonResult(await client.get(`${ROLES}/${id}`))));
66
+ server.tool("read_member_roles", "Which roles one colleague holds, as role ids. Read-only. Use it to " +
67
+ "answer \"can this person read that?\": read each role with read_role. " +
68
+ "With several roles, the widest applies. The colleague's id comes from " +
69
+ "list_users.", { userId: z.string().describe("The colleague's user id, from list_users.") }, async ({ userId }) => guard(async () => jsonResult(await client.get(`/api/v1/users/${userId}/roles`))));
70
+ }
71
+ //# sourceMappingURL=access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access.js","sourceRoot":"","sources":["../../src/tools/access.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Applications beyond the entity verbs (axonity-mcp#86, the connector half of
3
+ * axonity-flow#1901): which executors an application runs on, the executors
4
+ * themselves, and what the application has learned about itself.
5
+ *
6
+ * The plain verbs — list/read/create/update/delete/restore, the versions and
7
+ * request_publish_application — come from the registrars (see `ENTITIES` in
8
+ * index.ts). Publishing is the human approval queue, as everywhere: the limits
9
+ * are what an executor on a customer's machine is allowed to do.
10
+ *
11
+ * **Executors are read-only here.** Registering one mints its token and
12
+ * revoking one cuts a machine off; both are deny-listed. Nothing here returns a
13
+ * token: an executor's answer carries only its prefix and expiry.
14
+ *
15
+ * **Who may write.** Linking executors and writing, forgetting or restoring
16
+ * knowledge are `require_admin` on the platform, and a service token always
17
+ * resolves as a member — so today these answer 403 for every token, and
18
+ * `ForbiddenError` says so in words. The tools are here so the refusal names
19
+ * its reason rather than the tool being missing, and so they work the day the
20
+ * platform opens them.
21
+ */
22
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
23
+ import type { AxonityClient } from "../client.js";
24
+ export declare function registerApplicationTools(server: McpServer, client: AxonityClient): void;