@xenosystem/capability-mcp 0.1.77 → 0.1.79

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.
@@ -22,34 +22,19 @@
22
22
  * products are shipping. Normalising here is the driving half doing its job.
23
23
  */
24
24
  import type { CapabilityDescriptor } from './descriptors.js';
25
- /** One operation an application offers, normalised across the envelope divergence above. */
26
- export interface Capability {
27
- name: string;
28
- description: string;
29
- /** A JSON Schema for the arguments. `{ type: 'object', properties: {} }` when absent. */
30
- schema: {
31
- type: 'object';
32
- properties: Record<string, unknown>;
33
- required?: string[] | undefined;
34
- };
35
- /** `safe` | `undoable` | `irreversible` when the app declares it. */
36
- reversibility?: string | undefined;
37
- }
25
+ import { extractCapabilities, normalizeCapability, type Capability } from '@xenosystem/capability-sdk';
26
+ export { extractCapabilities, normalizeCapability, type Capability };
38
27
  export interface CapabilityClientOptions {
39
- fetchImpl?: typeof fetch | undefined;
28
+ /** How long `GET /capabilities` may take. A listing is cheap; a slow one means the app is wedged. */
40
29
  timeoutMs?: number | undefined;
30
+ /**
31
+ * How long one capability call may take. SEPARATE from the listing budget because an export or a
32
+ * render legitimately runs far longer than a listing — one shared 15 s budget aborted real work
33
+ * mid-flight and reported the app as "not answering" while it was doing exactly what was asked.
34
+ */
35
+ invokeTimeoutMs?: number | undefined;
36
+ fetchImpl?: typeof fetch | undefined;
41
37
  }
42
- /**
43
- * Pull the capability array out of whatever envelope this app answered with.
44
- *
45
- * Returns `undefined` rather than `[]` when nothing recognisable is there. That difference
46
- * is load-bearing: an empty array says "this app has no capabilities" and an unreadable body
47
- * says "this is not one of our servers" — and the second is how a descriptor whose port has
48
- * been recycled by an unrelated process gets refused instead of advertised.
49
- */
50
- export declare function extractCapabilities(body: unknown): unknown[] | undefined;
51
- /** Normalise one descriptor entry. `argsSchema` and `inputSchema` are both in the wild. */
52
- export declare function normalizeCapability(entry: unknown): Capability | undefined;
53
38
  export declare class CapabilityUnavailable extends Error {
54
39
  readonly app: string;
55
40
  constructor(app: string, message: string);
@@ -59,6 +44,7 @@ export declare class CapabilityClient {
59
44
  readonly descriptor: CapabilityDescriptor;
60
45
  private readonly fetchImpl;
61
46
  private readonly timeoutMs;
47
+ private readonly invokeTimeoutMs;
62
48
  constructor(descriptor: CapabilityDescriptor, options?: CapabilityClientOptions);
63
49
  private request;
64
50
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityClient.d.ts","sourceRoot":"","sources":["../src/capabilityClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE5D,4FAA4F;AAC5F,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,yFAAyF;IACzF,MAAM,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAA;IAChG,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC/B;AAUD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,EAAE,GAAG,SAAS,CAUxE;AAED,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,CAkB1E;AAED,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM;CAKlB;AAED,+DAA+D;AAC/D,qBAAa,gBAAgB;IAKzB,QAAQ,CAAC,UAAU,EAAE,oBAAoB;IAJ3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAGvB,UAAU,EAAE,oBAAoB,EACzC,OAAO,GAAE,uBAA4B;YAMzB,OAAO;IAoBrB;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAkC/C;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA2B5E"}
1
+ {"version":3,"file":"capabilityClient.d.ts","sourceRoot":"","sources":["../src/capabilityClient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAM5D,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,MAAM,4BAA4B,CAAA;AACtG,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,CAAA;AAEpE,MAAM,WAAW,uBAAuB;IACtC,qGAAqG;IACrG,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,SAAS,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAA;CACrC;AAKD,qBAAa,qBAAsB,SAAQ,KAAK;IAE5C,QAAQ,CAAC,GAAG,EAAE,MAAM;gBAAX,GAAG,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM;CAKlB;AAED,+DAA+D;AAC/D,qBAAa,gBAAgB;IAMzB,QAAQ,CAAC,UAAU,EAAE,oBAAoB;IAL3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;gBAG7B,UAAU,EAAE,oBAAoB,EACzC,OAAO,GAAE,uBAA4B;YAOzB,OAAO;IAoBrB;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAkC/C;;;;;;;OAOG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CA2B5E"}
@@ -21,54 +21,14 @@
21
21
  * SPEC.md` §15 makes *exposing* the product's job and *driving* somebody else's, and the
22
22
  * products are shipping. Normalising here is the driving half doing its job.
23
23
  */
24
- const DEFAULT_TIMEOUT_MS = 15_000;
25
- function asObject(value) {
26
- return value && typeof value === 'object' && !Array.isArray(value)
27
- ? value
28
- : undefined;
29
- }
30
- /**
31
- * Pull the capability array out of whatever envelope this app answered with.
32
- *
33
- * Returns `undefined` rather than `[]` when nothing recognisable is there. That difference
34
- * is load-bearing: an empty array says "this app has no capabilities" and an unreadable body
35
- * says "this is not one of our servers" — and the second is how a descriptor whose port has
36
- * been recycled by an unrelated process gets refused instead of advertised.
24
+ /*
25
+ * The normaliser is capability-sdk's — ONE implementation shared with every other caller (the
26
+ * in-app Agent panel's resolver reads the same envelopes). It was a copy here until 0.1.79.
37
27
  */
38
- export function extractCapabilities(body) {
39
- const root = asObject(body);
40
- if (!root)
41
- return Array.isArray(body) ? body : undefined;
42
- if (Array.isArray(root['capabilities']))
43
- return root['capabilities'];
44
- // A manifest object carrying the list one level down.
45
- const nested = asObject(root['capabilities']);
46
- if (nested && Array.isArray(nested['capabilities']))
47
- return nested['capabilities'];
48
- const data = asObject(root['data']);
49
- if (data && Array.isArray(data['capabilities']))
50
- return data['capabilities'];
51
- return undefined;
52
- }
53
- /** Normalise one descriptor entry. `argsSchema` and `inputSchema` are both in the wild. */
54
- export function normalizeCapability(entry) {
55
- const record = asObject(entry);
56
- const name = record?.['name'];
57
- if (typeof name !== 'string' || !name)
58
- return undefined;
59
- const rawSchema = asObject(record?.['argsSchema']) ?? asObject(record?.['inputSchema']) ?? asObject(record?.['schema']);
60
- const properties = asObject(rawSchema?.['properties']) ?? {};
61
- const rawRequired = rawSchema?.['required'];
62
- const required = Array.isArray(rawRequired)
63
- ? rawRequired.filter((value) => typeof value === 'string')
64
- : undefined;
65
- return {
66
- name,
67
- description: typeof record?.['description'] === 'string' ? record['description'] : name,
68
- schema: { type: 'object', properties, ...(required && required.length ? { required } : {}) },
69
- reversibility: typeof record?.['reversibility'] === 'string' ? record['reversibility'] : undefined,
70
- };
71
- }
28
+ import { extractCapabilities, normalizeCapability } from '@xenosystem/capability-sdk';
29
+ export { extractCapabilities, normalizeCapability };
30
+ const DEFAULT_TIMEOUT_MS = 15_000;
31
+ const DEFAULT_INVOKE_TIMEOUT_MS = 120_000;
72
32
  export class CapabilityUnavailable extends Error {
73
33
  app;
74
34
  constructor(app, message) {
@@ -82,14 +42,16 @@ export class CapabilityClient {
82
42
  descriptor;
83
43
  fetchImpl;
84
44
  timeoutMs;
45
+ invokeTimeoutMs;
85
46
  constructor(descriptor, options = {}) {
86
47
  this.descriptor = descriptor;
87
48
  this.fetchImpl = options.fetchImpl ?? fetch;
88
49
  this.timeoutMs = options.timeoutMs ?? DEFAULT_TIMEOUT_MS;
50
+ this.invokeTimeoutMs = options.invokeTimeoutMs ?? DEFAULT_INVOKE_TIMEOUT_MS;
89
51
  }
90
- async request(path, init) {
52
+ async request(path, init, timeoutMs = this.timeoutMs) {
91
53
  const controller = new AbortController();
92
- const timer = setTimeout(() => controller.abort(), this.timeoutMs);
54
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
93
55
  try {
94
56
  return await this.fetchImpl(`${this.descriptor.url}${path}`, {
95
57
  ...init,
@@ -154,7 +116,7 @@ export class CapabilityClient {
154
116
  method: 'POST',
155
117
  headers: { 'content-type': 'application/json' },
156
118
  body: JSON.stringify({ args }),
157
- });
119
+ }, this.invokeTimeoutMs);
158
120
  }
159
121
  catch (error) {
160
122
  throw new CapabilityUnavailable(this.descriptor.app, `${this.descriptor.app} is not answering: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"capabilityClient.js","sourceRoot":"","sources":["../src/capabilityClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilityClient.js","sourceRoot":"","sources":["../src/capabilityClient.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { type Capability } from './capabilityClient.js';
9
9
  import { type CapabilityDescriptor } from './descriptors.js';
10
+ import { toolNameFor } from '@xenosystem/capability-sdk';
10
11
  export interface CatalogueEntry {
11
12
  app: string;
12
13
  capability: Capability;
@@ -26,21 +27,19 @@ export interface Catalogue {
26
27
  app: string;
27
28
  reason: string;
28
29
  }[];
30
+ /**
31
+ * Capabilities an app published under ANOTHER running app's name (`pixel.layer.delete` from
32
+ * Canvas's server). Refused, not offered: the tool would be routed to the app that published it
33
+ * while its name says it acts on a different one — a model reading "pixel" would believe it was
34
+ * editing Pixel's document. Kept so the mislabel is visible rather than silently dropped.
35
+ */
36
+ foreign: {
37
+ app: string;
38
+ capability: string;
39
+ }[];
29
40
  }
30
- /**
31
- * MCP tool name for one capability.
32
- *
33
- * The name is app-qualified so two apps cannot collide and so the agent can say WHICH app it
34
- * is acting on. Capability names are already qualified in every shipped app
35
- * (`canvas.document.create`), so the prefix is added only when it is missing — otherwise the
36
- * tool would read `canvas_canvas_document_create`.
37
- *
38
- * Dots become underscores. The consuming SDK's sanitiser permits dots
39
- * (`/[^A-Za-z0-9_.-]+/`), but Anthropic's tool-name rule is `^[a-zA-Z0-9_-]{1,64}$` and this
40
- * server is meant to work with any MCP client, so the conservative alphabet is the one that
41
- * cannot be wrong somewhere else.
42
- */
43
- export declare function toolNameFor(app: string, capabilityName: string): string;
41
+ /** App-qualified, dot-free tool names — capability-sdk's rule, shared with the in-app panel. */
42
+ export { toolNameFor };
44
43
  export interface DiscoverOptions {
45
44
  dir?: string | undefined;
46
45
  fetchImpl?: typeof fetch | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../src/catalogue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAChG,OAAO,EAAmC,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAE7F,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB;;;;;;OAMG;IACH,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC/C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;CAC7D;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,eAAoB,GAAG;IACnE,UAAU,EAAE,oBAAoB,EAAE,CAAA;IAClC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACxC,CASA;AAED,kGAAkG;AAClG,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CAmChF;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAM3D"}
1
+ {"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../src/catalogue.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAChG,OAAO,EAAmC,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AAExD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,UAAU,CAAA;IACtB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,cAAc,EAAE,CAAA;IACzB;;;;;;OAMG;IACH,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAC9C;;;;;OAKG;IACH,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC/C;AAED,gGAAgG;AAChG,OAAO,EAAE,WAAW,EAAE,CAAA;AAEtB,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,KAAK,GAAG,SAAS,CAAA;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,8EAA8E;IAC9E,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,OAAO,CAAC,GAAG,SAAS,CAAA;CAC7D;AAED,4FAA4F;AAC5F,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,eAAoB,GAAG;IACnE,UAAU,EAAE,oBAAoB,EAAE,CAAA;IAClC,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACxC,CASA;AAED,kGAAkG;AAClG,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC,CA2ChF;AAED,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAM3D"}
package/dist/catalogue.js CHANGED
@@ -7,23 +7,9 @@
7
7
  */
8
8
  import { CapabilityClient, CapabilityUnavailable } from './capabilityClient.js';
9
9
  import { processIsAlive, readDescriptors } from './descriptors.js';
10
- /**
11
- * MCP tool name for one capability.
12
- *
13
- * The name is app-qualified so two apps cannot collide and so the agent can say WHICH app it
14
- * is acting on. Capability names are already qualified in every shipped app
15
- * (`canvas.document.create`), so the prefix is added only when it is missing — otherwise the
16
- * tool would read `canvas_canvas_document_create`.
17
- *
18
- * Dots become underscores. The consuming SDK's sanitiser permits dots
19
- * (`/[^A-Za-z0-9_.-]+/`), but Anthropic's tool-name rule is `^[a-zA-Z0-9_-]{1,64}$` and this
20
- * server is meant to work with any MCP client, so the conservative alphabet is the one that
21
- * cannot be wrong somewhere else.
22
- */
23
- export function toolNameFor(app, capabilityName) {
24
- const qualified = capabilityName.startsWith(`${app}.`) ? capabilityName : `${app}.${capabilityName}`;
25
- return qualified.replace(/[^A-Za-z0-9_-]+/g, '_').replace(/^_+|_+$/g, '').slice(0, 64);
26
- }
10
+ import { toolNameFor } from '@xenosystem/capability-sdk';
11
+ /** App-qualified, dot-free tool names — capability-sdk's rule, shared with the in-app panel. */
12
+ export { toolNameFor };
27
13
  /** Descriptors whose publishing process still exists. Cheap, and never the whole answer. */
28
14
  export function candidateDescriptors(options = {}) {
29
15
  const isAlive = options.isAlive ?? processIsAlive;
@@ -42,6 +28,8 @@ export async function discover(options = {}) {
42
28
  const { candidates, dead } = candidateDescriptors(options);
43
29
  const entries = [];
44
30
  const unreachable = [...dead];
31
+ const foreign = [];
32
+ const runningApps = new Set(candidates.map((descriptor) => descriptor.app));
45
33
  const probes = candidates.map(async (descriptor) => {
46
34
  const client = new CapabilityClient(descriptor, {
47
35
  fetchImpl: options.fetchImpl,
@@ -61,6 +49,11 @@ export async function discover(options = {}) {
61
49
  if (!probe)
62
50
  continue;
63
51
  for (const capability of probe.capabilities) {
52
+ const claimed = capability.name.split('.')[0];
53
+ if (claimed && claimed !== probe.descriptor.app && runningApps.has(claimed)) {
54
+ foreign.push({ app: probe.descriptor.app, capability: capability.name });
55
+ continue;
56
+ }
64
57
  entries.push({
65
58
  app: probe.descriptor.app,
66
59
  capability,
@@ -70,7 +63,8 @@ export async function discover(options = {}) {
70
63
  }
71
64
  entries.sort((a, b) => a.toolName.localeCompare(b.toolName));
72
65
  unreachable.sort((a, b) => a.app.localeCompare(b.app));
73
- return { entries, unreachable };
66
+ foreign.sort((a, b) => a.app.localeCompare(b.app) || a.capability.localeCompare(b.capability));
67
+ return { entries, unreachable, foreign };
74
68
  }
75
69
  /** The description a model sees. It has to carry the app and the risk, not just the verb. */
76
70
  export function describeEntry(entry) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalogue.js","sourceRoot":"","sources":["../src/catalogue.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalogue.js","sourceRoot":"","sources":["../src/catalogue.ts"],"names":[],"mappings":"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"}
@@ -43,6 +43,8 @@ type JsonRpcResponse = {
43
43
  export interface McpServerOptions extends DiscoverOptions {
44
44
  /** Injected so the whole request/response cycle can be exercised without a real app. */
45
45
  discoverImpl?: ((options: DiscoverOptions) => Promise<Catalogue>) | undefined;
46
+ /** Budget for one `tools/call`. Defaults to 120 s — see `CapabilityClientOptions.invokeTimeoutMs`. */
47
+ invokeTimeoutMs?: number | undefined;
46
48
  }
47
49
  /**
48
50
  * Handle one JSON-RPC request.
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../src/mcpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAIhD,OAAO,EAA2B,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE9F,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,WAAW,sBAAsB,CAAA;AAE9C,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,KAAK,eAAe,GAChB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC/D;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAE5F,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,wFAAwF;IACxF,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;CAC9E;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAgHtC;AAED,qEAAqE;AACrE,wBAAgB,KAAK,CACnB,KAAK,GAAE,QAAwB,EAC/B,MAAM,GAAE,QAAyB,EACjC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
1
+ {"version":3,"file":"mcpServer.d.ts","sourceRoot":"","sources":["../src/mcpServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAIhD,OAAO,EAA2B,KAAK,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE9F,eAAO,MAAM,gBAAgB,eAAe,CAAA;AAC5C,eAAO,MAAM,WAAW,sBAAsB,CAAA;AAE9C,UAAU,cAAc;IACtB,OAAO,EAAE,KAAK,CAAA;IACd,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC;AAED,KAAK,eAAe,GAChB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAE,GAC/D;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAA;AAE5F,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,wFAAwF;IACxF,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,eAAe,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAA;IAC7E,sGAAsG;IACtG,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAiHtC;AAED,qEAAqE;AACrE,wBAAgB,KAAK,CACnB,KAAK,GAAE,QAAwB,EAC/B,MAAM,GAAE,QAAyB,EACjC,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Cf"}
package/dist/mcpServer.js CHANGED
@@ -100,6 +100,7 @@ export async function handleRequest(request, options = {}) {
100
100
  const client = new CapabilityClient(descriptor, {
101
101
  fetchImpl: options.fetchImpl,
102
102
  timeoutMs: options.timeoutMs,
103
+ invokeTimeoutMs: options.invokeTimeoutMs,
103
104
  });
104
105
  try {
105
106
  const result = await client.invoke(entry.capability.name, args);
@@ -1 +1 @@
1
- {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../src/mcpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcpServer.js","sourceRoot":"","sources":["../src/mcpServer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xenosystem/capability-mcp",
3
- "version": "0.1.77",
3
+ "version": "0.1.79",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Presents every running XENO application's capability server to an agent as MCP tools.",
6
6
  "type": "module",
@@ -32,8 +32,11 @@
32
32
  "url": "git+https://github.com/XENO-CORPORATION/xeno-agent-interface.git",
33
33
  "directory": "packages/capability-mcp"
34
34
  },
35
+ "dependencies": {
36
+ "@xenosystem/capability-sdk": "0.1.0"
37
+ },
35
38
  "scripts": {
36
39
  "smoke:live": "node scripts/smoke-live-app.mjs"
37
40
  },
38
- "gitHead": "48a0ea2c422243df478f31f7df3ee67a8340a1de"
41
+ "gitHead": "a137552c8970faa5ab6d139998350d1ceb9986c9"
39
42
  }