@axonity-ai/mcp 0.19.0 → 0.20.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.
@@ -241,6 +241,16 @@ has run cleanly once, at its current version.
241
241
 
242
242
  ## Per entity — what to create, and what "complete" means
243
243
 
244
+ **The platform's live create contract wins.** \`get_entity_authoring_contract\`
245
+ reads this deploy's own contract per entity — required fields, allowed values,
246
+ and the rules a publication checks — generated from the code that enforces
247
+ them, with a \`rulesVersion\`. The notes below are kept by hand in this
248
+ connector: guidance on order and on what "complete" means, SUBORDINATE to that
249
+ contract. Where they disagree, the contract is right and this text is behind.
250
+ On a deploy that does not serve it yet the tool says so; then the platform's
251
+ refusal on save or publish (and \`get_publish_release\`'s readiness) is the
252
+ authority, not these notes.
253
+
244
254
  Build in dependency order: a thing you will REFERENCE must exist before the
245
255
  thing that references it. So: tools and output-schemas first, then agents (which
246
256
  list tool ids), then workflows (whose steps name agents and tools), then
@@ -251,7 +261,7 @@ made any time before you attach them.
251
261
  - Required: \`name\`. Also: \`description\`, \`type\`, \`inputSchema\`,
252
262
  \`outputSchema\`, \`implementation\`, \`authConfig\`, \`surfacing\`.
253
263
  - \`type\`: \`"function"\` (default) | \`"connector"\` | \`"validator"\` |
254
- \`"evaluator"\`. \`surfacing\`: \`"always"\` (in the agent's tool list) |
264
+ \`"evaluator"\` | \`"executor"\`. \`surfacing\`: \`"always"\` (in the agent's tool list) |
255
265
  \`"on_demand"\`.
256
266
  - \`inputSchema\` / \`outputSchema\` are JSON-Schema objects describing the tool's
257
267
  params and result. Set them — an agent binds to a tool by its declared I/O; a
@@ -270,6 +280,23 @@ made any time before you attach them.
270
280
  or ""); a human fills the secret in Axonity. Test with
271
281
  \`execute_stored_connector\` (uses the real, server-side-decrypted secret;
272
282
  you see only the result).
283
+ - **\`implementation.effect\` is required to PUBLISH**: \`"reads"\` (fetches,
284
+ looks something up) or \`"acts"\` (sends, writes, starts something). A
285
+ draft saves without it; the publish approval refuses it ("Set the
286
+ connector's side effects … before publishing"). Set it at create time,
287
+ so the human approving is not the first to find out.
288
+ - **An answer that is a file**: \`responseMapping: { "type": "file",
289
+ "filename": "{{filename}}" }\` keeps the bytes as a file of the run and
290
+ returns its reference \`{ fileId, filename, contentType, sizeBytes }\` —
291
+ the shape an upload has, so Digitize documents reads it and a
292
+ sub-workflow's file parameter takes it. \`filename\` is optional (the
293
+ far end's \`Content-Disposition\` name, else \`document\`) and may use
294
+ the inputs. No \`responseTransform\` with a file answer. Outside a run
295
+ (\`execute_stored_connector\`) nothing is stored: you see name and size.
296
+ - **executor** — runs a command on a registered executor (a program on
297
+ the customer's side). The save refuses a tool that names no executor or a
298
+ command that executor does not know; \`list_executors\` and
299
+ \`list_executor_commands\` say what exists.
273
300
  - **validator / evaluator** — a constrained kind, and \`implementation\` takes
274
301
  ONE OF TWO shapes. Either \`{"builtin": "validators.<name>"}\`, naming a
275
302
  house predicate — look at the tenant's existing validator/evaluator tools
@@ -311,6 +338,15 @@ made any time before you attach them.
311
338
  - \`replace_workflow_document\` — a full-document atomic PUT.
312
339
  - The document is a graph: \`steps.all[]\` (each \`{ id, type, name, ... }\`) and
313
340
  \`steps.edges[]\` (each \`{ id, from, to, type? }\`) plus \`triggers\`.
341
+ - A step's GOAL is read from a different place per step type: an \`agent\`
342
+ step's \`contract.goal\`, a \`manual\` or \`automation\` step's
343
+ \`config.goal\`. Written in the other place it is stored and read by nobody,
344
+ and the validator keeps reporting \`step_no_goal\`.
345
+ - After every \`apply_workflow_mutations\` / \`replace_workflow_document\` the
346
+ connector runs \`validate_workflow\` on the stored workflow and returns its
347
+ verdict as \`validation\`. Report those issues as they are. Green there means
348
+ every PLATFORM check passed — none of them asks whether the editor can draw
349
+ the document, so open it in the editor before you call it done.
314
350
  - WHICH VALUES a step's \`type\` and a trigger's \`typeId\` may hold is answered
315
351
  by \`get_workflow_authoring_spec\`, read live from this deploy. This guide
316
352
  does not list them, on purpose: it used to name nine step types where seven
@@ -384,8 +420,10 @@ A validator is a GATE on a submitted output: it runs after an agent produces a
384
420
  result and can refuse it. Specs are written in two places and carry the same
385
421
  key names in both — \`permissions.outputValidators\` on an agent, and
386
422
  \`validators\` inside an output_schema's \`schemaBody\`. The backend's OpenAPI
387
- description of \`schemaBody\` is the source for the full contract; what follows
388
- is the part you cannot author without.
423
+ description of \`schemaBody\` is the source for the full contract, and the
424
+ platform's live contract (\`get_entity_authoring_contract\`, output_schema)
425
+ wins over this section where this deploy serves it. What follows is the part
426
+ you cannot author without, checked against the platform and SUBORDINATE to both.
389
427
 
390
428
  - A spec names its check in ONE of two ways, and each brings its own binding:
391
429
  - \`function\` — a shipped predicate (e.g. \`validators.min_length\`), bound
@@ -728,14 +766,15 @@ a document to find out what the platform did.
728
766
  ## Triggers
729
767
  - A published workflow still does nothing until it has a trigger. A trigger has
730
768
  TWO halves, and drawing one on the canvas is only the first.
731
- - **A schedule is reconciled for you.** Draw it in the document, publish, and
732
- the firing row is brought into line. That is the exception.
733
- - **A webhook or conditional trigger is NOT.** Its row must be created
734
- separately — \`create_webhook_trigger\` / \`create_conditional_trigger\` —
735
- and publishing will not create one. A webhook drawn and published with no row
736
- is an endpoint that does not exist; the validator says so with
737
- \`trigger_not_wired\`, a WARNING, so the publish still goes through. Take the
738
- warning seriously: nothing else will tell you.
769
+ - **A schedule and a conditional start are reconciled for you.** Draw them in
770
+ the document, publish, and the firing row is brought into line: created,
771
+ updated, and removed when the element is gone. A deploy does the same and
772
+ brings new ones in switched off.
773
+ - **A webhook is NOT.** Its row must be created separately —
774
+ \`create_webhook_trigger\` — and publishing will not create one. A webhook
775
+ drawn and published with no row is an endpoint that does not exist; the
776
+ validator says so with \`trigger_not_wired\`, a WARNING, so the publish still
777
+ goes through. Take the warning seriously: nothing else will tell you.
739
778
  - Trigger deletes are HARD deletes — no restore. Webhook tokens are shown once
740
779
  at create/rotate and are never retrievable; hand them straight to your human
741
780
  and never store one in an entity field.
@@ -752,26 +791,44 @@ a document to find out what the platform did.
752
791
  - \`list_all_cron_schedules\` answers "what runs tonight?" across the tenant;
753
792
  \`reconcile_cron_schedules\` answers "is that actually what runs?". The second
754
793
  reports rather than tidying silently and never arms something switched off.
755
- - **A conditional trigger without a CHECK starts the workflow every beat.** It
756
- wakes on its interval and, with nothing set, runs regardless of whether there
757
- was anything to do — a mailbox on fifteen minutes then makes ninety-six empty
758
- runs a day. Set \`checkKind\` on \`create_conditional_trigger\`, or on an
759
- existing one with \`update_conditional_trigger\`; every trigger authored
760
- before checks existed has none, so read \`checkKind\` in
761
- \`list_conditional_triggers\` before assuming otherwise.
762
- - \`checkKind: "automatic"\` is ONE tool call and one rule on its answer — no
763
- model, so it is the cheap way to ask "is there anything there?". Its
764
- \`checkConfig\` is \`{ toolId, inputs?, rule: { field, op, value } }\`, where
765
- \`field\` names a key OF THE TOOL'S ANSWER. A rule pointing at a field the
766
- tool never returns is reported as a broken setup, not as "condition not met".
767
- \`"agent"\` is reserved for a model judging the condition and is refused
768
- today. Do not pre-validate a check here — the backend judges it with the same
769
- function the dispatcher runs when the trigger fires, and its refusal says
770
- what to change.
771
- - **To take a check off again, send \`checkKind: ""\`** — the empty string. It
772
- clears the kind and its config together and returns the trigger to starting
773
- every beat. Omitting the field leaves the check standing, which is why the
774
- empty string exists at all.
794
+ - **A conditional start is authored in the workflow, on the trigger element.**
795
+ Its \`typeId\` is \`"conditional-poll"\`, its \`id\` MUST be a UUID (the
796
+ platform cannot make a row for any other id), and everything it does lives
797
+ on its \`config\`: \`conditionText\`, \`repeatIntervalMinutes\`, and the
798
+ CHECK — \`checkKind\` with that kind's settings. Write it with
799
+ \`apply_workflow_mutations\` (\`add_trigger\`, or \`update_trigger\`, which
800
+ REPLACES \`config\` whole — read it, change it, send all of it). Publishing
801
+ copies it onto the row \`list_conditional_triggers\` shows.
802
+ \`create_conditional_trigger\` is not the normal path, and the platform
803
+ refuses a check sent to it or to \`update_conditional_trigger\`: "A
804
+ conditional start's check is set on the start in the workflow, and takes
805
+ effect when the workflow is published."
806
+ - **A conditional start without a CHECK starts the workflow every beat.** It
807
+ wakes on its interval and, with no \`checkKind\`, runs regardless of whether
808
+ there was anything to do — a mailbox on fifteen minutes then makes
809
+ ninety-six empty runs a day. Read \`checkKind\` in
810
+ \`list_conditional_triggers\` before assuming a start has one.
811
+ - \`checkKind: "automatic"\` decides with no model, before a run exists. Its
812
+ settings on \`config\` are \`plan\` (the steps of an automation step, each
813
+ with a \`toolId\`), \`outputs\` (what the plan produces — not worked out by
814
+ an agent) and \`startsWhen\` (rules \`{ field, op, value }\` of a decision's
815
+ rule table, where \`field\` names one of those outputs). A look that cannot
816
+ be made — a broken tool, a rule on an output nothing produces — is a fault,
817
+ never a start.
818
+ - \`checkKind: "agent"\` is for a condition that needs judgement: the beat
819
+ becomes a run whose first step asks the agent named by \`config.agentId\`
820
+ (else the workflow's owner); it stays out of the Runs list until the answer
821
+ is yes. Settings: \`agentId\`, \`toolIds\`, \`inputs\`, \`reasoningLevel\`.
822
+ - Do not pre-validate a check here. \`validate_workflow\` judges it
823
+ (\`conditional_check_invalid\`) with the same function the dispatcher runs
824
+ when the start fires, and the refusal says what to change.
825
+ - **Removing \`checkKind\` does NOT take a check off.** A \`config\` without it
826
+ is read as a start written before checks existed, and the row keeps the
827
+ check it has. There is no way to return a start to "every beat" today; say
828
+ so to your human rather than looking for a route to the row.
829
+ - Publishing also switches every start of the workflow back ON. An
830
+ \`update_conditional_trigger({ enabled: false })\` lasts until the next
831
+ publish of that workflow.
775
832
 
776
833
  ## Evaluating what you built
777
834
  - There is no findings endpoint and no evaluator entity. To judge a run, read it:
@@ -1 +1 @@
1
- {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AAMH,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA27B1B,CAAC;AAEF,mEAAmE;AACnE,MAAM,CAAC,MAAM,eAAe,GAAG,oCAAoC,CAAC;AAEpE,yEAAyE;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAAG,sCAAsC,CAAC;AAQ/E;;;;GAIG;AACH,MAAM,qBAAqB,GACzB,iDAAiD;IACjD,wEAAwE;IACxE,UAAU,eAAe,iDAAiD;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,WAAW,CAAC;AAEd,qFAAqF;AACrF,MAAM,8BAA8B,GAClC,2CAA2C;IAC3C,8EAA8E;IAC9E,UAAU,wBAAwB,4CAA4C;IAC9E,wEAAwE;IACxE,uCAAuC;IACvC,yEAAyE;IACzE,8DAA8D,CAAC;AAEjE;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAC5B,MAAqB,EACrB,KAAa,EACb,IAAY,EACZ,WAAmB;IAEnB,IAAI,QAAuB,CAAC;IAC5B,IAAI,CAAC;QACH,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAkB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GACX,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,OAAO,CACL,OAAO,IAAI,wCAAwC;QACnD,mBAAmB,OAAO,UAAU;QACpC,QAAQ,CACT,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB;IAC5D,OAAO,eAAe,CACpB,MAAM,EACN,eAAe,EACf,gCAAgC,EAChC,qBAAqB,CACtB,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDtC,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,MAAqB;IACpE,MAAM,KAAK,GAAG,MAAM,eAAe,CACjC,MAAM,EACN,wBAAwB,EACxB,sCAAsC,EACtC,8BAA8B,CAC/B,CAAC;IACF,0EAA0E;IAC1E,yDAAyD;IACzD,IAAI,KAAK,KAAK,8BAA8B;QAAE,OAAO,KAAK,CAAC;IAC3D,OAAO,GAAG,KAAK,OAAO,uBAAuB,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,MAAqB;IAC1E,MAAM,CAAC,IAAI,CACT,qBAAqB,EACrB,2EAA2E;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,uEAAuE;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,+DAA+D,EACjE,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,GAAG,WAAW,KAAK,MAAM,kBAAkB,CAAC,MAAM,CAAC,EAAE;aAC5D;SACF;KACF,CAAC,CACH,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,qEAAqE;QACnE,sFAAsF;QACtF,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,wEAAwE;QACxE,sEAAsE;QACtE,qEAAqE;QACrE,2BAA2B,EAC7B,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,CAAC;QACX,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC,MAAM,CAAC,EAAE,CAAC;KACrF,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"conventions.js","sourceRoot":"","sources":["../../src/tools/conventions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * The platform's create contract per entity kind, read live (axonity-mcp#95,
3
+ * axonity-flow#2103, merged as axonity-flow#2104).
4
+ *
5
+ * The rules for creating a tool, a connector, an agent, a table — required
6
+ * fields, allowed values, what a publication checks — were kept as prose in
7
+ * this connector (`conventions.ts`, the tool descriptions). A rule added on the
8
+ * platform then stayed missing here: since axonity-flow#1997 a connector must
9
+ * declare `implementation.effect` before it can be published, and nothing in
10
+ * this connector said so. An agent built a connector by the guide and the
11
+ * human's approval refused it.
12
+ *
13
+ * For workflows that problem is already solved: `get_workflow_authoring_spec`
14
+ * reads `GET /workflows/operations`, generated from the registry that enforces
15
+ * it. This is the same move for every other kind:
16
+ *
17
+ * GET /api/v1/authoring/entity-contracts?kinds=tool,agent
18
+ * → { kinds: string[], contracts: { <kind>: {...} }, rulesVersion: string }
19
+ *
20
+ * `kinds` is ONE comma-separated query parameter, filtered by the platform; an
21
+ * unknown kind is the platform's 422, which names the known ones — passed on as
22
+ * the error it is, not re-judged here. `rulesVersion` covers the whole
23
+ * catalogue whatever `kinds` was. Authenticated like every route; a read-only
24
+ * service token is enough. The answer is passed through unchanged.
25
+ *
26
+ * FEATURE-DETECTED, NEVER SUBSTITUTED. A backend older than the route answers
27
+ * 404 (or 405). Then the tool says so in words — it does not fall back to the
28
+ * hand-kept notes in `axonity_conventions`, because those notes are exactly
29
+ * what drifted. Any other failure is reported as the error it is.
30
+ */
31
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
32
+ import type { AxonityClient } from "../client.js";
33
+ /** Where this deploy serves its per-kind create contracts (axonity-flow#2103). */
34
+ export declare const ENTITY_CONTRACT_ROUTE = "/api/v1/authoring/entity-contracts";
35
+ /** Said when the deploy does not serve the route. Not a fallback. */
36
+ export declare const ENTITY_CONTRACT_UNAVAILABLE: string;
37
+ /** What the tool answers: the live contract, the not-served notice, or the error. */
38
+ export declare function readEntityContract(client: AxonityClient, kinds?: string[]): Promise<{
39
+ content: {
40
+ type: "text";
41
+ text: string;
42
+ }[];
43
+ }>;
44
+ export declare function registerEntityContractTools(server: McpServer, client: AxonityClient): void;
@@ -0,0 +1,90 @@
1
+ /**
2
+ * The platform's create contract per entity kind, read live (axonity-mcp#95,
3
+ * axonity-flow#2103, merged as axonity-flow#2104).
4
+ *
5
+ * The rules for creating a tool, a connector, an agent, a table — required
6
+ * fields, allowed values, what a publication checks — were kept as prose in
7
+ * this connector (`conventions.ts`, the tool descriptions). A rule added on the
8
+ * platform then stayed missing here: since axonity-flow#1997 a connector must
9
+ * declare `implementation.effect` before it can be published, and nothing in
10
+ * this connector said so. An agent built a connector by the guide and the
11
+ * human's approval refused it.
12
+ *
13
+ * For workflows that problem is already solved: `get_workflow_authoring_spec`
14
+ * reads `GET /workflows/operations`, generated from the registry that enforces
15
+ * it. This is the same move for every other kind:
16
+ *
17
+ * GET /api/v1/authoring/entity-contracts?kinds=tool,agent
18
+ * → { kinds: string[], contracts: { <kind>: {...} }, rulesVersion: string }
19
+ *
20
+ * `kinds` is ONE comma-separated query parameter, filtered by the platform; an
21
+ * unknown kind is the platform's 422, which names the known ones — passed on as
22
+ * the error it is, not re-judged here. `rulesVersion` covers the whole
23
+ * catalogue whatever `kinds` was. Authenticated like every route; a read-only
24
+ * service token is enough. The answer is passed through unchanged.
25
+ *
26
+ * FEATURE-DETECTED, NEVER SUBSTITUTED. A backend older than the route answers
27
+ * 404 (or 405). Then the tool says so in words — it does not fall back to the
28
+ * hand-kept notes in `axonity_conventions`, because those notes are exactly
29
+ * what drifted. Any other failure is reported as the error it is.
30
+ */
31
+ import { z } from "zod";
32
+ import { AxonityApiError } from "../errors.js";
33
+ import { errorResult, jsonResult } from "./result.js";
34
+ /** Where this deploy serves its per-kind create contracts (axonity-flow#2103). */
35
+ export const ENTITY_CONTRACT_ROUTE = "/api/v1/authoring/entity-contracts";
36
+ /** Said when the deploy does not serve the route. Not a fallback. */
37
+ export const ENTITY_CONTRACT_UNAVAILABLE = "## Entity create contracts — NOT AVAILABLE on this deploy\n\n" +
38
+ `This backend does not serve \`GET ${ENTITY_CONTRACT_ROUTE}\` ` +
39
+ "(axonity-flow#2103): it is older than the live contract. This connector " +
40
+ "carries no copy of it. The per-entity notes in `axonity_conventions` are " +
41
+ "kept by hand and may be behind the platform — they are guidance, not the " +
42
+ "contract. Until this deploy serves it, the authority is the platform's own " +
43
+ "answer: the refusal on save, `validate_workflow`, and the readiness of " +
44
+ "`request_publish_*` / `get_publish_release`. Tell your human which " +
45
+ "environment this token points at if you need the contract.";
46
+ /** What the tool answers: the live contract, the not-served notice, or the error. */
47
+ export async function readEntityContract(client, kinds) {
48
+ const wanted = (kinds ?? []).map((k) => k.trim()).filter((k) => k !== "");
49
+ try {
50
+ return jsonResult(wanted.length === 0
51
+ ? await client.get(ENTITY_CONTRACT_ROUTE)
52
+ : await client.get(ENTITY_CONTRACT_ROUTE, { kinds: wanted.join(",") }));
53
+ }
54
+ catch (err) {
55
+ if (err instanceof AxonityApiError && (err.status === 404 || err.status === 405)) {
56
+ return {
57
+ content: [{ type: "text", text: ENTITY_CONTRACT_UNAVAILABLE }],
58
+ };
59
+ }
60
+ return errorResult(err);
61
+ }
62
+ }
63
+ export function registerEntityContractTools(server, client) {
64
+ server.tool("get_entity_authoring_contract", "Read this deploy's CREATE CONTRACT per entity kind from the platform " +
65
+ "itself — tools (each type's `implementation`, connectors included), " +
66
+ "agents, personas, knowledge, schemas, tables, toolboxes, secrets and " +
67
+ "starts. Answers `{ kinds, contracts, rulesVersion }`: per kind the " +
68
+ "`create` and `update` fields (name, required, type, allowed values, " +
69
+ "shape, and `refused` with where the value is authored instead), and " +
70
+ "`publish.rules` — what stops it from going live, each with a `code` " +
71
+ "and the platform's own message (e.g. a connector without " +
72
+ "`implementation.effect`). Generated from the schemas and checks that " +
73
+ "enforce it. `rulesVersion` covers the whole catalogue: while it is " +
74
+ "unchanged there is nothing to re-read. " +
75
+ "\n\nREAD IT BEFORE YOU CREATE an entity whose rules you have not checked " +
76
+ "this session. Where it disagrees with `axonity_conventions` or a tool " +
77
+ "description, it is right and they are behind. The workflow document's " +
78
+ "own vocabulary is in `get_workflow_authoring_spec`. " +
79
+ "\n\nThe whole catalogue is large; pass `kinds` for the ones you need. " +
80
+ "`kinds` in the answer lists every kind this deploy serves. On a backend " +
81
+ "that does not serve the route yet, the tool SAYS SO instead of " +
82
+ "returning a copy.", {
83
+ kinds: z
84
+ .array(z.string())
85
+ .optional()
86
+ .describe('Kinds to return, e.g. ["tool", "agent"]. Omit for every kind. An ' +
87
+ "unknown kind is refused by the platform with the list of known ones."),
88
+ }, async ({ kinds }) => readEntityContract(client, kinds));
89
+ }
90
+ //# sourceMappingURL=entityContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entityContract.js","sourceRoot":"","sources":["../../src/tools/entityContract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAGH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEtD,kFAAkF;AAClF,MAAM,CAAC,MAAM,qBAAqB,GAAG,oCAAoC,CAAC;AAE1E,qEAAqE;AACrE,MAAM,CAAC,MAAM,2BAA2B,GACtC,+DAA+D;IAC/D,qCAAqC,qBAAqB,KAAK;IAC/D,0EAA0E;IAC1E,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,yEAAyE;IACzE,qEAAqE;IACrE,4DAA4D,CAAC;AAE/D,qFAAqF;AACrF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAqB,EAAE,KAAgB;IAC9E,MAAM,MAAM,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,UAAU,CACf,MAAM,CAAC,MAAM,KAAK,CAAC;YACjB,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC;YACzC,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CACzE,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;YACjF,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC;aACxE,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAiB,EAAE,MAAqB;IAClF,MAAM,CAAC,IAAI,CACT,+BAA+B,EAC/B,uEAAuE;QACrE,sEAAsE;QACtE,uEAAuE;QACvE,qEAAqE;QACrE,sEAAsE;QACtE,sEAAsE;QACtE,sEAAsE;QACtE,2DAA2D;QAC3D,uEAAuE;QACvE,qEAAqE;QACrE,yCAAyC;QACzC,2EAA2E;QAC3E,wEAAwE;QACxE,wEAAwE;QACxE,sDAAsD;QACtD,wEAAwE;QACxE,0EAA0E;QAC1E,iEAAiE;QACjE,mBAAmB,EACrB;QACE,KAAK,EAAE,CAAC;aACL,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CACP,mEAAmE;YACjE,sEAAsE,CACzE;KACJ,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CACvD,CAAC;AACJ,CAAC"}
@@ -42,10 +42,47 @@ const CONNECTOR_SHAPE = "\n\nSHAPE OF `implementation` — `headers` and `queryP
42
42
  'string>" }`. Use `{{name}}` in a value to fill it from the tool\'s input. ' +
43
43
  "Any other shape cannot run: the connector saves and then fails when " +
44
44
  "called, with an error that does not point here.";
45
+ /**
46
+ * Two rules the platform enforces on a connector that the shape above does not
47
+ * say (axonity-mcp#95).
48
+ *
49
+ * `implementation.effect` (axonity-flow#1997): a draft saves without it, and
50
+ * the publish approval then refuses it ("Cannot publish connector: Set the
51
+ * connector's side effects …", `version_service.publish_tool`). An agent that
52
+ * builds a connector from this description used to make one that failed at the
53
+ * human's approval, not at its own save.
54
+ *
55
+ * `responseMapping.type: "file"` (axonity-flow#2079): the answer is kept as a
56
+ * file of the run, not parsed. Without this sentence the only mappings an agent
57
+ * knew were the parsing ones.
58
+ *
59
+ * Kept short on purpose: the platform's live contract
60
+ * (`get_entity_authoring_contract`, axonity-flow#2103) is the authority, and
61
+ * this is guidance until every deploy serves it.
62
+ */
63
+ const CONNECTOR_EFFECT_AND_FILE = "\n\nDECLARE WHAT IT DOES — `implementation.effect`: `\"reads\"` (fetches, " +
64
+ "looks something up) or `\"acts\"` (sends, writes, starts something). A " +
65
+ "draft saves without it, but a connector WITHOUT `effect` CANNOT BE " +
66
+ "PUBLISHED: the approval is refused with \"Set the connector's side " +
67
+ "effects … before publishing\". Set it when you create the connector." +
68
+ "\n\nAN ANSWER THAT IS A FILE — `implementation.responseMapping: " +
69
+ '{ "type": "file", "filename": "{{filename}}" }`. The bytes are kept as a ' +
70
+ "file of the run and the connector returns its reference, `{ fileId, " +
71
+ "filename, contentType, sizeBytes }` — the shape an upload has, so Digitize " +
72
+ "documents reads it and a sub-workflow's file parameter takes it. " +
73
+ "`filename` is optional and may use the inputs (`{{name}}`); without it the " +
74
+ "far end's `Content-Disposition` name is used, else `document`. A file " +
75
+ "answer takes no `responseTransform`. Outside a run (e.g. " +
76
+ "`execute_stored_connector`) nothing is stored and you see only the name " +
77
+ "and size. The other mappings (`jmespath` with an `expression`, or `full`) " +
78
+ "parse the answer as data." +
79
+ "\n\nThe platform's own create contract, when this deploy serves it, is " +
80
+ "`get_entity_authoring_contract` — it wins over this description.";
45
81
  export function registerConnectorTools(server, client) {
46
82
  server.tool("create_connector", "Create a connector draft (a tool of type 'connector'). Do NOT put real " +
47
83
  "credentials in authConfig — use placeholders; a human fills secrets in Axonity." +
48
- CONNECTOR_SHAPE, {
84
+ CONNECTOR_SHAPE +
85
+ CONNECTOR_EFFECT_AND_FILE, {
49
86
  fields: z
50
87
  .record(z.unknown())
51
88
  .describe("Connector fields (name, description, implementation, authConfig)."),
@@ -55,7 +92,8 @@ export function registerConnectorTools(server, client) {
55
92
  }));
56
93
  server.tool("update_connector", "Update a connector draft (a tool of type 'connector'). Read it first for its " +
57
94
  "version; keep authConfig as placeholders only." +
58
- CONNECTOR_SHAPE, {
95
+ CONNECTOR_SHAPE +
96
+ CONNECTOR_EFFECT_AND_FILE, {
59
97
  id: z.string().describe("The connector (tool) id."),
60
98
  expectedVersion: z.number().int().describe("Version last read — 409 if stale."),
61
99
  fields: z.record(z.unknown()).describe("Fields to change (camelCase)."),
@@ -1 +1 @@
1
- {"version":3,"file":"extras.js","sourceRoot":"","sources":["../../src/tools/extras.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extras.js","sourceRoot":"","sources":["../../src/tools/extras.ts"],"names":[],"mappings":"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"}