@midscene/core 1.0.1-beta-20251208085324.0 → 1.0.1-beta-20251209024153.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 (66) hide show
  1. package/dist/es/agent/agent.mjs +12 -1
  2. package/dist/es/agent/agent.mjs.map +1 -1
  3. package/dist/es/agent/task-builder.mjs +4 -2
  4. package/dist/es/agent/task-builder.mjs.map +1 -1
  5. package/dist/es/agent/tasks.mjs +8 -3
  6. package/dist/es/agent/tasks.mjs.map +1 -1
  7. package/dist/es/agent/utils.mjs +1 -1
  8. package/dist/es/ai-model/prompt/llm-planning.mjs +6 -63
  9. package/dist/es/ai-model/prompt/llm-planning.mjs.map +1 -1
  10. package/dist/es/device/index.mjs +12 -6
  11. package/dist/es/device/index.mjs.map +1 -1
  12. package/dist/es/utils.mjs +2 -2
  13. package/dist/lib/agent/agent.js +14 -3
  14. package/dist/lib/agent/agent.js.map +1 -1
  15. package/dist/lib/agent/common.js +1 -1
  16. package/dist/lib/agent/execution-session.js +2 -2
  17. package/dist/lib/agent/index.js +2 -2
  18. package/dist/lib/agent/task-builder.js +6 -4
  19. package/dist/lib/agent/task-builder.js.map +1 -1
  20. package/dist/lib/agent/task-cache.js +2 -2
  21. package/dist/lib/agent/tasks.js +10 -5
  22. package/dist/lib/agent/tasks.js.map +1 -1
  23. package/dist/lib/agent/ui-utils.js +2 -2
  24. package/dist/lib/agent/utils.js +3 -3
  25. package/dist/lib/ai-model/conversation-history.js +2 -2
  26. package/dist/lib/ai-model/index.js +2 -2
  27. package/dist/lib/ai-model/inspect.js +2 -2
  28. package/dist/lib/ai-model/llm-planning.js +2 -2
  29. package/dist/lib/ai-model/prompt/assertion.js +2 -2
  30. package/dist/lib/ai-model/prompt/common.js +2 -2
  31. package/dist/lib/ai-model/prompt/describe.js +2 -2
  32. package/dist/lib/ai-model/prompt/extraction.js +2 -2
  33. package/dist/lib/ai-model/prompt/llm-locator.js +2 -2
  34. package/dist/lib/ai-model/prompt/llm-planning.js +10 -67
  35. package/dist/lib/ai-model/prompt/llm-planning.js.map +1 -1
  36. package/dist/lib/ai-model/prompt/llm-section-locator.js +2 -2
  37. package/dist/lib/ai-model/prompt/order-sensitive-judge.js +2 -2
  38. package/dist/lib/ai-model/prompt/playwright-generator.js +2 -2
  39. package/dist/lib/ai-model/prompt/ui-tars-locator.js +2 -2
  40. package/dist/lib/ai-model/prompt/ui-tars-planning.js +2 -2
  41. package/dist/lib/ai-model/prompt/util.js +2 -2
  42. package/dist/lib/ai-model/prompt/yaml-generator.js +2 -2
  43. package/dist/lib/ai-model/service-caller/index.js +2 -2
  44. package/dist/lib/ai-model/ui-tars-planning.js +2 -2
  45. package/dist/lib/common.js +2 -2
  46. package/dist/lib/device/device-options.js +1 -1
  47. package/dist/lib/device/index.js +14 -8
  48. package/dist/lib/device/index.js.map +1 -1
  49. package/dist/lib/image/index.js +2 -2
  50. package/dist/lib/index.js +2 -2
  51. package/dist/lib/report.js +2 -2
  52. package/dist/lib/service/index.js +2 -2
  53. package/dist/lib/service/utils.js +2 -2
  54. package/dist/lib/task-runner.js +2 -2
  55. package/dist/lib/tree.js +2 -2
  56. package/dist/lib/types.js +3 -3
  57. package/dist/lib/utils.js +4 -4
  58. package/dist/lib/yaml/builder.js +2 -2
  59. package/dist/lib/yaml/index.js +4 -4
  60. package/dist/lib/yaml/player.js +2 -2
  61. package/dist/lib/yaml/utils.js +2 -2
  62. package/dist/lib/yaml.js +1 -1
  63. package/dist/types/agent/task-builder.d.ts +4 -2
  64. package/dist/types/agent/tasks.d.ts +4 -1
  65. package/dist/types/device/index.d.ts +10 -2
  66. package/package.json +3 -3
@@ -47,9 +47,9 @@ function buildYaml(env, tasks) {
47
47
  });
48
48
  }
49
49
  exports.buildYaml = __webpack_exports__.buildYaml;
50
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
50
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
51
51
  "buildYaml"
52
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
52
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
53
53
  Object.defineProperty(exports, '__esModule', {
54
54
  value: true
55
55
  });
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  var __webpack_modules__ = {
3
- "./builder": function(module) {
3
+ "./builder" (module) {
4
4
  module.exports = require("./builder.js");
5
5
  },
6
- "./player": function(module) {
6
+ "./player" (module) {
7
7
  module.exports = require("./player.js");
8
8
  },
9
- "./utils": function(module) {
9
+ "./utils" (module) {
10
10
  module.exports = require("./utils.js");
11
11
  }
12
12
  };
@@ -66,7 +66,7 @@ var __webpack_exports__ = {};
66
66
  for(const __rspack_import_key in _utils__rspack_import_2)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_utils__rspack_import_2[__rspack_import_key];
67
67
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
68
68
  })();
69
- for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
69
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
70
70
  Object.defineProperty(exports, '__esModule', {
71
71
  value: true
72
72
  });
@@ -414,9 +414,9 @@ class ScriptPlayer {
414
414
  }
415
415
  }
416
416
  exports.ScriptPlayer = __webpack_exports__.ScriptPlayer;
417
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
417
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
418
418
  "ScriptPlayer"
419
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
419
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
420
420
  Object.defineProperty(exports, '__esModule', {
421
421
  value: true
422
422
  });
@@ -113,12 +113,12 @@ exports.buildDetailedLocateParam = __webpack_exports__.buildDetailedLocateParam;
113
113
  exports.buildDetailedLocateParamAndRestParams = __webpack_exports__.buildDetailedLocateParamAndRestParams;
114
114
  exports.interpolateEnvVars = __webpack_exports__.interpolateEnvVars;
115
115
  exports.parseYamlScript = __webpack_exports__.parseYamlScript;
116
- for(var __webpack_i__ in __webpack_exports__)if (-1 === [
116
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
117
117
  "buildDetailedLocateParam",
118
118
  "buildDetailedLocateParamAndRestParams",
119
119
  "interpolateEnvVars",
120
120
  "parseYamlScript"
121
- ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
121
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
122
122
  Object.defineProperty(exports, '__esModule', {
123
123
  value: true
124
124
  });
package/dist/lib/yaml.js CHANGED
@@ -12,7 +12,7 @@ var __webpack_require__ = {};
12
12
  })();
13
13
  var __webpack_exports__ = {};
14
14
  __webpack_require__.r(__webpack_exports__);
15
- for(var __webpack_i__ in __webpack_exports__)exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
16
  Object.defineProperty(exports, '__esModule', {
17
17
  value: true
18
18
  });
@@ -1,6 +1,6 @@
1
1
  import type { AbstractInterface } from '../device';
2
2
  import type Service from '../service';
3
- import type { DetailedLocateParam, ExecutionTaskActionApply, ExecutionTaskApply, PlanningAction, PlanningActionParamSleep, PlanningLocateParam } from '../types';
3
+ import type { DetailedLocateParam, DeviceAction, ExecutionTaskActionApply, ExecutionTaskApply, PlanningAction, PlanningActionParamSleep, PlanningLocateParam } from '../types';
4
4
  import type { IModelConfig } from '@midscene/shared/env';
5
5
  import type { TaskCache } from './task-cache';
6
6
  export declare function locatePlanForLocate(param: string | DetailedLocateParam): PlanningAction<PlanningLocateParam>;
@@ -8,6 +8,7 @@ interface TaskBuilderDeps {
8
8
  interfaceInstance: AbstractInterface;
9
9
  service: Service;
10
10
  taskCache?: TaskCache;
11
+ actionSpace: DeviceAction[];
11
12
  }
12
13
  interface BuildOptions {
13
14
  cacheable?: boolean;
@@ -17,7 +18,8 @@ export declare class TaskBuilder {
17
18
  private readonly interface;
18
19
  private readonly service;
19
20
  private readonly taskCache?;
20
- constructor({ interfaceInstance, service, taskCache }: TaskBuilderDeps);
21
+ private readonly actionSpace;
22
+ constructor({ interfaceInstance, service, taskCache, actionSpace, }: TaskBuilderDeps);
21
23
  build(plans: PlanningAction[], modelConfigForPlanning: IModelConfig, modelConfigForDefaultIntent: IModelConfig, options?: BuildOptions): Promise<{
22
24
  tasks: ExecutionTaskApply[];
23
25
  }>;
@@ -3,7 +3,7 @@ import type { AbstractInterface } from '../device';
3
3
  import type Service from '../service';
4
4
  import type { TaskRunner } from '../task-runner';
5
5
  import { TaskExecutionError } from '../task-runner';
6
- import type { ExecutionTaskApply, ExecutionTaskProgressOptions, MidsceneYamlFlowItem, PlanningAction, PlanningActionParamSleep, PlanningActionParamWaitFor, ServiceExtractOption, ServiceExtractParam } from '../types';
6
+ import type { DeviceAction, ExecutionTaskApply, ExecutionTaskProgressOptions, MidsceneYamlFlowItem, PlanningAction, PlanningActionParamSleep, PlanningActionParamWaitFor, ServiceExtractOption, ServiceExtractParam } from '../types';
7
7
  import type { IModelConfig } from '@midscene/shared/env';
8
8
  import type { TaskCache } from './task-cache';
9
9
  export { locatePlanForLocate } from './task-builder';
@@ -20,6 +20,7 @@ export declare class TaskExecutor {
20
20
  interface: AbstractInterface;
21
21
  service: Service;
22
22
  taskCache?: TaskCache;
23
+ private readonly providedActionSpace;
23
24
  private readonly taskBuilder;
24
25
  private conversationHistory;
25
26
  onTaskStartCallback?: ExecutionTaskProgressOptions['onTaskStart'];
@@ -31,8 +32,10 @@ export declare class TaskExecutor {
31
32
  onTaskStart?: ExecutionTaskProgressOptions['onTaskStart'];
32
33
  replanningCycleLimit?: number;
33
34
  hooks?: TaskExecutorHooks;
35
+ actionSpace: DeviceAction[];
34
36
  });
35
37
  private createExecutionSession;
38
+ private getActionSpace;
36
39
  convertPlanToExecutable(plans: PlanningAction[], modelConfigForPlanning: IModelConfig, modelConfigForDefaultIntent: IModelConfig, options?: {
37
40
  cacheable?: boolean;
38
41
  subTask?: boolean;
@@ -7,7 +7,7 @@ export declare abstract class AbstractInterface {
7
7
  abstract interfaceType: string;
8
8
  abstract screenshotBase64(): Promise<string>;
9
9
  abstract size(): Promise<Size>;
10
- abstract actionSpace(): DeviceAction[] | Promise<DeviceAction[]>;
10
+ abstract actionSpace(): DeviceAction[];
11
11
  abstract cacheFeatureForRect?(rect: Rect, options?: {
12
12
  targetDescription?: string;
13
13
  modelConfig?: IModelConfig;
@@ -2153,14 +2153,22 @@ export type ActionClearInputParam = {
2153
2153
  export declare const defineActionClearInput: (call: (param: ActionClearInputParam) => Promise<void>) => DeviceAction<ActionClearInputParam>;
2154
2154
  export declare const actionAssertParamSchema: z.ZodObject<{
2155
2155
  condition: z.ZodString;
2156
+ thought: z.ZodString;
2157
+ result: z.ZodBoolean;
2156
2158
  }, "strip", z.ZodTypeAny, {
2157
2159
  condition: string;
2160
+ thought: string;
2161
+ result: boolean;
2158
2162
  }, {
2159
2163
  condition: string;
2164
+ thought: string;
2165
+ result: boolean;
2160
2166
  }>;
2161
2167
  export type ActionAssertParam = {
2162
2168
  condition: string;
2169
+ thought: string;
2170
+ result: boolean;
2163
2171
  };
2164
- export declare const defineActionAssert: (call: (param: ActionAssertParam) => Promise<void>) => DeviceAction<ActionAssertParam>;
2172
+ export declare const defineActionAssert: () => DeviceAction<ActionAssertParam>;
2165
2173
  export type { DeviceAction } from '../types';
2166
2174
  export type { AndroidDeviceOpt, AndroidDeviceInputOpt, IOSDeviceOpt, IOSDeviceInputOpt, } from './device-options';
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.0.1-beta-20251208085324.0",
4
+ "version": "1.0.1-beta-20251209024153.0",
5
5
  "repository": "https://github.com/web-infra-dev/midscene",
6
6
  "homepage": "https://midscenejs.com/",
7
7
  "main": "./dist/lib/index.js",
@@ -89,10 +89,10 @@
89
89
  "semver": "7.5.2",
90
90
  "js-yaml": "4.1.0",
91
91
  "zod": "3.24.3",
92
- "@midscene/shared": "1.0.1-beta-20251208085324.0"
92
+ "@midscene/shared": "1.0.1-beta-20251209024153.0"
93
93
  },
94
94
  "devDependencies": {
95
- "@rslib/core": "^0.18.2",
95
+ "@rslib/core": "^0.18.3",
96
96
  "@types/node": "^18.0.0",
97
97
  "@types/node-fetch": "2.6.11",
98
98
  "@types/js-yaml": "4.0.9",