@atlassian/mcp-compressor 0.39.0 → 0.40.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.
@@ -1,5 +1,7 @@
1
1
  export interface ExecutableTool<TResult = string> {
2
2
  name: string;
3
+ title?: string | null;
4
+ annotations?: Record<string, unknown> | null;
3
5
  description?: string;
4
6
  inputSchema: Record<string, unknown>;
5
7
  execute(input?: Record<string, unknown>): Promise<TResult>;
@@ -2,6 +2,8 @@ import { type HostShrinkfitOptions } from "./host_shrinkfit.js";
2
2
  import type { CompressionLevel } from "./types.js";
3
3
  import type { ExecutableTool } from "./adapters.js";
4
4
  export interface LocalTool<TInput = Record<string, unknown>, TResult = unknown> {
5
+ title?: string | null;
6
+ annotations?: Record<string, unknown> | null;
5
7
  description?: string;
6
8
  inputSchema: unknown;
7
9
  execute: (input: TInput) => TResult | Promise<TResult>;
@@ -46,6 +46,8 @@ export function compressTools(tools, options = {}) {
46
46
  const compressionLevel = options.compressionLevel ?? "medium";
47
47
  const specs = Object.entries(tools).map(([name, tool]) => ({
48
48
  name,
49
+ title: tool.title,
50
+ annotations: tool.annotations,
49
51
  description: tool.description,
50
52
  inputSchema: asJsonSchema(tool.inputSchema, options.schemaAdapter),
51
53
  }));
package/dist/native.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  export interface NativeToolSpec {
2
2
  name: string;
3
+ title?: string | null;
4
+ annotations?: Record<string, unknown> | null;
3
5
  description?: string | null;
4
6
  input_schema: Record<string, unknown>;
5
7
  }
@@ -24,6 +24,8 @@ export interface CompressorClientOptions {
24
24
  }
25
25
  export interface ProxyTool {
26
26
  name: string;
27
+ title?: string | null;
28
+ annotations?: Record<string, unknown> | null;
27
29
  description?: string | null;
28
30
  inputSchema: Record<string, unknown>;
29
31
  }
@@ -198,6 +198,8 @@ export class CompressorProxy {
198
198
  get tools() {
199
199
  return this.info().frontend_tools.map((tool) => ({
200
200
  name: tool.name,
201
+ title: tool.title,
202
+ annotations: tool.annotations,
201
203
  description: tool.description,
202
204
  inputSchema: tool.input_schema,
203
205
  }));
@@ -275,6 +277,8 @@ export class CompressorProxy {
275
277
  for (const tool of this.tools) {
276
278
  result[tool.name] = {
277
279
  name: tool.name,
280
+ title: tool.title,
281
+ annotations: tool.annotations,
278
282
  description: tool.description ?? undefined,
279
283
  inputSchema: tool.inputSchema,
280
284
  execute: async (input = {}) => (await this.invokeWrapper(tool.name, input)).text,
@@ -291,6 +295,8 @@ export class CompressorProxy {
291
295
  token: info.token,
292
296
  tools: info.backend_tools.map((tool) => ({
293
297
  name: tool.name,
298
+ title: tool.title,
299
+ annotations: tool.annotations,
294
300
  description: tool.description,
295
301
  inputSchema: tool.input_schema,
296
302
  })),
@@ -1,6 +1,8 @@
1
1
  import { type NativeCompressedSession } from "./native.js";
2
2
  export interface ToolSpec {
3
3
  name: string;
4
+ title?: string | null;
5
+ annotations?: Record<string, unknown> | null;
4
6
  description?: string | null;
5
7
  inputSchema: Record<string, unknown>;
6
8
  }
@@ -63,11 +65,15 @@ export interface CompressedSessionInfo {
63
65
  token: string;
64
66
  frontend_tools: Array<{
65
67
  name: string;
68
+ title?: string | null;
69
+ annotations?: Record<string, unknown> | null;
66
70
  description?: string | null;
67
71
  input_schema: Record<string, unknown>;
68
72
  }>;
69
73
  backend_tools: Array<{
70
74
  name: string;
75
+ title?: string | null;
76
+ annotations?: Record<string, unknown> | null;
71
77
  description?: string | null;
72
78
  input_schema: Record<string, unknown>;
73
79
  }>;
@@ -76,6 +82,8 @@ export interface CompressedSessionInfo {
76
82
  serverName?: string;
77
83
  tool: {
78
84
  name: string;
85
+ title?: string | null;
86
+ annotations?: Record<string, unknown> | null;
79
87
  description?: string | null;
80
88
  input_schema: Record<string, unknown>;
81
89
  };
package/dist/rust_core.js CHANGED
@@ -2,6 +2,8 @@ import { loadNativeCore } from "./native.js";
2
2
  function toNativeTool(tool) {
3
3
  return {
4
4
  name: tool.name,
5
+ title: tool.title ?? null,
6
+ annotations: tool.annotations ?? null,
5
7
  description: tool.description ?? null,
6
8
  input_schema: tool.inputSchema,
7
9
  };
Binary file
Binary file
Binary file
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/native/index.linux-x64-gnu.node
3
- size: 34565744 bytes
4
- sha256: 0b1036194948f487b1f20406c74da2120b80204477cad5f7134e1aef12c53918
3
+ size: 34662656 bytes
4
+ sha256: 2d5f74b045200e5ec57ab6285b75b5403a7a251008e2bb3be5d1f039d24460fb
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlassian/mcp-compressor",
3
- "version": "0.39.0",
3
+ "version": "0.40.0",
4
4
  "description": "TypeScript MCP server wrapper for reducing tokens consumed by MCP tools.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://github.com/atlassian-labs/mcp-compressor",