@sparkleideas/browser 3.0.0-alpha.19 → 3.0.0-alpha.28

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 (53) hide show
  1. package/dist/agent/index.d.ts +25 -0
  2. package/dist/agent/index.d.ts.map +1 -0
  3. package/dist/agent/index.js +33 -0
  4. package/dist/agent/index.js.map +1 -0
  5. package/dist/application/browser-service.d.ts +228 -0
  6. package/dist/application/browser-service.d.ts.map +1 -0
  7. package/dist/application/browser-service.js +470 -0
  8. package/dist/application/browser-service.js.map +1 -0
  9. package/dist/domain/types.d.ts +309 -0
  10. package/dist/domain/types.d.ts.map +1 -0
  11. package/dist/domain/types.js +95 -0
  12. package/dist/domain/types.js.map +1 -0
  13. package/dist/index.d.ts +131 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +84 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/infrastructure/agent-browser-adapter.d.ts +134 -0
  18. package/dist/infrastructure/agent-browser-adapter.d.ts.map +1 -0
  19. package/dist/infrastructure/agent-browser-adapter.js +551 -0
  20. package/dist/infrastructure/agent-browser-adapter.js.map +1 -0
  21. package/dist/infrastructure/hooks-integration.d.ts +109 -0
  22. package/dist/infrastructure/hooks-integration.d.ts.map +1 -0
  23. package/dist/infrastructure/hooks-integration.js +111 -0
  24. package/dist/infrastructure/hooks-integration.js.map +1 -0
  25. package/dist/infrastructure/memory-integration.d.ts +149 -0
  26. package/dist/infrastructure/memory-integration.d.ts.map +1 -0
  27. package/dist/infrastructure/memory-integration.js +335 -0
  28. package/dist/infrastructure/memory-integration.js.map +1 -0
  29. package/dist/infrastructure/reasoningbank-adapter.d.ts +90 -0
  30. package/dist/infrastructure/reasoningbank-adapter.d.ts.map +1 -0
  31. package/dist/infrastructure/reasoningbank-adapter.js +224 -0
  32. package/dist/infrastructure/reasoningbank-adapter.js.map +1 -0
  33. package/dist/infrastructure/security-integration.d.ts +80 -0
  34. package/dist/infrastructure/security-integration.d.ts.map +1 -0
  35. package/dist/infrastructure/security-integration.js +404 -0
  36. package/dist/infrastructure/security-integration.js.map +1 -0
  37. package/dist/infrastructure/workflow-templates.d.ts +95 -0
  38. package/dist/infrastructure/workflow-templates.d.ts.map +1 -0
  39. package/dist/infrastructure/workflow-templates.js +366 -0
  40. package/dist/infrastructure/workflow-templates.js.map +1 -0
  41. package/dist/mcp-tools/browser-tools.d.ts +18 -0
  42. package/dist/mcp-tools/browser-tools.d.ts.map +1 -0
  43. package/dist/mcp-tools/browser-tools.js +1163 -0
  44. package/dist/mcp-tools/browser-tools.js.map +1 -0
  45. package/dist/mcp-tools/index.d.ts +6 -0
  46. package/dist/mcp-tools/index.d.ts.map +1 -0
  47. package/dist/mcp-tools/index.js +6 -0
  48. package/dist/mcp-tools/index.js.map +1 -0
  49. package/dist/skill/index.d.ts +15 -0
  50. package/dist/skill/index.d.ts.map +1 -0
  51. package/dist/skill/index.js +23 -0
  52. package/dist/skill/index.js.map +1 -0
  53. package/package.json +1 -1
@@ -0,0 +1,134 @@
1
+ /**
2
+ * @sparkleideas/browser - Agent Browser Adapter
3
+ * Wraps agent-browser CLI for programmatic access
4
+ */
5
+ import type { ActionResult, Snapshot, SnapshotOptions, OpenInput, ClickInput, FillInput, TypeInput, ScreenshotInput, WaitInput, EvalInput, GetInput, NetworkRouteInput } from '../domain/types.js';
6
+ export interface AgentBrowserAdapterOptions {
7
+ session?: string;
8
+ timeout?: number;
9
+ headless?: boolean;
10
+ executablePath?: string;
11
+ proxy?: string;
12
+ viewport?: {
13
+ width: number;
14
+ height: number;
15
+ };
16
+ debug?: boolean;
17
+ }
18
+ export declare class AgentBrowserAdapter {
19
+ private session;
20
+ private timeout;
21
+ private headless;
22
+ private executablePath?;
23
+ private proxy?;
24
+ private viewport?;
25
+ private debug;
26
+ constructor(options?: AgentBrowserAdapterOptions);
27
+ private exec;
28
+ open(input: OpenInput): Promise<ActionResult>;
29
+ back(): Promise<ActionResult>;
30
+ forward(): Promise<ActionResult>;
31
+ reload(): Promise<ActionResult>;
32
+ close(): Promise<ActionResult>;
33
+ click(input: ClickInput): Promise<ActionResult>;
34
+ dblclick(target: string): Promise<ActionResult>;
35
+ fill(input: FillInput): Promise<ActionResult>;
36
+ type(input: TypeInput): Promise<ActionResult>;
37
+ press(key: string, delay?: number): Promise<ActionResult>;
38
+ hover(target: string): Promise<ActionResult>;
39
+ focus(target: string): Promise<ActionResult>;
40
+ select(target: string, value: string): Promise<ActionResult>;
41
+ check(target: string): Promise<ActionResult>;
42
+ uncheck(target: string): Promise<ActionResult>;
43
+ scroll(direction: 'up' | 'down' | 'left' | 'right', pixels?: number): Promise<ActionResult>;
44
+ scrollIntoView(target: string): Promise<ActionResult>;
45
+ drag(source: string, target: string): Promise<ActionResult>;
46
+ upload(target: string, files: string[]): Promise<ActionResult>;
47
+ get(input: GetInput): Promise<ActionResult>;
48
+ getText(target: string): Promise<ActionResult<string>>;
49
+ getHtml(target: string): Promise<ActionResult<string>>;
50
+ getValue(target: string): Promise<ActionResult<string>>;
51
+ getAttr(target: string, attribute: string): Promise<ActionResult<string>>;
52
+ getTitle(): Promise<ActionResult<string>>;
53
+ getUrl(): Promise<ActionResult<string>>;
54
+ getCount(selector: string): Promise<ActionResult<number>>;
55
+ getBox(target: string): Promise<ActionResult<{
56
+ x: number;
57
+ y: number;
58
+ width: number;
59
+ height: number;
60
+ }>>;
61
+ isVisible(target: string): Promise<ActionResult<boolean>>;
62
+ isEnabled(target: string): Promise<ActionResult<boolean>>;
63
+ isChecked(target: string): Promise<ActionResult<boolean>>;
64
+ snapshot(options?: SnapshotOptions): Promise<ActionResult<Snapshot>>;
65
+ screenshot(input?: ScreenshotInput): Promise<ActionResult<string>>;
66
+ pdf(path: string): Promise<ActionResult>;
67
+ wait(input: WaitInput): Promise<ActionResult>;
68
+ waitForSelector(selector: string, timeout?: number): Promise<ActionResult>;
69
+ waitForText(text: string): Promise<ActionResult>;
70
+ waitForUrl(pattern: string): Promise<ActionResult>;
71
+ waitForLoad(state: 'load' | 'domcontentloaded' | 'networkidle'): Promise<ActionResult>;
72
+ waitForFunction(fn: string): Promise<ActionResult>;
73
+ eval<T = unknown>(input: EvalInput): Promise<ActionResult<T>>;
74
+ mouseMove(x: number, y: number): Promise<ActionResult>;
75
+ mouseDown(button?: 'left' | 'right' | 'middle'): Promise<ActionResult>;
76
+ mouseUp(button?: 'left' | 'right' | 'middle'): Promise<ActionResult>;
77
+ mouseWheel(deltaY: number, deltaX?: number): Promise<ActionResult>;
78
+ setViewport(width: number, height: number): Promise<ActionResult>;
79
+ setDevice(device: string): Promise<ActionResult>;
80
+ setGeolocation(lat: number, lng: number): Promise<ActionResult>;
81
+ setOffline(enabled: boolean): Promise<ActionResult>;
82
+ setHeaders(headers: Record<string, string>): Promise<ActionResult>;
83
+ setCredentials(username: string, password: string): Promise<ActionResult>;
84
+ setMedia(scheme: 'dark' | 'light'): Promise<ActionResult>;
85
+ getCookies(): Promise<ActionResult>;
86
+ setCookie(name: string, value: string): Promise<ActionResult>;
87
+ clearCookies(): Promise<ActionResult>;
88
+ getLocalStorage(key?: string): Promise<ActionResult>;
89
+ setLocalStorage(key: string, value: string): Promise<ActionResult>;
90
+ clearLocalStorage(): Promise<ActionResult>;
91
+ getSessionStorage(key?: string): Promise<ActionResult>;
92
+ setSessionStorage(key: string, value: string): Promise<ActionResult>;
93
+ clearSessionStorage(): Promise<ActionResult>;
94
+ networkRoute(input: NetworkRouteInput): Promise<ActionResult>;
95
+ networkUnroute(urlPattern?: string): Promise<ActionResult>;
96
+ networkRequests(filter?: string): Promise<ActionResult>;
97
+ listTabs(): Promise<ActionResult>;
98
+ newTab(url?: string): Promise<ActionResult>;
99
+ switchTab(index: number): Promise<ActionResult>;
100
+ closeTab(index?: number): Promise<ActionResult>;
101
+ newWindow(): Promise<ActionResult>;
102
+ switchFrame(selector: string): Promise<ActionResult>;
103
+ switchToMainFrame(): Promise<ActionResult>;
104
+ dialogAccept(text?: string): Promise<ActionResult>;
105
+ dialogDismiss(): Promise<ActionResult>;
106
+ traceStart(path?: string): Promise<ActionResult>;
107
+ traceStop(path?: string): Promise<ActionResult>;
108
+ getConsole(): Promise<ActionResult>;
109
+ clearConsole(): Promise<ActionResult>;
110
+ getErrors(): Promise<ActionResult>;
111
+ clearErrors(): Promise<ActionResult>;
112
+ highlight(selector: string): Promise<ActionResult>;
113
+ saveState(path: string): Promise<ActionResult>;
114
+ loadState(path: string): Promise<ActionResult>;
115
+ findByRole(role: string, action: string, options?: {
116
+ name?: string;
117
+ exact?: boolean;
118
+ }): Promise<ActionResult>;
119
+ findByText(text: string, action: string): Promise<ActionResult>;
120
+ findByLabel(label: string, action: string, value?: string): Promise<ActionResult>;
121
+ findByPlaceholder(placeholder: string, action: string, value?: string): Promise<ActionResult>;
122
+ findByTestId(testId: string, action: string, value?: string): Promise<ActionResult>;
123
+ findFirst(selector: string, action: string, value?: string): Promise<ActionResult>;
124
+ findLast(selector: string, action: string, value?: string): Promise<ActionResult>;
125
+ findNth(n: number, selector: string, action: string, value?: string): Promise<ActionResult>;
126
+ listSessions(): Promise<ActionResult>;
127
+ getCurrentSession(): Promise<ActionResult>;
128
+ setSession(sessionId: string): void;
129
+ getSession(): string;
130
+ connect(port: number): Promise<ActionResult>;
131
+ static install(withDeps?: boolean): Promise<ActionResult>;
132
+ }
133
+ export default AgentBrowserAdapter;
134
+ //# sourceMappingURL=agent-browser-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-browser-adapter.d.ts","sourceRoot":"","sources":["../../src/infrastructure/agent-browser-adapter.ts"],"names":[],"mappings":"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"}