@chen-rmag/ai-runner 0.1.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.
- package/README.md +263 -0
- package/SUMMARY_USAGE.md +359 -0
- package/TOOLS_INTEGRATION_SUMMARY.md +206 -0
- package/dist/agents/error-analyzer.d.ts +62 -0
- package/dist/agents/error-analyzer.d.ts.map +1 -0
- package/dist/agents/error-analyzer.js +168 -0
- package/dist/agents/error-analyzer.js.map +1 -0
- package/dist/agents/heal-agent.d.ts +30 -0
- package/dist/agents/heal-agent.d.ts.map +1 -0
- package/dist/agents/heal-agent.js +76 -0
- package/dist/agents/heal-agent.js.map +1 -0
- package/dist/agents/healer.d.ts +73 -0
- package/dist/agents/healer.d.ts.map +1 -0
- package/dist/agents/healer.js +538 -0
- package/dist/agents/healer.js.map +1 -0
- package/dist/agents/langgraph-agent.d.ts +44 -0
- package/dist/agents/langgraph-agent.d.ts.map +1 -0
- package/dist/agents/langgraph-agent.js +328 -0
- package/dist/agents/langgraph-agent.js.map +1 -0
- package/dist/agents/react-agent.d.ts +52 -0
- package/dist/agents/react-agent.d.ts.map +1 -0
- package/dist/agents/react-agent.js +262 -0
- package/dist/agents/react-agent.js.map +1 -0
- package/dist/agents/tools/form.d.ts +22 -0
- package/dist/agents/tools/form.d.ts.map +1 -0
- package/dist/agents/tools/form.js +134 -0
- package/dist/agents/tools/form.js.map +1 -0
- package/dist/agents/tools/index.d.ts +13 -0
- package/dist/agents/tools/index.d.ts.map +1 -0
- package/dist/agents/tools/index.js +33 -0
- package/dist/agents/tools/index.js.map +1 -0
- package/dist/agents/tools/navigate.d.ts +22 -0
- package/dist/agents/tools/navigate.d.ts.map +1 -0
- package/dist/agents/tools/navigate.js +74 -0
- package/dist/agents/tools/navigate.js.map +1 -0
- package/dist/agents/tools/snapshot.d.ts +22 -0
- package/dist/agents/tools/snapshot.d.ts.map +1 -0
- package/dist/agents/tools/snapshot.js +110 -0
- package/dist/agents/tools/snapshot.js.map +1 -0
- package/dist/agents/tools/verify.d.ts +34 -0
- package/dist/agents/tools/verify.d.ts.map +1 -0
- package/dist/agents/tools/verify.js +169 -0
- package/dist/agents/tools/verify.js.map +1 -0
- package/dist/agents/tools/wait.d.ts +22 -0
- package/dist/agents/tools/wait.d.ts.map +1 -0
- package/dist/agents/tools/wait.js +104 -0
- package/dist/agents/tools/wait.js.map +1 -0
- package/dist/agents/types.d.ts +51 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +6 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/core/ai-heal.d.ts +89 -0
- package/dist/core/ai-heal.d.ts.map +1 -0
- package/dist/core/ai-heal.js +468 -0
- package/dist/core/ai-heal.js.map +1 -0
- package/dist/core/execution-engine.d.ts +16 -0
- package/dist/core/execution-engine.d.ts.map +1 -0
- package/dist/core/execution-engine.js +44 -0
- package/dist/core/execution-engine.js.map +1 -0
- package/dist/core/runner.d.ts +195 -0
- package/dist/core/runner.d.ts.map +1 -0
- package/dist/core/runner.js +658 -0
- package/dist/core/runner.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/types/external.d.ts +6 -0
- package/dist/types/external.d.ts.map +1 -0
- package/dist/types/external.js +7 -0
- package/dist/types/external.js.map +1 -0
- package/dist/types/index.d.ts +153 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/object-registry.d.ts +48 -0
- package/dist/utils/object-registry.d.ts.map +1 -0
- package/dist/utils/object-registry.js +133 -0
- package/dist/utils/object-registry.js.map +1 -0
- package/package.json +37 -0
- package/playwright.config.ts +38 -0
- package/src/agents/heal-agent.ts +85 -0
- package/src/agents/healer.ts +619 -0
- package/src/agents/tools/EXAMPLES.md +347 -0
- package/src/agents/tools/README.md +207 -0
- package/src/agents/tools/form.ts +138 -0
- package/src/agents/tools/index.ts +29 -0
- package/src/agents/tools/navigate.ts +69 -0
- package/src/agents/tools/snapshot.ts +109 -0
- package/src/agents/tools/verify.ts +168 -0
- package/src/agents/tools/wait.ts +103 -0
- package/src/agents/types.ts +79 -0
- package/src/core/runner.ts +756 -0
- package/src/index.ts +29 -0
- package/src/types/external.ts +7 -0
- package/src/types/index.ts +200 -0
- package/tests/agent/test-heal-agent.spec.ts +81 -0
- package/tests/tools/README.md +227 -0
- package/tests/tools/TEST_SUMMARY.md +214 -0
- package/tests/tools/quick-test.ts +88 -0
- package/tests/tools/tools.test.ts +491 -0
- package/tsconfig.json +22 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/core/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ai-runner SDK 主入口
|
|
3
|
+
* 提供 AI 驱动的测试运行能力
|
|
4
|
+
*/
|
|
5
|
+
export type { AIHealConfig, ExecutionContext, ExecutionResult, HealContext, HealSummary, HealingDetail, RunStepOptions, VariableBindings } from './types';
|
|
6
|
+
export { Runner } from './core/runner';
|
|
7
|
+
export type { HealAgentState, HealAgentResult, HealAgentConfig } from './agents/types';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAIjB,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC,YAAY,EACV,cAAc,EACd,eAAe,EACf,eAAe,EAChB,MAAM,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ai-runner SDK 主入口
|
|
4
|
+
* 提供 AI 驱动的测试运行能力
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.Runner = void 0;
|
|
8
|
+
// 核心类
|
|
9
|
+
var runner_1 = require("./core/runner");
|
|
10
|
+
Object.defineProperty(exports, "Runner", { enumerable: true, get: function () { return runner_1.Runner; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAeH,MAAM;AACN,wCAAuC;AAA9B,gGAAA,MAAM,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.d.ts","sourceRoot":"","sources":["../../src/types/external.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external.js","sourceRoot":"","sources":["../../src/types/external.ts"],"names":[],"mappings":";AAAA;;;GAGG"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ai-heal 核心类型定义 (MVP)
|
|
3
|
+
* 保持简洁,只包含必要的类型
|
|
4
|
+
*/
|
|
5
|
+
import type { Page, BrowserContext } from 'playwright';
|
|
6
|
+
/**
|
|
7
|
+
* 变量包装器,支持跨作用域赋值
|
|
8
|
+
*/
|
|
9
|
+
export declare class Ref<T> {
|
|
10
|
+
value: T;
|
|
11
|
+
constructor(value: T);
|
|
12
|
+
get current(): T;
|
|
13
|
+
set current(value: T);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* AIHeal 配置选项
|
|
17
|
+
*/
|
|
18
|
+
export interface AIHealConfig {
|
|
19
|
+
/** 测试用例 ID */
|
|
20
|
+
testCaseId?: string;
|
|
21
|
+
/** 项目 ID */
|
|
22
|
+
projectId?: string;
|
|
23
|
+
/** 手动注入的脚本内容 */
|
|
24
|
+
scriptContent?: string;
|
|
25
|
+
/** 是否自动保存修复后的脚本 */
|
|
26
|
+
enableAutoSave?: boolean;
|
|
27
|
+
/** 最大自愈重试次数 */
|
|
28
|
+
/** 模型配置 ID(用于加载模型配置) */
|
|
29
|
+
modelConfigId?: string;
|
|
30
|
+
/** Agent 最大执行步数 */
|
|
31
|
+
agentMaxSteps?: number;
|
|
32
|
+
/** 是否开启调试模式 */
|
|
33
|
+
debugMode?: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 执行上下文,包含用户的 Playwright 对象
|
|
37
|
+
*/
|
|
38
|
+
export interface ExecutionContext {
|
|
39
|
+
context: BrowserContext;
|
|
40
|
+
page: Page;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 变量绑定映射
|
|
44
|
+
*/
|
|
45
|
+
export type VariableBindings = Record<string, Ref<any>>;
|
|
46
|
+
/**
|
|
47
|
+
* runStep 选项
|
|
48
|
+
*/
|
|
49
|
+
export interface RunStepOptions {
|
|
50
|
+
/** 步骤描述,用于 AI 理解 */
|
|
51
|
+
description: string;
|
|
52
|
+
/** 需要传递的变量绑定 */
|
|
53
|
+
variables?: VariableBindings;
|
|
54
|
+
/** Playwright 上下文对象 */
|
|
55
|
+
context?: ExecutionContext;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* ReAct 循环步骤记录
|
|
59
|
+
*/
|
|
60
|
+
export interface ReActStep {
|
|
61
|
+
/** 步骤序号 */
|
|
62
|
+
stepNumber: number;
|
|
63
|
+
/** 步骤类型 */
|
|
64
|
+
stepType: 'thought' | 'action' | 'observation' | 'reflection';
|
|
65
|
+
/** 时间戳 */
|
|
66
|
+
timestamp: number;
|
|
67
|
+
/** LLM 的思考内容(thought 步骤) */
|
|
68
|
+
thought?: string;
|
|
69
|
+
/** 工具调用信息(action 步骤) */
|
|
70
|
+
toolCall?: {
|
|
71
|
+
name: string;
|
|
72
|
+
input: any;
|
|
73
|
+
};
|
|
74
|
+
/** 工具执行结果(observation 步骤) */
|
|
75
|
+
toolResult?: {
|
|
76
|
+
output: string;
|
|
77
|
+
success: boolean;
|
|
78
|
+
duration?: number;
|
|
79
|
+
};
|
|
80
|
+
/** 反思内容(reflection 步骤) */
|
|
81
|
+
reflection?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* 单次自愈过程的上下文信息
|
|
85
|
+
*/
|
|
86
|
+
export interface HealContext {
|
|
87
|
+
/** 时间戳 */
|
|
88
|
+
timestamp: number;
|
|
89
|
+
/** 步骤描述 */
|
|
90
|
+
stepDescription: string;
|
|
91
|
+
/** 错误对象 */
|
|
92
|
+
error?: Error;
|
|
93
|
+
/** 堆栈信息 */
|
|
94
|
+
stackTrace?: string;
|
|
95
|
+
/** 原始代码 */
|
|
96
|
+
originalCode: string;
|
|
97
|
+
/** 恢复尝试次数 */
|
|
98
|
+
recoveryAttempts: number;
|
|
99
|
+
/** 变量快照(执行前) */
|
|
100
|
+
variablesBefore: Record<string, any>;
|
|
101
|
+
/** 变量快照(执行后) */
|
|
102
|
+
variablesAfter: Record<string, any>;
|
|
103
|
+
/** 是否成功 */
|
|
104
|
+
success: boolean;
|
|
105
|
+
/** 自愈耗时 */
|
|
106
|
+
healingTime?: number;
|
|
107
|
+
/** ReAct 循环详细记录(如果使用了 Agent) */
|
|
108
|
+
reactSteps?: ReActStep[];
|
|
109
|
+
/** Agent 的推理过程总结 */
|
|
110
|
+
reasoning?: string;
|
|
111
|
+
/** Agent 执行的总步数 */
|
|
112
|
+
agentSteps?: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* 代码执行结果
|
|
116
|
+
*/
|
|
117
|
+
export interface ExecutionResult {
|
|
118
|
+
/** 是否成功 */
|
|
119
|
+
success: boolean;
|
|
120
|
+
/** 返回值 */
|
|
121
|
+
returnValue: any;
|
|
122
|
+
/** 局部变量 */
|
|
123
|
+
locals: Record<string, any>;
|
|
124
|
+
/** 错误信息 */
|
|
125
|
+
error?: Error;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* 自愈摘要信息
|
|
129
|
+
*/
|
|
130
|
+
export interface HealSummary {
|
|
131
|
+
/** 总步骤数 */
|
|
132
|
+
totalSteps: number;
|
|
133
|
+
/** 自愈成功的步骤数 */
|
|
134
|
+
healedSteps: number;
|
|
135
|
+
/** 修复后的脚本 */
|
|
136
|
+
modifiedScript?: string;
|
|
137
|
+
/** 自愈详情列表 */
|
|
138
|
+
healingDetails: HealingDetail[];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* 单次自愈详情
|
|
142
|
+
*/
|
|
143
|
+
export interface HealingDetail {
|
|
144
|
+
/** 步骤描述 */
|
|
145
|
+
step: string;
|
|
146
|
+
/** 错误信息 */
|
|
147
|
+
error: string;
|
|
148
|
+
/** 恢复时间 */
|
|
149
|
+
recoveryTime: number;
|
|
150
|
+
/** LLM 交互次数 */
|
|
151
|
+
llmInteractions: number;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ai-heal 核心类型定义 (MVP)
|
|
4
|
+
* 保持简洁,只包含必要的类型
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.Ref = void 0;
|
|
8
|
+
// ============================================================================
|
|
9
|
+
// Ref<T>: 变量包装器
|
|
10
|
+
// ============================================================================
|
|
11
|
+
/**
|
|
12
|
+
* 变量包装器,支持跨作用域赋值
|
|
13
|
+
*/
|
|
14
|
+
class Ref {
|
|
15
|
+
constructor(value) {
|
|
16
|
+
this.value = value;
|
|
17
|
+
}
|
|
18
|
+
get current() {
|
|
19
|
+
return this.value;
|
|
20
|
+
}
|
|
21
|
+
set current(value) {
|
|
22
|
+
this.value = value;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Ref = Ref;
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIH,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E;;GAEG;AACH,MAAa,GAAG;IACd,YAAmB,KAAQ;QAAR,UAAK,GAAL,KAAK,CAAG;IAAG,CAAC;IAE/B,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,OAAO,CAAC,KAAQ;QAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAVD,kBAUC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 对象注册表
|
|
3
|
+
* 用于管理无法序列化的 Playwright 对象
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 对象注册表类
|
|
7
|
+
*/
|
|
8
|
+
export declare class ObjectRegistry {
|
|
9
|
+
private objects;
|
|
10
|
+
private counter;
|
|
11
|
+
/**
|
|
12
|
+
* 注册对象并返回引用
|
|
13
|
+
*/
|
|
14
|
+
register(obj: any): string;
|
|
15
|
+
/**
|
|
16
|
+
* 获取已注册的对象
|
|
17
|
+
*/
|
|
18
|
+
get(ref: string): any;
|
|
19
|
+
/**
|
|
20
|
+
* 序列化对象
|
|
21
|
+
* - Playwright 对象返回引用
|
|
22
|
+
* - 普通对象直接返回
|
|
23
|
+
*/
|
|
24
|
+
serialize(obj: any): any;
|
|
25
|
+
/**
|
|
26
|
+
* 反序列化对象
|
|
27
|
+
* - 引用从注册表获取实际对象
|
|
28
|
+
* - 普通数据直接返回
|
|
29
|
+
*/
|
|
30
|
+
deserialize(data: any): any;
|
|
31
|
+
/**
|
|
32
|
+
* 判断是否是 Playwright 对象
|
|
33
|
+
*/
|
|
34
|
+
private isPlaywrightObject;
|
|
35
|
+
/**
|
|
36
|
+
* 生成唯一引用
|
|
37
|
+
*/
|
|
38
|
+
private generateRef;
|
|
39
|
+
/**
|
|
40
|
+
* 清理注册表
|
|
41
|
+
*/
|
|
42
|
+
clear(): void;
|
|
43
|
+
/**
|
|
44
|
+
* 获取注册对象数量
|
|
45
|
+
*/
|
|
46
|
+
get size(): number;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=object-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-registry.d.ts","sourceRoot":"","sources":["../../src/utils/object-registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,OAAO,CAAK;IAEpB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;IAM1B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG;IAIrB;;;;OAIG;IACH,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG;IAoCxB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IA6B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* 对象注册表
|
|
4
|
+
* 用于管理无法序列化的 Playwright 对象
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.ObjectRegistry = void 0;
|
|
8
|
+
/**
|
|
9
|
+
* 对象注册表类
|
|
10
|
+
*/
|
|
11
|
+
class ObjectRegistry {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.objects = new Map();
|
|
14
|
+
this.counter = 0;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* 注册对象并返回引用
|
|
18
|
+
*/
|
|
19
|
+
register(obj) {
|
|
20
|
+
const ref = this.generateRef();
|
|
21
|
+
this.objects.set(ref, obj);
|
|
22
|
+
return ref;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* 获取已注册的对象
|
|
26
|
+
*/
|
|
27
|
+
get(ref) {
|
|
28
|
+
return this.objects.get(ref);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* 序列化对象
|
|
32
|
+
* - Playwright 对象返回引用
|
|
33
|
+
* - 普通对象直接返回
|
|
34
|
+
*/
|
|
35
|
+
serialize(obj) {
|
|
36
|
+
// null 或 undefined
|
|
37
|
+
if (obj === null || obj === undefined) {
|
|
38
|
+
return obj;
|
|
39
|
+
}
|
|
40
|
+
// 基础类型
|
|
41
|
+
if (typeof obj !== 'object') {
|
|
42
|
+
return obj;
|
|
43
|
+
}
|
|
44
|
+
// 数组
|
|
45
|
+
if (Array.isArray(obj)) {
|
|
46
|
+
return obj.map(item => this.serialize(item));
|
|
47
|
+
}
|
|
48
|
+
// 检查是否是 Playwright 对象
|
|
49
|
+
const constructorName = obj.constructor?.name;
|
|
50
|
+
if (this.isPlaywrightObject(constructorName)) {
|
|
51
|
+
// 返回对象引用
|
|
52
|
+
return {
|
|
53
|
+
__type: 'playwright_object',
|
|
54
|
+
className: constructorName,
|
|
55
|
+
ref: this.register(obj)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// 普通对象,递归序列化
|
|
59
|
+
const serialized = {};
|
|
60
|
+
for (const [key, value] of Object.entries(obj)) {
|
|
61
|
+
serialized[key] = this.serialize(value);
|
|
62
|
+
}
|
|
63
|
+
return serialized;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* 反序列化对象
|
|
67
|
+
* - 引用从注册表获取实际对象
|
|
68
|
+
* - 普通数据直接返回
|
|
69
|
+
*/
|
|
70
|
+
deserialize(data) {
|
|
71
|
+
// null 或 undefined
|
|
72
|
+
if (data === null || data === undefined) {
|
|
73
|
+
return data;
|
|
74
|
+
}
|
|
75
|
+
// 基础类型
|
|
76
|
+
if (typeof data !== 'object') {
|
|
77
|
+
return data;
|
|
78
|
+
}
|
|
79
|
+
// 数组
|
|
80
|
+
if (Array.isArray(data)) {
|
|
81
|
+
return data.map(item => this.deserialize(item));
|
|
82
|
+
}
|
|
83
|
+
// Playwright 对象引用
|
|
84
|
+
if (data.__type === 'playwright_object') {
|
|
85
|
+
return this.get(data.ref);
|
|
86
|
+
}
|
|
87
|
+
// 普通对象,递归反序列化
|
|
88
|
+
const deserialized = {};
|
|
89
|
+
for (const [key, value] of Object.entries(data)) {
|
|
90
|
+
deserialized[key] = this.deserialize(value);
|
|
91
|
+
}
|
|
92
|
+
return deserialized;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* 判断是否是 Playwright 对象
|
|
96
|
+
*/
|
|
97
|
+
isPlaywrightObject(className) {
|
|
98
|
+
const playwrightClasses = [
|
|
99
|
+
'Page',
|
|
100
|
+
'BrowserContext',
|
|
101
|
+
'Browser',
|
|
102
|
+
'Frame',
|
|
103
|
+
'ElementHandle',
|
|
104
|
+
'JSHandle',
|
|
105
|
+
'Locator',
|
|
106
|
+
'Request',
|
|
107
|
+
'Response',
|
|
108
|
+
'Route'
|
|
109
|
+
];
|
|
110
|
+
return playwrightClasses.includes(className);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* 生成唯一引用
|
|
114
|
+
*/
|
|
115
|
+
generateRef() {
|
|
116
|
+
return `ref_${Date.now()}_${this.counter++}`;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 清理注册表
|
|
120
|
+
*/
|
|
121
|
+
clear() {
|
|
122
|
+
this.objects.clear();
|
|
123
|
+
this.counter = 0;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* 获取注册对象数量
|
|
127
|
+
*/
|
|
128
|
+
get size() {
|
|
129
|
+
return this.objects.size;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.ObjectRegistry = ObjectRegistry;
|
|
133
|
+
//# sourceMappingURL=object-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-registry.js","sourceRoot":"","sources":["../../src/utils/object-registry.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,MAAa,cAAc;IAA3B;QACU,YAAO,GAAG,IAAI,GAAG,EAAe,CAAC;QACjC,YAAO,GAAG,CAAC,CAAC;IAqItB,CAAC;IAnIC;;OAEG;IACH,QAAQ,CAAC,GAAQ;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,GAAQ;QAChB,mBAAmB;QACnB,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtC,OAAO,GAAG,CAAC;QACb,CAAC;QAED,OAAO;QACP,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;QAED,KAAK;QACL,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,sBAAsB;QACtB,MAAM,eAAe,GAAG,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC;QAE9C,IAAI,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE,CAAC;YAC7C,SAAS;YACT,OAAO;gBACL,MAAM,EAAE,mBAAmB;gBAC3B,SAAS,EAAE,eAAe;gBAC1B,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;aACxB,CAAC;QACJ,CAAC;QAED,aAAa;QACb,MAAM,UAAU,GAAQ,EAAE,CAAC;QAC3B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAS;QACnB,mBAAmB;QACnB,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;QACP,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK;QACL,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;QAED,cAAc;QACd,MAAM,YAAY,GAAQ,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,SAAiB;QAC1C,MAAM,iBAAiB,GAAG;YACxB,MAAM;YACN,gBAAgB;YAChB,SAAS;YACT,OAAO;YACP,eAAe;YACf,UAAU;YACV,SAAS;YACT,SAAS;YACT,UAAU;YACV,OAAO;SACR,CAAC;QACF,OAAO,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,OAAO,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;IACnB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;CACF;AAvID,wCAuIC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@chen-rmag/ai-runner",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "AI-powered self-healing SDK for Playwright test scripts",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "tsc",
|
|
9
|
+
"watch": "tsc --watch",
|
|
10
|
+
"test": "playwright test",
|
|
11
|
+
"test:poc": "playwright test src/poc/",
|
|
12
|
+
"test:ui": "playwright test --ui",
|
|
13
|
+
"test:debug": "playwright test --debug",
|
|
14
|
+
"lint": "eslint src --ext .ts",
|
|
15
|
+
"prepublishOnly": "npm run build"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"playwright",
|
|
19
|
+
"self-healing",
|
|
20
|
+
"ai",
|
|
21
|
+
"test-automation",
|
|
22
|
+
"auto-recovery"
|
|
23
|
+
],
|
|
24
|
+
"author": "AI Test Team",
|
|
25
|
+
"license": "MIT",
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@anthropic-ai/sdk": "^0.71.2",
|
|
28
|
+
"@langchain/anthropic": "^1.3.10",
|
|
29
|
+
"@langchain/core": "^1.1.15",
|
|
30
|
+
"@langchain/langgraph": "^1.0.15"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@playwright/test": "^1.40.0",
|
|
34
|
+
"@types/node": "^20.0.0",
|
|
35
|
+
"typescript": "^5.0.0"
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { defineConfig, devices } from '@playwright/test';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Playwright 配置文件
|
|
5
|
+
*/
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
testDir: './',
|
|
8
|
+
testMatch: [
|
|
9
|
+
'**/*.spec.ts',
|
|
10
|
+
'**/*.test.ts'
|
|
11
|
+
],
|
|
12
|
+
fullyParallel: false,
|
|
13
|
+
forbidOnly: !!process.env.CI,
|
|
14
|
+
retries: 0,
|
|
15
|
+
workers: 1,
|
|
16
|
+
reporter: [
|
|
17
|
+
['list'],
|
|
18
|
+
['html', { open: 'never', outputFolder: 'playwright-report' }]
|
|
19
|
+
],
|
|
20
|
+
use: {
|
|
21
|
+
baseURL: 'https://example.com',
|
|
22
|
+
trace: 'retain-on-failure',
|
|
23
|
+
screenshot: 'only-on-failure',
|
|
24
|
+
video: 'retain-on-failure',
|
|
25
|
+
// 默认使用有头模式,方便调试
|
|
26
|
+
// 可通过环境变量 HEADED=true 控制
|
|
27
|
+
headless: false,
|
|
28
|
+
},
|
|
29
|
+
projects: [
|
|
30
|
+
{
|
|
31
|
+
name: 'chromium',
|
|
32
|
+
use: {
|
|
33
|
+
...devices['Desktop Chrome'],
|
|
34
|
+
// 调试模式下使用慢速动作
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
],
|
|
38
|
+
});
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 自愈 Agent
|
|
3
|
+
* 使用 LangChain 的 Healer 执行 ReAct 循环
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import type { HealAgentState, HealAgentResult, HealAgentConfig } from './types';
|
|
7
|
+
import { Healer } from './healer';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 自愈 Agent
|
|
11
|
+
* 使用 LLM + ReAct 循环实现智能自愈
|
|
12
|
+
*/
|
|
13
|
+
export class HealAgent {
|
|
14
|
+
private config: HealAgentConfig;
|
|
15
|
+
private healer?: Healer;
|
|
16
|
+
|
|
17
|
+
constructor(config: HealAgentConfig = {}) {
|
|
18
|
+
this.config = {
|
|
19
|
+
maxSteps: config.maxSteps ?? 20,
|
|
20
|
+
debugMode: config.debugMode ?? false,
|
|
21
|
+
model: config.model,
|
|
22
|
+
setVariable: config.setVariable,
|
|
23
|
+
getAllVariables: config.getAllVariables
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// 如果提供了模型配置,初始化 Healer
|
|
27
|
+
if (this.config.model) {
|
|
28
|
+
this.healer = new Healer(this.config.model, {
|
|
29
|
+
maxSteps: this.config.maxSteps,
|
|
30
|
+
debugMode: this.config.debugMode,
|
|
31
|
+
setVariable: this.config.setVariable,
|
|
32
|
+
getAllVariables: this.config.getAllVariables
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 执行自愈
|
|
39
|
+
*
|
|
40
|
+
* 使用 Healer 通过 ReAct 循环执行自愈任务
|
|
41
|
+
* - Thought: 分析错误和目标
|
|
42
|
+
* - Action: 调用 Playwright 工具执行操作
|
|
43
|
+
* - Observation: 观察工具执行结果
|
|
44
|
+
* - Reflection: 判断是否继续或结束
|
|
45
|
+
* - 循环直到成功或达到最大步数
|
|
46
|
+
*/
|
|
47
|
+
async heal(state: HealAgentState): Promise<HealAgentResult> {
|
|
48
|
+
this.log('[HealAgent] ========== 开始自愈流程 ==========');
|
|
49
|
+
this.log(`[HealAgent] 目标: ${state.objective}`);
|
|
50
|
+
this.log(`[HealAgent] 错误: ${state.error}`);
|
|
51
|
+
this.log(`[HealAgent] 最大步数: ${state.maxSteps || this.config.maxSteps}`);
|
|
52
|
+
this.log(`[HealAgent] 模式: ${this.healer ? 'LLM Healer' : '未配置'}`);
|
|
53
|
+
|
|
54
|
+
if (!this.healer) {
|
|
55
|
+
const errorMsg = 'Healer 未初始化,请提供 model 配置';
|
|
56
|
+
this.log(`[HealAgent] ❌ ${errorMsg}`);
|
|
57
|
+
|
|
58
|
+
return {
|
|
59
|
+
success: false,
|
|
60
|
+
errorMessage: errorMsg,
|
|
61
|
+
reasoning: '未配置模型,无法执行自愈',
|
|
62
|
+
steps: 0,
|
|
63
|
+
updatedVariables: {}
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
this.log('[HealAgent] 使用 Healer(LLM Agent)');
|
|
68
|
+
const result = await this.healer.execute(state);
|
|
69
|
+
|
|
70
|
+
this.log(`[HealAgent] 执行结果: ${result.success ? '成功 ✅' : '失败 ❌'}`);
|
|
71
|
+
this.log(`[HealAgent] 执行步数: ${result.steps}`);
|
|
72
|
+
this.log('[HealAgent] ========== 自愈流程结束 ==========\n');
|
|
73
|
+
|
|
74
|
+
return result;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* 日志输出
|
|
79
|
+
*/
|
|
80
|
+
private log(message: string): void {
|
|
81
|
+
if (this.config.debugMode) {
|
|
82
|
+
console.log(message);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|