cbrowser 2.2.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.
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ /**
3
+ * Built-in Personas for CBrowser
4
+ *
5
+ * Each persona represents a different user archetype with specific
6
+ * behaviors, timing, and interaction patterns.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.BUILTIN_PERSONAS = void 0;
10
+ exports.getPersona = getPersona;
11
+ exports.listPersonas = listPersonas;
12
+ exports.BUILTIN_PERSONAS = {
13
+ "power-user": {
14
+ name: "power-user",
15
+ description: "Tech-savvy expert who expects efficiency and knows shortcuts",
16
+ demographics: {
17
+ age_range: "25-45",
18
+ tech_level: "expert",
19
+ device: "desktop",
20
+ },
21
+ behaviors: {
22
+ uses_keyboard_shortcuts: true,
23
+ reads_quickly: true,
24
+ skips_tutorials: true,
25
+ expects_instant_response: true,
26
+ },
27
+ humanBehavior: {
28
+ timing: {
29
+ reactionTime: { min: 100, max: 300 },
30
+ clickDelay: { min: 50, max: 150 },
31
+ typeSpeed: { min: 30, max: 80 },
32
+ readingSpeed: 400,
33
+ scrollPauseTime: { min: 100, max: 300 },
34
+ },
35
+ errors: {
36
+ misClickRate: 0.02,
37
+ doubleClickAccidental: 0.01,
38
+ typoRate: 0.02,
39
+ backtrackRate: 0.05,
40
+ },
41
+ mouse: {
42
+ curvature: 0.2,
43
+ jitter: 2,
44
+ overshoot: 0.05,
45
+ speed: "fast",
46
+ },
47
+ attention: {
48
+ pattern: "skim",
49
+ scrollBehavior: "jump",
50
+ focusAreas: ["cta", "prices"],
51
+ distractionRate: 0.1,
52
+ },
53
+ },
54
+ context: {
55
+ viewport: [1920, 1080],
56
+ },
57
+ },
58
+ "first-timer": {
59
+ name: "first-timer",
60
+ description: "New user exploring for the first time, needs guidance",
61
+ demographics: {
62
+ age_range: "18-65",
63
+ tech_level: "beginner",
64
+ device: "desktop",
65
+ },
66
+ behaviors: {
67
+ reads_everything: true,
68
+ hesitant_to_click: true,
69
+ follows_tutorials: true,
70
+ asks_for_help: true,
71
+ },
72
+ humanBehavior: {
73
+ timing: {
74
+ reactionTime: { min: 500, max: 1500 },
75
+ clickDelay: { min: 300, max: 800 },
76
+ typeSpeed: { min: 100, max: 200 },
77
+ readingSpeed: 150,
78
+ scrollPauseTime: { min: 500, max: 1500 },
79
+ },
80
+ errors: {
81
+ misClickRate: 0.1,
82
+ doubleClickAccidental: 0.05,
83
+ typoRate: 0.08,
84
+ backtrackRate: 0.2,
85
+ },
86
+ mouse: {
87
+ curvature: 0.6,
88
+ jitter: 8,
89
+ overshoot: 0.15,
90
+ speed: "slow",
91
+ },
92
+ attention: {
93
+ pattern: "thorough",
94
+ scrollBehavior: "chunked",
95
+ focusAreas: ["header", "text", "images"],
96
+ distractionRate: 0.3,
97
+ },
98
+ },
99
+ context: {
100
+ viewport: [1280, 800],
101
+ },
102
+ },
103
+ "mobile-user": {
104
+ name: "mobile-user",
105
+ description: "Smartphone user with touch interface and limited screen",
106
+ demographics: {
107
+ age_range: "18-45",
108
+ tech_level: "intermediate",
109
+ device: "mobile",
110
+ },
111
+ behaviors: {
112
+ uses_gestures: true,
113
+ easily_distracted: true,
114
+ short_sessions: true,
115
+ expects_mobile_friendly: true,
116
+ },
117
+ humanBehavior: {
118
+ timing: {
119
+ reactionTime: { min: 200, max: 600 },
120
+ clickDelay: { min: 150, max: 400 },
121
+ typeSpeed: { min: 80, max: 150 },
122
+ readingSpeed: 200,
123
+ scrollPauseTime: { min: 200, max: 500 },
124
+ },
125
+ errors: {
126
+ misClickRate: 0.15,
127
+ doubleClickAccidental: 0.08,
128
+ typoRate: 0.12,
129
+ backtrackRate: 0.15,
130
+ },
131
+ mouse: {
132
+ curvature: 0.3,
133
+ jitter: 15,
134
+ overshoot: 0.2,
135
+ speed: "normal",
136
+ },
137
+ attention: {
138
+ pattern: "f-pattern",
139
+ scrollBehavior: "continuous",
140
+ focusAreas: ["header", "cta", "images"],
141
+ distractionRate: 0.4,
142
+ },
143
+ },
144
+ context: {
145
+ viewport: [375, 812], // iPhone X dimensions
146
+ },
147
+ },
148
+ "screen-reader-user": {
149
+ name: "screen-reader-user",
150
+ description: "Blind user navigating with screen reader and keyboard",
151
+ demographics: {
152
+ age_range: "25-65",
153
+ tech_level: "intermediate",
154
+ device: "desktop",
155
+ },
156
+ behaviors: {
157
+ keyboard_only: true,
158
+ relies_on_aria: true,
159
+ needs_alt_text: true,
160
+ sequential_navigation: true,
161
+ },
162
+ humanBehavior: {
163
+ timing: {
164
+ reactionTime: { min: 300, max: 800 },
165
+ clickDelay: { min: 200, max: 500 },
166
+ typeSpeed: { min: 50, max: 120 },
167
+ readingSpeed: 250,
168
+ scrollPauseTime: { min: 300, max: 700 },
169
+ },
170
+ errors: {
171
+ misClickRate: 0.05,
172
+ doubleClickAccidental: 0.02,
173
+ typoRate: 0.04,
174
+ backtrackRate: 0.25,
175
+ },
176
+ mouse: {
177
+ curvature: 0,
178
+ jitter: 0,
179
+ overshoot: 0,
180
+ speed: "normal",
181
+ },
182
+ attention: {
183
+ pattern: "thorough",
184
+ scrollBehavior: "chunked",
185
+ focusAreas: ["header", "text"],
186
+ distractionRate: 0.15,
187
+ },
188
+ },
189
+ context: {
190
+ viewport: [1280, 800],
191
+ },
192
+ },
193
+ "elderly-user": {
194
+ name: "elderly-user",
195
+ description: "Older adult with potential vision and motor limitations",
196
+ demographics: {
197
+ age_range: "65+",
198
+ tech_level: "beginner",
199
+ device: "desktop",
200
+ },
201
+ behaviors: {
202
+ prefers_large_text: true,
203
+ careful_clicking: true,
204
+ avoids_complexity: true,
205
+ needs_clear_feedback: true,
206
+ },
207
+ humanBehavior: {
208
+ timing: {
209
+ reactionTime: { min: 800, max: 2000 },
210
+ clickDelay: { min: 500, max: 1200 },
211
+ typeSpeed: { min: 150, max: 300 },
212
+ readingSpeed: 100,
213
+ scrollPauseTime: { min: 800, max: 2000 },
214
+ },
215
+ errors: {
216
+ misClickRate: 0.2,
217
+ doubleClickAccidental: 0.15,
218
+ typoRate: 0.1,
219
+ backtrackRate: 0.3,
220
+ },
221
+ mouse: {
222
+ curvature: 0.7,
223
+ jitter: 12,
224
+ overshoot: 0.25,
225
+ speed: "slow",
226
+ },
227
+ attention: {
228
+ pattern: "thorough",
229
+ scrollBehavior: "chunked",
230
+ focusAreas: ["header", "text", "cta"],
231
+ distractionRate: 0.2,
232
+ },
233
+ },
234
+ context: {
235
+ viewport: [1280, 800],
236
+ },
237
+ },
238
+ "impatient-user": {
239
+ name: "impatient-user",
240
+ description: "Quick to abandon slow or confusing experiences",
241
+ demographics: {
242
+ age_range: "18-45",
243
+ tech_level: "intermediate",
244
+ device: "desktop",
245
+ },
246
+ behaviors: {
247
+ abandons_quickly: true,
248
+ skips_reading: true,
249
+ expects_speed: true,
250
+ low_tolerance_for_errors: true,
251
+ },
252
+ humanBehavior: {
253
+ timing: {
254
+ reactionTime: { min: 100, max: 400 },
255
+ clickDelay: { min: 80, max: 200 },
256
+ typeSpeed: { min: 40, max: 100 },
257
+ readingSpeed: 350,
258
+ scrollPauseTime: { min: 100, max: 300 },
259
+ },
260
+ errors: {
261
+ misClickRate: 0.08,
262
+ doubleClickAccidental: 0.05,
263
+ typoRate: 0.06,
264
+ backtrackRate: 0.1,
265
+ },
266
+ mouse: {
267
+ curvature: 0.3,
268
+ jitter: 5,
269
+ overshoot: 0.1,
270
+ speed: "fast",
271
+ },
272
+ attention: {
273
+ pattern: "skim",
274
+ scrollBehavior: "jump",
275
+ focusAreas: ["cta", "prices"],
276
+ distractionRate: 0.5,
277
+ },
278
+ },
279
+ context: {
280
+ viewport: [1280, 800],
281
+ },
282
+ },
283
+ };
284
+ /**
285
+ * Get a persona by name.
286
+ */
287
+ function getPersona(name) {
288
+ return exports.BUILTIN_PERSONAS[name];
289
+ }
290
+ /**
291
+ * List all available persona names.
292
+ */
293
+ function listPersonas() {
294
+ return Object.keys(exports.BUILTIN_PERSONAS);
295
+ }
296
+ //# sourceMappingURL=personas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"personas.js","sourceRoot":"","sources":["../src/personas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * CBrowser Type Definitions
3
+ */
4
+ export interface TimingParams {
5
+ reactionTime: {
6
+ min: number;
7
+ max: number;
8
+ };
9
+ clickDelay: {
10
+ min: number;
11
+ max: number;
12
+ };
13
+ typeSpeed: {
14
+ min: number;
15
+ max: number;
16
+ };
17
+ readingSpeed: number;
18
+ scrollPauseTime: {
19
+ min: number;
20
+ max: number;
21
+ };
22
+ }
23
+ export interface ErrorParams {
24
+ misClickRate: number;
25
+ doubleClickAccidental: number;
26
+ typoRate: number;
27
+ backtrackRate: number;
28
+ }
29
+ export interface MouseParams {
30
+ curvature: number;
31
+ jitter: number;
32
+ overshoot: number;
33
+ speed: "slow" | "normal" | "fast";
34
+ }
35
+ export interface AttentionParams {
36
+ pattern: "f-pattern" | "z-pattern" | "skim" | "thorough";
37
+ scrollBehavior: "continuous" | "chunked" | "jump";
38
+ focusAreas: Array<"header" | "cta" | "images" | "prices" | "text">;
39
+ distractionRate: number;
40
+ }
41
+ export interface HumanBehaviorParams {
42
+ timing: TimingParams;
43
+ errors: ErrorParams;
44
+ mouse: MouseParams;
45
+ attention: AttentionParams;
46
+ }
47
+ export interface Persona {
48
+ name: string;
49
+ description: string;
50
+ demographics: {
51
+ age_range?: string;
52
+ tech_level?: "beginner" | "intermediate" | "expert";
53
+ device?: "desktop" | "mobile" | "tablet";
54
+ };
55
+ behaviors: Record<string, unknown>;
56
+ humanBehavior?: HumanBehaviorParams;
57
+ context?: {
58
+ viewport?: [number, number];
59
+ };
60
+ }
61
+ export interface SavedSession {
62
+ name: string;
63
+ created: string;
64
+ lastUsed: string;
65
+ domain: string;
66
+ url: string;
67
+ viewport: {
68
+ width: number;
69
+ height: number;
70
+ };
71
+ cookies: Array<{
72
+ name: string;
73
+ value: string;
74
+ domain: string;
75
+ path: string;
76
+ expires: number;
77
+ httpOnly: boolean;
78
+ secure: boolean;
79
+ sameSite: "Strict" | "Lax" | "None";
80
+ }>;
81
+ localStorage: Record<string, string>;
82
+ sessionStorage: Record<string, string>;
83
+ testCredentials?: {
84
+ email: string;
85
+ password: string;
86
+ baseUrl: string;
87
+ };
88
+ }
89
+ export interface NavigationResult {
90
+ url: string;
91
+ title: string;
92
+ screenshot: string;
93
+ errors: string[];
94
+ warnings: string[];
95
+ loadTime: number;
96
+ }
97
+ export interface ClickResult {
98
+ success: boolean;
99
+ screenshot: string;
100
+ message: string;
101
+ }
102
+ export interface ExtractResult {
103
+ data: unknown;
104
+ screenshot: string;
105
+ }
106
+ export interface ConsoleEntry {
107
+ type: "log" | "info" | "warn" | "error" | "debug" | "trace";
108
+ text: string;
109
+ timestamp: string;
110
+ url?: string;
111
+ lineNumber?: number;
112
+ }
113
+ export interface JourneyStep {
114
+ action: string;
115
+ target?: string;
116
+ result: string;
117
+ screenshot?: string;
118
+ timestamp: string;
119
+ }
120
+ export interface JourneyResult {
121
+ persona: string;
122
+ goal: string;
123
+ steps: JourneyStep[];
124
+ success: boolean;
125
+ frictionPoints: string[];
126
+ totalTime: number;
127
+ consoleLogs: ConsoleEntry[];
128
+ }
129
+ export type ActionZone = "green" | "yellow" | "red" | "black";
130
+ export interface AuditEntry {
131
+ timestamp: string;
132
+ action: string;
133
+ target?: string;
134
+ zone: ActionZone;
135
+ result: "success" | "failure" | "blocked";
136
+ screenshot?: string;
137
+ persona?: string;
138
+ duration?: number;
139
+ }
140
+ export interface StoredCredential {
141
+ site: string;
142
+ username: string;
143
+ password: string;
144
+ vaultPassphrase?: string;
145
+ pin?: string;
146
+ created: string;
147
+ lastUsed?: string;
148
+ }
149
+ export interface CleanupOptions {
150
+ dryRun?: boolean;
151
+ olderThan?: number;
152
+ keepScreenshots?: number;
153
+ keepJourneys?: number;
154
+ keepSessions?: number;
155
+ verbose?: boolean;
156
+ }
157
+ export interface CleanupResult {
158
+ deleted: number;
159
+ freedBytes: number;
160
+ details: {
161
+ screenshots: {
162
+ deleted: number;
163
+ freed: number;
164
+ };
165
+ journeys: {
166
+ deleted: number;
167
+ freed: number;
168
+ };
169
+ sessions: {
170
+ deleted: number;
171
+ freed: number;
172
+ };
173
+ audit: {
174
+ deleted: number;
175
+ freed: number;
176
+ };
177
+ };
178
+ }
179
+ export interface BrowserOptions {
180
+ headless?: boolean;
181
+ viewport?: {
182
+ width: number;
183
+ height: number;
184
+ };
185
+ timeout?: number;
186
+ userAgent?: string;
187
+ }
188
+ export interface JourneyOptions {
189
+ persona: string;
190
+ startUrl: string;
191
+ goal: string;
192
+ maxSteps?: number;
193
+ timeout?: number;
194
+ }
195
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * CBrowser Type Definitions
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}