@knocklabs/agent-toolkit 0.1.1 → 0.1.2
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/dist/ai-sdk/index.d.ts +21 -0
- package/dist/ai-sdk/index.js +1110 -0
- package/dist/ai-sdk/index.js.map +1 -0
- package/dist/ai-sdk/tool-converter.d.ts +12 -0
- package/dist/ai-sdk/tool-converter.js +14 -0
- package/dist/ai-sdk/tool-converter.js.map +1 -0
- package/dist/lib/knock-client.d.ts +4 -0
- package/dist/lib/knock-client.js +28 -0
- package/dist/lib/knock-client.js.map +1 -0
- package/dist/lib/knock-tool.d.ts +4 -0
- package/dist/lib/knock-tool.js +29 -0
- package/dist/lib/knock-tool.js.map +1 -0
- package/dist/lib/tools/channels.d.ts +13 -0
- package/dist/lib/tools/channels.js +54 -0
- package/dist/lib/tools/channels.js.map +1 -0
- package/dist/lib/tools/commits.d.ts +16 -0
- package/dist/lib/tools/commits.js +98 -0
- package/dist/lib/tools/commits.js.map +1 -0
- package/dist/lib/tools/email-layouts.d.ts +13 -0
- package/dist/lib/tools/email-layouts.js +60 -0
- package/dist/lib/tools/email-layouts.js.map +1 -0
- package/dist/lib/tools/environments.d.ts +13 -0
- package/dist/lib/tools/environments.js +52 -0
- package/dist/lib/tools/environments.js.map +1 -0
- package/dist/lib/tools/index.d.ts +4 -0
- package/dist/lib/tools/index.js +1022 -0
- package/dist/lib/tools/index.js.map +1 -0
- package/dist/lib/tools/message-types.d.ts +15 -0
- package/dist/lib/tools/message-types.js +214 -0
- package/dist/lib/tools/message-types.js.map +1 -0
- package/dist/lib/tools/messages.d.ts +13 -0
- package/dist/lib/tools/messages.js +55 -0
- package/dist/lib/tools/messages.js.map +1 -0
- package/dist/lib/tools/objects.d.ts +19 -0
- package/dist/lib/tools/objects.js +163 -0
- package/dist/lib/tools/objects.js.map +1 -0
- package/dist/lib/tools/partials.d.ts +13 -0
- package/dist/lib/tools/partials.js +60 -0
- package/dist/lib/tools/partials.js.map +1 -0
- package/dist/lib/tools/tenants.d.ts +16 -0
- package/dist/lib/tools/tenants.js +98 -0
- package/dist/lib/tools/tenants.js.map +1 -0
- package/dist/lib/tools/users.d.ts +19 -0
- package/dist/lib/tools/users.js +233 -0
- package/dist/lib/tools/users.js.map +1 -0
- package/dist/lib/tools/workflows.d.ts +18 -0
- package/dist/lib/tools/workflows.js +207 -0
- package/dist/lib/tools/workflows.js.map +1 -0
- package/dist/lib/utils.d.ts +33 -0
- package/dist/lib/utils.js +1077 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/modelcontextprotocol/adapter.d.ts +11 -0
- package/dist/modelcontextprotocol/adapter.js +26 -0
- package/dist/modelcontextprotocol/adapter.js.map +1 -0
- package/dist/modelcontextprotocol/index.d.ts +27 -0
- package/dist/modelcontextprotocol/index.js +980 -0
- package/dist/modelcontextprotocol/index.js.map +1 -0
- package/dist/modelcontextprotocol/local-server.d.ts +1 -0
- package/dist/modelcontextprotocol/local-server.js +1102 -0
- package/dist/modelcontextprotocol/local-server.js.map +1 -0
- package/dist/openai/index.d.ts +36 -0
- package/dist/openai/index.js +1153 -0
- package/dist/openai/index.js.map +1 -0
- package/dist/openai/tool-converter.d.ts +15 -0
- package/dist/openai/tool-converter.js +18 -0
- package/dist/openai/tool-converter.js.map +1 -0
- package/dist/types-B-9pppCQ.d.ts +199 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.js +1 -0
- package/dist/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// src/lib/knock-tool.ts
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
var trimLines = (text) => text.split("\n").map((l) => l.trim()).filter(Boolean).join("\n");
|
|
4
|
+
var KnockTool = (args) => {
|
|
5
|
+
const { execute, ...restOfArgs } = args;
|
|
6
|
+
const parameters = restOfArgs.parameters ? restOfArgs.parameters : z.object({});
|
|
7
|
+
const schemaEntries = Object.entries(parameters.shape);
|
|
8
|
+
const argsStr = schemaEntries.length === 0 ? "Takes no arguments" : schemaEntries.map(([key, value]) => {
|
|
9
|
+
return `- ${key}: ${value.description || ""}`;
|
|
10
|
+
}).join("\n");
|
|
11
|
+
const fullDescription = trimLines(`
|
|
12
|
+
Tool name:
|
|
13
|
+
${args.name}
|
|
14
|
+
Description:
|
|
15
|
+
${args.description}.
|
|
16
|
+
Arguments:
|
|
17
|
+
${argsStr}
|
|
18
|
+
`);
|
|
19
|
+
return {
|
|
20
|
+
...restOfArgs,
|
|
21
|
+
parameters,
|
|
22
|
+
fullDescription,
|
|
23
|
+
bindExecute: (knockClient, config) => execute(knockClient, config)
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// src/lib/tools/environments.ts
|
|
28
|
+
var listEnvironments = KnockTool({
|
|
29
|
+
method: "list_environments",
|
|
30
|
+
name: "List environments",
|
|
31
|
+
description: `
|
|
32
|
+
Lists all environments available, returning the slug, name, and the order of each environment. Use this tool when you need to see what environments are available to deploy to.
|
|
33
|
+
`,
|
|
34
|
+
execute: (knockClient) => async (params) => {
|
|
35
|
+
const allEnvironments = [];
|
|
36
|
+
for await (const environment of knockClient.environments.list()) {
|
|
37
|
+
allEnvironments.push(environment);
|
|
38
|
+
}
|
|
39
|
+
return allEnvironments;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
var environments = {
|
|
43
|
+
listEnvironments
|
|
44
|
+
};
|
|
45
|
+
var permissions = {
|
|
46
|
+
read: ["listEnvironments"]
|
|
47
|
+
};
|
|
48
|
+
export {
|
|
49
|
+
environments,
|
|
50
|
+
permissions
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=environments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/knock-tool.ts","../../../src/lib/tools/environments.ts"],"sourcesContent":["import type { ZodObject } from \"zod\";\nimport { z } from \"zod\";\nimport { Config } from \"../types.js\";\nimport { KnockClient } from \"./knock-client.js\";\n\nexport interface KnockToolDefinition {\n /**\n * The method name of the tool. This is a machine-readable string.\n */\n method: string;\n /**\n * The name of the tool. This can be used to reference the tool in the code.\n * A descriptive LLM-readable string.\n */\n name: string;\n\n /**\n * A descriptive prompt explaining the tool's purpose, including examples where useful.\n */\n description: string;\n\n /**\n * A descriptive prompt explaining the tool's purpose, usage and input parameters.\n * Ths is intended to be used by the underlying LLM.\n */\n fullDescription: string;\n\n /**\n * The Zod schema for the input parameters of the tool\n */\n parameters?: ZodObject<any>;\n /**\n * The actual implementation of the tool.\n */\n execute: (\n knockClient: KnockClient,\n config: Config\n ) => (input: any) => Promise<unknown>;\n}\n\nexport interface KnockTool extends Omit<KnockToolDefinition, \"execute\"> {\n bindExecute: (\n knockClient: KnockClient,\n config: Config\n ) => (input: any) => Promise<unknown>;\n}\n\nconst trimLines = (text: string) =>\n text\n .split(\"\\n\")\n .map((l) => l.trim())\n .filter(Boolean)\n .join(\"\\n\");\n\nexport const KnockTool = (\n args: Omit<KnockToolDefinition, \"fullDescription\">\n): KnockTool => {\n const { execute, ...restOfArgs } = args;\n const parameters = restOfArgs.parameters\n ? restOfArgs.parameters\n : z.object({});\n\n const schemaEntries = Object.entries(parameters.shape);\n\n const argsStr =\n schemaEntries.length === 0\n ? \"Takes no arguments\"\n : schemaEntries\n .map(([key, value]) => {\n return `- ${key}: ${(value as any).description || \"\"}`;\n })\n .join(\"\\n\");\n\n const fullDescription = trimLines(`\n Tool name:\n ${args.name}\n Description:\n ${args.description}.\n Arguments:\n ${argsStr}\n `);\n\n return {\n ...restOfArgs,\n parameters,\n fullDescription,\n bindExecute: (knockClient: KnockClient, config: Config) =>\n execute(knockClient, config),\n };\n};\n","import { Environment } from \"@knocklabs/mgmt/resources/environments.js\";\nimport { KnockTool } from \"../knock-tool.js\";\n\nconst listEnvironments = KnockTool({\n method: \"list_environments\",\n name: \"List environments\",\n description: `\n Lists all environments available, returning the slug, name, and the order of each environment. Use this tool when you need to see what environments are available to deploy to.\n `,\n execute: (knockClient) => async (params) => {\n const allEnvironments: Environment[] = [];\n for await (const environment of knockClient.environments.list()) {\n allEnvironments.push(environment);\n }\n return allEnvironments;\n },\n});\n\nexport const environments = {\n listEnvironments,\n};\n\nexport const permissions = {\n read: [\"listEnvironments\"],\n};\n"],"mappings":";AACA,SAAS,SAAS;AA8ClB,IAAM,YAAY,CAAC,SACjB,KACG,MAAM,IAAI,EACV,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,EACnB,OAAO,OAAO,EACd,KAAK,IAAI;AAEP,IAAM,YAAY,CACvB,SACc;AACd,QAAM,EAAE,SAAS,GAAG,WAAW,IAAI;AACnC,QAAM,aAAa,WAAW,aAC1B,WAAW,aACX,EAAE,OAAO,CAAC,CAAC;AAEf,QAAM,gBAAgB,OAAO,QAAQ,WAAW,KAAK;AAErD,QAAM,UACJ,cAAc,WAAW,IACrB,uBACA,cACG,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM;AACrB,WAAO,KAAK,GAAG,KAAM,MAAc,eAAe,EAAE;AAAA,EACtD,CAAC,EACA,KAAK,IAAI;AAElB,QAAM,kBAAkB,UAAU;AAAA;AAAA,IAEhC,KAAK,IAAI;AAAA;AAAA,IAET,KAAK,WAAW;AAAA;AAAA,IAEhB,OAAO;AAAA,GACR;AAED,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA,IACA,aAAa,CAAC,aAA0B,WACtC,QAAQ,aAAa,MAAM;AAAA,EAC/B;AACF;;;ACtFA,IAAM,mBAAmB,UAAU;AAAA,EACjC,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,aAAa;AAAA;AAAA;AAAA,EAGb,SAAS,CAAC,gBAAgB,OAAO,WAAW;AAC1C,UAAM,kBAAiC,CAAC;AACxC,qBAAiB,eAAe,YAAY,aAAa,KAAK,GAAG;AAC/D,sBAAgB,KAAK,WAAW;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AACF,CAAC;AAEM,IAAM,eAAe;AAAA,EAC1B;AACF;AAEO,IAAM,cAAc;AAAA,EACzB,MAAM,CAAC,kBAAkB;AAC3B;","names":[]}
|