@toolbox-sdk/adk 0.1.5 → 0.2.1

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 CHANGED
@@ -20,6 +20,9 @@ involving Large Language Models (LLMs).
20
20
  - [Installation](#installation)
21
21
  - [Quickstart](#quickstart)
22
22
  - [Usage](#usage)
23
+ - [Transport Protocols](#transport-protocols)
24
+ - [Available Protocols](#available-protocols)
25
+ - [Specifying a Protocol](#specifying-a-protocol)
23
26
  - [Loading Tools](#loading-tools)
24
27
  - [Load a toolset](#load-a-toolset)
25
28
  - [Load a single tool](#load-a-single-tool)
@@ -123,6 +126,35 @@ All interactions for loading and invoking tools happen through this client.
123
126
  > For advanced use cases, you can provide an external `AxiosInstance`
124
127
  > during initialization (e.g., `ToolboxClient(url, my_session)`).
125
128
 
129
+
130
+ ## Transport Protocols
131
+
132
+ The SDK supports multiple transport protocols to communicate with the Toolbox server. You can specify the protocol version during client initialization.
133
+
134
+ ### Available Protocols
135
+
136
+ - `Protocol.MCP`: The default protocol version (currently aliases to `MCP_v20250618`).
137
+ - `Protocol.MCP_v20241105`: Use this for compatibility with older MCP servers (November 2024 version).
138
+ - `Protocol.MCP_v20250326`: March 2025 version.
139
+ - `Protocol.MCP_v20250618`: June 2025 version.
140
+ - `Protocol.MCP_v20251125`: November 2025 version.
141
+ - `Protocol.TOOLBOX`: Legacy Toolbox protocol.
142
+
143
+ ### Specifying a Protocol
144
+
145
+ You can explicitly set the protocol by passing the `protocol` argument to the `ToolboxClient` constructor.
146
+
147
+ ```javascript
148
+ import { ToolboxClient, Protocol } from '@toolbox-sdk/adk';
149
+
150
+ const URL = 'http://127.0.0.1:5000';
151
+
152
+ // Initialize with a specific protocol version
153
+ const client = new ToolboxClient(URL, null, null, Protocol.MCP_v20241105);
154
+
155
+ const tools = await client.loadToolset();
156
+ ```
157
+
126
158
  ## Loading Tools
127
159
 
128
160
  You can load tools individually or in groups (toolsets) as defined in your
@@ -1,4 +1,4 @@
1
- import { AuthTokenGetters, BoundParams, ClientHeadersConfig } from '@toolbox-sdk/core';
1
+ import { AuthTokenGetters, BoundParams, ClientHeadersConfig, Protocol } from '@toolbox-sdk/core';
2
2
  import { ToolboxTool } from './tool.js';
3
3
  import type { AxiosInstance } from 'axios';
4
4
  /**
@@ -19,7 +19,7 @@ export declare class ToolboxClient {
19
19
  * @param {ClientHeadersConfig} [clientHeaders] - Optional initial headers to
20
20
  * be included in each request.
21
21
  */
22
- constructor(url: string, session?: AxiosInstance | null, clientHeaders?: ClientHeadersConfig | null);
22
+ constructor(url: string, session?: AxiosInstance | null, clientHeaders?: ClientHeadersConfig | null, protocol?: Protocol);
23
23
  /**
24
24
  * Asynchronously loads a tool from the server.
25
25
  *
@@ -0,0 +1,67 @@
1
+ // Copyright 2025 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { ToolboxClient as CoreToolboxClient, Protocol, } from '@toolbox-sdk/core';
15
+ import { ToolboxTool } from './tool.js';
16
+ /**
17
+ * An asynchronous client for interacting with a Toolbox service, specifically
18
+ * designed to work with the Google ADK.
19
+ *
20
+ * This client mirrors the interface of the core ToolboxClient but returns
21
+ * ADK-compatible `ToolboxTool` instances that can be used directly in an
22
+ * ADK Agent.
23
+ */
24
+ export class ToolboxClient {
25
+ /**
26
+ * Initializes the ADK ToolboxClient.
27
+ * @param {string} url - The base URL for the Toolbox service API (e.g., "http://localhost:5000").
28
+ * @param {AxiosInstance} [session] - Optional Axios instance for making HTTP
29
+ * requests. If not provided, a new one will be created.
30
+ * @param {ClientHeadersConfig} [clientHeaders] - Optional initial headers to
31
+ * be included in each request.
32
+ */
33
+ constructor(url, session, clientHeaders, protocol = Protocol.MCP) {
34
+ this.coreClient = new CoreToolboxClient(url, session, clientHeaders, protocol);
35
+ }
36
+ /**
37
+ * Asynchronously loads a tool from the server.
38
+ *
39
+ * Retrieves the schema for the specified tool and returns an ADK-compatible
40
+ * `ToolboxTool` adapter instance, ready to be used in an ADK Agent.
41
+ *
42
+ * @param {string} name - The unique name or identifier of the tool to load.
43
+ * @param {AuthTokenGetters | null} [authTokenGetters] - Optional map of auth service names to token getters.
44
+ * @param {BoundParams | null} [boundParams] - Optional parameters to pre-bind to the tool.
45
+ * @returns {Promise<ToolboxTool>} A promise that resolves to an ADK ToolboxTool,
46
+ * ready for execution.
47
+ */
48
+ async loadTool(name, authTokenGetters = {}, boundParams = {}) {
49
+ const coreTool = await this.coreClient.loadTool(name, authTokenGetters, boundParams);
50
+ return new ToolboxTool(coreTool);
51
+ }
52
+ /**
53
+ * Asynchronously fetches a toolset and loads all tools defined within it.
54
+ *
55
+ * @param {string | null} [name] - Name of the toolset to load. If null or undefined, loads the default toolset.
56
+ * @param {AuthTokenGetters | null} [authTokenGetters] - Optional map of auth service names to token getters.
57
+ * @param {BoundParams | null} [boundParams] - Optional parameters to pre-bind to the tools in the toolset.
58
+ * @param {boolean} [strict=false] - If true, throws an error if any provided auth token or bound param is not used by at least one tool.
59
+ * @returns {Promise<Array<ToolboxTool>>} A promise that resolves to a list of
60
+ * ADK ToolboxTool instances, ready for execution.
61
+ */
62
+ async loadToolset(name, authTokenGetters = {}, boundParams = {}, strict = false) {
63
+ const coreTools = await this.coreClient.loadToolset(name, authTokenGetters, boundParams, strict);
64
+ return coreTools.map(coreTool => new ToolboxTool(coreTool));
65
+ }
66
+ }
67
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/toolbox_adk/client.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,aAAa,IAAI,iBAAiB,EAIlC,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAW,MAAM,WAAW,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IAGxB;;;;;;;OAOG;IACH,YACE,GAAW,EACX,OAA8B,EAC9B,aAA0C,EAC1C,WAAqB,QAAQ,CAAC,GAAG;QAEjC,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CACrC,GAAG,EACH,OAAO,EACP,aAAa,EACb,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,mBAA4C,EAAE,EAC9C,cAAkC,EAAE;QAEpC,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACvD,IAAI,EACJ,gBAAgB,EAChB,WAAW,CACZ,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CACf,IAAa,EACb,mBAA4C,EAAE,EAC9C,cAAkC,EAAE,EACpC,MAAM,GAAG,KAAK;QAEd,MAAM,SAAS,GAAe,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC7D,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,MAAM,CACP,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -1,2 +1,3 @@
1
1
  export { ToolboxClient } from './client.js';
2
2
  export { ToolboxTool } from './tool.js';
3
+ export { Protocol } from '@toolbox-sdk/core';
@@ -15,4 +15,5 @@
15
15
  // Export the main factory function and the core tool type
16
16
  export { ToolboxClient } from './client.js';
17
17
  export { ToolboxTool } from './tool.js';
18
+ export { Protocol } from '@toolbox-sdk/core';
18
19
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/toolbox_adk/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,qEAAqE;AAErE,0DAA0D;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,87 @@
1
+ // Copyright 2025 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { Type } from '@google/genai';
15
+ import { z } from 'zod';
16
+ /**
17
+ * Safely determines the JSON Schema type enum from a Zod type object.
18
+ *
19
+ * @param zodType The Zod type instance to inspect.
20
+ * @returns A value from the `Type` enum.
21
+ */
22
+ function getJsonSchemaTypeFromZod(zodType) {
23
+ // Handle optional and nullable types by recursively unwrapping them
24
+ if (zodType instanceof z.ZodOptional || zodType instanceof z.ZodNullable) {
25
+ return getJsonSchemaTypeFromZod(zodType.unwrap());
26
+ }
27
+ // Handle specific base types
28
+ if (zodType instanceof z.ZodNull) {
29
+ return Type.NULL;
30
+ }
31
+ if (zodType instanceof z.ZodString || zodType instanceof z.ZodEnum) {
32
+ return Type.STRING;
33
+ }
34
+ if (zodType instanceof z.ZodNumber) {
35
+ const isInteger = zodType._def.checks.some(check => check.kind === 'int');
36
+ return isInteger ? Type.INTEGER : Type.NUMBER;
37
+ }
38
+ if (zodType instanceof z.ZodBoolean) {
39
+ return Type.BOOLEAN;
40
+ }
41
+ if (zodType instanceof z.ZodArray) {
42
+ return Type.ARRAY;
43
+ }
44
+ if (zodType instanceof z.ZodObject) {
45
+ return Type.OBJECT;
46
+ }
47
+ // Fallback for unhandled types
48
+ return Type.TYPE_UNSPECIFIED;
49
+ }
50
+ /**
51
+ * Converts a ZodObject schema into a FunctionDeclaration for the Google ADK.
52
+ *
53
+ * @param name The name of the function/tool.
54
+ * @param description The description of the function/tool.
55
+ * @param zodSchema The Zod schema for the tool's parameters.
56
+ * @returns A FunctionDeclaration object for the Google Genai API.
57
+ */
58
+ export function ConvertZodToFunctionDeclaration(name, description, zodSchema) {
59
+ const properties = {};
60
+ const required = [];
61
+ if (!(zodSchema === null || zodSchema === void 0 ? void 0 : zodSchema.shape)) {
62
+ return {
63
+ name,
64
+ description,
65
+ parameters: { type: Type.OBJECT, properties, required },
66
+ };
67
+ }
68
+ for (const [key, zodType] of Object.entries(zodSchema.shape)) {
69
+ properties[key] = {
70
+ type: getJsonSchemaTypeFromZod(zodType),
71
+ description: zodType.description || '',
72
+ };
73
+ if (!zodType.isOptional()) {
74
+ required.push(key);
75
+ }
76
+ }
77
+ return {
78
+ name,
79
+ description,
80
+ parameters: {
81
+ type: Type.OBJECT,
82
+ properties,
83
+ required,
84
+ },
85
+ };
86
+ }
87
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/toolbox_adk/protocol.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,CAAC,EAAqC,MAAM,KAAK,CAAC;AAE1D;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,OAAmB;IACnD,oEAAoE;IACpE,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,OAAO,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,+BAA+B;IAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAAY,EACZ,WAAmB,EACnB,SAAiC;IAEjC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAA,EAAE,CAAC;QACtB,OAAO;YACL,IAAI;YACJ,WAAW;YACX,UAAU,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAC;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,UAAU,CAAC,GAAG,CAAC,GAAG;YAChB,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC;YACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;SACvC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW;QACX,UAAU,EAAE;YACV,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,UAAU;YACV,QAAQ;SACT;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,102 @@
1
+ // Copyright 2025 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ import { BaseTool } from '@google/adk';
15
+ import { ConvertZodToFunctionDeclaration } from './protocol.js';
16
+ /**
17
+ * An adapter class that wraps a `CoreTool` from the `@toolbox-sdk/core`
18
+ * to make it compatible with the `@google/adk` `BaseTool` interface.
19
+ */
20
+ export class ToolboxTool extends BaseTool {
21
+ /**
22
+ * Creates a new instance of the ADK-compatible tool wrapper.
23
+ * @param coreTool The original callable tool object from `@toolbox-sdk/core`.
24
+ */
25
+ constructor(coreTool) {
26
+ super({
27
+ name: coreTool.toolName,
28
+ description: coreTool.description,
29
+ isLongRunning: false,
30
+ });
31
+ this.coreTool = coreTool;
32
+ }
33
+ /**
34
+ * Runs the tool by delegating the call to the wrapped `coreTool`.
35
+ *
36
+ * @param request The `RunAsyncToolRequest` from the ADK agent.
37
+ * @returns A promise that resolves to the tool's execution result.
38
+ */
39
+ async runAsync(request) {
40
+ return this.coreTool(request.args);
41
+ }
42
+ /**
43
+ * Generates the `FunctionDeclaration` (JSON Schema) for this tool
44
+ * by converting the Zod schema from the `coreTool`.
45
+ *
46
+ * @returns A `FunctionDeclaration` for the LLM.
47
+ */
48
+ _getDeclaration() {
49
+ const zodSchema = this.coreTool.params;
50
+ return ConvertZodToFunctionDeclaration(this.name, this.description, zodSchema);
51
+ }
52
+ /**
53
+ * Creates a new `ToolboxTool` with additional auth token getters.
54
+ *
55
+ * @param newAuthTokenGetters A map of auth sources to token getters.
56
+ * @returns A new `ToolboxTool` instance.
57
+ */
58
+ addAuthTokenGetters(newAuthTokenGetters) {
59
+ const newCoreTool = this.coreTool.addAuthTokenGetters(newAuthTokenGetters);
60
+ return new ToolboxTool(newCoreTool);
61
+ }
62
+ /**
63
+ * Creates a new `ToolboxTool` with an additional auth token getter.
64
+ *
65
+ * @param authSource The name of the auth source.
66
+ * @param getIdToken The token getter function.
67
+ * @returns A new `ToolboxTool` instance.
68
+ */
69
+ addAuthTokenGetter(authSource, getIdToken) {
70
+ const newCoreTool = this.coreTool.addAuthTokenGetter(authSource, getIdToken);
71
+ return new ToolboxTool(newCoreTool);
72
+ }
73
+ /**
74
+ * Creates a new `ToolboxTool` with bound parameters.
75
+ *
76
+ * @param paramsToBind A map of parameter names to values or getters.
77
+ * @returns A new `ToolboxTool` instance.
78
+ */
79
+ bindParams(paramsToBind) {
80
+ const newCoreTool = this.coreTool.bindParams(paramsToBind);
81
+ return new ToolboxTool(newCoreTool);
82
+ }
83
+ /**
84
+ * Creates a new `ToolboxTool` with a single bound parameter.
85
+ *
86
+ * @param paramName The name of the parameter to bind.
87
+ * @param paramValue The value or getter to bind.
88
+ * @returns A new `ToolboxTool` instance.
89
+ */
90
+ bindParam(paramName, paramValue) {
91
+ const newCoreTool = this.coreTool.bindParam(paramName, paramValue);
92
+ return new ToolboxTool(newCoreTool);
93
+ }
94
+ /**
95
+ * Gets the underlying `CoreTool` object.
96
+ * @returns The wrapped `CoreTool` instance.
97
+ */
98
+ getCoreTool() {
99
+ return this.coreTool;
100
+ }
101
+ }
102
+ //# sourceMappingURL=tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/toolbox_adk/tool.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAC,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAU1D,OAAO,EAAC,+BAA+B,EAAC,MAAM,eAAe,CAAC;AAU9D;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IAGvC;;;OAGG;IACH,YAAY,QAAkB;QAC5B,KAAK,CAAC;YACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA4B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACM,eAAe;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAgC,CAAC;QAEjE,OAAO,+BAA+B,CACpC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,mBAAqC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAC3E,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAChB,UAAkB,EAClB,UAA2B;QAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAClD,UAAU,EACV,UAAU,CACX,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,YAAyB;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3D,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAiB,EAAE,UAAsB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
@@ -0,0 +1,47 @@
1
+ import { AuthTokenGetters, BoundParams, ClientHeadersConfig, Protocol } from '@toolbox-sdk/core';
2
+ import { ToolboxTool } from './tool.js';
3
+ import type { AxiosInstance } from 'axios';
4
+ /**
5
+ * An asynchronous client for interacting with a Toolbox service, specifically
6
+ * designed to work with the Google ADK.
7
+ *
8
+ * This client mirrors the interface of the core ToolboxClient but returns
9
+ * ADK-compatible `ToolboxTool` instances that can be used directly in an
10
+ * ADK Agent.
11
+ */
12
+ export declare class ToolboxClient {
13
+ private readonly coreClient;
14
+ /**
15
+ * Initializes the ADK ToolboxClient.
16
+ * @param {string} url - The base URL for the Toolbox service API (e.g., "http://localhost:5000").
17
+ * @param {AxiosInstance} [session] - Optional Axios instance for making HTTP
18
+ * requests. If not provided, a new one will be created.
19
+ * @param {ClientHeadersConfig} [clientHeaders] - Optional initial headers to
20
+ * be included in each request.
21
+ */
22
+ constructor(url: string, session?: AxiosInstance | null, clientHeaders?: ClientHeadersConfig | null, protocol?: Protocol);
23
+ /**
24
+ * Asynchronously loads a tool from the server.
25
+ *
26
+ * Retrieves the schema for the specified tool and returns an ADK-compatible
27
+ * `ToolboxTool` adapter instance, ready to be used in an ADK Agent.
28
+ *
29
+ * @param {string} name - The unique name or identifier of the tool to load.
30
+ * @param {AuthTokenGetters | null} [authTokenGetters] - Optional map of auth service names to token getters.
31
+ * @param {BoundParams | null} [boundParams] - Optional parameters to pre-bind to the tool.
32
+ * @returns {Promise<ToolboxTool>} A promise that resolves to an ADK ToolboxTool,
33
+ * ready for execution.
34
+ */
35
+ loadTool(name: string, authTokenGetters?: AuthTokenGetters | null, boundParams?: BoundParams | null): Promise<ToolboxTool>;
36
+ /**
37
+ * Asynchronously fetches a toolset and loads all tools defined within it.
38
+ *
39
+ * @param {string | null} [name] - Name of the toolset to load. If null or undefined, loads the default toolset.
40
+ * @param {AuthTokenGetters | null} [authTokenGetters] - Optional map of auth service names to token getters.
41
+ * @param {BoundParams | null} [boundParams] - Optional parameters to pre-bind to the tools in the toolset.
42
+ * @param {boolean} [strict=false] - If true, throws an error if any provided auth token or bound param is not used by at least one tool.
43
+ * @returns {Promise<Array<ToolboxTool>>} A promise that resolves to a list of
44
+ * ADK ToolboxTool instances, ready for execution.
45
+ */
46
+ loadToolset(name?: string, authTokenGetters?: AuthTokenGetters | null, boundParams?: BoundParams | null, strict?: boolean): Promise<Array<ToolboxTool>>;
47
+ }
@@ -11,7 +11,7 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
- import { ToolboxClient as CoreToolboxClient, } from '@toolbox-sdk/core';
14
+ import { ToolboxClient as CoreToolboxClient, Protocol, } from '@toolbox-sdk/core';
15
15
  import { ToolboxTool } from './tool.js';
16
16
  /**
17
17
  * An asynchronous client for interacting with a Toolbox service, specifically
@@ -31,8 +31,8 @@ export class ToolboxClient {
31
31
  * @param {ClientHeadersConfig} [clientHeaders] - Optional initial headers to
32
32
  * be included in each request.
33
33
  */
34
- constructor(url, session, clientHeaders) {
35
- this.coreClient = new CoreToolboxClient(url, session, clientHeaders);
34
+ constructor(url, session, clientHeaders, protocol = Protocol.MCP) {
35
+ this.coreClient = new CoreToolboxClient(url, session, clientHeaders, protocol);
36
36
  }
37
37
  /**
38
38
  * Asynchronously loads a tool from the server.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/toolbox_adk/client.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,aAAa,IAAI,iBAAiB,EAIlC,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAW,MAAM,WAAW,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACP,UAAU,CAAoB;IAE/C;;;;;;;OAOG;IACH,YACE,GAAW,EACX,OAA8B,EAC9B,aAA0C,EAC1C,WAAqB,QAAQ,CAAC,GAAG;QAEjC,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CACrC,GAAG,EACH,OAAO,EACP,aAAa,EACb,QAAQ,CACT,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,mBAA4C,EAAE,EAC9C,cAAkC,EAAE;QAEpC,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACvD,IAAI,EACJ,gBAAgB,EAChB,WAAW,CACZ,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CACf,IAAa,EACb,mBAA4C,EAAE,EAC9C,cAAkC,EAAE,EACpC,MAAM,GAAG,KAAK;QAEd,MAAM,SAAS,GAAe,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC7D,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,MAAM,CACP,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -0,0 +1,3 @@
1
+ export { ToolboxClient } from './client.js';
2
+ export { ToolboxTool } from './tool.js';
3
+ export { Protocol } from '@toolbox-sdk/core';
@@ -0,0 +1,19 @@
1
+ // Copyright 2025 Google LLC
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // http://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+ // This file defines the public API for the @toolbox-sdk/adk package.
15
+ // Export the main factory function and the core tool type
16
+ export { ToolboxClient } from './client.js';
17
+ export { ToolboxTool } from './tool.js';
18
+ export { Protocol } from '@toolbox-sdk/core';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/toolbox_adk/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,qEAAqE;AAErE,0DAA0D;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC;AACtC,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { FunctionDeclaration } from '@google/genai';
2
+ import { ZodObject, ZodRawShape } from 'zod';
3
+ /**
4
+ * Converts a ZodObject schema into a FunctionDeclaration for the Google ADK.
5
+ *
6
+ * @param name The name of the function/tool.
7
+ * @param description The description of the function/tool.
8
+ * @param zodSchema The Zod schema for the tool's parameters.
9
+ * @returns A FunctionDeclaration object for the Google Genai API.
10
+ */
11
+ export declare function ConvertZodToFunctionDeclaration(name: string, description: string, zodSchema: ZodObject<ZodRawShape>): FunctionDeclaration;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../../src/toolbox_adk/protocol.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,CAAC,EAAqC,MAAM,KAAK,CAAC;AAE1D;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,OAAmB;IACnD,oEAAoE;IACpE,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,OAAO,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,+BAA+B;IAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAAY,EACZ,WAAmB,EACnB,SAAiC;IAEjC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACtB,OAAO;YACL,IAAI;YACJ,WAAW;YACX,UAAU,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAC;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,UAAU,CAAC,GAAG,CAAC,GAAG;YAChB,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC;YACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;SACvC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW;QACX,UAAU,EAAE;YACV,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,UAAU;YACV,QAAQ;SACT;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { BaseTool, RunAsyncToolRequest } from '@google/adk';
2
+ import type { FunctionDeclaration } from '@google/genai';
3
+ import { ToolboxClient, AuthTokenGetter, AuthTokenGetters, BoundParams, BoundValue } from '@toolbox-sdk/core';
4
+ type ResolvedPromiseType<T> = T extends Promise<infer U> ? U : T;
5
+ export type CoreTool = ResolvedPromiseType<ReturnType<typeof ToolboxClient.prototype.loadTool>>;
6
+ /**
7
+ * An adapter class that wraps a `CoreTool` from the `@toolbox-sdk/core`
8
+ * to make it compatible with the `@google/adk` `BaseTool` interface.
9
+ */
10
+ export declare class ToolboxTool extends BaseTool {
11
+ private readonly coreTool;
12
+ /**
13
+ * Creates a new instance of the ADK-compatible tool wrapper.
14
+ * @param coreTool The original callable tool object from `@toolbox-sdk/core`.
15
+ */
16
+ constructor(coreTool: CoreTool);
17
+ /**
18
+ * Runs the tool by delegating the call to the wrapped `coreTool`.
19
+ *
20
+ * @param request The `RunAsyncToolRequest` from the ADK agent.
21
+ * @returns A promise that resolves to the tool's execution result.
22
+ */
23
+ runAsync(request: RunAsyncToolRequest): Promise<unknown>;
24
+ /**
25
+ * Generates the `FunctionDeclaration` (JSON Schema) for this tool
26
+ * by converting the Zod schema from the `coreTool`.
27
+ *
28
+ * @returns A `FunctionDeclaration` for the LLM.
29
+ */
30
+ _getDeclaration(): FunctionDeclaration | undefined;
31
+ /**
32
+ * Creates a new `ToolboxTool` with additional auth token getters.
33
+ *
34
+ * @param newAuthTokenGetters A map of auth sources to token getters.
35
+ * @returns A new `ToolboxTool` instance.
36
+ */
37
+ addAuthTokenGetters(newAuthTokenGetters: AuthTokenGetters): ToolboxTool;
38
+ /**
39
+ * Creates a new `ToolboxTool` with an additional auth token getter.
40
+ *
41
+ * @param authSource The name of the auth source.
42
+ * @param getIdToken The token getter function.
43
+ * @returns A new `ToolboxTool` instance.
44
+ */
45
+ addAuthTokenGetter(authSource: string, getIdToken: AuthTokenGetter): ToolboxTool;
46
+ /**
47
+ * Creates a new `ToolboxTool` with bound parameters.
48
+ *
49
+ * @param paramsToBind A map of parameter names to values or getters.
50
+ * @returns A new `ToolboxTool` instance.
51
+ */
52
+ bindParams(paramsToBind: BoundParams): ToolboxTool;
53
+ /**
54
+ * Creates a new `ToolboxTool` with a single bound parameter.
55
+ *
56
+ * @param paramName The name of the parameter to bind.
57
+ * @param paramValue The value or getter to bind.
58
+ * @returns A new `ToolboxTool` instance.
59
+ */
60
+ bindParam(paramName: string, paramValue: BoundValue): ToolboxTool;
61
+ /**
62
+ * Gets the underlying `CoreTool` object.
63
+ * @returns The wrapped `CoreTool` instance.
64
+ */
65
+ getCoreTool(): CoreTool;
66
+ }
67
+ export {};
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/toolbox_adk/tool.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAC,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAU1D,OAAO,EAAC,+BAA+B,EAAC,MAAM,eAAe,CAAC;AAU9D;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACtB,QAAQ,CAAW;IAEpC;;;OAGG;IACH,YAAY,QAAkB;QAC5B,KAAK,CAAC;YACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA4B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACM,eAAe;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAgC,CAAC;QAEjE,OAAO,+BAA+B,CACpC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,mBAAqC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAC3E,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAChB,UAAkB,EAClB,UAA2B;QAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAClD,UAAU,EACV,UAAU,CACX,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,YAAyB;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3D,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAiB,EAAE,UAAsB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@toolbox-sdk/adk",
3
- "version": "0.1.5",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "description": "JavaScript ADK SDK for interacting with the Toolbox service",
6
6
  "license": "Apache-2.0",
@@ -17,9 +17,9 @@
17
17
  ],
18
18
  "exports": {
19
19
  ".": {
20
- "import": "./build/index.js",
20
+ "import": "./build/esm/index.js",
21
21
  "require": "./build/cjs/index.js",
22
- "types": "./build/index.d.ts"
22
+ "types": "./build/esm/index.d.ts"
23
23
  }
24
24
  },
25
25
  "files": [
@@ -45,18 +45,21 @@
45
45
  "test:unit": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.json",
46
46
  "test:e2e": "npx tsc -p tsconfig.test.json && cross-env NODE_OPTIONS=--experimental-vm-modules jest --config jest.e2e.config.json --runInBand",
47
47
  "coverage": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --config jest.config.json --coverage",
48
- "clean": "rimraf ./build",
48
+ "clean": "rm -rf ./build *.tsbuildinfo",
49
49
  "build": "npm run clean && npm run compile",
50
50
  "//": "Change prepack to invoke turbo from the root context",
51
51
  "prepack": "npx turbo run build --filter=@toolbox-sdk/adk"
52
52
  },
53
53
  "dependencies": {
54
- "@google/adk": "^0.1.2",
54
+ "@google/adk": "^0.2.0",
55
55
  "@google/genai": "^1.14.0",
56
- "@modelcontextprotocol/sdk": "1.17.5",
57
- "@toolbox-sdk/core": "^0.1.2",
56
+ "@modelcontextprotocol/sdk": "1.25.3",
57
+ "@toolbox-sdk/core": "^0.2.1",
58
58
  "axios": "^1.12.2",
59
59
  "openapi-types": "^12.1.3",
60
60
  "zod": "^3.24.4"
61
+ },
62
+ "devDependencies": {
63
+ "rimraf": "^6.1.2"
61
64
  }
62
65
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/toolbox_adk/client.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EACL,aAAa,IAAI,iBAAiB,GAInC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,WAAW,EAAW,MAAM,WAAW,CAAC;AAGhD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACP,UAAU,CAAoB;IAE/C;;;;;;;OAOG;IACH,YACE,GAAW,EACX,OAA8B,EAC9B,aAA0C;QAE1C,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,mBAA4C,EAAE,EAC9C,cAAkC,EAAE;QAEpC,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CACvD,IAAI,EACJ,gBAAgB,EAChB,WAAW,CACZ,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW,CACf,IAAa,EACb,mBAA4C,EAAE,EAC9C,cAAkC,EAAE,EACpC,MAAM,GAAG,KAAK;QAEd,MAAM,SAAS,GAAe,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC7D,IAAI,EACJ,gBAAgB,EAChB,WAAW,EACX,MAAM,CACP,CAAC;QACF,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/toolbox_adk/index.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,qEAAqE;AAErE,0DAA0D;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/toolbox_adk/protocol.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,EAAC,CAAC,EAAqC,MAAM,KAAK,CAAC;AAE1D;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,OAAmB;IACnD,oEAAoE;IACpE,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,IAAI,OAAO,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACzE,OAAO,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,IAAI,OAAO,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,YAAY,CAAC,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IACD,IAAI,OAAO,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,YAAY,CAAC,CAAC,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IACD,+BAA+B;IAC/B,OAAO,IAAI,CAAC,gBAAgB,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,IAAY,EACZ,WAAmB,EACnB,SAAiC;IAEjC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC;QACtB,OAAO;YACL,IAAI;YACJ,WAAW;YACX,UAAU,EAAE,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAC;SACtD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,UAAU,CAAC,GAAG,CAAC,GAAG;YAChB,IAAI,EAAE,wBAAwB,CAAC,OAAO,CAAC;YACvC,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;SACvC,CAAC;QAEF,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,WAAW;QACX,UAAU,EAAE;YACV,IAAI,EAAE,IAAI,CAAC,MAAM;YACjB,UAAU;YACV,QAAQ;SACT;KACF,CAAC;AACJ,CAAC"}
package/build/tool.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../src/toolbox_adk/tool.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAC,QAAQ,EAAsB,MAAM,aAAa,CAAC;AAU1D,OAAO,EAAC,+BAA+B,EAAC,MAAM,eAAe,CAAC;AAU9D;;;GAGG;AACH,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACtB,QAAQ,CAAW;IAEpC;;;OAGG;IACH,YAAY,QAAkB;QAC5B,KAAK,CAAC;YACJ,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,aAAa,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,OAA4B;QACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACM,eAAe;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAgC,CAAC;QAEjE,OAAO,+BAA+B,CACpC,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,EAChB,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,mBAAqC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAC3E,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAChB,UAAkB,EAClB,UAA2B;QAE3B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAClD,UAAU,EACV,UAAU,CACX,CAAC;QACF,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,YAAyB;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3D,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,SAAiB,EAAE,UAAsB;QACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACnE,OAAO,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED;;;OAGG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;CACF"}
File without changes
File without changes
File without changes
File without changes