@midscene/core 1.10.5 → 1.10.6-beta-20260717061640.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.
Files changed (48) hide show
  1. package/dist/es/agent/utils.mjs +1 -1
  2. package/dist/es/ai-model/inspect.mjs +10 -5
  3. package/dist/es/ai-model/inspect.mjs.map +1 -1
  4. package/dist/es/ai-model/llm-planning.mjs +2 -1
  5. package/dist/es/ai-model/llm-planning.mjs.map +1 -1
  6. package/dist/es/ai-model/models/doubao.mjs +3 -0
  7. package/dist/es/ai-model/models/doubao.mjs.map +1 -1
  8. package/dist/es/ai-model/models/glm.mjs +1 -2
  9. package/dist/es/ai-model/models/glm.mjs.map +1 -1
  10. package/dist/es/ai-model/models/gpt.mjs +1 -1
  11. package/dist/es/ai-model/models/gpt.mjs.map +1 -1
  12. package/dist/es/ai-model/models/kimi.mjs +1 -2
  13. package/dist/es/ai-model/models/kimi.mjs.map +1 -1
  14. package/dist/es/ai-model/models/mimo.mjs +2 -3
  15. package/dist/es/ai-model/models/mimo.mjs.map +1 -1
  16. package/dist/es/ai-model/service-caller/index.mjs +8 -4
  17. package/dist/es/ai-model/service-caller/index.mjs.map +1 -1
  18. package/dist/es/ai-model/service-caller/semantic-retry.mjs +4 -1
  19. package/dist/es/ai-model/service-caller/semantic-retry.mjs.map +1 -1
  20. package/dist/es/common.mjs +0 -2
  21. package/dist/es/common.mjs.map +1 -1
  22. package/dist/es/utils.mjs +2 -2
  23. package/dist/lib/agent/utils.js +1 -1
  24. package/dist/lib/ai-model/inspect.js +10 -5
  25. package/dist/lib/ai-model/inspect.js.map +1 -1
  26. package/dist/lib/ai-model/llm-planning.js +2 -1
  27. package/dist/lib/ai-model/llm-planning.js.map +1 -1
  28. package/dist/lib/ai-model/models/doubao.js +3 -0
  29. package/dist/lib/ai-model/models/doubao.js.map +1 -1
  30. package/dist/lib/ai-model/models/glm.js +1 -2
  31. package/dist/lib/ai-model/models/glm.js.map +1 -1
  32. package/dist/lib/ai-model/models/gpt.js +1 -1
  33. package/dist/lib/ai-model/models/gpt.js.map +1 -1
  34. package/dist/lib/ai-model/models/kimi.js +1 -2
  35. package/dist/lib/ai-model/models/kimi.js.map +1 -1
  36. package/dist/lib/ai-model/models/mimo.js +2 -3
  37. package/dist/lib/ai-model/models/mimo.js.map +1 -1
  38. package/dist/lib/ai-model/service-caller/index.js +8 -4
  39. package/dist/lib/ai-model/service-caller/index.js.map +1 -1
  40. package/dist/lib/ai-model/service-caller/semantic-retry.js +4 -1
  41. package/dist/lib/ai-model/service-caller/semantic-retry.js.map +1 -1
  42. package/dist/lib/common.js +0 -2
  43. package/dist/lib/common.js.map +1 -1
  44. package/dist/lib/utils.js +2 -2
  45. package/dist/types/ai-model/model-adapter/types.d.ts +12 -1
  46. package/dist/types/ai-model/service-caller/index.d.ts +2 -0
  47. package/dist/types/ai-model/service-caller/semantic-retry.d.ts +3 -1
  48. package/package.json +11 -3
@@ -1,6 +1,6 @@
1
1
  import type { PixelBbox, PlanningAction } from '../../types';
2
2
  import type { AIUsageInfo } from '../../types';
3
- import type { IModelConfig, TIntent, TModelReasoningEnabled } from '@midscene/shared/env';
3
+ import type { IModelConfig, TIntent, TModelReasoningEnabled, TModelResponseFormat } from '@midscene/shared/env';
4
4
  import type OpenAI from 'openai';
5
5
  import type { JsonParser, JsonParserContext, JsonParserSource } from '../service-caller/json';
6
6
  import type { LocateResultAdapter, LocateResultAdapterDefinition, ResolvedLocateResultCoordinates } from '../shared/model-locate-result/types';
@@ -23,17 +23,28 @@ export interface MidsceneChatCompletionDefaults {
23
23
  }
24
24
  export interface ChatCompletionCallUserConfig extends ReasoningInput {
25
25
  temperature?: number;
26
+ responseFormat?: TModelResponseFormat;
26
27
  }
27
28
  export type ChatCompletionUnsupportedUserConfig = keyof ChatCompletionCallUserConfig;
28
29
  export interface ChatCompletionCallInput {
29
30
  intent?: TIntent;
30
31
  userConfig?: ChatCompletionCallUserConfig;
31
32
  requiresOriginalImageDetail?: boolean;
33
+ /**
34
+ * Whether this call expects a JSON object response.
35
+ *
36
+ * This must not be inferred from `intent === 'default'`: intent selects a
37
+ * model-config slot, while many non-locate calls (for example, browser
38
+ * extension recording data generation that produces YAML) also use the
39
+ * default model.
40
+ */
41
+ expectedJsonObjectResponse?: boolean;
32
42
  }
33
43
  export interface ChatCompletionCallContext {
34
44
  intent?: TIntent;
35
45
  userConfig: ChatCompletionCallUserConfig;
36
46
  requiresOriginalImageDetail?: boolean;
47
+ expectedJsonObjectResponse?: boolean;
37
48
  midsceneDefaults: MidsceneChatCompletionDefaults;
38
49
  }
39
50
  export type ImageDetail = 'auto' | 'low' | 'high' | 'original';
@@ -39,6 +39,7 @@ interface CallAIOptions {
39
39
  onChunk?: StreamingCallback;
40
40
  abortSignal?: AbortSignal;
41
41
  requiresOriginalImageDetail?: boolean;
42
+ expectedJsonObjectResponse?: boolean;
42
43
  }
43
44
  export declare function callAI(messages: ChatCompletionMessageParam[], modelRuntime: ModelRuntime, options?: CallAIOptions): Promise<{
44
45
  content: string;
@@ -51,6 +52,7 @@ export declare function callAIWithObjectResponse<T>(messages: ChatCompletionMess
51
52
  abortSignal?: AbortSignal;
52
53
  jsonParserSource?: JsonParserSource;
53
54
  retryTimes?: number;
55
+ retryInterval?: number;
54
56
  }): Promise<{
55
57
  content: T;
56
58
  contentString: string;
@@ -7,6 +7,8 @@ export type CallAiAndParseWithRetryOptions<Response, Parsed> = {
7
7
  toParseError: (error: unknown, response: Response) => Error;
8
8
  /** Number of additional model requests after a parsing failure. Defaults to 0. */
9
9
  parseRetryTimes?: number;
10
+ /** Delay in milliseconds before retrying a parsing failure. Defaults to 0. */
11
+ parseRetryInterval?: number;
10
12
  abortSignal?: AbortSignal;
11
13
  /** Runs immediately before a parsing failure triggers another model request. */
12
14
  onParseRetry?: (error: unknown, response: Response) => void;
@@ -19,4 +21,4 @@ export type CallAiAndParseWithRetryOptions<Response, Parsed> = {
19
21
  * propagated as-is. Only a successful callAi() response that fails the
20
22
  * parseResponse() callback triggers another model request.
21
23
  */
22
- export declare function callAiAndParseWithRetry<Response, Parsed>({ callAi, parseResponse, toParseError, parseRetryTimes, abortSignal, onParseRetry, }: CallAiAndParseWithRetryOptions<Response, Parsed>): Promise<Parsed>;
24
+ export declare function callAiAndParseWithRetry<Response, Parsed>({ callAi, parseResponse, toParseError, parseRetryTimes, parseRetryInterval, abortSignal, onParseRetry, }: CallAiAndParseWithRetryOptions<Response, Parsed>): Promise<Parsed>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@midscene/core",
3
3
  "description": "Automate browser actions, extract data, and perform assertions using AI. It offers JavaScript SDK, Chrome extension, and support for scripting in YAML. See https://midscenejs.com/ for details.",
4
- "version": "1.10.5",
4
+ "version": "1.10.6-beta-20260717061640.0",
5
5
  "repository": "https://github.com/web-infra-dev/midscene",
6
6
  "homepage": "https://midscenejs.com/",
7
7
  "main": "./dist/lib/index.js",
@@ -37,6 +37,11 @@
37
37
  "import": "./dist/es/device/index.mjs",
38
38
  "require": "./dist/lib/device/index.js"
39
39
  },
40
+ "./dump": {
41
+ "types": "./dist/types/dump/index.d.ts",
42
+ "import": "./dist/es/dump/index.mjs",
43
+ "require": "./dist/lib/dump/index.js"
44
+ },
40
45
  "./dump/task-service-dump": {
41
46
  "types": "./dist/types/dump/task-service-dump.d.ts",
42
47
  "import": "./dist/es/dump/task-service-dump.mjs",
@@ -80,6 +85,9 @@
80
85
  "device": [
81
86
  "./dist/types/device.d.ts"
82
87
  ],
88
+ "dump": [
89
+ "./dist/types/dump/index.d.ts"
90
+ ],
83
91
  "dump/task-service-dump": [
84
92
  "./dist/types/dump/task-service-dump.d.ts"
85
93
  ],
@@ -100,14 +108,14 @@
100
108
  "dotenv": "^16.4.5",
101
109
  "fetch-socks": "^1.3.0",
102
110
  "js-yaml": "4.1.0",
103
- "jsonrepair": "3.14.0",
111
+ "jsonrepair": "3.15.0",
104
112
  "mdast-util-from-markdown": "^2.0.2",
105
113
  "mdast-util-to-markdown": "^2.1.2",
106
114
  "openai": "6.3.0",
107
115
  "semver": "7.5.2",
108
116
  "undici": "^6.0.0",
109
117
  "zod": "^3.25.1",
110
- "@midscene/shared": "1.10.5"
118
+ "@midscene/shared": "1.10.6-beta-20260717061640.0"
111
119
  },
112
120
  "devDependencies": {
113
121
  "@rslib/core": "^0.18.3",