@axonity-ai/mcp 0.28.0 → 0.29.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 +63 -10
- package/dist/client.d.ts +2 -0
- package/dist/client.js +19 -1
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +37 -4
- package/dist/config.js +60 -6
- package/dist/config.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.js +3 -3
- package/dist/errors.js.map +1 -1
- package/dist/generated/tokenRouteClasses.d.ts +10 -0
- package/dist/generated/tokenRouteClasses.js +812 -0
- package/dist/generated/tokenRouteClasses.js.map +1 -0
- package/dist/http.d.ts +69 -0
- package/dist/http.js +287 -0
- package/dist/http.js.map +1 -0
- package/dist/index.d.ts +23 -2
- package/dist/index.js +41 -6
- package/dist/index.js.map +1 -1
- package/dist/routeClasses.d.ts +89 -0
- package/dist/routeClasses.js +190 -0
- package/dist/routeClasses.js.map +1 -0
- package/dist/tools/conventions.d.ts +1 -1
- package/dist/tools/conventions.js +9 -5
- package/dist/tools/conventions.js.map +1 -1
- package/dist/tools/extras.d.ts +9 -0
- package/dist/tools/extras.js +30 -0
- package/dist/tools/extras.js.map +1 -1
- package/dist/tools/runInputFiles.d.ts +5 -1
- package/dist/tools/runInputFiles.js +46 -17
- package/dist/tools/runInputFiles.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Axonity tenant —
|
|
|
8
8
|
the same verbs the internal Builder team has, minus direct publish.
|
|
9
9
|
|
|
10
10
|
It runs on your machine and talks to Axonity **only over the public REST API**,
|
|
11
|
-
authenticated with a
|
|
11
|
+
authenticated with a token for one workspace. The backend re-enforces
|
|
12
12
|
tenant + scope on every call, so the connector is not a trust boundary for what
|
|
13
13
|
it may do in Axonity. One thing only the connector decides: which **local file**
|
|
14
14
|
leaves your machine. `upload_run_input_file` with `path` reads any file the user
|
|
@@ -19,18 +19,22 @@ the call — your MCP client's approval of each call is the guard.
|
|
|
19
19
|
|
|
20
20
|
## Setup
|
|
21
21
|
|
|
22
|
-
1. **
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
22
|
+
1. **Have a token.** The connector sends whatever `AXONITY_TOKEN` holds as a
|
|
23
|
+
bearer, and the platform decides what it may do:
|
|
24
|
+
- a **personal token** (`axp_…`) acts as you, within the limits it was made
|
|
25
|
+
with (see *Hosted by Axonity* below for what that means per tool);
|
|
26
|
+
- an existing **service token** (`axs_…`) keeps working until it expires or
|
|
27
|
+
is revoked, but no new ones are made.
|
|
28
|
+
|
|
29
|
+
Every token expires, and there is no way for the agent to check the
|
|
30
|
+
remaining lifetime in advance: an expired token fails exactly like a revoked
|
|
31
|
+
one, so get a fresh one when that happens. Copy a token once; you will not
|
|
32
|
+
see it again.
|
|
29
33
|
2. **Add the connector to Claude Code:**
|
|
30
34
|
|
|
31
35
|
```bash
|
|
32
36
|
claude mcp add axonity \
|
|
33
|
-
--env AXONITY_TOKEN=
|
|
37
|
+
--env AXONITY_TOKEN=your_token_here \
|
|
34
38
|
--env AXONITY_API_URL=https://app.axonity.ai \
|
|
35
39
|
-- npx -y @axonity-ai/mcp
|
|
36
40
|
```
|
|
@@ -47,7 +51,7 @@ the call — your MCP client's approval of each call is the guard.
|
|
|
47
51
|
|
|
48
52
|
## Tools
|
|
49
53
|
|
|
50
|
-
|
|
54
|
+
474 tools total. `axonity_conventions` (read this first) covers the authoring
|
|
51
55
|
rules — drafts vs live, optimistic locking, per-entity fields, delete/restore,
|
|
52
56
|
and how to tell a retryable error from one that will never succeed.
|
|
53
57
|
`axonity_semantic_conventions` is its counterpart for one job only: building a
|
|
@@ -186,6 +190,11 @@ across these routes — the tool parameter names say which.
|
|
|
186
190
|
`read_agent_persona` reads the field (with the agent's `version`) and
|
|
187
191
|
`create_agent_persona` writes it (`agentId`, `expectedVersion`, `persona`);
|
|
188
192
|
`""` removes it, `null` on an update leaves it as it is.
|
|
193
|
+
- **An agent's team**: one capability of the company model (`capabilityId`,
|
|
194
|
+
a key of `document.capabilities` in `read_company`). `create_agent` takes
|
|
195
|
+
it; on an existing agent `set_agent_team` (`agentId`, `capabilityId`, null
|
|
196
|
+
for none) changes it — `update_agent` refuses it. It is on the agent's
|
|
197
|
+
record, not in a version: it holds at once, with no publish.
|
|
189
198
|
- **Connectors** (a tool of type `connector`): `create_connector`,
|
|
190
199
|
`update_connector` — `authConfig` must be placeholders only; a human fills real
|
|
191
200
|
secrets in Axonity. (`create_tool`/`update_tool` carry the same guard, so a
|
|
@@ -634,6 +643,50 @@ ride along), `members` with why each is there, and `blockers` that name the
|
|
|
634
643
|
member in the way. Requesting is ours; deciding stays human, like everywhere
|
|
635
644
|
else here.
|
|
636
645
|
|
|
646
|
+
## Hosted by Axonity (HTTP mode)
|
|
647
|
+
|
|
648
|
+
The same tools also run inside Axonity, behind its own `/mcp` endpoint, for a
|
|
649
|
+
person who connects with a **personal token** (`axp_…`) instead of running the
|
|
650
|
+
connector locally. Axonity starts this package with
|
|
651
|
+
`AXONITY_MCP_TRANSPORT=http`; you do not run that mode yourself. The local
|
|
652
|
+
connector above (stdio, a service token) is unchanged and is still the default.
|
|
653
|
+
|
|
654
|
+
What differs in hosted mode:
|
|
655
|
+
|
|
656
|
+
- **One token per request.** The process holds no token of its own
|
|
657
|
+
(`AXONITY_TOKEN` set is refused at startup). Each request brings its caller's
|
|
658
|
+
personal token as a bearer, and the API is called with that token only. A
|
|
659
|
+
request without an `axp_` bearer is answered 401.
|
|
660
|
+
- **Each tool says what a personal token needs, before the call.** A personal
|
|
661
|
+
token reads what its person reads; actions need "Run actions" on the token,
|
|
662
|
+
drafts and publication requests need "Build drafts and request publication",
|
|
663
|
+
and every other route is closed to it. Axonity decides that per route and
|
|
664
|
+
enforces it on every call; the hosted tool texts are worded from the same
|
|
665
|
+
table (`src/generated/tokenRouteClasses.ts`, pinned from
|
|
666
|
+
`backend/scripts/dump_token_route_classes.py` in axonity-flow). A tool on a
|
|
667
|
+
closed route keeps its name and says why it is closed.
|
|
668
|
+
- **No local files.** `upload_run_input_file` takes `contentBase64` only: the
|
|
669
|
+
process runs on the Axonity server, so a `path` would name a file there, and
|
|
670
|
+
it is refused before anything is read.
|
|
671
|
+
- **Stateless, with a ceiling.** Every message is its own POST (no sessions; GET
|
|
672
|
+
and DELETE on `/mcp` are 405; a batch is answered 400). At most
|
|
673
|
+
`AXONITY_MCP_MAX_IN_FLIGHT` requests (default 4) run at once,
|
|
674
|
+
`AXONITY_MCP_MAX_QUEUED` (default 32) wait, and one more is answered 503. A
|
|
675
|
+
request keeps its place until its work is done, also when its caller hangs
|
|
676
|
+
up, and every API call ends after `AXONITY_MCP_API_TIMEOUT_MS` (default
|
|
677
|
+
300000). A body over `AXONITY_MCP_MAX_BODY_BYTES` (default 25 MB) is answered
|
|
678
|
+
413.
|
|
679
|
+
- It listens on `127.0.0.1:AXONITY_MCP_PORT` only and calls `AXONITY_API_URL`,
|
|
680
|
+
which has no default in this mode.
|
|
681
|
+
|
|
682
|
+
Refresh the route table after the backend changes it:
|
|
683
|
+
|
|
684
|
+
```bash
|
|
685
|
+
node scripts/generate-token-route-classes.mjs --flow ../axonity-flow
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
A test fails when a tool calls a route the pinned table does not know.
|
|
689
|
+
|
|
637
690
|
## What this is for — and what it is not
|
|
638
691
|
|
|
639
692
|
**Authoring.** An agent composing an entity from intent: drafting a workflow,
|
package/dist/client.d.ts
CHANGED
|
@@ -31,6 +31,8 @@ export declare class AxonityClient {
|
|
|
31
31
|
* thrown as typed errors; a 204/empty body resolves to `undefined`.
|
|
32
32
|
*/
|
|
33
33
|
request<T = unknown>(method: string, path: string, body?: unknown, query?: Query): Promise<T>;
|
|
34
|
+
/** The error for a call that ran past `timeoutMs`; `undefined` for any other failure. */
|
|
35
|
+
private timedOut;
|
|
34
36
|
get<T = unknown>(path: string, query?: Query): Promise<T>;
|
|
35
37
|
/**
|
|
36
38
|
* The writes. `query` is optional and usually absent — a write's arguments
|
package/dist/client.js
CHANGED
|
@@ -49,14 +49,25 @@ export class AxonityClient {
|
|
|
49
49
|
...(body !== undefined && !form ? { "Content-Type": "application/json" } : {}),
|
|
50
50
|
},
|
|
51
51
|
body: body === undefined ? undefined : form ? body : JSON.stringify(body),
|
|
52
|
+
...(this.config.timeoutMs ? { signal: AbortSignal.timeout(this.config.timeoutMs) } : {}),
|
|
52
53
|
});
|
|
53
54
|
}
|
|
54
55
|
catch (cause) {
|
|
56
|
+
const late = this.timedOut(cause);
|
|
57
|
+
if (late)
|
|
58
|
+
throw late;
|
|
55
59
|
// Network-level failure (DNS, connection refused, TLS) — not an HTTP status.
|
|
56
60
|
throw new AxonityApiError(`Could not reach the Axonity API at ${this.config.apiUrl}. ` +
|
|
57
61
|
"Check AXONITY_API_URL and your network.", 0, cause instanceof Error ? cause.message : String(cause));
|
|
58
62
|
}
|
|
59
|
-
|
|
63
|
+
let text;
|
|
64
|
+
try {
|
|
65
|
+
text = await resp.text();
|
|
66
|
+
}
|
|
67
|
+
catch (cause) {
|
|
68
|
+
// The time limit covers the answer too, not only its headers.
|
|
69
|
+
throw this.timedOut(cause) ?? cause;
|
|
70
|
+
}
|
|
60
71
|
const parsed = text ? safeJson(text) : undefined;
|
|
61
72
|
if (!resp.ok) {
|
|
62
73
|
// Before the generic mapping: a route this connector needs that the
|
|
@@ -73,6 +84,13 @@ export class AxonityClient {
|
|
|
73
84
|
}
|
|
74
85
|
return parsed;
|
|
75
86
|
}
|
|
87
|
+
/** The error for a call that ran past `timeoutMs`; `undefined` for any other failure. */
|
|
88
|
+
timedOut(cause) {
|
|
89
|
+
if (!(cause instanceof Error) || cause.name !== "TimeoutError")
|
|
90
|
+
return undefined;
|
|
91
|
+
return new AxonityApiError(`The Axonity API did not answer within ${Math.round((this.config.timeoutMs ?? 0) / 1000)} s. ` +
|
|
92
|
+
"Try again; if it keeps happening, ask for less at once.", 0, cause.message);
|
|
93
|
+
}
|
|
76
94
|
get(path, query) {
|
|
77
95
|
return this.request("GET", path, undefined, query);
|
|
78
96
|
}
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoB5E,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAE9C,GAAG,CAAC,IAAY,EAAE,KAAa;QACrC,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QAChF,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,MAAM,IAAI,IAAI,KAAK;oBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACrC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,IAAc,EACd,KAAa;QAEb,uEAAuE;QACvE,qEAAqE;QACrE,4DAA4D;QAC5D,MAAM,IAAI,GAAG,IAAI,YAAY,QAAQ,CAAC;QACtC,IAAI,IAAc,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;gBACxC,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;oBAC5C,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/E;gBACD,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Runtime configuration for the Axonity MCP connector.
|
|
3
3
|
*
|
|
4
|
-
* The connector authenticates to Axonity with
|
|
5
|
-
*
|
|
6
|
-
* connector never chooses one. Values come
|
|
7
|
-
* never lands in a config file the agent
|
|
4
|
+
* The connector authenticates to Axonity with one token for one workspace (a
|
|
5
|
+
* personal token, or a service token made before they stopped being issued).
|
|
6
|
+
* The token fixes the tenant; the connector never chooses one. Values come
|
|
7
|
+
* from the environment so the token never lands in a config file the agent
|
|
8
|
+
* can read.
|
|
8
9
|
*/
|
|
9
10
|
export interface AxonityConfig {
|
|
10
11
|
/** Base URL of the Axonity API, e.g. https://app.axonity.ai (no trailing slash). */
|
|
11
12
|
apiUrl: string;
|
|
12
13
|
/** The service token (`axs_…`) presented as a bearer on every request. */
|
|
13
14
|
token: string;
|
|
15
|
+
/**
|
|
16
|
+
* The longest one API call may take, request and answer, in milliseconds.
|
|
17
|
+
* Unset: no limit of its own (the local connector, as before). The hosted
|
|
18
|
+
* connector sets it, so a call that hangs never holds a seat for ever.
|
|
19
|
+
*/
|
|
20
|
+
timeoutMs?: number;
|
|
14
21
|
}
|
|
15
22
|
/**
|
|
16
23
|
* Read configuration from the environment.
|
|
@@ -22,3 +29,29 @@ export interface AxonityConfig {
|
|
|
22
29
|
* clear message rather than 401-ing on the first tool call.
|
|
23
30
|
*/
|
|
24
31
|
export declare function loadConfig(env?: NodeJS.ProcessEnv): AxonityConfig;
|
|
32
|
+
/** How the connector is reached: a local process on stdio, or Axonity's own `/mcp`. */
|
|
33
|
+
export type Transport = "stdio" | "http";
|
|
34
|
+
export declare function transportOf(env?: NodeJS.ProcessEnv): Transport;
|
|
35
|
+
/**
|
|
36
|
+
* The hosted connector (HTTP mode), started by Axonity next to its API.
|
|
37
|
+
*
|
|
38
|
+
* It serves many people, so it holds no token of its own: each request brings
|
|
39
|
+
* its caller's personal token as a bearer, and that token — only that one —
|
|
40
|
+
* goes to the API for that request. It listens on loopback only; Axonity's
|
|
41
|
+
* `/mcp` resolves the token first and forwards what it accepts.
|
|
42
|
+
*/
|
|
43
|
+
export interface HttpConfig {
|
|
44
|
+
/** Axonity's own API, on loopback (e.g. http://127.0.0.1:8000). */
|
|
45
|
+
apiUrl: string;
|
|
46
|
+
/** The loopback port to listen on. */
|
|
47
|
+
port: number;
|
|
48
|
+
/** Requests handled at once; the rest wait. Bounds the memory a burst takes. */
|
|
49
|
+
maxInFlight: number;
|
|
50
|
+
/** Requests that may wait; one more is answered 503. */
|
|
51
|
+
maxQueued: number;
|
|
52
|
+
/** The largest request body read, in bytes; a larger one is answered 413. */
|
|
53
|
+
maxBodyBytes: number;
|
|
54
|
+
/** The longest one API call may take, in milliseconds. */
|
|
55
|
+
apiTimeoutMs: number;
|
|
56
|
+
}
|
|
57
|
+
export declare function loadHttpConfig(env?: NodeJS.ProcessEnv): HttpConfig;
|
package/dist/config.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Runtime configuration for the Axonity MCP connector.
|
|
3
3
|
*
|
|
4
|
-
* The connector authenticates to Axonity with
|
|
5
|
-
*
|
|
6
|
-
* connector never chooses one. Values come
|
|
7
|
-
* never lands in a config file the agent
|
|
4
|
+
* The connector authenticates to Axonity with one token for one workspace (a
|
|
5
|
+
* personal token, or a service token made before they stopped being issued).
|
|
6
|
+
* The token fixes the tenant; the connector never chooses one. Values come
|
|
7
|
+
* from the environment so the token never lands in a config file the agent
|
|
8
|
+
* can read.
|
|
8
9
|
*/
|
|
9
10
|
const DEFAULT_API_URL = "https://app.axonity.ai";
|
|
10
11
|
/**
|
|
@@ -19,10 +20,63 @@ const DEFAULT_API_URL = "https://app.axonity.ai";
|
|
|
19
20
|
export function loadConfig(env = process.env) {
|
|
20
21
|
const token = env.AXONITY_TOKEN?.trim();
|
|
21
22
|
if (!token) {
|
|
22
|
-
throw new Error("AXONITY_TOKEN is not set.
|
|
23
|
-
"
|
|
23
|
+
throw new Error("AXONITY_TOKEN is not set. Pass an Axonity token (a personal token, or a " +
|
|
24
|
+
"service token you still have) as the AXONITY_TOKEN environment variable.");
|
|
24
25
|
}
|
|
25
26
|
const apiUrl = (env.AXONITY_API_URL?.trim() || DEFAULT_API_URL).replace(/\/+$/, "");
|
|
26
27
|
return { apiUrl, token };
|
|
27
28
|
}
|
|
29
|
+
export function transportOf(env = process.env) {
|
|
30
|
+
const value = env.AXONITY_MCP_TRANSPORT?.trim() || "stdio";
|
|
31
|
+
if (value !== "stdio" && value !== "http") {
|
|
32
|
+
throw new Error(`AXONITY_MCP_TRANSPORT must be "stdio" (the default) or "http"; got "${value}".`);
|
|
33
|
+
}
|
|
34
|
+
return value;
|
|
35
|
+
}
|
|
36
|
+
function positiveInt(env, name, fallback) {
|
|
37
|
+
const raw = env[name]?.trim();
|
|
38
|
+
if (!raw) {
|
|
39
|
+
if (fallback !== undefined)
|
|
40
|
+
return fallback;
|
|
41
|
+
throw new Error(`${name} is not set. The hosted connector needs it.`);
|
|
42
|
+
}
|
|
43
|
+
const value = Number(raw);
|
|
44
|
+
if (!Number.isInteger(value) || value < 1) {
|
|
45
|
+
throw new Error(`${name} must be a whole number of at least 1; got "${raw}".`);
|
|
46
|
+
}
|
|
47
|
+
return value;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The longest delay a Node timer takes (a signed 32-bit number of
|
|
51
|
+
* milliseconds). `AbortSignal.timeout` turns anything larger into 1 ms, which
|
|
52
|
+
* would fail every API call at once.
|
|
53
|
+
*/
|
|
54
|
+
const MAX_TIMER_MS = 2_147_483_647;
|
|
55
|
+
function atMost(value, limit, name) {
|
|
56
|
+
if (value > limit)
|
|
57
|
+
throw new Error(`${name} must be at most ${limit}; got ${value}.`);
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
export function loadHttpConfig(env = process.env) {
|
|
61
|
+
if (env.AXONITY_TOKEN?.trim()) {
|
|
62
|
+
throw new Error("AXONITY_TOKEN is set, but the hosted connector (AXONITY_MCP_TRANSPORT=http) " +
|
|
63
|
+
"holds no token of its own: every request brings its caller's. Unset it.");
|
|
64
|
+
}
|
|
65
|
+
const apiUrl = env.AXONITY_API_URL?.trim().replace(/\/+$/, "");
|
|
66
|
+
if (!apiUrl) {
|
|
67
|
+
throw new Error("AXONITY_API_URL is not set. The hosted connector calls the Axonity API it " +
|
|
68
|
+
"runs beside; there is no default.");
|
|
69
|
+
}
|
|
70
|
+
const port = positiveInt(env, "AXONITY_MCP_PORT");
|
|
71
|
+
if (port > 65535)
|
|
72
|
+
throw new Error(`AXONITY_MCP_PORT must be at most 65535; got ${port}.`);
|
|
73
|
+
return {
|
|
74
|
+
apiUrl,
|
|
75
|
+
port,
|
|
76
|
+
maxInFlight: positiveInt(env, "AXONITY_MCP_MAX_IN_FLIGHT", 4),
|
|
77
|
+
maxQueued: positiveInt(env, "AXONITY_MCP_MAX_QUEUED", 32),
|
|
78
|
+
maxBodyBytes: positiveInt(env, "AXONITY_MCP_MAX_BODY_BYTES", 25 * 1024 * 1024),
|
|
79
|
+
apiTimeoutMs: atMost(positiveInt(env, "AXONITY_MCP_API_TIMEOUT_MS", 300_000), MAX_TIMER_MS, "AXONITY_MCP_API_TIMEOUT_MS"),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
28
82
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -59,7 +59,7 @@ export declare class ReferenceConflictError extends AxonityApiError {
|
|
|
59
59
|
export declare class NotFoundError extends AxonityApiError {
|
|
60
60
|
constructor(body?: unknown);
|
|
61
61
|
}
|
|
62
|
-
/** 401 — the
|
|
62
|
+
/** 401 — the token is missing, unknown, expired, or revoked. */
|
|
63
63
|
export declare class AuthError extends AxonityApiError {
|
|
64
64
|
constructor(body?: unknown);
|
|
65
65
|
}
|
package/dist/errors.js
CHANGED
|
@@ -146,14 +146,14 @@ export class NotFoundError extends AxonityApiError {
|
|
|
146
146
|
this.name = "NotFoundError";
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
|
-
/** 401 — the
|
|
149
|
+
/** 401 — the token is missing, unknown, expired, or revoked. */
|
|
150
150
|
export class AuthError extends AxonityApiError {
|
|
151
151
|
constructor(body) {
|
|
152
152
|
const env = asEnvelope(body);
|
|
153
|
-
super(withDetail("Authentication failed (401): the
|
|
153
|
+
super(withDetail("Authentication failed (401): the token is missing, invalid, expired, " +
|
|
154
154
|
"or revoked. The backend deliberately returns the same message for all four " +
|
|
155
155
|
"causes, so do not guess which one it is and do not retry — tell your human " +
|
|
156
|
-
"the token is dead and a new one
|
|
156
|
+
"the token is dead and they need a new one from Axonity.", body), 401, body, env?.code ?? "unauthorized", env?.retryable ?? false);
|
|
157
157
|
this.name = "AuthError";
|
|
158
158
|
}
|
|
159
159
|
}
|
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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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GENERATED — do not edit. Run `node scripts/generate-token-route-classes.mjs`.
|
|
3
|
+
*
|
|
4
|
+
* What a personal token may do on each route, as axonity-flow decides it
|
|
5
|
+
* (`backend/src/auth/token_route_classes.py`), read from
|
|
6
|
+
* `test/fixtures/token-route-classes.snapshot.json`. The backend enforces it;
|
|
7
|
+
* the hosted connector only words its tools with it.
|
|
8
|
+
*/
|
|
9
|
+
import type { TokenRoute } from "../routeClasses.js";
|
|
10
|
+
export declare const TOKEN_ROUTE_CLASSES: Readonly<Record<string, TokenRoute>>;
|