donobu 3.3.0 → 3.4.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 +1 @@
1
- 1436
1
+ 1439
@@ -1 +1 @@
1
- 1436
1
+ 1439
@@ -8,7 +8,9 @@ export * from './lib/fixtures/browserState';
8
8
  export * from './lib/fixtures/gptClients';
9
9
  export * from './lib/testExtension';
10
10
  export * from './lib/utils/donobuTestStack';
11
+ export type { PluginDependencies } from './managers/PluginLoader';
11
12
  export * from './models/ControlPanel';
13
+ export type * from './models/CreateToolOptions';
12
14
  export * from './models/FlowMetadata';
13
15
  export type * from './models/ToolCall';
14
16
  export type * from './models/ToolCallContext';
@@ -16,6 +18,7 @@ export * from './models/ToolCallResult';
16
18
  export * from './models/ToolSchema';
17
19
  export * from './tools/ReplayableInteraction';
18
20
  export * from './tools/Tool';
21
+ export * from './utils/createTool';
19
22
  export * from './utils/JsonSchemaUtils';
20
23
  export * from './utils/JsonUtils';
21
24
  export * from './utils/Logger';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAOhB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AAIxC;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAqB,EAC3B,gBAAgB,GAAE,mBAA6C,GAC9D,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;WACiB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD,OAAO,CAAC,MAAM,CAAC,SAAS;CAUzB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAOhB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,4BAA4B,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AAIxC;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAqB,EAC3B,gBAAgB,GAAE,mBAA6C,GAC9D,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;WACiB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD,OAAO,CAAC,MAAM,CAAC,SAAS;CAUzB"}
package/dist/esm/main.js CHANGED
@@ -37,6 +37,7 @@ __exportStar(require("./models/ToolCallResult"), exports);
37
37
  __exportStar(require("./models/ToolSchema"), exports);
38
38
  __exportStar(require("./tools/ReplayableInteraction"), exports);
39
39
  __exportStar(require("./tools/Tool"), exports);
40
+ __exportStar(require("./utils/createTool"), exports);
40
41
  __exportStar(require("./utils/JsonSchemaUtils"), exports);
41
42
  __exportStar(require("./utils/JsonUtils"), exports);
42
43
  __exportStar(require("./utils/Logger"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as playwright from 'playwright';
2
2
  import type { z } from 'zod/v4';
3
3
  import type { Tool } from '../tools/Tool';
4
- export interface PluginDependencies {
4
+ export type PluginDependencies = {
5
5
  donobu: typeof import('../main');
6
6
  playwright: typeof playwright;
7
- }
7
+ };
8
8
  /**
9
9
  * Loads custom tool plugins from a configurable directory path.
10
10
  * This class enables dependency injection and testing by allowing the plugins directory to be specified.
@@ -1 +1 @@
1
- {"version":3,"file":"PluginLoader.d.ts","sourceRoot":"","sources":["../../../src/managers/PluginLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,SAAS,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B;AAmBD;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAGzD;;;OAGG;WACiB,MAAM,CACxB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,YAAY,CAAC;IAUxB;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAC9C,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CACjC;IAqDD,OAAO,CAAC,mBAAmB;CAG5B"}
1
+ {"version":3,"file":"PluginLoader.d.ts","sourceRoot":"","sources":["../../../src/managers/PluginLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,SAAS,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B,CAAC;AAmBF;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAGzD;;;OAGG;WACiB,MAAM,CACxB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,YAAY,CAAC;IAUxB;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAC9C,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CACjC;IAqDD,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -0,0 +1,23 @@
1
+ import type { z } from 'zod/v4';
2
+ import type { ToolCallContext } from './ToolCallContext';
3
+ import type { ToolCallResult } from './ToolCallResult';
4
+ export type CreateToolOptions<CallSchema extends z.ZodObject<any>, CallFromGptSchema extends z.ZodObject<any> = CallSchema> = {
5
+ /**
6
+ * @param name This is the name for the tool that will be shared with the LLM when making requests.
7
+ * @param description This is the description that will be shared with the LLM when making requests.
8
+ * @param inputSchema This is the JSON-schema for the tool when it is invoked by a non-LLM.
9
+ * @param inputSchemaForGpt This is the JSON-schema that will be shared with the LLM when making
10
+ * requests during autonomous flows.
11
+ * @param requiresGpt Set to true if this tool requires the usage of a GPT.
12
+ * @param call This is the function that will be invoked when the tool is called by a non-LLM.
13
+ * @param callFromGpt This is the function that will be invoked when the tool is called by an LLM.
14
+ */
15
+ name: string;
16
+ description: string;
17
+ requiresGpt: boolean;
18
+ schema: CallSchema;
19
+ gptSchema?: CallFromGptSchema;
20
+ call(ctx: ToolCallContext, params: z.infer<CallSchema>): Promise<ToolCallResult> | ToolCallResult;
21
+ callFromGpt?(ctx: ToolCallContext, params: z.infer<CallFromGptSchema>): Promise<ToolCallResult> | ToolCallResult;
22
+ };
23
+ //# sourceMappingURL=CreateToolOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateToolOptions.d.ts","sourceRoot":"","sources":["../../../src/models/CreateToolOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,iBAAiB,CAC3B,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACnC,iBAAiB,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,IACrD;IACF;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,IAAI,CACF,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;IAC5C,WAAW,CAAC,CACV,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GACjC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;CAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CreateToolOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateToolOptions.js","sourceRoot":"","sources":["../../../src/models/CreateToolOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { z } from 'zod/v4';
2
+ import type { PluginDependencies } from '../managers/PluginLoader';
3
+ import type { CreateToolOptions } from '../models/CreateToolOptions';
4
+ import type { Tool } from '../tools/Tool';
5
+ /**
6
+ * Factory function to create a Donobu Tool instance for Donobu plugins.
7
+ */
8
+ export declare function createTool<CallSchema extends z.ZodObject<any>, CallFromGptSchema extends z.ZodObject<any> = CallSchema>(deps: PluginDependencies, options: CreateToolOptions<CallSchema, CallFromGptSchema>): Tool<CallSchema, CallFromGptSchema>;
9
+ //# sourceMappingURL=createTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTool.d.ts","sourceRoot":"","sources":["../../../src/utils/createTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,wBAAgB,UAAU,CACxB,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACnC,iBAAiB,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,EAEvD,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,CAAC,GACxD,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CA4BrC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTool = createTool;
4
+ /**
5
+ * Factory function to create a Donobu Tool instance for Donobu plugins.
6
+ */
7
+ function createTool(deps, options) {
8
+ class AnonymousTool extends deps.donobu.Tool {
9
+ constructor() {
10
+ super(options.name, options.description, options.schema, (options.gptSchema ?? options.schema), options.requiresGpt);
11
+ }
12
+ async call(ctx, params) {
13
+ return options.call(ctx, params);
14
+ }
15
+ async callFromGpt(ctx, params) {
16
+ return options.callFromGpt
17
+ ? options.callFromGpt(ctx, params)
18
+ : this.call(ctx, this.inputSchema.parse(params));
19
+ }
20
+ }
21
+ return new AnonymousTool();
22
+ }
23
+ //# sourceMappingURL=createTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTool.js","sourceRoot":"","sources":["../../../src/utils/createTool.ts"],"names":[],"mappings":";;AAWA,gCAkCC;AArCD;;GAEG;AACH,SAAgB,UAAU,CAIxB,IAAwB,EACxB,OAAyD;IAEzD,MAAM,aAAc,SAAQ,IAAI,CAAC,MAAM,CAAC,IAAmC;QACzE;YACE,KAAK,CACH,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,EACd,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAsB,EAC1D,OAAO,CAAC,WAAW,CACpB,CAAC;QACJ,CAAC;QACe,KAAK,CAAC,IAAI,CACxB,GAAoB,EACpB,MAA2B;YAE3B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACe,KAAK,CAAC,WAAW,CAC/B,GAAoB,EACpB,MAAkC;YAElC,OAAO,OAAO,CAAC,WAAW;gBACxB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;KACF;IAED,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
package/dist/main.d.ts CHANGED
@@ -8,7 +8,9 @@ export * from './lib/fixtures/browserState';
8
8
  export * from './lib/fixtures/gptClients';
9
9
  export * from './lib/testExtension';
10
10
  export * from './lib/utils/donobuTestStack';
11
+ export type { PluginDependencies } from './managers/PluginLoader';
11
12
  export * from './models/ControlPanel';
13
+ export type * from './models/CreateToolOptions';
12
14
  export * from './models/FlowMetadata';
13
15
  export type * from './models/ToolCall';
14
16
  export type * from './models/ToolCallContext';
@@ -16,6 +18,7 @@ export * from './models/ToolCallResult';
16
18
  export * from './models/ToolSchema';
17
19
  export * from './tools/ReplayableInteraction';
18
20
  export * from './tools/Tool';
21
+ export * from './utils/createTool';
19
22
  export * from './utils/JsonSchemaUtils';
20
23
  export * from './utils/JsonUtils';
21
24
  export * from './utils/Logger';
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAOhB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AAIxC;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAqB,EAC3B,gBAAgB,GAAE,mBAA6C,GAC9D,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;WACiB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD,OAAO,CAAC,MAAM,CAAC,SAAS;CAUzB"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAOhB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC;AAC/C,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAClE,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,4BAA4B,CAAC;AAChD,cAAc,uBAAuB,CAAC;AACtC,mBAAmB,mBAAmB,CAAC;AACvC,mBAAmB,0BAA0B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AAIxC;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,GAAE,MAAqB,EAC3B,gBAAgB,GAAE,mBAA6C,GAC9D,OAAO,CAAC,IAAI,CAAC,CA0Bf;AAED;;;GAGG;AACH,qBAAa,IAAI;IACf;;;OAGG;WACiB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBvD,OAAO,CAAC,MAAM,CAAC,SAAS;CAUzB"}
package/dist/main.js CHANGED
@@ -37,6 +37,7 @@ __exportStar(require("./models/ToolCallResult"), exports);
37
37
  __exportStar(require("./models/ToolSchema"), exports);
38
38
  __exportStar(require("./tools/ReplayableInteraction"), exports);
39
39
  __exportStar(require("./tools/Tool"), exports);
40
+ __exportStar(require("./utils/createTool"), exports);
40
41
  __exportStar(require("./utils/JsonSchemaUtils"), exports);
41
42
  __exportStar(require("./utils/JsonUtils"), exports);
42
43
  __exportStar(require("./utils/Logger"), exports);
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import * as playwright from 'playwright';
2
2
  import type { z } from 'zod/v4';
3
3
  import type { Tool } from '../tools/Tool';
4
- export interface PluginDependencies {
4
+ export type PluginDependencies = {
5
5
  donobu: typeof import('../main');
6
6
  playwright: typeof playwright;
7
- }
7
+ };
8
8
  /**
9
9
  * Loads custom tool plugins from a configurable directory path.
10
10
  * This class enables dependency injection and testing by allowing the plugins directory to be specified.
@@ -1 +1 @@
1
- {"version":3,"file":"PluginLoader.d.ts","sourceRoot":"","sources":["../../src/managers/PluginLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,cAAc,SAAS,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B;AAmBD;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAGzD;;;OAGG;WACiB,MAAM,CACxB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,YAAY,CAAC;IAUxB;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAC9C,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CACjC;IAqDD,OAAO,CAAC,mBAAmB;CAG5B"}
1
+ {"version":3,"file":"PluginLoader.d.ts","sourceRoot":"","sources":["../../src/managers/PluginLoader.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,UAAU,MAAM,YAAY,CAAC;AACzC,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAI1C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,cAAc,SAAS,CAAC,CAAC;IACjC,UAAU,EAAE,OAAO,UAAU,CAAC;CAC/B,CAAC;AAmBF;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBADlB,WAAW,EAAE,MAAM,EACnB,kBAAkB,EAAE,kBAAkB;IAGzD;;;OAGG;WACiB,MAAM,CACxB,WAAW,CAAC,EAAE,MAAM,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACtC,OAAO,CAAC,YAAY,CAAC;IAUxB;;OAEG;IACU,wBAAwB,IAAI,OAAO,CAC9C,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CACjC;IAqDD,OAAO,CAAC,mBAAmB;CAG5B"}
@@ -0,0 +1,23 @@
1
+ import type { z } from 'zod/v4';
2
+ import type { ToolCallContext } from './ToolCallContext';
3
+ import type { ToolCallResult } from './ToolCallResult';
4
+ export type CreateToolOptions<CallSchema extends z.ZodObject<any>, CallFromGptSchema extends z.ZodObject<any> = CallSchema> = {
5
+ /**
6
+ * @param name This is the name for the tool that will be shared with the LLM when making requests.
7
+ * @param description This is the description that will be shared with the LLM when making requests.
8
+ * @param inputSchema This is the JSON-schema for the tool when it is invoked by a non-LLM.
9
+ * @param inputSchemaForGpt This is the JSON-schema that will be shared with the LLM when making
10
+ * requests during autonomous flows.
11
+ * @param requiresGpt Set to true if this tool requires the usage of a GPT.
12
+ * @param call This is the function that will be invoked when the tool is called by a non-LLM.
13
+ * @param callFromGpt This is the function that will be invoked when the tool is called by an LLM.
14
+ */
15
+ name: string;
16
+ description: string;
17
+ requiresGpt: boolean;
18
+ schema: CallSchema;
19
+ gptSchema?: CallFromGptSchema;
20
+ call(ctx: ToolCallContext, params: z.infer<CallSchema>): Promise<ToolCallResult> | ToolCallResult;
21
+ callFromGpt?(ctx: ToolCallContext, params: z.infer<CallFromGptSchema>): Promise<ToolCallResult> | ToolCallResult;
22
+ };
23
+ //# sourceMappingURL=CreateToolOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateToolOptions.d.ts","sourceRoot":"","sources":["../../src/models/CreateToolOptions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,iBAAiB,CAC3B,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACnC,iBAAiB,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,IACrD;IACF;;;;;;;;;OASG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B,IAAI,CACF,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAC1B,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;IAC5C,WAAW,CAAC,CACV,GAAG,EAAE,eAAe,EACpB,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,GACjC,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC;CAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CreateToolOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreateToolOptions.js","sourceRoot":"","sources":["../../src/models/CreateToolOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import type { z } from 'zod/v4';
2
+ import type { PluginDependencies } from '../managers/PluginLoader';
3
+ import type { CreateToolOptions } from '../models/CreateToolOptions';
4
+ import type { Tool } from '../tools/Tool';
5
+ /**
6
+ * Factory function to create a Donobu Tool instance for Donobu plugins.
7
+ */
8
+ export declare function createTool<CallSchema extends z.ZodObject<any>, CallFromGptSchema extends z.ZodObject<any> = CallSchema>(deps: PluginDependencies, options: CreateToolOptions<CallSchema, CallFromGptSchema>): Tool<CallSchema, CallFromGptSchema>;
9
+ //# sourceMappingURL=createTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTool.d.ts","sourceRoot":"","sources":["../../src/utils/createTool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE1C;;GAEG;AACH,wBAAgB,UAAU,CACxB,UAAU,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EACnC,iBAAiB,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,UAAU,EAEvD,IAAI,EAAE,kBAAkB,EACxB,OAAO,EAAE,iBAAiB,CAAC,UAAU,EAAE,iBAAiB,CAAC,GACxD,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CA4BrC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTool = createTool;
4
+ /**
5
+ * Factory function to create a Donobu Tool instance for Donobu plugins.
6
+ */
7
+ function createTool(deps, options) {
8
+ class AnonymousTool extends deps.donobu.Tool {
9
+ constructor() {
10
+ super(options.name, options.description, options.schema, (options.gptSchema ?? options.schema), options.requiresGpt);
11
+ }
12
+ async call(ctx, params) {
13
+ return options.call(ctx, params);
14
+ }
15
+ async callFromGpt(ctx, params) {
16
+ return options.callFromGpt
17
+ ? options.callFromGpt(ctx, params)
18
+ : this.call(ctx, this.inputSchema.parse(params));
19
+ }
20
+ }
21
+ return new AnonymousTool();
22
+ }
23
+ //# sourceMappingURL=createTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createTool.js","sourceRoot":"","sources":["../../src/utils/createTool.ts"],"names":[],"mappings":";;AAWA,gCAkCC;AArCD;;GAEG;AACH,SAAgB,UAAU,CAIxB,IAAwB,EACxB,OAAyD;IAEzD,MAAM,aAAc,SAAQ,IAAI,CAAC,MAAM,CAAC,IAAmC;QACzE;YACE,KAAK,CACH,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,MAAM,EACd,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,MAAM,CAAsB,EAC1D,OAAO,CAAC,WAAW,CACpB,CAAC;QACJ,CAAC;QACe,KAAK,CAAC,IAAI,CACxB,GAAoB,EACpB,MAA2B;YAE3B,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACnC,CAAC;QACe,KAAK,CAAC,WAAW,CAC/B,GAAoB,EACpB,MAAkC;YAElC,OAAO,OAAO,CAAC,WAAW;gBACxB,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC;gBAClC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,CAAC;KACF;IAED,OAAO,IAAI,aAAa,EAAE,CAAC;AAC7B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "donobu",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "Create browser automations with an LLM agent and replay them as Playwright scripts.",
5
5
  "main": "dist/main.js",
6
6
  "module": "dist/esm/main.js",