@knocklabs/agent-toolkit 0.1.5 → 0.1.7
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 +2 -2
- package/dist/ai-sdk/index.d.ts +4 -4
- package/dist/ai-sdk/index.js +22 -7
- package/dist/ai-sdk/index.js.map +1 -1
- package/dist/{chunk-RPKDXX4O.js → chunk-3CUTEODM.js} +333 -152
- package/dist/chunk-3CUTEODM.js.map +1 -0
- package/dist/chunk-CXOB4H3U.js +29 -0
- package/dist/chunk-CXOB4H3U.js.map +1 -0
- package/dist/{chunk-IYDITNVL.js → chunk-SADGJJQS.js} +3 -3
- package/dist/modelcontextprotocol/index.d.ts +2 -2
- package/dist/modelcontextprotocol/index.js +2 -2
- package/dist/modelcontextprotocol/local-server.js +5 -5
- package/dist/openai/index.d.ts +1 -1
- package/dist/openai/index.js +4 -3
- package/dist/openai/index.js.map +1 -1
- package/dist/{types-DyB12-Gk.d.ts → types-DmmGlWVt.d.ts} +13 -2
- package/package.json +1 -1
- package/dist/chunk-RPKDXX4O.js.map +0 -1
- package/dist/chunk-ZV2SOIO7.js +0 -91
- package/dist/chunk-ZV2SOIO7.js.map +0 -1
- /package/dist/{chunk-IYDITNVL.js.map → chunk-SADGJJQS.js.map} +0 -0
package/README.md
CHANGED
|
@@ -95,7 +95,7 @@ export async function POST(req: Request) {
|
|
|
95
95
|
const toolkit = await createKnockToolkit({
|
|
96
96
|
serviceToken: "kst_12345",
|
|
97
97
|
permissions: {
|
|
98
|
-
workflows: { read: true,
|
|
98
|
+
workflows: { read: true, run: true, manage: true },
|
|
99
99
|
},
|
|
100
100
|
});
|
|
101
101
|
|
|
@@ -136,7 +136,7 @@ const toolkit = await createKnockToolkit({
|
|
|
136
136
|
serviceToken: "kst_12345",
|
|
137
137
|
permissions: {
|
|
138
138
|
// Set the permissions of the tools to expose
|
|
139
|
-
workflows: { read: true,
|
|
139
|
+
workflows: { read: true, run: true, manage: true },
|
|
140
140
|
},
|
|
141
141
|
});
|
|
142
142
|
|
package/dist/ai-sdk/index.d.ts
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { T as ToolkitConfig,
|
|
2
|
-
import {
|
|
1
|
+
import { T as ToolkitConfig, a as ToolCategory } from '../types-DmmGlWVt.js';
|
|
2
|
+
import { ToolSet } from 'ai';
|
|
3
3
|
|
|
4
4
|
declare const createKnockToolkit: (config: ToolkitConfig) => {
|
|
5
5
|
/**
|
|
6
6
|
* Get all tools for all categories
|
|
7
7
|
* @returns An array of all tools
|
|
8
8
|
*/
|
|
9
|
-
getAllTools: () =>
|
|
9
|
+
getAllTools: () => ToolSet;
|
|
10
10
|
/**
|
|
11
11
|
* Get all tools for a specific category
|
|
12
12
|
* @param category - The category of tools to get
|
|
13
13
|
* @returns An array of tools for the given category
|
|
14
14
|
*/
|
|
15
|
-
getTools: (category:
|
|
15
|
+
getTools: (category: ToolCategory) => ToolSet;
|
|
16
16
|
};
|
|
17
17
|
|
|
18
18
|
export { createKnockToolkit };
|
package/dist/ai-sdk/index.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
|
-
createKnockClient
|
|
2
|
+
createKnockClient
|
|
3
|
+
} from "../chunk-CXOB4H3U.js";
|
|
4
|
+
import {
|
|
3
5
|
getToolsByPermissionsInCategories
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-RPKDXX4O.js";
|
|
6
|
+
} from "../chunk-3CUTEODM.js";
|
|
6
7
|
|
|
7
8
|
// src/ai-sdk/tool-converter.ts
|
|
8
9
|
import { tool } from "ai";
|
|
@@ -24,15 +25,29 @@ var createKnockToolkit = (config) => {
|
|
|
24
25
|
* Get all tools for all categories
|
|
25
26
|
* @returns An array of all tools
|
|
26
27
|
*/
|
|
27
|
-
getAllTools: () =>
|
|
28
|
+
getAllTools: () => {
|
|
29
|
+
return Object.values(allowedToolsByCategory).flat().reduce(
|
|
30
|
+
(acc, tool2) => ({
|
|
31
|
+
...acc,
|
|
32
|
+
[tool2.method]: knockToolToAiTool(knockClient, config, tool2)
|
|
33
|
+
}),
|
|
34
|
+
{}
|
|
35
|
+
);
|
|
36
|
+
},
|
|
28
37
|
/**
|
|
29
38
|
* Get all tools for a specific category
|
|
30
39
|
* @param category - The category of tools to get
|
|
31
40
|
* @returns An array of tools for the given category
|
|
32
41
|
*/
|
|
33
|
-
getTools: (category) =>
|
|
34
|
-
|
|
35
|
-
|
|
42
|
+
getTools: (category) => {
|
|
43
|
+
return allowedToolsByCategory[category].reduce(
|
|
44
|
+
(acc, tool2) => ({
|
|
45
|
+
...acc,
|
|
46
|
+
[tool2.method]: knockToolToAiTool(knockClient, config, tool2)
|
|
47
|
+
}),
|
|
48
|
+
{}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
36
51
|
};
|
|
37
52
|
};
|
|
38
53
|
export {
|
package/dist/ai-sdk/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ai-sdk/tool-converter.ts","../../src/ai-sdk/index.ts"],"sourcesContent":["import type { Tool } from \"ai\";\nimport { tool } from \"ai\";\nimport { KnockClient } from \"../lib/knock-client.js\";\nimport { KnockTool } from \"../lib/knock-tool.js\";\nimport { Config } from \"../types.js\";\nimport { z } from \"zod\";\n\n/**\n * Convert a KnockTool to an AI Tool, ready to pass to the AI SDK.\n */\nconst knockToolToAiTool = (\n knockClient: KnockClient,\n config: Config,\n knockTool: KnockTool\n): Tool => {\n return tool({\n description: knockTool.description,\n parameters: knockTool.parameters ?? z.object({}),\n execute: knockTool.bindExecute(knockClient, config),\n });\n};\n\nexport { knockToolToAiTool };\n","import { ToolkitConfig } from \"../types.js\";\nimport {
|
|
1
|
+
{"version":3,"sources":["../../src/ai-sdk/tool-converter.ts","../../src/ai-sdk/index.ts"],"sourcesContent":["import type { Tool } from \"ai\";\nimport { tool } from \"ai\";\nimport { KnockClient } from \"../lib/knock-client.js\";\nimport { KnockTool } from \"../lib/knock-tool.js\";\nimport { Config } from \"../types.js\";\nimport { z } from \"zod\";\n\n/**\n * Convert a KnockTool to an AI Tool, ready to pass to the AI SDK.\n */\nconst knockToolToAiTool = (\n knockClient: KnockClient,\n config: Config,\n knockTool: KnockTool\n): Tool => {\n return tool({\n description: knockTool.description,\n parameters: knockTool.parameters ?? z.object({}),\n execute: knockTool.bindExecute(knockClient, config),\n });\n};\n\nexport { knockToolToAiTool };\n","import { ToolCategory, ToolkitConfig } from \"../types.js\";\nimport { getToolsByPermissionsInCategories } from \"../lib/utils.js\";\nimport { createKnockClient } from \"../lib/knock-client.js\";\nimport { ToolSet } from \"ai\";\nimport { knockToolToAiTool } from \"./tool-converter.js\";\n\nconst createKnockToolkit = (config: ToolkitConfig) => {\n const knockClient = createKnockClient(config);\n const allowedToolsByCategory = getToolsByPermissionsInCategories(config);\n\n return {\n /**\n * Get all tools for all categories\n * @returns An array of all tools\n */\n getAllTools: (): ToolSet => {\n return Object.values(allowedToolsByCategory)\n .flat()\n .reduce(\n (acc, tool) => ({\n ...acc,\n [tool.method]: knockToolToAiTool(knockClient, config, tool),\n }),\n {} as ToolSet\n );\n },\n\n /**\n * Get all tools for a specific category\n * @param category - The category of tools to get\n * @returns An array of tools for the given category\n */\n getTools: (category: ToolCategory): ToolSet => {\n return allowedToolsByCategory[category].reduce(\n (acc, tool) => ({\n ...acc,\n [tool.method]: knockToolToAiTool(knockClient, config, tool),\n }),\n {} as ToolSet\n );\n },\n };\n};\n\nexport { createKnockToolkit };\n"],"mappings":";;;;;;;;AACA,SAAS,YAAY;AAIrB,SAAS,SAAS;AAKlB,IAAM,oBAAoB,CACxB,aACA,QACA,cACS;AACT,SAAO,KAAK;AAAA,IACV,aAAa,UAAU;AAAA,IACvB,YAAY,UAAU,cAAc,EAAE,OAAO,CAAC,CAAC;AAAA,IAC/C,SAAS,UAAU,YAAY,aAAa,MAAM;AAAA,EACpD,CAAC;AACH;;;ACdA,IAAM,qBAAqB,CAAC,WAA0B;AACpD,QAAM,cAAc,kBAAkB,MAAM;AAC5C,QAAM,yBAAyB,kCAAkC,MAAM;AAEvE,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA,IAKL,aAAa,MAAe;AAC1B,aAAO,OAAO,OAAO,sBAAsB,EACxC,KAAK,EACL;AAAA,QACC,CAAC,KAAKA,WAAU;AAAA,UACd,GAAG;AAAA,UACH,CAACA,MAAK,MAAM,GAAG,kBAAkB,aAAa,QAAQA,KAAI;AAAA,QAC5D;AAAA,QACA,CAAC;AAAA,MACH;AAAA,IACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAU,CAAC,aAAoC;AAC7C,aAAO,uBAAuB,QAAQ,EAAE;AAAA,QACtC,CAAC,KAAKA,WAAU;AAAA,UACd,GAAG;AAAA,UACH,CAACA,MAAK,MAAM,GAAG,kBAAkB,aAAa,QAAQA,KAAI;AAAA,QAC5D;AAAA,QACA,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;","names":["tool"]}
|