@sparkleideas/browser 3.0.0-alpha.2-patch.16 → 3.0.0-alpha.2-patch.18
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/package.json +3 -3
- package/dist/agent/index.d.ts +0 -25
- package/dist/agent/index.d.ts.map +0 -1
- package/dist/agent/index.js +0 -33
- package/dist/agent/index.js.map +0 -1
- package/dist/application/browser-service.d.ts +0 -228
- package/dist/application/browser-service.d.ts.map +0 -1
- package/dist/application/browser-service.js +0 -470
- package/dist/application/browser-service.js.map +0 -1
- package/dist/domain/types.d.ts +0 -428
- package/dist/domain/types.d.ts.map +0 -1
- package/dist/domain/types.js +0 -95
- package/dist/domain/types.js.map +0 -1
- package/dist/index.d.ts +0 -131
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -84
- package/dist/index.js.map +0 -1
- package/dist/infrastructure/agent-browser-adapter.d.ts +0 -134
- package/dist/infrastructure/agent-browser-adapter.d.ts.map +0 -1
- package/dist/infrastructure/agent-browser-adapter.js +0 -551
- package/dist/infrastructure/agent-browser-adapter.js.map +0 -1
- package/dist/infrastructure/hooks-integration.d.ts +0 -109
- package/dist/infrastructure/hooks-integration.d.ts.map +0 -1
- package/dist/infrastructure/hooks-integration.js +0 -111
- package/dist/infrastructure/hooks-integration.js.map +0 -1
- package/dist/infrastructure/memory-integration.d.ts +0 -149
- package/dist/infrastructure/memory-integration.d.ts.map +0 -1
- package/dist/infrastructure/memory-integration.js +0 -335
- package/dist/infrastructure/memory-integration.js.map +0 -1
- package/dist/infrastructure/reasoningbank-adapter.d.ts +0 -90
- package/dist/infrastructure/reasoningbank-adapter.d.ts.map +0 -1
- package/dist/infrastructure/reasoningbank-adapter.js +0 -224
- package/dist/infrastructure/reasoningbank-adapter.js.map +0 -1
- package/dist/infrastructure/security-integration.d.ts +0 -80
- package/dist/infrastructure/security-integration.d.ts.map +0 -1
- package/dist/infrastructure/security-integration.js +0 -404
- package/dist/infrastructure/security-integration.js.map +0 -1
- package/dist/infrastructure/workflow-templates.d.ts +0 -95
- package/dist/infrastructure/workflow-templates.d.ts.map +0 -1
- package/dist/infrastructure/workflow-templates.js +0 -366
- package/dist/infrastructure/workflow-templates.js.map +0 -1
- package/dist/mcp-tools/browser-tools.d.ts +0 -18
- package/dist/mcp-tools/browser-tools.d.ts.map +0 -1
- package/dist/mcp-tools/browser-tools.js +0 -1163
- package/dist/mcp-tools/browser-tools.js.map +0 -1
- package/dist/mcp-tools/index.d.ts +0 -6
- package/dist/mcp-tools/index.d.ts.map +0 -1
- package/dist/mcp-tools/index.js +0 -6
- package/dist/mcp-tools/index.js.map +0 -1
- package/dist/skill/index.d.ts +0 -15
- package/dist/skill/index.d.ts.map +0 -1
- package/dist/skill/index.js +0 -23
- package/dist/skill/index.js.map +0 -1
package/dist/index.js
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
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
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,134 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-browser-adapter.d.ts","sourceRoot":"","sources":["../../src/infrastructure/agent-browser-adapter.ts"],"names":[],"mappings":"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"}
|