@sparkleideas/browser 3.0.0-alpha.2-patch.25 → 3.0.0-alpha.2-patch.27

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 +428 -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 +2 -2
package/dist/index.js ADDED
@@ -0,0 +1,84 @@
1
+ /**
2
+ * @sparkleideas/browser
3
+ * Browser automation for AI agents - integrates agent-browser with claude-flow swarms
4
+ *
5
+ * Features:
6
+ * - 50+ MCP tools for browser automation
7
+ * - AI-optimized snapshots with element refs (@e1, @e2)
8
+ * - Multi-session support for swarm coordination
9
+ * - Trajectory tracking for ReasoningBank/SONA learning
10
+ * - Integration with agentic-flow optimizations
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { createBrowserService, browserTools } from '@sparkleideas/browser';
15
+ *
16
+ * // Create a browser service
17
+ * const browser = createBrowserService({ sessionId: 'my-session' });
18
+ *
19
+ * // Start a trajectory for learning
20
+ * const trajectoryId = browser.startTrajectory('Login to dashboard');
21
+ *
22
+ * // Perform actions
23
+ * await browser.open('https://example.com/login');
24
+ * await browser.snapshot({ interactive: true });
25
+ * await browser.fill('@e1', 'user@example.com');
26
+ * await browser.fill('@e2', 'password');
27
+ * await browser.click('@e3');
28
+ *
29
+ * // End trajectory
30
+ * const trajectory = browser.endTrajectory(true, 'Login successful');
31
+ * ```
32
+ */
33
+ // Domain types
34
+ export * from './domain/types.js';
35
+ // Infrastructure
36
+ export { AgentBrowserAdapter } from './infrastructure/agent-browser-adapter.js';
37
+ // ReasoningBank integration
38
+ export { ReasoningBankAdapter, getReasoningBank, } from './infrastructure/reasoningbank-adapter.js';
39
+ // Hooks integration
40
+ export { preBrowseHook, postBrowseHook, browserHooks, } from './infrastructure/hooks-integration.js';
41
+ // Memory integration (HNSW semantic search)
42
+ export { ClaudeFlowMemoryAdapter, BrowserMemoryManager, createMemoryManager, getMemoryAdapter, } from './infrastructure/memory-integration.js';
43
+ // Security integration (AIDefence)
44
+ export { BrowserSecurityScanner, getSecurityScanner, isUrlSafe, containsPII, } from './infrastructure/security-integration.js';
45
+ // Workflow templates
46
+ export { WorkflowManager, getWorkflowManager, listWorkflows, getWorkflow, WORKFLOW_TEMPLATES, } from './infrastructure/workflow-templates.js';
47
+ // Application services
48
+ export { BrowserService, BrowserSwarmCoordinator, createBrowserService, createBrowserSwarm, } from './application/browser-service.js';
49
+ // MCP tools
50
+ export { browserTools } from './mcp-tools/browser-tools.js';
51
+ // Re-export main classes as defaults
52
+ import { BrowserService, createBrowserService, createBrowserSwarm } from './application/browser-service.js';
53
+ import { browserTools } from './mcp-tools/browser-tools.js';
54
+ import { browserHooks, preBrowseHook, postBrowseHook } from './infrastructure/hooks-integration.js';
55
+ import { getReasoningBank } from './infrastructure/reasoningbank-adapter.js';
56
+ import { getMemoryAdapter, createMemoryManager } from './infrastructure/memory-integration.js';
57
+ import { getSecurityScanner, isUrlSafe, containsPII } from './infrastructure/security-integration.js';
58
+ import { getWorkflowManager, listWorkflows, getWorkflow } from './infrastructure/workflow-templates.js';
59
+ export default {
60
+ // Services
61
+ BrowserService,
62
+ createBrowserService,
63
+ createBrowserSwarm,
64
+ // MCP tools
65
+ browserTools,
66
+ // Hooks
67
+ browserHooks,
68
+ preBrowseHook,
69
+ postBrowseHook,
70
+ // Learning
71
+ getReasoningBank,
72
+ // Memory (HNSW-indexed)
73
+ getMemoryAdapter,
74
+ createMemoryManager,
75
+ // Security (AIDefence)
76
+ getSecurityScanner,
77
+ isUrlSafe,
78
+ containsPII,
79
+ // Workflows
80
+ getWorkflowManager,
81
+ listWorkflows,
82
+ getWorkflow,
83
+ };
84
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,eAAe;AACf,cAAc,mBAAmB,CAAC;AAElC,iBAAiB;AACjB,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAGhF,4BAA4B;AAC5B,OAAO,EACL,oBAAoB,EACpB,gBAAgB,GAGjB,MAAM,2CAA2C,CAAC;AAEnD,oBAAoB;AACpB,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,GAKb,MAAM,uCAAuC,CAAC;AAE/C,4CAA4C;AAC5C,OAAO,EACL,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,GAOjB,MAAM,wCAAwC,CAAC;AAEhD,mCAAmC;AACnC,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,SAAS,EACT,WAAW,GAOZ,MAAM,0CAA0C,CAAC;AAElD,qBAAqB;AACrB,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,WAAW,EACX,kBAAkB,GAQnB,MAAM,wCAAwC,CAAC;AAEhD,uBAAuB;AACvB,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,kBAAkB,GAEnB,MAAM,kCAAkC,CAAC;AAE1C,YAAY;AACZ,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAG5D,qCAAqC;AACrC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC5G,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACpG,OAAO,EAAE,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAExG,eAAe;IACb,WAAW;IACX,cAAc;IACd,oBAAoB;IACpB,kBAAkB;IAElB,YAAY;IACZ,YAAY;IAEZ,QAAQ;IACR,YAAY;IACZ,aAAa;IACb,cAAc;IAEd,WAAW;IACX,gBAAgB;IAEhB,wBAAwB;IACxB,gBAAgB;IAChB,mBAAmB;IAEnB,uBAAuB;IACvB,kBAAkB;IAClB,SAAS;IACT,WAAW;IAEX,YAAY;IACZ,kBAAkB;IAClB,aAAa;IACb,WAAW;CACZ,CAAC"}
@@ -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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"}