donobu 5.25.0 → 5.25.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.
@@ -787,12 +787,13 @@ async function setupAllowedTools(flowParams, hasGptClient, targetType, toolRegis
787
787
  }
788
788
  else {
789
789
  // The user has not specified a list of tools to use, so use the
790
- // target-appropriate defaults.
791
- // Web uses a curated default subset; other targets (provided by plugins)
792
- // default to all target-compatible tools.
793
- const defaultTools = targetType === 'web'
794
- ? toolRegistry.defaultTools()
795
- : targetCompatibleTools;
790
+ // curated defaults. Target-specific tools (e.g. mobile plugin tools)
791
+ // still reach the final set because they are in `defaultTools()` via
792
+ // `pluginTools` and survive the `targetCompatibleTools` filter below.
793
+ // Critically, this keeps tools like `triggerDonobuFlow` — whose GPT
794
+ // schema is not representable as JSON Schema — out of the default
795
+ // tool set across all targets.
796
+ const defaultTools = toolRegistry.defaultTools();
796
797
  const allowedTools = [
797
798
  ...toolsNeededOnStart,
798
799
  ...defaultTools.map((t) => t.name),
@@ -128,7 +128,7 @@ export declare const CreateDonobuFlowSchema: z.ZodObject<{
128
128
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
129
129
  allowedTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
130
130
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
131
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>>;
131
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
132
132
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
133
133
  gptConfigNameOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
134
  initialRunMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -14,7 +14,7 @@ export declare const CreateSuiteSchema: z.ZodObject<{
14
14
  }, z.core.$strip>>>>;
15
15
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
16
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>;
17
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
18
18
  callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
19
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
20
  videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
@@ -14,7 +14,7 @@ export declare const CreateTestSchema: z.ZodObject<{
14
14
  }, z.core.$strip>>>>;
15
15
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
16
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>;
17
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
18
18
  callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
19
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
20
  videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
@@ -136,7 +136,7 @@ export declare const FlowMetadataSchema: z.ZodObject<{
136
136
  }, z.core.$strip>>>;
137
137
  overallObjective: z.ZodNullable<z.ZodString>;
138
138
  allowedTools: z.ZodArray<z.ZodString>;
139
- resultJsonSchema: z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>;
139
+ resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
140
140
  callbackUrl: z.ZodNullable<z.ZodString>;
141
141
  maxToolCalls: z.ZodNullable<z.ZodNumber>;
142
142
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -251,7 +251,7 @@ export declare const RunConfigSchema: z.ZodObject<{
251
251
  }, z.core.$strip>>>;
252
252
  overallObjective: z.ZodNullable<z.ZodString>;
253
253
  allowedTools: z.ZodArray<z.ZodString>;
254
- resultJsonSchema: z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>;
254
+ resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
255
255
  callbackUrl: z.ZodNullable<z.ZodString>;
256
256
  maxToolCalls: z.ZodNullable<z.ZodNumber>;
257
257
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -43,8 +43,12 @@ exports.RunConfigSchema = v4_1.z.looseObject({
43
43
  allowedTools: v4_1.z
44
44
  .array(v4_1.z.string())
45
45
  .describe('The complete set of tools (by name) permitted for execution.'),
46
+ // A JSON Schema document (always an object at the top level). Typed as
47
+ // `Record<string, unknown>` rather than `JSONSchema.BaseSchema` so that
48
+ // the schema is representable via `z.toJSONSchema` — consumers that need
49
+ // the more specific type cast at the call site (e.g. `jsonSchemaToZod`).
46
50
  resultJsonSchema: v4_1.z
47
- .custom()
51
+ .record(v4_1.z.string(), v4_1.z.unknown())
48
52
  .nullable()
49
53
  .describe('If non-null, the JSON schema that the result field will conform to.'),
50
54
  callbackUrl: v4_1.z
@@ -132,7 +132,7 @@ export declare const SuiteMetadataSchema: z.ZodObject<{
132
132
  }, z.core.$strip>>>>;
133
133
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
134
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>;
135
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
136
136
  callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
137
137
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
138
138
  videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
@@ -129,7 +129,7 @@ export declare const TestMetadataSchema: z.ZodObject<{
129
129
  }, z.core.$strip>>>;
130
130
  overallObjective: z.ZodNullable<z.ZodString>;
131
131
  allowedTools: z.ZodArray<z.ZodString>;
132
- resultJsonSchema: z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>;
132
+ resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
133
133
  callbackUrl: z.ZodNullable<z.ZodString>;
134
134
  maxToolCalls: z.ZodNullable<z.ZodNumber>;
135
135
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -132,7 +132,7 @@ export declare const TriggerDonobuFlowCoreSchema: z.ZodObject<{
132
132
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
133
133
  allowedTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
134
134
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
135
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>>;
135
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
136
136
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
137
137
  gptConfigNameOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
138
138
  initialRunMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -279,7 +279,7 @@ export declare const TriggerDonobuFlowGptSchema: z.ZodObject<{
279
279
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
280
280
  allowedTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
281
281
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
282
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>>;
282
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
283
283
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
284
284
  gptConfigNameOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
285
285
  initialRunMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -787,12 +787,13 @@ async function setupAllowedTools(flowParams, hasGptClient, targetType, toolRegis
787
787
  }
788
788
  else {
789
789
  // The user has not specified a list of tools to use, so use the
790
- // target-appropriate defaults.
791
- // Web uses a curated default subset; other targets (provided by plugins)
792
- // default to all target-compatible tools.
793
- const defaultTools = targetType === 'web'
794
- ? toolRegistry.defaultTools()
795
- : targetCompatibleTools;
790
+ // curated defaults. Target-specific tools (e.g. mobile plugin tools)
791
+ // still reach the final set because they are in `defaultTools()` via
792
+ // `pluginTools` and survive the `targetCompatibleTools` filter below.
793
+ // Critically, this keeps tools like `triggerDonobuFlow` — whose GPT
794
+ // schema is not representable as JSON Schema — out of the default
795
+ // tool set across all targets.
796
+ const defaultTools = toolRegistry.defaultTools();
796
797
  const allowedTools = [
797
798
  ...toolsNeededOnStart,
798
799
  ...defaultTools.map((t) => t.name),
@@ -128,7 +128,7 @@ export declare const CreateDonobuFlowSchema: z.ZodObject<{
128
128
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
129
129
  allowedTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
130
130
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
131
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>>;
131
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
132
132
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
133
133
  gptConfigNameOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
134
  initialRunMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -14,7 +14,7 @@ export declare const CreateSuiteSchema: z.ZodObject<{
14
14
  }, z.core.$strip>>>>;
15
15
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
16
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>;
17
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
18
18
  callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
19
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
20
  videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
@@ -14,7 +14,7 @@ export declare const CreateTestSchema: z.ZodObject<{
14
14
  }, z.core.$strip>>>>;
15
15
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
16
16
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
17
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>;
17
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
18
18
  callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
19
19
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
20
20
  videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
@@ -136,7 +136,7 @@ export declare const FlowMetadataSchema: z.ZodObject<{
136
136
  }, z.core.$strip>>>;
137
137
  overallObjective: z.ZodNullable<z.ZodString>;
138
138
  allowedTools: z.ZodArray<z.ZodString>;
139
- resultJsonSchema: z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>;
139
+ resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
140
140
  callbackUrl: z.ZodNullable<z.ZodString>;
141
141
  maxToolCalls: z.ZodNullable<z.ZodNumber>;
142
142
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -251,7 +251,7 @@ export declare const RunConfigSchema: z.ZodObject<{
251
251
  }, z.core.$strip>>>;
252
252
  overallObjective: z.ZodNullable<z.ZodString>;
253
253
  allowedTools: z.ZodArray<z.ZodString>;
254
- resultJsonSchema: z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>;
254
+ resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
255
255
  callbackUrl: z.ZodNullable<z.ZodString>;
256
256
  maxToolCalls: z.ZodNullable<z.ZodNumber>;
257
257
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -43,8 +43,12 @@ exports.RunConfigSchema = v4_1.z.looseObject({
43
43
  allowedTools: v4_1.z
44
44
  .array(v4_1.z.string())
45
45
  .describe('The complete set of tools (by name) permitted for execution.'),
46
+ // A JSON Schema document (always an object at the top level). Typed as
47
+ // `Record<string, unknown>` rather than `JSONSchema.BaseSchema` so that
48
+ // the schema is representable via `z.toJSONSchema` — consumers that need
49
+ // the more specific type cast at the call site (e.g. `jsonSchemaToZod`).
46
50
  resultJsonSchema: v4_1.z
47
- .custom()
51
+ .record(v4_1.z.string(), v4_1.z.unknown())
48
52
  .nullable()
49
53
  .describe('If non-null, the JSON schema that the result field will conform to.'),
50
54
  callbackUrl: v4_1.z
@@ -132,7 +132,7 @@ export declare const SuiteMetadataSchema: z.ZodObject<{
132
132
  }, z.core.$strip>>>>;
133
133
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodString>>;
134
134
  allowedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
135
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>;
135
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
136
136
  callbackUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
137
137
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
138
138
  videoDisabled: z.ZodOptional<z.ZodNullable<z.ZodOptional<z.ZodBoolean>>>;
@@ -129,7 +129,7 @@ export declare const TestMetadataSchema: z.ZodObject<{
129
129
  }, z.core.$strip>>>;
130
130
  overallObjective: z.ZodNullable<z.ZodString>;
131
131
  allowedTools: z.ZodArray<z.ZodString>;
132
- resultJsonSchema: z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>;
132
+ resultJsonSchema: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
133
133
  callbackUrl: z.ZodNullable<z.ZodString>;
134
134
  maxToolCalls: z.ZodNullable<z.ZodNumber>;
135
135
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
@@ -132,7 +132,7 @@ export declare const TriggerDonobuFlowCoreSchema: z.ZodObject<{
132
132
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
133
133
  allowedTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
134
134
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
135
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>>;
135
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
136
136
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
137
137
  gptConfigNameOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
138
138
  initialRunMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
@@ -279,7 +279,7 @@ export declare const TriggerDonobuFlowGptSchema: z.ZodObject<{
279
279
  overallObjective: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodString>>>;
280
280
  allowedTools: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
281
281
  maxToolCalls: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodNumber>>>;
282
- resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodCustom<z.core.JSONSchema.JSONSchema, z.core.JSONSchema.JSONSchema>>>>;
282
+ resultJsonSchema: z.ZodOptional<z.ZodNullable<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>>;
283
283
  videoDisabled: z.ZodNullable<z.ZodOptional<z.ZodBoolean>>;
284
284
  gptConfigNameOverride: z.ZodOptional<z.ZodNullable<z.ZodString>>;
285
285
  initialRunMode: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "donobu",
3
- "version": "5.25.0",
3
+ "version": "5.25.1",
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",