@typescript-agent-harness/tools 0.21.0 → 0.22.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,3 +1,5 @@
1
1
  import type { ToolService } from "./types.js";
2
2
  export declare const TOOLS: import("@typescript-agent-harness/core").ServiceKey<ToolService>;
3
+ /** Waterfall wrapping every tool call: payload `ToolExecution`, result `ToolResult`. */
4
+ export declare const TOOL_EXECUTE = "tool.execute";
3
5
  //# sourceMappingURL=contract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,KAAK,kEAAyC,CAAC"}
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,eAAO,MAAM,KAAK,kEAAyC,CAAC;AAE5D,wFAAwF;AACxF,eAAO,MAAM,YAAY,iBAAiB,CAAC"}
package/dist/contract.js CHANGED
@@ -1,3 +1,5 @@
1
1
  import { createServiceKey } from "@typescript-agent-harness/core";
2
2
  export const TOOLS = createServiceKey("tools");
3
+ /** Waterfall wrapping every tool call: payload `ToolExecution`, result `ToolResult`. */
4
+ export const TOOL_EXECUTE = "tool.execute";
3
5
  //# sourceMappingURL=contract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,MAAM,CAAC,MAAM,KAAK,GAAG,gBAAgB,CAAc,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAGlE,MAAM,CAAC,MAAM,KAAK,GAAG,gBAAgB,CAAc,OAAO,CAAC,CAAC;AAE5D,wFAAwF;AACxF,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- export { TOOLS } from "./contract.js";
1
+ export { TOOL_EXECUTE, TOOLS } from "./contract.js";
2
2
  export { toolsPlugin, type ToolsPluginOptions } from "./plugin.js";
3
3
  export { listFilesTool, readFileTool, writeFileTool, grepTool } from "./fs-tools.js";
4
4
  export { executeCommandTool, type ExecuteCommandInput, type ExecuteCommandOptions, type ExecuteCommandOutput, } from "./exec-tool.js";
5
- export type { Tool, ToolContext, ToolResult, ToolService } from "./types.js";
5
+ export type { Tool, ToolContext, ToolExecution, ToolResult, ToolService, } from "./types.js";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,kBAAkB,EAClB,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,IAAI,EACJ,WAAW,EACX,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { TOOLS } from "./contract.js";
1
+ export { TOOL_EXECUTE, TOOLS } from "./contract.js";
2
2
  export { toolsPlugin } from "./plugin.js";
3
3
  export { listFilesTool, readFileTool, writeFileTool, grepTool } from "./fs-tools.js";
4
4
  export { executeCommandTool, } from "./exec-tool.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,kBAAkB,GAInB,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,WAAW,EAA2B,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EACL,kBAAkB,GAInB,MAAM,gBAAgB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,KAAK,EAAE,IAAI,EAAwC,MAAM,YAAY,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB,CAAC;AA2GF,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAOpE"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAItE,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;CAChB,CAAC;AA4FF,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,GAAG,MAAM,CAOpE"}
package/dist/plugin.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { PERMISSIONS } from "@typescript-agent-harness/permissions";
2
- import { TOOLS } from "./contract.js";
2
+ import { TOOL_EXECUTE, TOOLS } from "./contract.js";
3
3
  function createToolService(ctx, initial) {
4
4
  const registry = new Map();
5
5
  for (const tool of initial) {
@@ -8,6 +8,58 @@ function createToolService(ctx, initial) {
8
8
  }
9
9
  registry.set(tool.name, tool);
10
10
  }
11
+ async function run({ call, ctx: toolCtx }) {
12
+ const tool = registry.get(call.name);
13
+ await ctx.emit("tool.started", {
14
+ callId: call.id,
15
+ tool: call.name,
16
+ input: call.arguments,
17
+ });
18
+ if (!tool) {
19
+ const result = {
20
+ callId: call.id,
21
+ name: call.name,
22
+ ok: false,
23
+ output: { error: `unknown tool: ${call.name}` },
24
+ };
25
+ await ctx.emit("tool.failed", {
26
+ callId: call.id,
27
+ tool: call.name,
28
+ error: result.output,
29
+ });
30
+ return result;
31
+ }
32
+ try {
33
+ const output = await tool.execute(call.arguments, toolCtx);
34
+ const result = {
35
+ callId: call.id,
36
+ name: call.name,
37
+ ok: true,
38
+ output,
39
+ };
40
+ await ctx.emit("tool.finished", {
41
+ callId: call.id,
42
+ tool: call.name,
43
+ output,
44
+ });
45
+ return result;
46
+ }
47
+ catch (error) {
48
+ const message = error instanceof Error ? error.message : String(error);
49
+ const result = {
50
+ callId: call.id,
51
+ name: call.name,
52
+ ok: false,
53
+ output: { error: message },
54
+ };
55
+ await ctx.emit("tool.failed", {
56
+ callId: call.id,
57
+ tool: call.name,
58
+ error: message,
59
+ });
60
+ return result;
61
+ }
62
+ }
11
63
  return {
12
64
  register(tool) {
13
65
  if (registry.has(tool.name)) {
@@ -27,80 +79,8 @@ function createToolService(ctx, initial) {
27
79
  inputSchema: t.inputSchema,
28
80
  }));
29
81
  },
30
- async execute(call, toolCtx) {
31
- const perms = ctx.tryGet(PERMISSIONS);
32
- if (perms) {
33
- const decision = perms.check(call.name, call.arguments);
34
- if (!decision.allow) {
35
- await ctx.emit("permission.denied", {
36
- tool: call.name,
37
- reason: decision.reason,
38
- });
39
- const result = {
40
- callId: call.id,
41
- name: call.name,
42
- ok: false,
43
- output: { error: decision.reason },
44
- };
45
- await ctx.emit("tool.failed", {
46
- callId: call.id,
47
- tool: call.name,
48
- error: result.output,
49
- });
50
- return result;
51
- }
52
- await ctx.emit("permission.granted", { tool: call.name });
53
- }
54
- const tool = registry.get(call.name);
55
- await ctx.emit("tool.started", {
56
- callId: call.id,
57
- tool: call.name,
58
- input: call.arguments,
59
- });
60
- if (!tool) {
61
- const result = {
62
- callId: call.id,
63
- name: call.name,
64
- ok: false,
65
- output: { error: `unknown tool: ${call.name}` },
66
- };
67
- await ctx.emit("tool.failed", {
68
- callId: call.id,
69
- tool: call.name,
70
- error: result.output,
71
- });
72
- return result;
73
- }
74
- try {
75
- const output = await tool.execute(call.arguments, toolCtx);
76
- const result = {
77
- callId: call.id,
78
- name: call.name,
79
- ok: true,
80
- output,
81
- };
82
- await ctx.emit("tool.finished", {
83
- callId: call.id,
84
- tool: call.name,
85
- output,
86
- });
87
- return result;
88
- }
89
- catch (error) {
90
- const message = error instanceof Error ? error.message : String(error);
91
- const result = {
92
- callId: call.id,
93
- name: call.name,
94
- ok: false,
95
- output: { error: message },
96
- };
97
- await ctx.emit("tool.failed", {
98
- callId: call.id,
99
- tool: call.name,
100
- error: message,
101
- });
102
- return result;
103
- }
82
+ execute(call, toolCtx) {
83
+ return ctx.waterfall(TOOL_EXECUTE, { call, ctx: toolCtx }, run);
104
84
  },
105
85
  };
106
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -12,6 +12,10 @@ export type Tool<TInput = unknown, TOutput = unknown> = {
12
12
  inputSchema: JSONSchema;
13
13
  execute(input: TInput, ctx: ToolContext): Promise<TOutput>;
14
14
  };
15
+ export type ToolExecution = {
16
+ call: ToolCall;
17
+ ctx: ToolContext;
18
+ };
15
19
  export type ToolResult = {
16
20
  callId: string;
17
21
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,IAAI,IAAI,IAAI,EAAE,CAAC;IACf,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAE1E,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,UAAU,CAAC;IACxB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,IAAI,IAAI,IAAI,EAAE,CAAC;IACf,WAAW,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IACrF,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CAChE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typescript-agent-harness/tools",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "Tool registry and local filesystem tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -15,9 +15,9 @@
15
15
  "dist"
16
16
  ],
17
17
  "dependencies": {
18
- "@typescript-agent-harness/llm": "0.21.0",
19
- "@typescript-agent-harness/core": "0.21.0",
20
- "@typescript-agent-harness/permissions": "0.21.0"
18
+ "@typescript-agent-harness/core": "0.22.0",
19
+ "@typescript-agent-harness/llm": "0.22.0",
20
+ "@typescript-agent-harness/permissions": "0.22.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@types/node": "^22.18.0",