browser-opt 1.0.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.
Files changed (107) hide show
  1. package/dist/browser-opt/index.d.ts +9 -0
  2. package/dist/browser-opt/index.d.ts.map +1 -0
  3. package/dist/browser-opt/index.js +7 -0
  4. package/dist/browser-opt/index.js.map +1 -0
  5. package/dist/browser-opt/runner/actions/index.d.ts +13 -0
  6. package/dist/browser-opt/runner/actions/index.d.ts.map +1 -0
  7. package/dist/browser-opt/runner/actions/index.js +44 -0
  8. package/dist/browser-opt/runner/actions/index.js.map +1 -0
  9. package/dist/browser-opt/runner/actions/utils/click-action.d.ts +10 -0
  10. package/dist/browser-opt/runner/actions/utils/click-action.d.ts.map +1 -0
  11. package/dist/browser-opt/runner/actions/utils/click-action.js +17 -0
  12. package/dist/browser-opt/runner/actions/utils/click-action.js.map +1 -0
  13. package/dist/browser-opt/runner/actions/utils/date-action.d.ts +21 -0
  14. package/dist/browser-opt/runner/actions/utils/date-action.d.ts.map +1 -0
  15. package/dist/browser-opt/runner/actions/utils/date-action.js +464 -0
  16. package/dist/browser-opt/runner/actions/utils/date-action.js.map +1 -0
  17. package/dist/browser-opt/runner/actions/utils/dom-action.d.ts +8 -0
  18. package/dist/browser-opt/runner/actions/utils/dom-action.d.ts.map +1 -0
  19. package/dist/browser-opt/runner/actions/utils/dom-action.js +167 -0
  20. package/dist/browser-opt/runner/actions/utils/dom-action.js.map +1 -0
  21. package/dist/browser-opt/runner/actions/utils/fill-action.d.ts +10 -0
  22. package/dist/browser-opt/runner/actions/utils/fill-action.d.ts.map +1 -0
  23. package/dist/browser-opt/runner/actions/utils/fill-action.js +20 -0
  24. package/dist/browser-opt/runner/actions/utils/fill-action.js.map +1 -0
  25. package/dist/browser-opt/runner/actions/utils/handoff-action.d.ts +10 -0
  26. package/dist/browser-opt/runner/actions/utils/handoff-action.d.ts.map +1 -0
  27. package/dist/browser-opt/runner/actions/utils/handoff-action.js +6 -0
  28. package/dist/browser-opt/runner/actions/utils/handoff-action.js.map +1 -0
  29. package/dist/browser-opt/runner/actions/utils/open-action.d.ts +10 -0
  30. package/dist/browser-opt/runner/actions/utils/open-action.d.ts.map +1 -0
  31. package/dist/browser-opt/runner/actions/utils/open-action.js +9 -0
  32. package/dist/browser-opt/runner/actions/utils/open-action.js.map +1 -0
  33. package/dist/browser-opt/runner/actions/utils/select-option-action.d.ts +17 -0
  34. package/dist/browser-opt/runner/actions/utils/select-option-action.d.ts.map +1 -0
  35. package/dist/browser-opt/runner/actions/utils/select-option-action.js +532 -0
  36. package/dist/browser-opt/runner/actions/utils/select-option-action.js.map +1 -0
  37. package/dist/browser-opt/runner/actions/utils/upload-action.d.ts +7 -0
  38. package/dist/browser-opt/runner/actions/utils/upload-action.d.ts.map +1 -0
  39. package/dist/browser-opt/runner/actions/utils/upload-action.js +173 -0
  40. package/dist/browser-opt/runner/actions/utils/upload-action.js.map +1 -0
  41. package/dist/browser-opt/runner/evidence.d.ts +18 -0
  42. package/dist/browser-opt/runner/evidence.d.ts.map +1 -0
  43. package/dist/browser-opt/runner/evidence.js +116 -0
  44. package/dist/browser-opt/runner/evidence.js.map +1 -0
  45. package/dist/browser-opt/runner/handoff.d.ts +28 -0
  46. package/dist/browser-opt/runner/handoff.d.ts.map +1 -0
  47. package/dist/browser-opt/runner/handoff.js +132 -0
  48. package/dist/browser-opt/runner/handoff.js.map +1 -0
  49. package/dist/browser-opt/runner/index.d.ts +11 -0
  50. package/dist/browser-opt/runner/index.d.ts.map +1 -0
  51. package/dist/browser-opt/runner/index.js +244 -0
  52. package/dist/browser-opt/runner/index.js.map +1 -0
  53. package/dist/browser-opt/runner/step-executor.d.ts +5 -0
  54. package/dist/browser-opt/runner/step-executor.d.ts.map +1 -0
  55. package/dist/browser-opt/runner/step-executor.js +302 -0
  56. package/dist/browser-opt/runner/step-executor.js.map +1 -0
  57. package/dist/browser-opt/type.d.ts +120 -0
  58. package/dist/browser-opt/type.d.ts.map +1 -0
  59. package/dist/browser-opt/type.js +2 -0
  60. package/dist/browser-opt/type.js.map +1 -0
  61. package/dist/browser-opt/utils.d.ts +48 -0
  62. package/dist/browser-opt/utils.d.ts.map +1 -0
  63. package/dist/browser-opt/utils.js +885 -0
  64. package/dist/browser-opt/utils.js.map +1 -0
  65. package/dist/browser-opt/workflow/index.d.ts +7 -0
  66. package/dist/browser-opt/workflow/index.d.ts.map +1 -0
  67. package/dist/browser-opt/workflow/index.js +6 -0
  68. package/dist/browser-opt/workflow/index.js.map +1 -0
  69. package/dist/browser-opt/workflow/matcher.d.ts +12 -0
  70. package/dist/browser-opt/workflow/matcher.d.ts.map +1 -0
  71. package/dist/browser-opt/workflow/matcher.js +102 -0
  72. package/dist/browser-opt/workflow/matcher.js.map +1 -0
  73. package/dist/browser-opt/workflow/store.d.ts +15 -0
  74. package/dist/browser-opt/workflow/store.d.ts.map +1 -0
  75. package/dist/browser-opt/workflow/store.js +175 -0
  76. package/dist/browser-opt/workflow/store.js.map +1 -0
  77. package/dist/browser-opt/workflow/type.d.ts +43 -0
  78. package/dist/browser-opt/workflow/type.d.ts.map +1 -0
  79. package/dist/browser-opt/workflow/type.js +6 -0
  80. package/dist/browser-opt/workflow/type.js.map +1 -0
  81. package/dist/cli/browser-opt.d.ts +3 -0
  82. package/dist/cli/browser-opt.d.ts.map +1 -0
  83. package/dist/cli/browser-opt.js +11 -0
  84. package/dist/cli/browser-opt.js.map +1 -0
  85. package/dist/cli/commands/browser-opt.d.ts +2 -0
  86. package/dist/cli/commands/browser-opt.d.ts.map +1 -0
  87. package/dist/cli/commands/browser-opt.js +514 -0
  88. package/dist/cli/commands/browser-opt.js.map +1 -0
  89. package/dist/cli/commands/setup.d.ts +10 -0
  90. package/dist/cli/commands/setup.d.ts.map +1 -0
  91. package/dist/cli/commands/setup.js +35 -0
  92. package/dist/cli/commands/setup.js.map +1 -0
  93. package/dist/cli/utils/args.d.ts +17 -0
  94. package/dist/cli/utils/args.d.ts.map +1 -0
  95. package/dist/cli/utils/args.js +74 -0
  96. package/dist/cli/utils/args.js.map +1 -0
  97. package/dist/cli/utils/constants.d.ts +8 -0
  98. package/dist/cli/utils/constants.d.ts.map +1 -0
  99. package/dist/cli/utils/constants.js +18 -0
  100. package/dist/cli/utils/constants.js.map +1 -0
  101. package/dist/cli/utils/output.d.ts +7 -0
  102. package/dist/cli/utils/output.d.ts.map +1 -0
  103. package/dist/cli/utils/output.js +45 -0
  104. package/dist/cli/utils/output.js.map +1 -0
  105. package/package.json +35 -0
  106. package/skills/browser-opt/SKILL.md +249 -0
  107. package/skills/browser-opt/manifest.json +75 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/browser-opt/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 汇总 browser-opt Workflow 的公共存储、匹配能力与类型,作为稳定模块入口。
3
+ */
4
+ export { DEFAULT_BROWSER_OPT_WORKFLOW_DIR, findBrowserOptWorkflowById, loadBrowserOptWorkflows, renderBrowserOptWorkflowFlow, resolveBrowserOptWorkflowDir, safeWorkflowId, saveBrowserOptWorkflow, } from './store.js';
5
+ export { matchBrowserOptWorkflows, normalizeBrowserOptWorkflowQuery, scoreBrowserOptWorkflow, } from './matcher.js';
6
+ export type { BrowserOptWorkflow, BrowserOptWorkflowCandidate, BrowserOptWorkflowLoadResult, BrowserOptWorkflowMatchResult, BrowserOptWorkflowMatchStatus, BrowserOptWorkflowTarget, SaveBrowserOptWorkflowInput, SaveBrowserOptWorkflowResult, } from './type.js';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/browser-opt/workflow/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,GACxB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,WAAW,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 汇总 browser-opt Workflow 的公共存储、匹配能力与类型,作为稳定模块入口。
3
+ */
4
+ export { DEFAULT_BROWSER_OPT_WORKFLOW_DIR, findBrowserOptWorkflowById, loadBrowserOptWorkflows, renderBrowserOptWorkflowFlow, resolveBrowserOptWorkflowDir, safeWorkflowId, saveBrowserOptWorkflow, } from './store.js';
5
+ export { matchBrowserOptWorkflows, normalizeBrowserOptWorkflowQuery, scoreBrowserOptWorkflow, } from './matcher.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/browser-opt/workflow/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACL,gCAAgC,EAChC,0BAA0B,EAC1B,uBAAuB,EACvB,4BAA4B,EAC5B,4BAA4B,EAC5B,cAAc,EACd,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,wBAAwB,EACxB,gCAAgC,EAChC,uBAAuB,GACxB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * 为已保存 Workflow 提供中文友好的名称匹配和稳定候选排序。
3
+ * 匹配只使用 Workflow 名称,避免流程正文中的通用网页词汇制造误命中。
4
+ */
5
+ import type { BrowserOptWorkflow, BrowserOptWorkflowMatchResult } from './type.js';
6
+ /** 将 Skill 调用语句归一化为适合中英文共同匹配的连续文本。 */
7
+ export declare function normalizeBrowserOptWorkflowQuery(value: string): string;
8
+ /** 精确或足够强的唯一候选可直接执行;弱相似候选只返回给调用方确认。 */
9
+ export declare function matchBrowserOptWorkflows(query: string, workflows: BrowserOptWorkflow[]): BrowserOptWorkflowMatchResult;
10
+ /** 名称包含是强信号,字符 bigram 与英文 token 重叠负责短句和轻微差异兜底。 */
11
+ export declare function scoreBrowserOptWorkflow(query: string, workflow: BrowserOptWorkflow): number;
12
+ //# sourceMappingURL=matcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.d.ts","sourceRoot":"","sources":["../../../src/browser-opt/workflow/matcher.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EACV,kBAAkB,EAElB,6BAA6B,EAC9B,MAAM,WAAW,CAAC;AAOnB,sCAAsC;AACtC,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQtE;AAED,uCAAuC;AACvC,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,kBAAkB,EAAE,GAC9B,6BAA6B,CAgC/B;AAED,kDAAkD;AAClD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAc3F"}
@@ -0,0 +1,102 @@
1
+ const MIN_MATCH_SCORE = 0.45;
2
+ const DIRECT_MATCH_SCORE = 0.88;
3
+ const MAX_AMBIGUOUS_CANDIDATES = 3;
4
+ const LEADING_INTENT_RE = /^(?:请|麻烦|帮我|我要|我想要|现在)*(?:执行|运行|调用|启动|开始|打开)+/u;
5
+ /** 将 Skill 调用语句归一化为适合中英文共同匹配的连续文本。 */
6
+ export function normalizeBrowserOptWorkflowQuery(value) {
7
+ return value
8
+ .normalize('NFKC')
9
+ .toLocaleLowerCase()
10
+ .replace(/^\/?browser-opt\b/iu, '')
11
+ .trim()
12
+ .replace(LEADING_INTENT_RE, '')
13
+ .replace(/[\p{P}\p{S}\s]+/gu, '');
14
+ }
15
+ /** 精确或足够强的唯一候选可直接执行;弱相似候选只返回给调用方确认。 */
16
+ export function matchBrowserOptWorkflows(query, workflows) {
17
+ const normalizedQuery = normalizeBrowserOptWorkflowQuery(query);
18
+ const available = [...workflows].sort(compareWorkflows);
19
+ if (!normalizedQuery) {
20
+ return { status: 'not-found', matched: null, candidates: [], available };
21
+ }
22
+ const scored = workflows
23
+ .map((workflow) => ({ workflow, score: scoreBrowserOptWorkflow(query, workflow) }))
24
+ .filter((candidate) => candidate.score >= MIN_MATCH_SCORE)
25
+ .sort(compareCandidates);
26
+ const exact = scored.find((candidate) => normalizeBrowserOptWorkflowQuery(candidate.workflow.name) === normalizedQuery);
27
+ if (exact) {
28
+ return { status: 'matched', matched: exact, candidates: [exact], available };
29
+ }
30
+ if (scored.length === 1) {
31
+ if (scored[0].score >= DIRECT_MATCH_SCORE) {
32
+ return { status: 'matched', matched: scored[0], candidates: scored, available };
33
+ }
34
+ return { status: 'ambiguous', matched: null, candidates: scored, available };
35
+ }
36
+ if (scored.length > 1) {
37
+ return {
38
+ status: 'ambiguous',
39
+ matched: null,
40
+ candidates: scored.slice(0, MAX_AMBIGUOUS_CANDIDATES),
41
+ available,
42
+ };
43
+ }
44
+ return { status: 'not-found', matched: null, candidates: [], available };
45
+ }
46
+ /** 名称包含是强信号,字符 bigram 与英文 token 重叠负责短句和轻微差异兜底。 */
47
+ export function scoreBrowserOptWorkflow(query, workflow) {
48
+ const normalizedQuery = normalizeBrowserOptWorkflowQuery(query);
49
+ const normalizedName = normalizeBrowserOptWorkflowQuery(workflow.name);
50
+ if (!normalizedQuery || !normalizedName) {
51
+ return 0;
52
+ }
53
+ if (normalizedQuery === normalizedName) {
54
+ return 1;
55
+ }
56
+ const containment = normalizedQuery.includes(normalizedName) || normalizedName.includes(normalizedQuery) ? 0.9 : 0;
57
+ const bigramScore = diceCoefficient(toBigrams(normalizedQuery), toBigrams(normalizedName));
58
+ const tokenScore = jaccard(toTokens(query), toTokens(workflow.name));
59
+ return Math.min(1, Math.max(containment, bigramScore * 0.75 + tokenScore * 0.25));
60
+ }
61
+ function toBigrams(value) {
62
+ if (value.length < 2) {
63
+ return new Set(value ? [value] : []);
64
+ }
65
+ const values = Array.from(value);
66
+ return new Set(values.slice(0, -1).map((character, index) => `${character}${values[index + 1]}`));
67
+ }
68
+ function toTokens(value) {
69
+ return new Set(value.normalize('NFKC').toLocaleLowerCase().match(/[a-z0-9]{2,}/g) ?? []);
70
+ }
71
+ function diceCoefficient(left, right) {
72
+ if (left.size === 0 || right.size === 0) {
73
+ return 0;
74
+ }
75
+ let overlap = 0;
76
+ for (const item of left) {
77
+ if (right.has(item)) {
78
+ overlap += 1;
79
+ }
80
+ }
81
+ return (2 * overlap) / (left.size + right.size);
82
+ }
83
+ function jaccard(left, right) {
84
+ if (left.size === 0 || right.size === 0) {
85
+ return 0;
86
+ }
87
+ const union = new Set([...left, ...right]);
88
+ let overlap = 0;
89
+ for (const item of left) {
90
+ if (right.has(item)) {
91
+ overlap += 1;
92
+ }
93
+ }
94
+ return overlap / union.size;
95
+ }
96
+ function compareCandidates(left, right) {
97
+ return right.score - left.score || compareWorkflows(left.workflow, right.workflow);
98
+ }
99
+ function compareWorkflows(left, right) {
100
+ return left.name.localeCompare(right.name, 'zh-CN') || left.id.localeCompare(right.id, 'zh-CN');
101
+ }
102
+ //# sourceMappingURL=matcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcher.js","sourceRoot":"","sources":["../../../src/browser-opt/workflow/matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { BrowserOptWorkflow, BrowserOptWorkflowLoadResult, SaveBrowserOptWorkflowInput, SaveBrowserOptWorkflowResult } from './type.js';
2
+ export declare const DEFAULT_BROWSER_OPT_WORKFLOW_DIR: string;
3
+ /** 相对目录始终以调用者当前项目为基准,避免依赖 browser-opt 包的安装位置。 */
4
+ export declare function resolveBrowserOptWorkflowDir(workflowDir?: string, cwd?: string): string;
5
+ /** 只加载目标目录第一层的 JSON,并把单文件错误降级为可展示的诊断。 */
6
+ export declare function loadBrowserOptWorkflows(workflowDir?: string): BrowserOptWorkflowLoadResult;
7
+ /** 保存前校验流程可执行性;同名 Workflow 只有显式 force 才允许更新。 */
8
+ export declare function saveBrowserOptWorkflow(input: SaveBrowserOptWorkflowInput): SaveBrowserOptWorkflowResult;
9
+ /** 按稳定 ID 查找 Workflow,供候选选择后绕过再次模糊匹配。 */
10
+ export declare function findBrowserOptWorkflowById(id: string, workflows: BrowserOptWorkflow[]): BrowserOptWorkflow | undefined;
11
+ /** 将名称转换为可读且不可穿越目录的 Unicode 文件标识。 */
12
+ export declare function safeWorkflowId(name: string): string;
13
+ /** 运行前将结构化 Workflow 还原为现有 runner 可消费的自然语言 flow。 */
14
+ export declare function renderBrowserOptWorkflowFlow(workflow: BrowserOptWorkflow): string;
15
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/browser-opt/workflow/store.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,gCAAgC,QAAyC,CAAC;AAEvF,iDAAiD;AACjD,wBAAgB,4BAA4B,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,SAAgB,GAAG,MAAM,CAE9F;AAED,yCAAyC;AACzC,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,4BAA4B,CAyB1F;AAED,gDAAgD;AAChD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,4BAA4B,CAwCvG;AAED,yCAAyC;AACzC,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,kBAAkB,EAAE,GAC9B,kBAAkB,GAAG,SAAS,CAEhC;AAED,qCAAqC;AACrC,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAYnD;AA4ED,mDAAmD;AACnD,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,kBAAkB,GAAG,MAAM,CAGjF"}
@@ -0,0 +1,175 @@
1
+ /**
2
+ * 管理 browser-opt Workflow 的项目级目录解析、JSON 校验和安全落盘。
3
+ * 存储层不负责匹配或执行,让保存格式可以独立演进和测试。
4
+ */
5
+ import * as fs from 'node:fs';
6
+ import * as path from 'node:path';
7
+ import { extractBrowserOptUrl, splitBrowserOptSteps } from '../utils.js';
8
+ export const DEFAULT_BROWSER_OPT_WORKFLOW_DIR = path.join('.browser-opt', 'workflows');
9
+ /** 相对目录始终以调用者当前项目为基准,避免依赖 browser-opt 包的安装位置。 */
10
+ export function resolveBrowserOptWorkflowDir(workflowDir, cwd = process.cwd()) {
11
+ return path.resolve(cwd, workflowDir?.trim() || DEFAULT_BROWSER_OPT_WORKFLOW_DIR);
12
+ }
13
+ /** 只加载目标目录第一层的 JSON,并把单文件错误降级为可展示的诊断。 */
14
+ export function loadBrowserOptWorkflows(workflowDir) {
15
+ const resolvedDir = resolveBrowserOptWorkflowDir(workflowDir);
16
+ if (!fs.existsSync(resolvedDir)) {
17
+ return { workflows: [], warnings: [] };
18
+ }
19
+ const workflows = [];
20
+ const warnings = [];
21
+ const entries = fs.readdirSync(resolvedDir, { withFileTypes: true })
22
+ .filter((entry) => entry.isFile() && entry.name.toLowerCase().endsWith('.json'))
23
+ .sort((left, right) => left.name.localeCompare(right.name, 'zh-CN'));
24
+ for (const entry of entries) {
25
+ const filePath = path.join(resolvedDir, entry.name);
26
+ try {
27
+ const parsed = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
28
+ workflows.push(parseBrowserOptWorkflow(parsed, filePath));
29
+ }
30
+ catch (error) {
31
+ const message = error instanceof Error ? error.message : String(error);
32
+ warnings.push(`${filePath}: ${message}`);
33
+ }
34
+ }
35
+ workflows.sort(compareWorkflows);
36
+ return { workflows, warnings };
37
+ }
38
+ /** 保存前校验流程可执行性;同名 Workflow 只有显式 force 才允许更新。 */
39
+ export function saveBrowserOptWorkflow(input) {
40
+ const name = input.name.trim();
41
+ const flow = input.flow.trim();
42
+ const workflowContent = parseWorkflowContent(flow);
43
+ validateWorkflowInput(name, workflowContent.target.url, workflowContent.steps);
44
+ const workflowDir = resolveBrowserOptWorkflowDir(input.workflowDir);
45
+ const loaded = loadBrowserOptWorkflows(input.workflowDir);
46
+ const normalizedName = normalizeWorkflowName(name);
47
+ const existing = loaded.workflows.find((workflow) => normalizeWorkflowName(workflow.name) === normalizedName);
48
+ if (existing && !input.force) {
49
+ throw new Error(`Workflow“${existing.name}”已存在;如需覆盖请传入 --force。`);
50
+ }
51
+ const id = existing?.id ?? safeWorkflowId(name);
52
+ const filePath = existing
53
+ ? path.join(workflowDir, `${existing.id}.json`)
54
+ : path.join(workflowDir, `${id}.json`);
55
+ const conflicting = loaded.workflows.find((workflow) => workflow.id === id && workflow.name !== name);
56
+ if (conflicting) {
57
+ throw new Error(`Workflow 名称生成的文件标识与“${conflicting.name}”冲突,请更换名称。`);
58
+ }
59
+ const targetExists = fs.existsSync(filePath);
60
+ if (!existing && targetExists && !input.force) {
61
+ throw new Error(`Workflow 文件“${filePath}”已存在但无法作为有效 Workflow 加载;如需替换请传入 --force。`);
62
+ }
63
+ const now = new Date().toISOString();
64
+ const workflowContentToSave = {
65
+ id,
66
+ name,
67
+ target: workflowContent.target,
68
+ steps: workflowContent.steps,
69
+ createdAt: existing?.createdAt ?? now,
70
+ updatedAt: now,
71
+ };
72
+ fs.mkdirSync(workflowDir, { recursive: true });
73
+ fs.writeFileSync(filePath, `${JSON.stringify(workflowContentToSave, null, 2)}\n`, 'utf-8');
74
+ return { workflow: { ...workflowContentToSave, filePath }, filePath, created: !targetExists };
75
+ }
76
+ /** 按稳定 ID 查找 Workflow,供候选选择后绕过再次模糊匹配。 */
77
+ export function findBrowserOptWorkflowById(id, workflows) {
78
+ return workflows.find((workflow) => workflow.id === id);
79
+ }
80
+ /** 将名称转换为可读且不可穿越目录的 Unicode 文件标识。 */
81
+ export function safeWorkflowId(name) {
82
+ const normalized = name
83
+ .normalize('NFKC')
84
+ .trim()
85
+ .replace(/[\u0000-\u001f\u007f/\\:*?"<>|]+/g, '-')
86
+ .replace(/\s+/g, '-')
87
+ .replace(/^\.+|[.-]+$/g, '');
88
+ const shortened = Array.from(normalized).slice(0, 80).join('');
89
+ if (!shortened || shortened === '.' || shortened === '..') {
90
+ throw new Error('Workflow 名称无法生成安全的文件名,请使用中文、英文或数字命名。');
91
+ }
92
+ return shortened;
93
+ }
94
+ function parseBrowserOptWorkflow(value, filePath) {
95
+ if (!value || typeof value !== 'object') {
96
+ throw new Error('Workflow 内容必须是 JSON 对象');
97
+ }
98
+ const candidate = value;
99
+ const fields = ['id', 'name', 'createdAt', 'updatedAt'];
100
+ const version = candidate.version;
101
+ if (version !== undefined && version !== 2) {
102
+ throw new Error('Workflow 格式无效,version 仅兼容旧版值 2');
103
+ }
104
+ if (fields.some((field) => typeof candidate[field] !== 'string' || !candidate[field]?.trim())) {
105
+ throw new Error('Workflow 格式无效,必须包含 id、name、createdAt、updatedAt');
106
+ }
107
+ if (!candidate.target || typeof candidate.target !== 'object' || typeof candidate.target.url !== 'string') {
108
+ throw new Error('Workflow 格式无效,target.url 不能为空');
109
+ }
110
+ if (!Array.isArray(candidate.steps)) {
111
+ throw new Error('Workflow 格式无效,steps 必须是字符串数组');
112
+ }
113
+ if (path.basename(filePath, '.json') !== candidate.id) {
114
+ throw new Error('Workflow id 必须与文件名一致');
115
+ }
116
+ validateWorkflowInput(candidate.name, candidate.target.url, candidate.steps);
117
+ return {
118
+ id: candidate.id,
119
+ name: candidate.name,
120
+ filePath,
121
+ target: candidate.target,
122
+ steps: normalizeWorkflowSteps(candidate.steps),
123
+ createdAt: candidate.createdAt,
124
+ updatedAt: candidate.updatedAt,
125
+ };
126
+ }
127
+ /** 把自然语言 flow 解析为结构化 Workflow 内容,便于人读和手动维护。 */
128
+ function parseWorkflowContent(flow) {
129
+ const url = extractBrowserOptUrl(flow);
130
+ if (!url) {
131
+ throw new Error('Workflow 流程必须包含可访问的 http:// 或 https:// URL。');
132
+ }
133
+ const steps = normalizeWorkflowSteps(splitBrowserOptSteps(flow));
134
+ return { target: { url }, steps };
135
+ }
136
+ function validateWorkflowInput(name, url, steps) {
137
+ if (!name) {
138
+ throw new Error('Workflow 名称不能为空。');
139
+ }
140
+ safeWorkflowId(name);
141
+ if (!url.trim()) {
142
+ throw new Error('Workflow URL 不能为空。');
143
+ }
144
+ if (!/^https?:\/\//i.test(url)) {
145
+ throw new Error('Workflow 流程必须包含可访问的 http:// 或 https:// URL。');
146
+ }
147
+ if (!Array.isArray(steps) || steps.length === 0) {
148
+ throw new Error('Workflow 流程必须包含至少一个可执行步骤。');
149
+ }
150
+ for (const step of steps) {
151
+ if (typeof step !== 'string' || !step.trim()) {
152
+ throw new Error('Workflow steps 必须是非空字符串数组。');
153
+ }
154
+ }
155
+ }
156
+ function normalizeWorkflowName(name) {
157
+ return name.normalize('NFKC').toLocaleLowerCase().replace(/[\p{P}\p{S}\s]+/gu, '');
158
+ }
159
+ function compareWorkflows(left, right) {
160
+ return left.name.localeCompare(right.name, 'zh-CN') || left.id.localeCompare(right.id, 'zh-CN');
161
+ }
162
+ /** 运行前将结构化 Workflow 还原为现有 runner 可消费的自然语言 flow。 */
163
+ export function renderBrowserOptWorkflowFlow(workflow) {
164
+ const numberedSteps = normalizeWorkflowSteps(workflow.steps).map((step, index) => `${index + 1}. ${step}`);
165
+ return `测试 ${workflow.target.url}。\n${numberedSteps.join('\n')}`;
166
+ }
167
+ /** target.url 已经承担打开页面职责,steps 只保留打开后的业务动作。 */
168
+ function normalizeWorkflowSteps(steps) {
169
+ return steps.filter((step, index) => index !== 0 || !isTargetOpenPlaceholder(step));
170
+ }
171
+ /** 识别旧版或口语化流程里的首步打开占位,避免保存和运行时重复表达 URL 打开。 */
172
+ function isTargetOpenPlaceholder(step) {
173
+ return /^(?:请)?(?:打开|访问|进入)(?:页面|网页|首页|目标页面|目标地址|链接)?[。.!!]*$/i.test(step.trim());
174
+ }
175
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/browser-opt/workflow/store.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAQzE,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AAEvF,iDAAiD;AACjD,MAAM,UAAU,4BAA4B,CAAC,WAAoB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACpF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,gCAAgC,CAAC,CAAC;AACpF,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,uBAAuB,CAAC,WAAoB;IAC1D,MAAM,WAAW,GAAG,4BAA4B,CAAC,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAyB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SACjE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAC/E,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAEvE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAY,CAAC;YACzE,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC5D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,KAAK,OAAO,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACjC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,sBAAsB,CAAC,KAAkC;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,eAAe,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnD,qBAAqB,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC;IAE/E,MAAM,WAAW,GAAG,4BAA4B,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC1D,MAAM,cAAc,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;IAC9G,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,YAAY,QAAQ,CAAC,IAAI,uBAAuB,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,EAAE,GAAG,QAAQ,EAAE,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,QAAQ;QACvB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,EAAE,OAAO,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACtG,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uBAAuB,WAAW,CAAC,IAAI,YAAY,CAAC,CAAC;IACvE,CAAC;IACD,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,IAAI,YAAY,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,eAAe,QAAQ,0CAA0C,CAAC,CAAC;IACrF,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,qBAAqB,GAAuB;QAChD,EAAE;QACF,IAAI;QACJ,MAAM,EAAE,eAAe,CAAC,MAAM;QAC9B,KAAK,EAAE,eAAe,CAAC,KAAK;QAC5B,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;QACrC,SAAS,EAAE,GAAG;KACf,CAAC;IAEF,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3F,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,qBAAqB,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,YAAY,EAAE,CAAC;AAChG,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,0BAA0B,CACxC,EAAU,EACV,SAA+B;IAE/B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC1D,CAAC;AAED,qCAAqC;AACrC,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,UAAU,GAAG,IAAI;SACpB,SAAS,CAAC,MAAM,CAAC;SACjB,IAAI,EAAE;SACN,OAAO,CAAC,mCAAmC,EAAE,GAAG,CAAC;SACjD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc,EAAE,QAAgB;IAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,KAAoC,CAAC;IACvD,MAAM,MAAM,GAAoC,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IACzF,MAAM,OAAO,GAAI,SAAiE,CAAC,OAAO,CAAC;IAC3F,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1G,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,EAAE,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,qBAAqB,CAAC,SAAS,CAAC,IAAc,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACvF,OAAO;QACL,EAAE,EAAE,SAAS,CAAC,EAAY;QAC1B,IAAI,EAAE,SAAS,CAAC,IAAc;QAC9B,QAAQ;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,KAAK,EAAE,sBAAsB,CAAC,SAAS,CAAC,KAAK,CAAC;QAC9C,SAAS,EAAE,SAAS,CAAC,SAAmB;QACxC,SAAS,EAAE,SAAS,CAAC,SAAmB;KACzC,CAAC;AACJ,CAAC;AAED,+CAA+C;AAC/C,SAAS,oBAAoB,CAAC,IAAY;IACxC,MAAM,GAAG,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,KAAK,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,OAAO,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY,EAAE,GAAW,EAAE,KAAe;IACvE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IACtC,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAwB,EAAE,KAAyB;IAC3E,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAClG,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,4BAA4B,CAAC,QAA4B;IACvE,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3G,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACnE,CAAC;AAED,+CAA+C;AAC/C,SAAS,sBAAsB,CAAC,KAAe;IAC7C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;AACtF,CAAC;AAED,8CAA8C;AAC9C,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AACpF,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * 定义 browser-opt 可复用 Workflow 的持久化结构、匹配结果与存储诊断。
3
+ * 这些类型同时服务于公共 API、CLI JSON 输出和 Skill 调用协议。
4
+ */
5
+ export interface BrowserOptWorkflowTarget {
6
+ url: string;
7
+ }
8
+ export interface BrowserOptWorkflow {
9
+ id: string;
10
+ name: string;
11
+ filePath?: string;
12
+ target: BrowserOptWorkflowTarget;
13
+ steps: string[];
14
+ createdAt: string;
15
+ updatedAt: string;
16
+ }
17
+ export interface BrowserOptWorkflowLoadResult {
18
+ workflows: BrowserOptWorkflow[];
19
+ warnings: string[];
20
+ }
21
+ export interface BrowserOptWorkflowCandidate {
22
+ workflow: BrowserOptWorkflow;
23
+ score: number;
24
+ }
25
+ export type BrowserOptWorkflowMatchStatus = 'matched' | 'ambiguous' | 'not-found';
26
+ export interface BrowserOptWorkflowMatchResult {
27
+ status: BrowserOptWorkflowMatchStatus;
28
+ matched: BrowserOptWorkflowCandidate | null;
29
+ candidates: BrowserOptWorkflowCandidate[];
30
+ available: BrowserOptWorkflow[];
31
+ }
32
+ export interface SaveBrowserOptWorkflowInput {
33
+ name: string;
34
+ flow: string;
35
+ workflowDir?: string;
36
+ force?: boolean;
37
+ }
38
+ export interface SaveBrowserOptWorkflowResult {
39
+ workflow: BrowserOptWorkflow;
40
+ filePath: string;
41
+ created: boolean;
42
+ }
43
+ //# sourceMappingURL=type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.d.ts","sourceRoot":"","sources":["../../../src/browser-opt/workflow/type.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,wBAAwB,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,kBAAkB,EAAE,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,6BAA6B,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAC;AAElF,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,6BAA6B,CAAC;IACtC,OAAO,EAAE,2BAA2B,GAAG,IAAI,CAAC;IAC5C,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAC1C,SAAS,EAAE,kBAAkB,EAAE,CAAC;CACjC;AAED,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 定义 browser-opt 可复用 Workflow 的持久化结构、匹配结果与存储诊断。
3
+ * 这些类型同时服务于公共 API、CLI JSON 输出和 Skill 调用协议。
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/browser-opt/workflow/type.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=browser-opt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-opt.d.ts","sourceRoot":"","sources":["../../src/cli/browser-opt.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * browser-opt 的独立 CLI 入口,承载即时执行、Workflow 管理和运行环境初始化。
4
+ * 入口直接指向 browser-opt 命令域,避免 npm 产物依赖 browser-e2e 的分发逻辑。
5
+ */
6
+ import { cmdBrowserOpt } from './commands/browser-opt.js';
7
+ cmdBrowserOpt(process.argv.slice(2)).catch((err) => {
8
+ console.error(err instanceof Error ? err.message : err);
9
+ process.exit(1);
10
+ });
11
+ //# sourceMappingURL=browser-opt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-opt.js","sourceRoot":"","sources":["../../src/cli/browser-opt.ts"],"names":[],"mappings":";AACA;;;GAGG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjD,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function cmdBrowserOpt(args: string[]): Promise<void>;
2
+ //# sourceMappingURL=browser-opt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-opt.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/browser-opt.ts"],"names":[],"mappings":"AA2DA,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDjE"}