@sqaitech/core 0.5.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 (200) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +9 -0
  3. package/dist/es/agent/agent.mjs +635 -0
  4. package/dist/es/agent/agent.mjs.map +1 -0
  5. package/dist/es/agent/common.mjs +0 -0
  6. package/dist/es/agent/index.mjs +6 -0
  7. package/dist/es/agent/task-cache.mjs +184 -0
  8. package/dist/es/agent/task-cache.mjs.map +1 -0
  9. package/dist/es/agent/tasks.mjs +663 -0
  10. package/dist/es/agent/tasks.mjs.map +1 -0
  11. package/dist/es/agent/ui-utils.mjs +72 -0
  12. package/dist/es/agent/ui-utils.mjs.map +1 -0
  13. package/dist/es/agent/utils.mjs +162 -0
  14. package/dist/es/agent/utils.mjs.map +1 -0
  15. package/dist/es/ai-model/action-executor.mjs +129 -0
  16. package/dist/es/ai-model/action-executor.mjs.map +1 -0
  17. package/dist/es/ai-model/common.mjs +355 -0
  18. package/dist/es/ai-model/common.mjs.map +1 -0
  19. package/dist/es/ai-model/conversation-history.mjs +58 -0
  20. package/dist/es/ai-model/conversation-history.mjs.map +1 -0
  21. package/dist/es/ai-model/index.mjs +11 -0
  22. package/dist/es/ai-model/inspect.mjs +286 -0
  23. package/dist/es/ai-model/inspect.mjs.map +1 -0
  24. package/dist/es/ai-model/llm-planning.mjs +140 -0
  25. package/dist/es/ai-model/llm-planning.mjs.map +1 -0
  26. package/dist/es/ai-model/prompt/assertion.mjs +31 -0
  27. package/dist/es/ai-model/prompt/assertion.mjs.map +1 -0
  28. package/dist/es/ai-model/prompt/common.mjs +7 -0
  29. package/dist/es/ai-model/prompt/common.mjs.map +1 -0
  30. package/dist/es/ai-model/prompt/describe.mjs +44 -0
  31. package/dist/es/ai-model/prompt/describe.mjs.map +1 -0
  32. package/dist/es/ai-model/prompt/extraction.mjs +129 -0
  33. package/dist/es/ai-model/prompt/extraction.mjs.map +1 -0
  34. package/dist/es/ai-model/prompt/llm-locator.mjs +268 -0
  35. package/dist/es/ai-model/prompt/llm-locator.mjs.map +1 -0
  36. package/dist/es/ai-model/prompt/llm-planning.mjs +367 -0
  37. package/dist/es/ai-model/prompt/llm-planning.mjs.map +1 -0
  38. package/dist/es/ai-model/prompt/llm-section-locator.mjs +41 -0
  39. package/dist/es/ai-model/prompt/llm-section-locator.mjs.map +1 -0
  40. package/dist/es/ai-model/prompt/playwright-generator.mjs +117 -0
  41. package/dist/es/ai-model/prompt/playwright-generator.mjs.map +1 -0
  42. package/dist/es/ai-model/prompt/ui-tars-locator.mjs +34 -0
  43. package/dist/es/ai-model/prompt/ui-tars-locator.mjs.map +1 -0
  44. package/dist/es/ai-model/prompt/ui-tars-planning.mjs +36 -0
  45. package/dist/es/ai-model/prompt/ui-tars-planning.mjs.map +1 -0
  46. package/dist/es/ai-model/prompt/util.mjs +124 -0
  47. package/dist/es/ai-model/prompt/util.mjs.map +1 -0
  48. package/dist/es/ai-model/prompt/yaml-generator.mjs +219 -0
  49. package/dist/es/ai-model/prompt/yaml-generator.mjs.map +1 -0
  50. package/dist/es/ai-model/service-caller/index.mjs +388 -0
  51. package/dist/es/ai-model/service-caller/index.mjs.map +1 -0
  52. package/dist/es/ai-model/ui-tars-planning.mjs +201 -0
  53. package/dist/es/ai-model/ui-tars-planning.mjs.map +1 -0
  54. package/dist/es/device/index.mjs +152 -0
  55. package/dist/es/device/index.mjs.map +1 -0
  56. package/dist/es/image/index.mjs +2 -0
  57. package/dist/es/index.mjs +11 -0
  58. package/dist/es/index.mjs.map +1 -0
  59. package/dist/es/insight/index.mjs +231 -0
  60. package/dist/es/insight/index.mjs.map +1 -0
  61. package/dist/es/insight/utils.mjs +15 -0
  62. package/dist/es/insight/utils.mjs.map +1 -0
  63. package/dist/es/report.mjs +88 -0
  64. package/dist/es/report.mjs.map +1 -0
  65. package/dist/es/tree.mjs +2 -0
  66. package/dist/es/types.mjs +11 -0
  67. package/dist/es/types.mjs.map +1 -0
  68. package/dist/es/utils.mjs +202 -0
  69. package/dist/es/utils.mjs.map +1 -0
  70. package/dist/es/yaml/builder.mjs +13 -0
  71. package/dist/es/yaml/builder.mjs.map +1 -0
  72. package/dist/es/yaml/index.mjs +3 -0
  73. package/dist/es/yaml/player.mjs +372 -0
  74. package/dist/es/yaml/player.mjs.map +1 -0
  75. package/dist/es/yaml/utils.mjs +73 -0
  76. package/dist/es/yaml/utils.mjs.map +1 -0
  77. package/dist/es/yaml.mjs +0 -0
  78. package/dist/lib/agent/agent.js +682 -0
  79. package/dist/lib/agent/agent.js.map +1 -0
  80. package/dist/lib/agent/common.js +5 -0
  81. package/dist/lib/agent/index.js +81 -0
  82. package/dist/lib/agent/index.js.map +1 -0
  83. package/dist/lib/agent/task-cache.js +236 -0
  84. package/dist/lib/agent/task-cache.js.map +1 -0
  85. package/dist/lib/agent/tasks.js +700 -0
  86. package/dist/lib/agent/tasks.js.map +1 -0
  87. package/dist/lib/agent/ui-utils.js +121 -0
  88. package/dist/lib/agent/ui-utils.js.map +1 -0
  89. package/dist/lib/agent/utils.js +233 -0
  90. package/dist/lib/agent/utils.js.map +1 -0
  91. package/dist/lib/ai-model/action-executor.js +163 -0
  92. package/dist/lib/ai-model/action-executor.js.map +1 -0
  93. package/dist/lib/ai-model/common.js +461 -0
  94. package/dist/lib/ai-model/common.js.map +1 -0
  95. package/dist/lib/ai-model/conversation-history.js +92 -0
  96. package/dist/lib/ai-model/conversation-history.js.map +1 -0
  97. package/dist/lib/ai-model/index.js +131 -0
  98. package/dist/lib/ai-model/index.js.map +1 -0
  99. package/dist/lib/ai-model/inspect.js +326 -0
  100. package/dist/lib/ai-model/inspect.js.map +1 -0
  101. package/dist/lib/ai-model/llm-planning.js +174 -0
  102. package/dist/lib/ai-model/llm-planning.js.map +1 -0
  103. package/dist/lib/ai-model/prompt/assertion.js +65 -0
  104. package/dist/lib/ai-model/prompt/assertion.js.map +1 -0
  105. package/dist/lib/ai-model/prompt/common.js +41 -0
  106. package/dist/lib/ai-model/prompt/common.js.map +1 -0
  107. package/dist/lib/ai-model/prompt/describe.js +78 -0
  108. package/dist/lib/ai-model/prompt/describe.js.map +1 -0
  109. package/dist/lib/ai-model/prompt/extraction.js +169 -0
  110. package/dist/lib/ai-model/prompt/extraction.js.map +1 -0
  111. package/dist/lib/ai-model/prompt/llm-locator.js +308 -0
  112. package/dist/lib/ai-model/prompt/llm-locator.js.map +1 -0
  113. package/dist/lib/ai-model/prompt/llm-planning.js +407 -0
  114. package/dist/lib/ai-model/prompt/llm-planning.js.map +1 -0
  115. package/dist/lib/ai-model/prompt/llm-section-locator.js +78 -0
  116. package/dist/lib/ai-model/prompt/llm-section-locator.js.map +1 -0
  117. package/dist/lib/ai-model/prompt/playwright-generator.js +178 -0
  118. package/dist/lib/ai-model/prompt/playwright-generator.js.map +1 -0
  119. package/dist/lib/ai-model/prompt/ui-tars-locator.js +68 -0
  120. package/dist/lib/ai-model/prompt/ui-tars-locator.js.map +1 -0
  121. package/dist/lib/ai-model/prompt/ui-tars-planning.js +73 -0
  122. package/dist/lib/ai-model/prompt/ui-tars-planning.js.map +1 -0
  123. package/dist/lib/ai-model/prompt/util.js +176 -0
  124. package/dist/lib/ai-model/prompt/util.js.map +1 -0
  125. package/dist/lib/ai-model/prompt/yaml-generator.js +280 -0
  126. package/dist/lib/ai-model/prompt/yaml-generator.js.map +1 -0
  127. package/dist/lib/ai-model/service-caller/index.js +468 -0
  128. package/dist/lib/ai-model/service-caller/index.js.map +1 -0
  129. package/dist/lib/ai-model/ui-tars-planning.js +238 -0
  130. package/dist/lib/ai-model/ui-tars-planning.js.map +1 -0
  131. package/dist/lib/device/index.js +255 -0
  132. package/dist/lib/device/index.js.map +1 -0
  133. package/dist/lib/image/index.js +56 -0
  134. package/dist/lib/image/index.js.map +1 -0
  135. package/dist/lib/index.js +103 -0
  136. package/dist/lib/index.js.map +1 -0
  137. package/dist/lib/insight/index.js +265 -0
  138. package/dist/lib/insight/index.js.map +1 -0
  139. package/dist/lib/insight/utils.js +49 -0
  140. package/dist/lib/insight/utils.js.map +1 -0
  141. package/dist/lib/report.js +122 -0
  142. package/dist/lib/report.js.map +1 -0
  143. package/dist/lib/tree.js +44 -0
  144. package/dist/lib/tree.js.map +1 -0
  145. package/dist/lib/types.js +82 -0
  146. package/dist/lib/types.js.map +1 -0
  147. package/dist/lib/utils.js +281 -0
  148. package/dist/lib/utils.js.map +1 -0
  149. package/dist/lib/yaml/builder.js +57 -0
  150. package/dist/lib/yaml/builder.js.map +1 -0
  151. package/dist/lib/yaml/index.js +80 -0
  152. package/dist/lib/yaml/index.js.map +1 -0
  153. package/dist/lib/yaml/player.js +406 -0
  154. package/dist/lib/yaml/player.js.map +1 -0
  155. package/dist/lib/yaml/utils.js +126 -0
  156. package/dist/lib/yaml/utils.js.map +1 -0
  157. package/dist/lib/yaml.js +20 -0
  158. package/dist/lib/yaml.js.map +1 -0
  159. package/dist/types/agent/agent.d.ts +156 -0
  160. package/dist/types/agent/common.d.ts +0 -0
  161. package/dist/types/agent/index.d.ts +9 -0
  162. package/dist/types/agent/task-cache.d.ts +48 -0
  163. package/dist/types/agent/tasks.d.ts +48 -0
  164. package/dist/types/agent/ui-utils.d.ts +7 -0
  165. package/dist/types/agent/utils.d.ts +52 -0
  166. package/dist/types/ai-model/action-executor.d.ts +19 -0
  167. package/dist/types/ai-model/common.d.ts +569 -0
  168. package/dist/types/ai-model/conversation-history.d.ts +18 -0
  169. package/dist/types/ai-model/index.d.ts +13 -0
  170. package/dist/types/ai-model/inspect.d.ts +46 -0
  171. package/dist/types/ai-model/llm-planning.d.ts +11 -0
  172. package/dist/types/ai-model/prompt/assertion.d.ts +2 -0
  173. package/dist/types/ai-model/prompt/common.d.ts +2 -0
  174. package/dist/types/ai-model/prompt/describe.d.ts +1 -0
  175. package/dist/types/ai-model/prompt/extraction.d.ts +4 -0
  176. package/dist/types/ai-model/prompt/llm-locator.d.ts +8 -0
  177. package/dist/types/ai-model/prompt/llm-planning.d.ts +9 -0
  178. package/dist/types/ai-model/prompt/llm-section-locator.d.ts +5 -0
  179. package/dist/types/ai-model/prompt/playwright-generator.d.ts +26 -0
  180. package/dist/types/ai-model/prompt/ui-tars-locator.d.ts +1 -0
  181. package/dist/types/ai-model/prompt/ui-tars-planning.d.ts +2 -0
  182. package/dist/types/ai-model/prompt/util.d.ts +47 -0
  183. package/dist/types/ai-model/prompt/yaml-generator.d.ts +100 -0
  184. package/dist/types/ai-model/service-caller/index.d.ts +26 -0
  185. package/dist/types/ai-model/ui-tars-planning.d.ts +59 -0
  186. package/dist/types/device/index.d.ts +2158 -0
  187. package/dist/types/image/index.d.ts +1 -0
  188. package/dist/types/index.d.ts +12 -0
  189. package/dist/types/insight/index.d.ts +31 -0
  190. package/dist/types/insight/utils.d.ts +2 -0
  191. package/dist/types/report.d.ts +12 -0
  192. package/dist/types/tree.d.ts +1 -0
  193. package/dist/types/types.d.ts +412 -0
  194. package/dist/types/utils.d.ts +40 -0
  195. package/dist/types/yaml/builder.d.ts +2 -0
  196. package/dist/types/yaml/index.d.ts +3 -0
  197. package/dist/types/yaml/player.d.ts +34 -0
  198. package/dist/types/yaml/utils.d.ts +9 -0
  199. package/dist/types/yaml.d.ts +178 -0
  200. package/package.json +124 -0
@@ -0,0 +1,178 @@
1
+ import type { TUserPrompt } from './ai-model/common';
2
+ import type { AgentOpt, Rect } from './types';
3
+ import type { BaseElement, UIContext } from './types';
4
+ export interface LocateOption {
5
+ prompt?: TUserPrompt;
6
+ deepThink?: boolean;
7
+ cacheable?: boolean;
8
+ xpath?: string;
9
+ uiContext?: UIContext<BaseElement>;
10
+ }
11
+ export interface InsightExtractOption {
12
+ domIncluded?: boolean | 'visible-only';
13
+ screenshotIncluded?: boolean;
14
+ doNotThrowError?: boolean;
15
+ }
16
+ export interface ReferenceImage {
17
+ base64: string;
18
+ rect?: Rect;
19
+ }
20
+ export interface DetailedLocateParam extends LocateOption {
21
+ prompt: TUserPrompt;
22
+ referenceImage?: ReferenceImage;
23
+ }
24
+ export interface ScrollParam {
25
+ direction: 'down' | 'up' | 'right' | 'left';
26
+ scrollType: 'once' | 'untilBottom' | 'untilTop' | 'untilRight' | 'untilLeft';
27
+ distance?: null | number;
28
+ }
29
+ export interface MidsceneYamlScript {
30
+ target?: MidsceneYamlScriptWebEnv;
31
+ web?: MidsceneYamlScriptWebEnv;
32
+ android?: MidsceneYamlScriptAndroidEnv;
33
+ ios?: MidsceneYamlScriptIOSEnv;
34
+ interface?: MidsceneYamlScriptEnvGeneralInterface;
35
+ config?: MidsceneYamlScriptConfig;
36
+ agent?: MidsceneYamlScriptAgentOpt;
37
+ tasks: MidsceneYamlTask[];
38
+ }
39
+ export interface MidsceneYamlTask {
40
+ name: string;
41
+ flow: MidsceneYamlFlowItem[];
42
+ continueOnError?: boolean;
43
+ }
44
+ export type MidsceneYamlScriptAgentOpt = Pick<AgentOpt, 'aiActionContext' | 'cache'>;
45
+ export interface MidsceneYamlScriptConfig {
46
+ output?: string;
47
+ unstableLogContent?: boolean | string;
48
+ }
49
+ export interface MidsceneYamlScriptEnvGeneralInterface {
50
+ module: string;
51
+ export?: string;
52
+ param?: Record<string, any>;
53
+ }
54
+ export interface MidsceneYamlScriptWebEnv extends MidsceneYamlScriptConfig, MidsceneYamlScriptAgentOpt {
55
+ serve?: string;
56
+ url: string;
57
+ userAgent?: string;
58
+ acceptInsecureCerts?: boolean;
59
+ viewportWidth?: number;
60
+ viewportHeight?: number;
61
+ viewportScale?: number;
62
+ waitForNetworkIdle?: {
63
+ timeout?: number;
64
+ continueOnNetworkIdleError?: boolean;
65
+ };
66
+ cookie?: string;
67
+ forceSameTabNavigation?: boolean;
68
+ bridgeMode?: false | 'newTabWithUrl' | 'currentTab';
69
+ closeNewTabsAfterDisconnect?: boolean;
70
+ }
71
+ export interface MidsceneYamlScriptAndroidEnv extends MidsceneYamlScriptConfig {
72
+ deviceId?: string;
73
+ launch?: string;
74
+ }
75
+ export interface MidsceneYamlScriptIOSEnv extends MidsceneYamlScriptConfig {
76
+ wdaPort?: number;
77
+ wdaHost?: string;
78
+ autoDismissKeyboard?: boolean;
79
+ launch?: string;
80
+ }
81
+ export type MidsceneYamlScriptEnv = MidsceneYamlScriptWebEnv | MidsceneYamlScriptAndroidEnv | MidsceneYamlScriptIOSEnv;
82
+ export interface MidsceneYamlFlowItemAIAction {
83
+ ai?: string;
84
+ aiAction?: string;
85
+ aiActionProgressTips?: string[];
86
+ cacheable?: boolean;
87
+ }
88
+ export interface MidsceneYamlFlowItemAIAssert {
89
+ aiAssert: string;
90
+ errorMessage?: string;
91
+ name?: string;
92
+ }
93
+ export interface MidsceneYamlFlowItemAIQuery extends InsightExtractOption {
94
+ aiQuery: string;
95
+ name?: string;
96
+ }
97
+ export interface MidsceneYamlFlowItemAINumber extends InsightExtractOption {
98
+ aiNumber: string;
99
+ name?: string;
100
+ }
101
+ export interface MidsceneYamlFlowItemAIString extends InsightExtractOption {
102
+ aiString: string;
103
+ name?: string;
104
+ }
105
+ export interface MidsceneYamlFlowItemAIAsk extends InsightExtractOption {
106
+ aiAsk: string;
107
+ name?: string;
108
+ }
109
+ export interface MidsceneYamlFlowItemAIBoolean extends InsightExtractOption {
110
+ aiBoolean: string;
111
+ name?: string;
112
+ }
113
+ export interface MidsceneYamlFlowItemAILocate extends LocateOption {
114
+ aiLocate: string;
115
+ name?: string;
116
+ }
117
+ export interface MidsceneYamlFlowItemAIWaitFor {
118
+ aiWaitFor: string;
119
+ timeout?: number;
120
+ }
121
+ export interface MidsceneYamlFlowItemEvaluateJavaScript {
122
+ javascript: string;
123
+ name?: string;
124
+ }
125
+ export interface MidsceneYamlFlowItemSleep {
126
+ sleep: number;
127
+ }
128
+ export interface MidsceneYamlFlowItemLogScreenshot {
129
+ logScreenshot?: string;
130
+ content?: string;
131
+ }
132
+ export type MidsceneYamlFlowItem = MidsceneYamlFlowItemAIAction | MidsceneYamlFlowItemAIAssert | MidsceneYamlFlowItemAIQuery | MidsceneYamlFlowItemAIWaitFor | MidsceneYamlFlowItemSleep | MidsceneYamlFlowItemLogScreenshot;
133
+ export interface FreeFn {
134
+ name: string;
135
+ fn: () => void;
136
+ }
137
+ export interface ScriptPlayerTaskStatus extends MidsceneYamlTask {
138
+ status: ScriptPlayerStatusValue;
139
+ currentStep?: number;
140
+ totalSteps: number;
141
+ error?: Error;
142
+ }
143
+ export type ScriptPlayerStatusValue = 'init' | 'running' | 'done' | 'error';
144
+ export interface MidsceneYamlConfig {
145
+ concurrent?: number;
146
+ continueOnError?: boolean;
147
+ summary?: string;
148
+ shareBrowserContext?: boolean;
149
+ web?: MidsceneYamlScriptWebEnv;
150
+ android?: MidsceneYamlScriptAndroidEnv;
151
+ ios?: MidsceneYamlScriptIOSEnv;
152
+ files: string[];
153
+ headed?: boolean;
154
+ keepWindow?: boolean;
155
+ dotenvOverride?: boolean;
156
+ dotenvDebug?: boolean;
157
+ }
158
+ export interface MidsceneYamlConfigOutput {
159
+ format?: 'json';
160
+ path?: string;
161
+ }
162
+ export interface MidsceneYamlConfigResult {
163
+ file: string;
164
+ success: boolean;
165
+ executed: boolean;
166
+ output?: string | null;
167
+ report?: string | null;
168
+ error?: string;
169
+ duration?: number;
170
+ /**
171
+ * Type of result:
172
+ * - 'success': All tasks completed successfully
173
+ * - 'failed': Execution failed (player error)
174
+ * - 'partialFailed': Some tasks failed but execution continued (continueOnError)
175
+ * - 'notExecuted': Not executed due to previous failures
176
+ */
177
+ resultType?: 'success' | 'failed' | 'partialFailed' | 'notExecuted';
178
+ }
package/package.json ADDED
@@ -0,0 +1,124 @@
1
+ {
2
+ "name": "@sqaitech/core",
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://sqai.tech/ for details.",
4
+ "version": "0.5.0",
5
+ "repository": "https://github.com/qa-nparekh/midscene",
6
+ "homepage": "https://sqai.tech/",
7
+ "main": "./dist/lib/index.js",
8
+ "types": "./dist/types/index.d.ts",
9
+ "module": "./dist/es/index.mjs",
10
+ "files": [
11
+ "dist",
12
+ "README.md"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "types": "./dist/types/index.d.ts",
17
+ "import": "./dist/es/index.mjs",
18
+ "require": "./dist/lib/index.js"
19
+ },
20
+ "./utils": {
21
+ "types": "./dist/types/utils.d.ts",
22
+ "import": "./dist/es/utils.mjs",
23
+ "require": "./dist/lib/utils.js"
24
+ },
25
+ "./ai-model": {
26
+ "types": "./dist/types/ai-model/index.d.ts",
27
+ "import": "./dist/es/ai-model/index.mjs",
28
+ "require": "./dist/lib/ai-model/index.js"
29
+ },
30
+ "./tree": {
31
+ "types": "./dist/types/tree.d.ts",
32
+ "import": "./dist/es/tree.mjs",
33
+ "require": "./dist/lib/tree.js"
34
+ },
35
+ "./device": {
36
+ "types": "./dist/types/device/index.d.ts",
37
+ "import": "./dist/es/device/index.mjs",
38
+ "require": "./dist/lib/device/index.js"
39
+ },
40
+ "./agent": {
41
+ "types": "./dist/types/agent/index.d.ts",
42
+ "import": "./dist/es/agent/index.mjs",
43
+ "require": "./dist/lib/agent/index.js"
44
+ },
45
+ "./yaml": {
46
+ "types": "./dist/types/yaml/index.d.ts",
47
+ "import": "./dist/es/yaml/index.mjs",
48
+ "require": "./dist/lib/yaml/index.js"
49
+ },
50
+ "./report": {
51
+ "types": "./dist/types/report.d.ts",
52
+ "import": "./dist/es/report.mjs",
53
+ "require": "./dist/lib/report.js"
54
+ }
55
+ },
56
+ "typesVersions": {
57
+ "*": {
58
+ ".": [
59
+ "./dist/types/index.d.ts"
60
+ ],
61
+ "utils": [
62
+ "./dist/types/utils.d.ts"
63
+ ],
64
+ "ai-model": [
65
+ "./dist/types/ai-model.d.ts"
66
+ ],
67
+ "tree": [
68
+ "./dist/types/tree.d.ts"
69
+ ],
70
+ "device": [
71
+ "./dist/types/device.d.ts"
72
+ ],
73
+ "agent": [
74
+ "./dist/types/agent.d.ts"
75
+ ],
76
+ "yaml": [
77
+ "./dist/types/yaml.d.ts"
78
+ ]
79
+ }
80
+ },
81
+ "dependencies": {
82
+ "@anthropic-ai/sdk": "0.33.1",
83
+ "@azure/identity": "4.5.0",
84
+ "@ui-tars/action-parser": "1.2.3",
85
+ "dotenv": "^16.4.5",
86
+ "https-proxy-agent": "7.0.2",
87
+ "jsonrepair": "3.12.0",
88
+ "langsmith": "0.3.7",
89
+ "openai": "4.81.0",
90
+ "socks-proxy-agent": "8.0.4",
91
+ "zod": "3.24.3",
92
+ "semver": "7.5.2",
93
+ "js-yaml": "4.1.0",
94
+ "@sqaitech/recorder": "0.5.0",
95
+ "@sqaitech/shared": "0.5.0"
96
+ },
97
+ "devDependencies": {
98
+ "@rslib/core": "^0.11.2",
99
+ "@types/node": "^18.0.0",
100
+ "@types/node-fetch": "2.6.11",
101
+ "@types/js-yaml": "4.0.9",
102
+ "@types/semver": "7.7.0",
103
+ "typescript": "^5.8.3",
104
+ "vitest": "3.0.5"
105
+ },
106
+ "engines": {
107
+ "node": ">=18.0.0"
108
+ },
109
+ "publishConfig": {
110
+ "access": "public",
111
+ "registry": "https://registry.npmjs.org"
112
+ },
113
+ "license": "MIT",
114
+ "scripts": {
115
+ "dev": "npm run build:watch",
116
+ "build": "rslib build",
117
+ "build:watch": "USE_DEV_REPORT=1 rslib build --watch",
118
+ "test": "vitest --run",
119
+ "test:u": "vitest --run -u",
120
+ "test:ai": "AITEST=true npm run test",
121
+ "computer": "TEST_COMPUTER=true npm run test:ai -- tests/ai/evaluate/computer.test.ts",
122
+ "test:parse-action": "npm run test:ai -- tests/ai/parse-action.test.ts"
123
+ }
124
+ }