@axonity-ai/mcp 0.15.0 → 0.16.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
@@ -55,8 +55,8 @@ was kept here. A conformance test asserts their absence.
55
55
 
56
56
  ### The generic entity family
57
57
 
58
- Eleven entities — **workflow, agent, tool, skill, policy, reference_doc,
59
- persona, output_schema, prompt_snippet, flow, data_table** — share one shape,
58
+ Twelve entities — **workflow, agent, tool, skill, policy, reference_doc,
59
+ persona, output_schema, prompt_snippet, flow, data_table, measure** — share one shape,
60
60
  though not every entity gets every verb (see the per-entity notes below for the
61
61
  exceptions):
62
62
 
@@ -255,17 +255,13 @@ across these routes — the tool parameter names say which.
255
255
  would yield), `toolId` (whether a row exists) and `isLive` (whether a run
256
256
  can reach it) separately — an author who ticked "may add rows" and has not
257
257
  published has granted nothing yet.
258
- - **Warehouses and dashboards** (`data_source`, `table_relationship`,
259
- `dashboard`, measures): a workspace connects a warehouse such as BigQuery,
260
- syncs fill dynamic tables from it on a schedule, and dashboards show
261
- measures over those tables.
262
- - **Most writes here are administrator-only on the platform, and a service
263
- token always counts as a member.** Creating, changing, testing or querying
264
- a data source, every sync write and every relationship write answer 403
265
- "Only administrators can perform this action" to a token today. The tools
266
- say so in their descriptions, and the error says *administrator only*
267
- rather than the usual "your token is read-only" — the opposite advice.
268
- Reads, dashboards and measures are open to a member.
258
+ - **The semantic model** (`data_source`, `data_table` with provenance,
259
+ `table_relationship`, `measure`, concepts, `dashboard`): a workspace
260
+ connects a warehouse such as BigQuery, dynamic tables are filled from it on
261
+ a schedule, measures define the numbers over those tables, concepts say
262
+ what each word and number means, and dashboards show the measures. Read
263
+ `axonity_semantic_conventions` before building one — the platform serves
264
+ those rules.
269
265
  - `list_data_source_drivers` first: each warehouse's `configFields` are the
270
266
  keys `create_data_source` takes in `config`, so nothing about BigQuery is
271
267
  hard-coded here and a new warehouse works without a connector release.
@@ -273,17 +269,31 @@ across these routes — the tool parameter names say which.
273
269
  at it by `secretId`.
274
270
  - `test_data_source` answers `{ ok, message }` — a failure is an answer, not
275
271
  an error. `read_data_source_schema` reads the warehouse's catalogue for
276
- free. `query_data_source` runs read-only SQL with capped rows
277
- (`truncated` says when rows were left out); a 422 is the query being
278
- refused, a 502 is the warehouse.
279
- - Syncs: `list_data_source_syncs`, `create_data_source_sync`,
280
- `run_data_source_sync` (brings the run forward; does not wait for it),
281
- `delete_data_source_sync`, `restore_data_source_sync` (comes back off).
282
- - Measures: `read_measure_design` (what a table can be asked),
283
- `query_measures` (up to 40 questions, each answered on its own),
284
- `list_measure_rows` (a list tile). Plus `duplicate_dashboard`.
285
- - A `source_query` knowledge note names its source in `subjectSourceId` on
286
- `create_reference_doc`.
272
+ free, dataset by dataset on a source limited to `allowedDatasets`.
273
+ `query_data_source` runs read-only SQL with capped rows (`truncated` says
274
+ when rows were left out); a 422 is the query being refused, a 502 is the
275
+ warehouse.
276
+ - **There is no sync object.** A dynamic table carries its own
277
+ `provenance` — `{ sourceId, sql, grain, keyColumns, mode, cron, timezone,
278
+ enabled }` — on `create_data_table` / `update_data_table`, so a changed
279
+ query is published like a changed column. `refresh_data_table` fills it
280
+ now instead of at its next turn (it does not wait for the result; read
281
+ the table's `fill` afterwards).
282
+ - **A measure is its own versioned entity**: the generic family plus the
283
+ version tools, `request_publish_measure`, and `list_measure_live_versions`.
284
+ It names the concept it means in `concept`, and the questions it answers
285
+ in `questions`. `read_measure_design` now returns a table's columns and
286
+ time axis only; `list_measures({ tableId })` says which measures read it.
287
+ - **Concepts**: `list_concepts`, `create_concept`, `update_concept`,
288
+ `delete_concept` — kind (concept, state, metric, rule), name, meaning,
289
+ synonyms, what it refers to, owner. They are rows of one table the
290
+ platform keeps per workspace, so they are published with
291
+ `request_publish_data_table` on the `tableId` every write returns.
292
+ - Reading numbers: `query_measures` (up to 40 questions, each answered on
293
+ its own, measures named by their handle), `list_measure_rows` (a list
294
+ tile). Plus `duplicate_dashboard`.
295
+ - A reference doc has no `semanticKind` any more; the platform refuses it
296
+ and the other retired fields and says where each one went.
287
297
  - `list_deleted_prompt_snippets` calls `/api/v1/prompt-snippets/deleted`; the
288
298
  backend returns it as `{ items: [... ] }`, and the tool forwards that response
289
299
  unchanged.
@@ -110,5 +110,13 @@ export const LIST_FILTERS = {
110
110
  description: "Only relationships that touch this table, on either side. The way to answer \"what does this table join to\" without walking every page.",
111
111
  },
112
112
  ],
113
+ "measure": [
114
+ {
115
+ arg: "tableId",
116
+ query: "tableId",
117
+ type: "string",
118
+ description: "Only the measures that read this table — what a table page shows.",
119
+ },
120
+ ],
113
121
  };
114
122
  //# sourceMappingURL=listFilters.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"listFilters.js","sourceRoot":"","sources":["../../src/generated/listFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAiC;IACxD,UAAU,EAAE;QACV;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sGAAsG;SACzG;QACD;YACE,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,kFAAkF;SACrF;KACF;IACD,OAAO,EAAE;QACP;YACE,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,uNAAuN;SAC1N;KACF;IACD,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,eAAe,EAAE;QACf;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,oKAAoK;SACvK;KACF;IACD,YAAY,EAAE;QACZ;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,gOAAgO;SACnO;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2JAA2J;SAC9J;QACD;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,0GAA0G;SAC7G;KACF;IACD,aAAa,EAAE;QACb;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,4FAA4F;SAC/F;KACF;IACD,oBAAoB,EAAE;QACpB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0IAA0I;SAC7I;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"listFilters.js","sourceRoot":"","sources":["../../src/generated/listFilters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAiC;IACxD,UAAU,EAAE;QACV;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,sGAAsG;SACzG;QACD;YACE,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,kFAAkF;SACrF;KACF;IACD,OAAO,EAAE;QACP;YACE,GAAG,EAAE,eAAe;YACpB,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,uNAAuN;SAC1N;KACF;IACD,QAAQ,EAAE;QACR;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,eAAe,EAAE;QACf;YACE,GAAG,EAAE,OAAO;YACZ,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0PAA0P;SAC7P;QACD;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,uGAAuG;SAC1G;KACF;IACD,gBAAgB,EAAE;QAChB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,oKAAoK;SACvK;KACF;IACD,YAAY,EAAE;QACZ;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,gOAAgO;SACnO;QACD;YACE,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,2JAA2J;SAC9J;QACD;YACE,GAAG,EAAE,WAAW;YAChB,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,0GAA0G;SAC7G;KACF;IACD,aAAa,EAAE;QACb;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,SAAS;YACf,WAAW,EACT,4FAA4F;SAC/F;KACF;IACD,oBAAoB,EAAE;QACpB;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,UAAU;YACjB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,0IAA0I;SAC7I;KACF;IACD,SAAS,EAAE;QACT;YACE,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,SAAS;YAChB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,mEAAmE;SACtE;KACF;CACF,CAAC"}
package/dist/index.js CHANGED
@@ -23,13 +23,14 @@ import { AxonityClient } from "./client.js";
23
23
  import { loadConfig } from "./config.js";
24
24
  import { reportContractSkew } from "./contract.js";
25
25
  import { registerConventions } from "./tools/conventions.js";
26
- import { ADMIN_ONLY, registerDashboardTools, registerDataSourceTools, registerMeasureTools, } from "./tools/dataSources.js";
26
+ import { registerDashboardTools, registerDataSourceTools, registerMeasureTools, } from "./tools/dataSources.js";
27
27
  import { registerDataTableTools } from "./tools/dataTables.js";
28
28
  import { assertPlaceholderCredentials } from "./tools/credentials.js";
29
29
  import { registerAttachTools, registerCatalogTools, registerConnectorTools, registerDependencyTools, registerPersonaTools, } from "./tools/extras.js";
30
30
  import { registerAuthoringSpecTools } from "./tools/authoringSpec.js";
31
31
  import { registerCompanyTools } from "./tools/company.js";
32
32
  import { registerComponentTools } from "./tools/components.js";
33
+ import { registerConceptTools } from "./tools/concepts.js";
33
34
  import { registerOperationsTools } from "./tools/operations.js";
34
35
  import { registerPromptPlacementTools } from "./tools/promptPlacement.js";
35
36
  import { LIST_FILTERS } from "./generated/listFilters.js";
@@ -42,6 +43,25 @@ import { registerTriggerTools } from "./tools/triggers.js";
42
43
  import { registerApprovalTools, registerExecutionTools, registerValidationTools, } from "./tools/validation.js";
43
44
  import { registerVersionTools } from "./tools/versions.js";
44
45
  import { registerWorkflowMutations } from "./tools/workflowMutations.js";
46
+ const PROVENANCE_NOTE = "WHERE THE ROWS COME FROM — `provenance`, for a dynamic table filled from " +
47
+ "a warehouse. It replaces the old data-source sync: there is no separate " +
48
+ "sync object any more, so create_data_source_sync / run_data_source_sync " +
49
+ "do not exist. `provenance` is " +
50
+ "`{ sourceId, sql, grain, keyColumns?, mode?, cron, timezone?, enabled? }`: " +
51
+ "`sourceId` the data source; `sql` the query whose RESULT fills the table " +
52
+ "(try it first with query_data_source); `grain` what ONE ROW of that " +
53
+ "result is, as a sentence (\"one row per month per country\") — " +
54
+ "mandatory, it decides what the table can be asked for ever after; " +
55
+ "`keyColumns` which columns identify a row for `mode: \"upsert\"` (the " +
56
+ "default — `append` takes no key); `cron` when it runs, read in " +
57
+ "`timezone` (default UTC); `enabled: false` pauses it. A table with " +
58
+ "provenance has no other filler — a workflow may not also write its " +
59
+ "rows. It is part of the table's design, so a changed query is published " +
60
+ "through request_publish_data_table like a changed column. To fill it " +
61
+ "now rather than at its next turn: refresh_data_table. " +
62
+ "\n\nMEASURES ARE NOT ON THE TABLE. A measure is its own entity " +
63
+ "(create_measure); a table carries only its `timeAxis` " +
64
+ "(`{ column, grain }`), which every measure over it reads.";
45
65
  /**
46
66
  * The entities the connector covers. Core entities (C4), memory entities (C5)
47
67
  * — skills, policies, reference docs — which have the same draft→publish
@@ -143,18 +163,51 @@ const ENTITIES = [
143
163
  label: "tables (authored reference data agents and decisions read)",
144
164
  deleteVersionParam: "expected_version",
145
165
  listPaging: { defaultPageSize: 20, maxPageSize: 200 },
146
- updateWarning: "`rows` AND `columns` ARE WHOLE-COLLECTION FIELDS: sending either " +
166
+ createNote: PROVENANCE_NOTE,
167
+ updateWarning: PROVENANCE_NOTE +
168
+ " Sending `provenance` replaces it whole; `clearProvenance: true` " +
169
+ "takes the source away and leaves the rows that are there. " +
170
+ "\n\n`rows` AND `columns` ARE WHOLE-COLLECTION FIELDS: sending either " +
147
171
  "REPLACES it entirely. Passing one row in `rows` does not append it — it " +
148
172
  "deletes every other row in the table. To change content, use " +
149
173
  "add_data_table_row / update_data_table_row / delete_data_table_row, " +
150
174
  "which address a single row and cannot destroy the rest. Use `rows` here " +
151
175
  "only when you genuinely mean to replace the whole content.",
152
176
  },
177
+ {
178
+ // A measure was a field on a table; the semantic model (axonity-flow#1881
179
+ // S12, #1841) made it an entity of its own, in the same order and spelling
180
+ // as a table's routes — so the whole family, versions and publish request
181
+ // included, comes from the registrars with no code of its own.
182
+ singular: "measure",
183
+ basePath: "/api/v1/measures",
184
+ updateMethod: "PUT",
185
+ label: "measures (the agreed definition of one number in the model)",
186
+ deleteVersionParam: "expectedVersion",
187
+ listPaging: { defaultPageSize: 20, maxPageSize: 200 },
188
+ createNote: "Fields: `label` (what a tile shows), `description` (what the number " +
189
+ "means — mandatory, an agent reads it to decide whether this is the " +
190
+ "number asked for), `definition` (the calculation), `tableId` (the " +
191
+ "table it reads; omit only for a ratio whose two sides each name their " +
192
+ "own `table`), `concept` (the NAME of the concept this number means — " +
193
+ "it must exist, create_concept first), `questions` (what it answers, " +
194
+ "in the words someone would ask) and optionally `name`, the handle — " +
195
+ "derived from the label when omitted and unique in the workspace. " +
196
+ "\n\n`definition` is `{ aggregation, column?, numerator?, " +
197
+ "denominator?, filters?, format?, direction?, target?, watchMargin? }`: " +
198
+ "aggregation is sum, average, count, count_distinct, min, max, latest " +
199
+ "(the value at the last date of each period — for a stock) or ratio " +
200
+ "(numerator ÷ denominator, each `{ aggregation, column?, table?, " +
201
+ "filters? }`). A filter is `{ column, operator, value }`. Column names " +
202
+ "come from read_measure_design. A wrong combination is refused with a " +
203
+ "422 that says why. " +
204
+ "\n\nIt is a DRAFT until published: request_publish_measure. Only a " +
205
+ "published measure gives a certified number.",
206
+ },
153
207
  // The three below arrived with axonity-flow#1849 (axonity-mcp#78). None is
154
208
  // versioned or publish-approved: a change is live the moment it is saved, so
155
209
  // there is no draft to discard and no request_publish_*. Each lists one page
156
- // on the shared cursor, and the writes on the first two are administrator-
157
- // only — see `ADMIN_ONLY` in tools/dataSources.ts.
210
+ // on the shared cursor.
158
211
  {
159
212
  singular: "data_source",
160
213
  basePath: "/api/v1/data-sources",
@@ -173,14 +226,13 @@ const ENTITIES = [
173
226
  "`policy` holds the limits every query is held to " +
174
227
  "(maxBytesBilled, maxSeconds, allowedDatasets, forbiddenDatasets, " +
175
228
  "personalColumns, dateFilters); all are empty by default. " +
176
- "\n\nThen test_data_source to see whether it answers. A `source_query` " +
177
- "knowledge note (create_reference_doc with kind source_query) names " +
178
- "this source by its id in `subjectSourceId`." +
179
- ADMIN_ONLY,
180
- updateWarning: "NO DRAFT: this changes the live source, which every sync and query " +
229
+ "\n\nThen test_data_source to see whether it answers. A table is " +
230
+ "filled from this source through its own `provenance.sourceId` " +
231
+ "(create_data_table) — not through a sync, and not through a " +
232
+ "reference doc.",
233
+ updateWarning: "NO DRAFT: this changes the live source, which every table it fills and every query " +
181
234
  "uses at once. `config` and `policy` are replaced WHOLE when sent — " +
182
- "read first and send the complete block." +
183
- ADMIN_ONLY,
235
+ "read first and send the complete block.",
184
236
  },
185
237
  {
186
238
  singular: "table_relationship",
@@ -197,18 +249,16 @@ const ENTITIES = [
197
249
  "many-to-many, it has no safe join) and an optional `description`. A " +
198
250
  "declaration that would make a total ambiguous — a second path between " +
199
251
  "the same two tables, say — is refused with a 422 that says why. Read " +
200
- "the sentence; it is the point." +
201
- ADMIN_ONLY,
252
+ "the sentence; it is the point.",
202
253
  updateWarning: "Only `verified` (somebody checked that the keys really match) and " +
203
254
  "`description` can change. To change the columns, delete and declare " +
204
- "it again." +
205
- ADMIN_ONLY,
255
+ "it again.",
206
256
  },
207
257
  {
208
258
  singular: "dashboard",
209
259
  basePath: "/api/v1/dashboards",
210
260
  updateMethod: "PUT",
211
- label: "dashboards (tiles of measures over the workspace's tables)",
261
+ label: "dashboards (tiles of measures over the workspace's model)",
212
262
  publishable: false,
213
263
  hasDiscardDraft: false,
214
264
  deleteVersionParam: "expected_version",
@@ -216,7 +266,7 @@ const ENTITIES = [
216
266
  createNote: "Fields: `name`, `description`, `visibility` (\"workspace\", the " +
217
267
  "default — everyone sees it — or \"private\") and `layout`, the " +
218
268
  "sections of tiles; omit it for an empty dashboard. A tile names a " +
219
- "measure by the id or name read_measure_design returns. The layout is " +
269
+ "measure by its name (list_measures). The layout is " +
220
270
  "checked when saved and a refusal names what is wrong.",
221
271
  updateWarning: "NO DRAFT: a saved dashboard is what everyone it is shared with sees. " +
222
272
  "`layout` is replaced WHOLE when sent — read first and send it complete.",
@@ -255,6 +305,7 @@ const VERSIONED = [
255
305
  basePath: "/api/v1/data-tables",
256
306
  publishedPath: "versions",
257
307
  },
308
+ { singular: "measure", basePath: "/api/v1/measures", publishedPath: "versions" },
258
309
  ];
259
310
  export function registerAll(server, client) {
260
311
  registerConventions(server, client);
@@ -292,6 +343,7 @@ export function registerAll(server, client) {
292
343
  registerDataSourceTools(server, client);
293
344
  registerMeasureTools(server, client);
294
345
  registerDashboardTools(server, client);
346
+ registerConceptTools(server, client);
295
347
  registerComponentTools(server, client);
296
348
  }
297
349
  export function buildServer(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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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Concepts — what a word means in this workspace, written once (axonity-mcp#81,
3
+ * the connector half of axonity-flow#1881 S3 / #1877).
4
+ *
5
+ * A concept is NOT a new entity type. The entries are rows of one table the
6
+ * platform keeps for the workspace, created with the first entry. So the
7
+ * lifecycle a concept inherits — draft, approval, versions, history — is that
8
+ * table's, and publishing the definitions is `request_publish_data_table` on
9
+ * the `tableId` every write here returns. No `request_publish_concept` exists,
10
+ * because there is no such entity to publish.
11
+ *
12
+ * What these four tools add over the generic row tools is the reason the
13
+ * platform built the route: the fields are fixed and each has a sentence that
14
+ * says what belongs in it. A blind cell dictionary would hand an agent the
15
+ * column names and none of that.
16
+ *
17
+ * Tool names follow the platform's word, `concept`, rather than "term": a
18
+ * measure points at one through a field called `concept`, and two names for
19
+ * one thing is the drift the semantic model exists to remove.
20
+ *
21
+ * Writes take no `expectedVersion`. That is the route's contract, the same as
22
+ * a table row write: a single addressed operation the service applies under
23
+ * its own lock.
24
+ */
25
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
26
+ import type { AxonityClient } from "../client.js";
27
+ export declare function registerConceptTools(server: McpServer, client: AxonityClient): void;
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Concepts — what a word means in this workspace, written once (axonity-mcp#81,
3
+ * the connector half of axonity-flow#1881 S3 / #1877).
4
+ *
5
+ * A concept is NOT a new entity type. The entries are rows of one table the
6
+ * platform keeps for the workspace, created with the first entry. So the
7
+ * lifecycle a concept inherits — draft, approval, versions, history — is that
8
+ * table's, and publishing the definitions is `request_publish_data_table` on
9
+ * the `tableId` every write here returns. No `request_publish_concept` exists,
10
+ * because there is no such entity to publish.
11
+ *
12
+ * What these four tools add over the generic row tools is the reason the
13
+ * platform built the route: the fields are fixed and each has a sentence that
14
+ * says what belongs in it. A blind cell dictionary would hand an agent the
15
+ * column names and none of that.
16
+ *
17
+ * Tool names follow the platform's word, `concept`, rather than "term": a
18
+ * measure points at one through a field called `concept`, and two names for
19
+ * one thing is the drift the semantic model exists to remove.
20
+ *
21
+ * Writes take no `expectedVersion`. That is the route's contract, the same as
22
+ * a table row write: a single addressed operation the service applies under
23
+ * its own lock.
24
+ */
25
+ import { z } from "zod";
26
+ import { guard, jsonResult } from "./result.js";
27
+ const BASE = "/api/v1/concepts";
28
+ const KIND = z
29
+ .enum(["concept", "state", "metric", "rule"])
30
+ .describe("`concept`: one of the company's own words and what it means here. " +
31
+ "`state`: when something counts as being in that state (\"lost\", " +
32
+ "\"active\"). `metric`: what a number means and what it is PER — the " +
33
+ "calculation is a measure, this is the sentence that says CAC is per " +
34
+ "customer. `rule`: a sentence that always applies.");
35
+ const NAME = z
36
+ .string()
37
+ .describe('The word as people here say it — "Active customer", not ' +
38
+ '"cust_active_flag". One entry per word; other words go in synonyms.');
39
+ const MEANING = z
40
+ .string()
41
+ .describe("One or two sentences, INCLUDING WHAT IT IS NOT. The exclusions are what " +
42
+ 'stop an agent guessing: "at least one D2C order in the month — not a ' +
43
+ 'trial customer, and not simply anyone who has not churned".');
44
+ const SYNONYMS = z
45
+ .array(z.string())
46
+ .describe('Other words people use for exactly this, so a question that says ' +
47
+ '"subscribers" finds it. A synonym may belong to only ONE concept in ' +
48
+ "the workspace.");
49
+ const REFERS_TO = z
50
+ .string()
51
+ .describe("What in the model this is about, in one of four forms: " +
52
+ "`measure:active_clients`, `table:orders_monthly`, " +
53
+ "`column:orders_monthly.country`, `value:orders_monthly.status=lost`. " +
54
+ "It must exist. Empty for a word that is not in the model yet.");
55
+ const OWNER = z
56
+ .string()
57
+ .describe('Who to ask when this definition is disputed — a role or a person, "CGO". ' +
58
+ "Approval says it may go live; this says whose it is.");
59
+ const SCOPE = z
60
+ .string()
61
+ .describe("For a `rule` only: where it applies. Empty is the whole model; " +
62
+ "otherwise `table:orders_monthly` or `column:orders_monthly.net_revenue`.");
63
+ const PUBLISHING = "\n\nNOT LIVE UNTIL PUBLISHED. The concepts live in one table, and every " +
64
+ "write answers with its `tableId`; request_publish_data_table on that id " +
65
+ "is what makes them count for a certified answer.";
66
+ export function registerConceptTools(server, client) {
67
+ server.tool("list_concepts", "This workspace's concepts — what each of its own words means — one page " +
68
+ "at a time. Read-only. " +
69
+ "\n\nTHE RESPONSE IS ONE PAGE: { items, nextCursor, pageSize, hasMore }. " +
70
+ "While hasMore is true you have not seen them all — pass nextCursor " +
71
+ "back as cursor. `q` matches any field, synonyms included, across the " +
72
+ "whole list before the page is cut: \"is there already a concept for " +
73
+ "X\" is one call. Do that before create_concept; a word belongs to one " +
74
+ "concept only. " +
75
+ "\n\nAn empty first page means the workspace has written none yet — not " +
76
+ "an error.", {
77
+ q: z.string().optional().describe("Keep only concepts with a field containing this text."),
78
+ limit: z.number().int().optional().describe("Page size; clamped to 200."),
79
+ cursor: z
80
+ .string()
81
+ .optional()
82
+ .describe("nextCursor from the previous page. Omit for the first. Never build one."),
83
+ }, async ({ q, limit, cursor }) => guard(async () => jsonResult(await client.get(BASE, { q, limit, cursor }))));
84
+ server.tool("create_concept", "Write one concept: what a word means here, once, with an owner. The " +
85
+ "list it lives in is created with the first one. " +
86
+ "\n\nRead axonity_semantic_conventions first for what a good one says. " +
87
+ "A measure points at a concept by its `name` (create_measure's " +
88
+ "`concept`), so write the concept before the measure that means it." +
89
+ PUBLISHING, {
90
+ kind: KIND,
91
+ name: NAME,
92
+ meaning: MEANING,
93
+ owner: OWNER,
94
+ synonyms: SYNONYMS.optional(),
95
+ refersTo: REFERS_TO.optional(),
96
+ scope: SCOPE.optional(),
97
+ }, async (fields) => guard(async () => jsonResult(await client.post(BASE, fields))));
98
+ server.tool("update_concept", "Change named fields of one concept; the fields you do not send keep " +
99
+ "their values. Sending `\"\"` or `[]` is a real edit — it clears that " +
100
+ "field." +
101
+ PUBLISHING, {
102
+ id: z.string().describe("The concept's id (from list_concepts)."),
103
+ kind: KIND.optional(),
104
+ name: NAME.optional(),
105
+ meaning: MEANING.optional(),
106
+ owner: OWNER.optional(),
107
+ synonyms: SYNONYMS.optional(),
108
+ refersTo: REFERS_TO.optional(),
109
+ scope: SCOPE.optional(),
110
+ }, async ({ id, ...changes }) => guard(async () => jsonResult(await client.patch(`${BASE}/${id}`, changes))));
111
+ server.tool("delete_concept", "Remove one concept from the working list. The removed entry rides back " +
112
+ "in the response. Every published version still carries it — so an " +
113
+ "answer that leaned on it can still say so — until the list is " +
114
+ "published again without it." +
115
+ PUBLISHING, {
116
+ id: z.string().describe("The concept's id."),
117
+ confirm: z
118
+ .literal(true)
119
+ .describe("Must be true. Acknowledges the definition is removed from the draft."),
120
+ }, async ({ id }) => guard(async () => jsonResult(await client.del(`${BASE}/${id}`))));
121
+ }
122
+ //# sourceMappingURL=concepts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"concepts.js","sourceRoot":"","sources":["../../src/tools/concepts.ts"],"names":[],"mappings":"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"}