@axonity-ai/mcp 0.17.1 → 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.
- package/README.md +69 -16
- package/dist/errors.js +41 -11
- package/dist/errors.js.map +1 -1
- package/dist/generated/listFilters.js +23 -1
- package/dist/generated/listFilters.js.map +1 -1
- package/dist/index.js +206 -26
- package/dist/index.js.map +1 -1
- package/dist/tools/access.d.ts +19 -0
- package/dist/tools/access.js +71 -0
- package/dist/tools/access.js.map +1 -0
- package/dist/tools/applications.d.ts +24 -0
- package/dist/tools/applications.js +145 -0
- package/dist/tools/applications.js.map +1 -0
- package/dist/tools/concepts.js +68 -3
- package/dist/tools/concepts.js.map +1 -1
- package/dist/tools/conventions.d.ts +2 -2
- package/dist/tools/conventions.js +17 -7
- package/dist/tools/conventions.js.map +1 -1
- package/dist/tools/dataSources.d.ts +5 -5
- package/dist/tools/dataSources.js +10 -9
- package/dist/tools/dataSources.js.map +1 -1
- package/dist/tools/dataTables.js +7 -5
- package/dist/tools/dataTables.js.map +1 -1
- package/dist/tools/knowledgeGraph.d.ts +28 -0
- package/dist/tools/knowledgeGraph.js +126 -0
- package/dist/tools/knowledgeGraph.js.map +1 -0
- package/dist/tools/queries.d.ts +18 -0
- package/dist/tools/queries.js +70 -0
- package/dist/tools/queries.js.map +1 -0
- package/dist/tools/validation.js +21 -3
- package/dist/tools/validation.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -55,8 +55,9 @@ was kept here. A conformance test asserts their absence.
|
|
|
55
55
|
|
|
56
56
|
### The generic entity family
|
|
57
57
|
|
|
58
|
-
|
|
59
|
-
persona, output_schema, prompt_snippet, flow, data_table, measure
|
|
58
|
+
Thirteen entities — **workflow, agent, tool, skill, policy, reference_doc,
|
|
59
|
+
persona, output_schema, prompt_snippet, flow, data_table, measure,
|
|
60
|
+
application** — share one shape,
|
|
60
61
|
though not every entity gets every verb (see the per-entity notes below for the
|
|
61
62
|
exceptions):
|
|
62
63
|
|
|
@@ -73,8 +74,9 @@ exceptions):
|
|
|
73
74
|
| `request_publish_<entity>` | Ask for a draft to be published — creates a pending approval; never publishes. |
|
|
74
75
|
|
|
75
76
|
Exceptions: `persona` has no `create_persona` (create only via
|
|
76
|
-
`create_agent_persona`). And `list_data_tables`
|
|
77
|
-
whole library — see Tables
|
|
77
|
+
`create_agent_persona`). And `list_data_tables` (like `list_measures` and
|
|
78
|
+
`list_applications`) answers **one page**, not the whole library — see Tables
|
|
79
|
+
below.
|
|
78
80
|
|
|
79
81
|
Three more entities use the same verbs **without** the draft ones —
|
|
80
82
|
**data_source, table_relationship, dashboard**. None is versioned: a change is
|
|
@@ -91,7 +93,8 @@ backend applies it before the rows come back:
|
|
|
91
93
|
`list_prompt_snippets({ deleted? })`,
|
|
92
94
|
`list_data_tables({ name?, status?, isDynamic? })`,
|
|
93
95
|
`list_data_sources({ enabled? })`,
|
|
94
|
-
`list_table_relationships({ tableId? })
|
|
96
|
+
`list_table_relationships({ tableId? })`,
|
|
97
|
+
`list_applications({ name? })`.
|
|
95
98
|
|
|
96
99
|
That table is **generated** from the pinned schema's own query parameters
|
|
97
100
|
(`npm run generate:filters` → `src/generated/listFilters.ts`), not hand-listed.
|
|
@@ -129,7 +132,8 @@ Plus:
|
|
|
129
132
|
|
|
130
133
|
### Version history, rollback, and version-level delete
|
|
131
134
|
|
|
132
|
-
For the
|
|
135
|
+
For the versioned entities (including `flow`, `data_table`, `measure` and
|
|
136
|
+
`application`):
|
|
133
137
|
|
|
134
138
|
| Tool | What it does |
|
|
135
139
|
|------|--------------|
|
|
@@ -255,10 +259,11 @@ across these routes — the tool parameter names say which.
|
|
|
255
259
|
would yield), `toolId` (whether a row exists) and `isLive` (whether a run
|
|
256
260
|
can reach it) separately — an author who ticked "may add rows" and has not
|
|
257
261
|
published has granted nothing yet.
|
|
258
|
-
- **The semantic model** (`data_source`, `data_table
|
|
259
|
-
`table_relationship`, `measure`, concepts, `dashboard`): a
|
|
260
|
-
connects a warehouse such as BigQuery,
|
|
261
|
-
|
|
262
|
+
- **The semantic model** (`data_source`, `query`, `data_table`,
|
|
263
|
+
`table_relationship`, `measure`, concepts and their links, `dashboard`): a
|
|
264
|
+
workspace connects a warehouse such as BigQuery, named queries read it,
|
|
265
|
+
dynamic tables are filled by those queries on a schedule, measures define
|
|
266
|
+
the numbers over those tables, concepts say
|
|
262
267
|
what each word and number means, and dashboards show the measures. Read
|
|
263
268
|
`axonity_semantic_conventions` before building one — the platform serves
|
|
264
269
|
those rules.
|
|
@@ -273,12 +278,24 @@ across these routes — the tool parameter names say which.
|
|
|
273
278
|
`query_data_source` runs read-only SQL with capped rows (`truncated` says
|
|
274
279
|
when rows were left out); a 422 is the query being refused, a 502 is the
|
|
275
280
|
warehouse.
|
|
276
|
-
- **
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
281
|
+
- **A query is its own versioned entity** (`query`): the generic family
|
|
282
|
+
plus the version tools, `request_publish_query`, `test_query` (run it
|
|
283
|
+
once with values; it suggests the `returns`), `read_query_usage` (the
|
|
284
|
+
read tool its publication mints, and which agents hold it) and
|
|
285
|
+
`list_query_live_versions`. It carries the SQL, the source, the grain,
|
|
286
|
+
its typed `parameters` and its described `returns`.
|
|
287
|
+
- **There is no sync object, and no `provenance`.** A table says what fills
|
|
288
|
+
it in `filledBy` — `author`, `workflow` or `query` — and a query-filled
|
|
289
|
+
table names its query in `fillingQueryId` and when it runs in `rhythm`
|
|
290
|
+
(`{ cron, timezone, keyColumns, mode, enabled }`). Only a table filled by
|
|
291
|
+
a query or a workflow is dynamic, and only a dynamic table can be read by
|
|
292
|
+
a measure. `refresh_data_table` fills it now instead of at its next turn
|
|
293
|
+
(it does not wait for the result; read the table's `fill` afterwards).
|
|
294
|
+
- **Concept links**: a concept's `refersTo` points at one thing;
|
|
295
|
+
`link_concept`, `unlink_concept` and `list_concept_links` hang the same
|
|
296
|
+
word on every column, table, measure, value or query that means it. The
|
|
297
|
+
links are rows of the `concept_links` table and go live when that table
|
|
298
|
+
is published.
|
|
282
299
|
- **A measure is its own versioned entity**: the generic family plus the
|
|
283
300
|
version tools, `request_publish_measure`, and `list_measure_live_versions`.
|
|
284
301
|
It names the concept it means in `concept`, and the questions it answers
|
|
@@ -317,6 +334,42 @@ across these routes — the tool parameter names say which.
|
|
|
317
334
|
tile). Plus `duplicate_dashboard`.
|
|
318
335
|
- A reference doc has no `semanticKind` any more; the platform refuses it
|
|
319
336
|
and the other retired fields and says where each one went.
|
|
337
|
+
- **Applications** (`application`): a program an agent operates through an
|
|
338
|
+
executor — a Windows program (`win32`) or a website (`web`) — with its
|
|
339
|
+
`limits`, what the agent may never do in it (processes, windows, keys,
|
|
340
|
+
buttons, folders, domains, secrets by name). The generic family and the
|
|
341
|
+
version tools, and `request_publish_application`: an executor receives only
|
|
342
|
+
the published limits, so only a human makes them live.
|
|
343
|
+
- **Executors**: `set_application_executors` / `read_application_executors`
|
|
344
|
+
choose the machines an application runs on (the whole set at once);
|
|
345
|
+
`list_executors`, `read_executor`, `read_executor_applications` and
|
|
346
|
+
`list_executor_commands` only read. Registering or revoking an executor
|
|
347
|
+
is a human's job — it mints a token, and no tool here ever returns one.
|
|
348
|
+
- **What it has learned**: `list_application_knowledge` (elements,
|
|
349
|
+
instructions, lessons, one page at a time) and
|
|
350
|
+
`list_application_knowledge_versions`; `forget_application_knowledge`,
|
|
351
|
+
`restore_application_knowledge` and `write_application_knowledge` to
|
|
352
|
+
correct it. Linking executors and changing knowledge are reserved for a
|
|
353
|
+
workspace administrator on the platform, and a service token always
|
|
354
|
+
counts as a member, so today those answer with a refusal that says so.
|
|
355
|
+
- **Who may read what** (labels, audiences, roles): every policy, skill,
|
|
356
|
+
reference doc and table carries a label — `level` (public, internal,
|
|
357
|
+
confidential) and `audienceIds`, whom it is meant for. `list_audiences` /
|
|
358
|
+
`read_audience` give the ids to put there, `list_roles` / `read_role` say
|
|
359
|
+
what each role reads and maintains, and `read_member_roles` which roles a
|
|
360
|
+
colleague holds. Leave the label out and it gets the default (internal, for
|
|
361
|
+
Staff); `level: null` makes a thing readable by nobody. Narrowing a label is
|
|
362
|
+
always allowed; widening it is a colleague's act, and the refusal says so.
|
|
363
|
+
An agent's `clearance` is set by an administrator; a workflow's by its
|
|
364
|
+
author, through the publish approval. Managing audiences and roles is not
|
|
365
|
+
here yet.
|
|
366
|
+
- **The knowledge graph** (Cortex), read with the token's own clearance:
|
|
367
|
+
`search_knowledge_graph`, `list_knowledge_topics`, `list_topic_facts`,
|
|
368
|
+
`read_fact` (passages, sources, certainty, validity, which run taught it),
|
|
369
|
+
`read_source`, `list_knowledge_tree`, `list_related_topics` and
|
|
370
|
+
`list_archived_facts`. Looking only: confirming, correcting, archiving or
|
|
371
|
+
relabelling a fact ends with a person. With the module off, every call says
|
|
372
|
+
so in plain words.
|
|
320
373
|
- `list_deleted_prompt_snippets` calls `/api/v1/prompt-snippets/deleted`; the
|
|
321
374
|
backend returns it as `{ items: [... ] }`, and the tool forwards that response
|
|
322
375
|
unchanged.
|
package/dist/errors.js
CHANGED
|
@@ -167,21 +167,51 @@ export class AuthError extends AxonityApiError {
|
|
|
167
167
|
* cannot…" here sends it and its human to the token settings for something no
|
|
168
168
|
* token setting fixes (#78).
|
|
169
169
|
*/
|
|
170
|
-
const ADMIN_ONLY_SENTENCE = /only administrators/i;
|
|
170
|
+
const ADMIN_ONLY_SENTENCE = /only (administrators|an administrator)\b/i;
|
|
171
|
+
/**
|
|
172
|
+
* The platform's sentence when a whole MODULE is off in the workspace
|
|
173
|
+
* ("Cortex is switched off in this workspace…"). Not the token's fault and not
|
|
174
|
+
* the call's: the advice is the opposite of the scope advice, so it gets its
|
|
175
|
+
* own words (axonity-mcp#88).
|
|
176
|
+
*/
|
|
177
|
+
const MODULE_OFF_SENTENCE = /is switched off in this workspace/i;
|
|
178
|
+
/**
|
|
179
|
+
* The platform's refusal to WIDEN a label — make knowledge readable for more
|
|
180
|
+
* people. Widening is publishing, and only a colleague who maintains the
|
|
181
|
+
* audiences may do it; a token never can, whatever its scopes (axonity-mcp#88).
|
|
182
|
+
*/
|
|
183
|
+
const WIDENING_SENTENCE = /widen(ing)? a label/i;
|
|
184
|
+
/** The 403 explanation for a refusal whose body says why. */
|
|
185
|
+
function forbiddenExplanation(said) {
|
|
186
|
+
if (MODULE_OFF_SENTENCE.test(said)) {
|
|
187
|
+
return ("Forbidden (403): MODULE SWITCHED OFF. This part of Axonity is switched " +
|
|
188
|
+
"off in this workspace, so nothing in it can be read or changed — this " +
|
|
189
|
+
"is not a mistake in your call and not a limit of your token. Tell your " +
|
|
190
|
+
"human: a platform administrator can switch it on.");
|
|
191
|
+
}
|
|
192
|
+
if (WIDENING_SENTENCE.test(said)) {
|
|
193
|
+
return ("Forbidden (403): WIDENING A LABEL. Making something readable for more " +
|
|
194
|
+
"people (a lower level, or an audience added) is publishing it, and only " +
|
|
195
|
+
"a colleague who maintains those audiences may do that — never an agent " +
|
|
196
|
+
"or a token. Narrowing is always allowed. Keep the label as it is, or ask " +
|
|
197
|
+
"a colleague to widen it in Axonity.");
|
|
198
|
+
}
|
|
199
|
+
if (ADMIN_ONLY_SENTENCE.test(said)) {
|
|
200
|
+
return ("Forbidden (403): ADMINISTRATOR ONLY. This action is reserved for a " +
|
|
201
|
+
"workspace administrator, and a service token always counts as a " +
|
|
202
|
+
"member — so no token can do it, whatever its scopes. This is not a " +
|
|
203
|
+
"mistake in your call and retrying will not help. Tell your human: " +
|
|
204
|
+
"an administrator can do it in Axonity.");
|
|
205
|
+
}
|
|
206
|
+
return ("Forbidden (403): this service token is not allowed to perform that action. " +
|
|
207
|
+
"A read-only token cannot create, update, delete, or request-publish, and no " +
|
|
208
|
+
"token may publish directly — use request_publish_* and let a human approve.");
|
|
209
|
+
}
|
|
171
210
|
/** 403 — the token lacks the scope for this action (e.g. read-only on a write). */
|
|
172
211
|
export class ForbiddenError extends AxonityApiError {
|
|
173
212
|
constructor(body) {
|
|
174
213
|
const env = asEnvelope(body);
|
|
175
|
-
|
|
176
|
-
super(withDetail(adminOnly
|
|
177
|
-
? "Forbidden (403): ADMINISTRATOR ONLY. This action is reserved for a " +
|
|
178
|
-
"workspace administrator, and a service token always counts as a " +
|
|
179
|
-
"member — so no token can do it, whatever its scopes. This is not a " +
|
|
180
|
-
"mistake in your call and retrying will not help. Tell your human: " +
|
|
181
|
-
"an administrator can do it in Axonity."
|
|
182
|
-
: "Forbidden (403): this service token is not allowed to perform that action. " +
|
|
183
|
-
"A read-only token cannot create, update, delete, or request-publish, and no " +
|
|
184
|
-
"token may publish directly — use request_publish_* and let a human approve.", body), 403, body, env?.code ?? "forbidden", env?.retryable ?? false);
|
|
214
|
+
super(withDetail(forbiddenExplanation(describeBody(body) ?? ""), body), 403, body, env?.code ?? "forbidden", env?.retryable ?? false);
|
|
185
215
|
this.name = "ForbiddenError";
|
|
186
216
|
}
|
|
187
217
|
}
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,7 +91,13 @@ export const LIST_FILTERS = {
|
|
|
91
91
|
arg: "isDynamic",
|
|
92
92
|
query: "is_dynamic",
|
|
93
93
|
type: "boolean",
|
|
94
|
-
description: "true: only tables
|
|
94
|
+
description: "true: only tables whose rows change without an author typing them. false: only reference data the author maintains. Omit for both. Derived from filledBy, which is the more precise question.",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
arg: "filledBy",
|
|
98
|
+
query: "filled_by",
|
|
99
|
+
type: "string",
|
|
100
|
+
description: "Only tables filled this way: author, workflow or query. A value outside the three is refused rather than silently ignored.",
|
|
95
101
|
},
|
|
96
102
|
],
|
|
97
103
|
"data_source": [
|
|
@@ -118,5 +124,21 @@ export const LIST_FILTERS = {
|
|
|
118
124
|
description: "Only the measures that read this table — what a table page shows.",
|
|
119
125
|
},
|
|
120
126
|
],
|
|
127
|
+
"application": [
|
|
128
|
+
{
|
|
129
|
+
arg: "name",
|
|
130
|
+
query: "name",
|
|
131
|
+
type: "string",
|
|
132
|
+
description: "Only the application with exactly this name.",
|
|
133
|
+
},
|
|
134
|
+
],
|
|
135
|
+
"query": [
|
|
136
|
+
{
|
|
137
|
+
arg: "dataSourceId",
|
|
138
|
+
query: "dataSourceId",
|
|
139
|
+
type: "string",
|
|
140
|
+
description: "Only the queries that read this source.",
|
|
141
|
+
},
|
|
142
|
+
],
|
|
121
143
|
};
|
|
122
144
|
//# 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,
|
|
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,+LAA+L;SAClM;QACD;YACE,GAAG,EAAE,UAAU;YACf,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,4HAA4H;SAC/H;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;IACD,aAAa,EAAE;QACb;YACE,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,8CAA8C;SACjD;KACF;IACD,OAAO,EAAE;QACP;YACE,GAAG,EAAE,cAAc;YACnB,KAAK,EAAE,cAAc;YACrB,IAAI,EAAE,QAAQ;YACd,WAAW,EACT,yCAAyC;SAC5C;KACF;CACF,CAAC"}
|
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,22 +48,32 @@ 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
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"`
|
|
57
|
-
"
|
|
58
|
-
"`
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
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.";
|
|
@@ -96,8 +110,8 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
|
|
|
96
110
|
"as text or as the stored tree. Four kinds, one grammar: " +
|
|
97
111
|
"\n- a BASE aggregates one COLUMN of one table: " +
|
|
98
112
|
"`sum(orders.amount) where orders.channel = 'd2c'`. It reads a column, " +
|
|
99
|
-
"never a calculation per row — a value per row belongs in the
|
|
100
|
-
"
|
|
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; " +
|
|
101
115
|
"\n- a DERIVED measure computes with other measures by name: " +
|
|
102
116
|
"`[revenue_d2c] + [revenue_retail]`, `divide([cm1], [net_revenue])`, " +
|
|
103
117
|
"`divide([revenue_d2c], [net_revenue] ignore orders.channel)` for a share " +
|
|
@@ -125,6 +139,94 @@ const MEASURE_NOTE = "READ get_measure_formula_spec FIRST; never write a functio
|
|
|
125
139
|
"refused with `legacy_field`. " +
|
|
126
140
|
"\n\nIt is a DRAFT until published: request_publish_measure. Only a " +
|
|
127
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.";
|
|
128
230
|
/**
|
|
129
231
|
* The entities the connector covers. Core entities (C4), memory entities (C5)
|
|
130
232
|
* — skills, policies, reference docs — which have the same draft→publish
|
|
@@ -138,6 +240,8 @@ const ENTITIES = [
|
|
|
138
240
|
updateMethod: "PATCH",
|
|
139
241
|
label: "workflows (business processes)",
|
|
140
242
|
deleteVersionParam: "expectedVersion",
|
|
243
|
+
createNote: WORKFLOW_CLEARANCE_NOTE,
|
|
244
|
+
updateWarning: WORKFLOW_CLEARANCE_NOTE,
|
|
141
245
|
},
|
|
142
246
|
{
|
|
143
247
|
singular: "agent",
|
|
@@ -145,6 +249,8 @@ const ENTITIES = [
|
|
|
145
249
|
updateMethod: "PUT",
|
|
146
250
|
label: "agents",
|
|
147
251
|
deleteVersionParam: "expectedVersion",
|
|
252
|
+
createNote: AGENT_CLEARANCE_NOTE,
|
|
253
|
+
updateWarning: AGENT_CLEARANCE_NOTE,
|
|
148
254
|
},
|
|
149
255
|
{
|
|
150
256
|
singular: "tool",
|
|
@@ -162,6 +268,8 @@ const ENTITIES = [
|
|
|
162
268
|
updateMethod: "PUT",
|
|
163
269
|
label: "skills (reusable know-how for agents)",
|
|
164
270
|
deleteVersionParam: "expected_version",
|
|
271
|
+
createNote: LABEL_NOTE,
|
|
272
|
+
updateWarning: LABEL_UPDATE_NOTE,
|
|
165
273
|
},
|
|
166
274
|
{
|
|
167
275
|
singular: "policy",
|
|
@@ -170,6 +278,8 @@ const ENTITIES = [
|
|
|
170
278
|
label: "policies (rules and guardrails for agents)",
|
|
171
279
|
plural: "policies",
|
|
172
280
|
deleteVersionParam: "expected_version",
|
|
281
|
+
createNote: LABEL_NOTE,
|
|
282
|
+
updateWarning: LABEL_UPDATE_NOTE,
|
|
173
283
|
},
|
|
174
284
|
{
|
|
175
285
|
singular: "reference_doc",
|
|
@@ -177,6 +287,8 @@ const ENTITIES = [
|
|
|
177
287
|
updateMethod: "PUT",
|
|
178
288
|
label: "reference docs (background knowledge for agents)",
|
|
179
289
|
deleteVersionParam: "expected_version",
|
|
290
|
+
createNote: LABEL_NOTE,
|
|
291
|
+
updateWarning: LABEL_UPDATE_NOTE,
|
|
180
292
|
},
|
|
181
293
|
{
|
|
182
294
|
singular: "output_schema",
|
|
@@ -226,20 +338,24 @@ const ENTITIES = [
|
|
|
226
338
|
label: "tables (authored reference data agents and decisions read)",
|
|
227
339
|
deleteVersionParam: "expected_version",
|
|
228
340
|
listPaging: { defaultPageSize: 20, maxPageSize: 200 },
|
|
229
|
-
createNote: `${
|
|
341
|
+
createNote: `${FILL_NOTE}\n\n${DATE_TABLE_NOTE}\n\n${LABEL_NOTE}`,
|
|
230
342
|
deleteNote: BREAKS_MEASURE_NOTE,
|
|
231
343
|
publishNote: BREAKS_MEASURE_NOTE,
|
|
232
|
-
updateWarning:
|
|
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. " +
|
|
233
349
|
"\n\n" +
|
|
234
350
|
DATE_TABLE_NOTE +
|
|
235
|
-
" Sending `provenance` replaces it whole; `clearProvenance: true` " +
|
|
236
|
-
"takes the source away and leaves the rows that are there. " +
|
|
237
351
|
"\n\n`rows` AND `columns` ARE WHOLE-COLLECTION FIELDS: sending either " +
|
|
238
352
|
"REPLACES it entirely. Passing one row in `rows` does not append it — it " +
|
|
239
353
|
"deletes every other row in the table. To change content, use " +
|
|
240
354
|
"add_data_table_row / update_data_table_row / delete_data_table_row, " +
|
|
241
355
|
"which address a single row and cannot destroy the rest. Use `rows` here " +
|
|
242
|
-
"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,
|
|
243
359
|
},
|
|
244
360
|
{
|
|
245
361
|
// A measure was a field on a table; the semantic model (axonity-flow#1881
|
|
@@ -273,6 +389,60 @@ const ENTITIES = [
|
|
|
273
389
|
"the tables it reads follow from its formula. Sending `definition` " +
|
|
274
390
|
"replaces it whole, so send the `expression` with it.",
|
|
275
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
|
+
},
|
|
276
446
|
// The three below arrived with axonity-flow#1849 (axonity-mcp#78). None is
|
|
277
447
|
// versioned or publish-approved: a change is live the moment it is saved, so
|
|
278
448
|
// there is no draft to discard and no request_publish_*. Each lists one page
|
|
@@ -296,9 +466,9 @@ const ENTITIES = [
|
|
|
296
466
|
"(maxBytesBilled, maxSeconds, allowedDatasets, forbiddenDatasets, " +
|
|
297
467
|
"personalColumns, dateFilters); all are empty by default. " +
|
|
298
468
|
"\n\nThen test_data_source to see whether it answers. A table is " +
|
|
299
|
-
"filled from this source
|
|
300
|
-
"
|
|
301
|
-
"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.",
|
|
302
472
|
updateWarning: "NO DRAFT: this changes the live source, which every table it fills and every query " +
|
|
303
473
|
"uses at once. `config` and `policy` are replaced WHOLE when sent — " +
|
|
304
474
|
"read first and send the complete block.",
|
|
@@ -376,6 +546,12 @@ const VERSIONED = [
|
|
|
376
546
|
publishedPath: "versions",
|
|
377
547
|
},
|
|
378
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
|
+
},
|
|
379
555
|
];
|
|
380
556
|
export function registerAll(server, client) {
|
|
381
557
|
registerConventions(server, client);
|
|
@@ -415,7 +591,11 @@ export function registerAll(server, client) {
|
|
|
415
591
|
registerMeasureFormulaTools(server, client);
|
|
416
592
|
registerDashboardTools(server, client);
|
|
417
593
|
registerConceptTools(server, client);
|
|
594
|
+
registerQueryTools(server, client);
|
|
418
595
|
registerComponentTools(server, client);
|
|
596
|
+
registerApplicationTools(server, client);
|
|
597
|
+
registerAccessTools(server, client);
|
|
598
|
+
registerKnowledgeGraphTools(server, client);
|
|
419
599
|
}
|
|
420
600
|
export function buildServer(client) {
|
|
421
601
|
const server = new McpServer({ name: "axonity", version: "0.1.0" });
|