xhs-operator 1.0.0-beta.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 (83) hide show
  1. package/README.md +100 -0
  2. package/dist/actions/account.d.ts +59 -0
  3. package/dist/actions/account.d.ts.map +1 -0
  4. package/dist/actions/account.js +142 -0
  5. package/dist/actions/account.js.map +1 -0
  6. package/dist/actions/interact.d.ts +37 -0
  7. package/dist/actions/interact.d.ts.map +1 -0
  8. package/dist/actions/interact.js +205 -0
  9. package/dist/actions/interact.js.map +1 -0
  10. package/dist/actions/publish.d.ts +18 -0
  11. package/dist/actions/publish.d.ts.map +1 -0
  12. package/dist/actions/publish.js +135 -0
  13. package/dist/actions/publish.js.map +1 -0
  14. package/dist/actions/scrape.d.ts +21 -0
  15. package/dist/actions/scrape.d.ts.map +1 -0
  16. package/dist/actions/scrape.js +145 -0
  17. package/dist/actions/scrape.js.map +1 -0
  18. package/dist/agents/copywriter.d.ts +21 -0
  19. package/dist/agents/copywriter.d.ts.map +1 -0
  20. package/dist/agents/copywriter.js +115 -0
  21. package/dist/agents/copywriter.js.map +1 -0
  22. package/dist/agents/image-composer.d.ts +26 -0
  23. package/dist/agents/image-composer.d.ts.map +1 -0
  24. package/dist/agents/image-composer.js +103 -0
  25. package/dist/agents/image-composer.js.map +1 -0
  26. package/dist/cli.d.ts +3 -0
  27. package/dist/cli.d.ts.map +1 -0
  28. package/dist/cli.js +204 -0
  29. package/dist/cli.js.map +1 -0
  30. package/dist/index.d.ts +5 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +6 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/plugin.d.ts +61 -0
  35. package/dist/plugin.d.ts.map +1 -0
  36. package/dist/plugin.js +182 -0
  37. package/dist/plugin.js.map +1 -0
  38. package/dist/risk/behavior-humanizer.d.ts +30 -0
  39. package/dist/risk/behavior-humanizer.d.ts.map +1 -0
  40. package/dist/risk/behavior-humanizer.js +105 -0
  41. package/dist/risk/behavior-humanizer.js.map +1 -0
  42. package/dist/risk/fingerprint-guard.d.ts +23 -0
  43. package/dist/risk/fingerprint-guard.d.ts.map +1 -0
  44. package/dist/risk/fingerprint-guard.js +127 -0
  45. package/dist/risk/fingerprint-guard.js.map +1 -0
  46. package/dist/risk/rate-guard.d.ts +33 -0
  47. package/dist/risk/rate-guard.d.ts.map +1 -0
  48. package/dist/risk/rate-guard.js +104 -0
  49. package/dist/risk/rate-guard.js.map +1 -0
  50. package/dist/runtime/standalone.d.ts +15 -0
  51. package/dist/runtime/standalone.d.ts.map +1 -0
  52. package/dist/runtime/standalone.js +199 -0
  53. package/dist/runtime/standalone.js.map +1 -0
  54. package/dist/scheduler.d.ts +42 -0
  55. package/dist/scheduler.d.ts.map +1 -0
  56. package/dist/scheduler.js +139 -0
  57. package/dist/scheduler.js.map +1 -0
  58. package/dist/storage/database.d.ts +23 -0
  59. package/dist/storage/database.d.ts.map +1 -0
  60. package/dist/storage/database.js +142 -0
  61. package/dist/storage/database.js.map +1 -0
  62. package/dist/storage/kv-store.d.ts +13 -0
  63. package/dist/storage/kv-store.d.ts.map +1 -0
  64. package/dist/storage/kv-store.js +60 -0
  65. package/dist/storage/kv-store.js.map +1 -0
  66. package/dist/types/index.d.ts +320 -0
  67. package/dist/types/index.d.ts.map +1 -0
  68. package/dist/types/index.js +5 -0
  69. package/dist/types/index.js.map +1 -0
  70. package/dist/utils/helpers.d.ts +63 -0
  71. package/dist/utils/helpers.d.ts.map +1 -0
  72. package/dist/utils/helpers.js +115 -0
  73. package/dist/utils/helpers.js.map +1 -0
  74. package/dist/workflows/content-campaign.d.ts +58 -0
  75. package/dist/workflows/content-campaign.d.ts.map +1 -0
  76. package/dist/workflows/content-campaign.js +155 -0
  77. package/dist/workflows/content-campaign.js.map +1 -0
  78. package/dist/workflows/daily-operate.d.ts +36 -0
  79. package/dist/workflows/daily-operate.d.ts.map +1 -0
  80. package/dist/workflows/daily-operate.js +222 -0
  81. package/dist/workflows/daily-operate.js.map +1 -0
  82. package/manifest.json +29 -0
  83. package/package.json +66 -0
@@ -0,0 +1,320 @@
1
+ export interface OpenClawBrowser {
2
+ newPage(session: SessionConfig): Promise<Page>;
3
+ }
4
+ export interface OpenClawAI {
5
+ completion(opts: AICompletionOpts): Promise<string>;
6
+ imageGeneration(opts: AIImageOpts): Promise<Buffer>;
7
+ }
8
+ export interface OpenClawStorage {
9
+ get(key: string): Promise<string | null>;
10
+ set(key: string, value: string): Promise<void>;
11
+ getOrCreate<T>(key: string, factory: () => T): Promise<T>;
12
+ }
13
+ export interface OpenClawRuntime {
14
+ browser: OpenClawBrowser;
15
+ ai: OpenClawAI;
16
+ storage: OpenClawStorage;
17
+ }
18
+ export interface AICompletionOpts {
19
+ model: string;
20
+ system: string;
21
+ prompt: string;
22
+ responseFormat?: 'json' | 'text';
23
+ }
24
+ export interface AIImageOpts {
25
+ prompt: string;
26
+ size?: string;
27
+ style?: string;
28
+ }
29
+ export interface SessionConfig {
30
+ cookieFile: string;
31
+ proxy?: ProxyConfig;
32
+ fingerprint?: BrowserFingerprint;
33
+ }
34
+ export interface Page {
35
+ navigate(url: string): Promise<void>;
36
+ click(selector: string): Promise<void>;
37
+ type(selector: string, text: string): Promise<void>;
38
+ waitForSelector(selector: string, opts?: {
39
+ timeout?: number;
40
+ }): Promise<void>;
41
+ waitForNavigation(opts?: {
42
+ timeout?: number;
43
+ }): Promise<void>;
44
+ evaluate<T>(fn: string | ((...args: unknown[]) => T), ...args: unknown[]): Promise<T>;
45
+ evaluateOnNewDocument(fn: string | ((...args: unknown[]) => void), ...args: unknown[]): Promise<void>;
46
+ screenshot(opts?: {
47
+ path?: string;
48
+ fullPage?: boolean;
49
+ }): Promise<Buffer>;
50
+ setViewport(viewport: Viewport): Promise<void>;
51
+ setExtraHTTPHeaders(headers: Record<string, string>): Promise<void>;
52
+ mouse: MouseAPI;
53
+ keyboard: KeyboardAPI;
54
+ mousePosition(): Promise<Point>;
55
+ close(): Promise<void>;
56
+ url(): string;
57
+ content(): Promise<string>;
58
+ $(selector: string): Promise<ElementHandle | null>;
59
+ $$(selector: string): Promise<ElementHandle[]>;
60
+ }
61
+ export interface ElementHandle {
62
+ click(): Promise<void>;
63
+ type(text: string): Promise<void>;
64
+ textContent(): Promise<string | null>;
65
+ getAttribute(name: string): Promise<string | null>;
66
+ boundingBox(): Promise<BoundingBox | null>;
67
+ }
68
+ export interface MouseAPI {
69
+ move(x: number, y: number): Promise<void>;
70
+ click(x: number, y: number): Promise<void>;
71
+ }
72
+ export interface KeyboardAPI {
73
+ type(char: string): Promise<void>;
74
+ press(key: string): Promise<void>;
75
+ }
76
+ export interface BoundingBox {
77
+ x: number;
78
+ y: number;
79
+ width: number;
80
+ height: number;
81
+ }
82
+ export interface Point {
83
+ x: number;
84
+ y: number;
85
+ }
86
+ export interface Viewport {
87
+ width: number;
88
+ height: number;
89
+ }
90
+ export type NoteStyle = 'lifestyle' | 'tutorial' | 'review' | 'vlog';
91
+ export type ToneType = 'casual' | 'professional' | 'trendy';
92
+ export type ActionType = 'publish' | 'like' | 'comment' | 'follow' | 'collect';
93
+ export type AccountStatus = 'active' | 'cooling' | 'banned' | 'manual_review';
94
+ export type NoteStatus = 'draft' | 'published' | 'deleted';
95
+ export type PublishState = 'idle' | 'navigating' | 'uploading_images' | 'filling_content' | 'selecting_tags' | 'setting_location' | 'previewing' | 'submitting' | 'done';
96
+ export interface NoteGenerateRequest {
97
+ topic: string;
98
+ style: NoteStyle;
99
+ tone: ToneType;
100
+ keywords: string[];
101
+ wordCount: [number, number];
102
+ includeEmoji: boolean;
103
+ includeHashtags: boolean;
104
+ }
105
+ export interface NoteContent {
106
+ title: string;
107
+ body: string;
108
+ hashtags: string[];
109
+ coverText: string;
110
+ }
111
+ export interface ImageComposerConfig {
112
+ style: 'clean' | 'collage' | 'editorial' | 'flat-lay';
113
+ coverTemplate?: CoverTemplate;
114
+ brandColors: string[];
115
+ textOverlay?: TextOverlayConfig;
116
+ }
117
+ export interface CoverTemplate {
118
+ layout: 'centered' | 'bottom-bar' | 'side-text';
119
+ fontSize: number;
120
+ fontFamily: string;
121
+ }
122
+ export interface TextOverlayConfig {
123
+ position: 'top' | 'center' | 'bottom';
124
+ maxLines: number;
125
+ padding: number;
126
+ backgroundColor?: string;
127
+ textColor: string;
128
+ }
129
+ export type ImageSource = {
130
+ type: 'ai_generate';
131
+ prompt: string;
132
+ } | {
133
+ type: 'stock';
134
+ query: string;
135
+ source: 'unsplash' | 'pexels';
136
+ } | {
137
+ type: 'user_upload';
138
+ assets: Asset[];
139
+ };
140
+ export interface Asset {
141
+ path: string;
142
+ mimeType: string;
143
+ }
144
+ export interface Account {
145
+ id: string;
146
+ nickname: string;
147
+ niche: string;
148
+ sessionFile: string;
149
+ proxy: ProxyConfig;
150
+ fingerprintId: string;
151
+ status: AccountStatus;
152
+ dailyStats: DailyStats;
153
+ timezone: string;
154
+ createdAt: Date;
155
+ updatedAt: Date;
156
+ }
157
+ export interface ProxyConfig {
158
+ host: string;
159
+ port: number;
160
+ username?: string;
161
+ password?: string;
162
+ protocol: 'http' | 'https' | 'socks5';
163
+ }
164
+ export interface DailyStats {
165
+ consecutiveErrors: number;
166
+ banSignals: number;
167
+ lastActiveAt: Date;
168
+ actionsToday: Record<ActionType, number>;
169
+ }
170
+ export interface BrowserFingerprint {
171
+ userAgent: string;
172
+ viewport: Viewport;
173
+ timezone: string;
174
+ language: string;
175
+ webglRenderer: string;
176
+ canvas: 'noise' | 'block';
177
+ fonts: string[];
178
+ }
179
+ export interface AccountMetrics {
180
+ fans: number;
181
+ follows: number;
182
+ likes: number;
183
+ collects: number;
184
+ notes: NoteMetric[];
185
+ }
186
+ export interface NoteMetric {
187
+ noteId: string;
188
+ title: string;
189
+ views: number;
190
+ likes: number;
191
+ comments: number;
192
+ collects: number;
193
+ publishedAt: Date;
194
+ ctr: number;
195
+ }
196
+ export interface InteractTask {
197
+ type: 'like' | 'comment' | 'follow' | 'collect';
198
+ targetNoteId?: string;
199
+ targetUserId?: string;
200
+ commentContent?: string;
201
+ }
202
+ export interface InteractTarget {
203
+ noteId: string;
204
+ userId: string;
205
+ relevanceScore: number;
206
+ }
207
+ export interface PublishResult {
208
+ success: boolean;
209
+ noteId?: string;
210
+ url?: string;
211
+ error?: string;
212
+ publishedAt?: Date;
213
+ }
214
+ export interface DailyConfig {
215
+ contentStyle: Omit<NoteGenerateRequest, 'topic'>;
216
+ imageStyle: ImageComposerConfig;
217
+ niche: string;
218
+ interactQuota: InteractQuota;
219
+ }
220
+ export interface InteractQuota {
221
+ likes: number;
222
+ comments: number;
223
+ follows: number;
224
+ collects: number;
225
+ }
226
+ export interface ContentCampaignConfig {
227
+ name: string;
228
+ topics: string[];
229
+ totalNotes: number;
230
+ daysSpan: number;
231
+ style: NoteStyle;
232
+ tone: ToneType;
233
+ }
234
+ export interface DailyLimit {
235
+ max: number;
236
+ minIntervalSec?: number;
237
+ minIntervalMin?: number;
238
+ }
239
+ export interface QuotaCheckResult {
240
+ allowed: boolean;
241
+ remaining: number;
242
+ resetAt: Date;
243
+ }
244
+ export interface AlertRule {
245
+ metric: 'error_rate' | 'ban_signal' | 'publish_fail' | 'quota_exceeded';
246
+ threshold: number;
247
+ action: 'notify' | 'pause_account' | 'circuit_break';
248
+ channels: ('webhook' | 'email' | 'feishu')[];
249
+ }
250
+ export interface OperationReport {
251
+ accountId: string;
252
+ dateRange: DateRange;
253
+ metricsOverview: AccountMetrics;
254
+ contentPerformance: NoteMetric[];
255
+ growthTrend: GrowthTrend;
256
+ recommendations: string[];
257
+ }
258
+ export interface DateRange {
259
+ start: Date;
260
+ end: Date;
261
+ }
262
+ export interface GrowthTrend {
263
+ fansGrowth: number;
264
+ likesGrowth: number;
265
+ collectsGrowth: number;
266
+ avgNoteViews: number;
267
+ }
268
+ export interface OperationStrategy {
269
+ publishFrequency: number;
270
+ primeTimeWindows: TimeWindow[];
271
+ interactQuota: InteractQuota;
272
+ contentStyle: NoteStyle;
273
+ tone: ToneType;
274
+ autoReply: boolean;
275
+ }
276
+ export interface TimeWindow {
277
+ start: string;
278
+ end: string;
279
+ score: number;
280
+ }
281
+ export interface TaskQueueStatus {
282
+ pending: number;
283
+ running: number;
284
+ completed: number;
285
+ failed: number;
286
+ tasks: TaskInfo[];
287
+ }
288
+ export interface TaskInfo {
289
+ id: string;
290
+ accountId: string;
291
+ type: string;
292
+ status: 'pending' | 'running' | 'completed' | 'failed';
293
+ createdAt: Date;
294
+ startedAt?: Date;
295
+ completedAt?: Date;
296
+ error?: string;
297
+ }
298
+ export interface AccountImport {
299
+ nickname: string;
300
+ niche: string;
301
+ sessionFile: string;
302
+ proxy: ProxyConfig;
303
+ }
304
+ export interface ImportResult {
305
+ total: number;
306
+ success: number;
307
+ failed: number;
308
+ errors: Array<{
309
+ nickname: string;
310
+ error: string;
311
+ }>;
312
+ }
313
+ export interface OpenClawPlugin {
314
+ id: string;
315
+ name: string;
316
+ version: string;
317
+ initialize(runtime: OpenClawRuntime): Promise<void>;
318
+ destroy(): Promise<void>;
319
+ }
320
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ // ============================================================
2
+ // OpenClaw XHS Operator — Core Type Definitions
3
+ // ============================================================
4
+ export {};
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,gDAAgD;AAChD,+DAA+D"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * Sleep for a specified number of milliseconds.
3
+ */
4
+ export declare function sleep(ms: number): Promise<void>;
5
+ /**
6
+ * Generate a random integer between min and max (inclusive).
7
+ */
8
+ export declare function randomBetween(min: number, max: number): number;
9
+ /**
10
+ * Weighted random selection from a list of items.
11
+ */
12
+ export declare function weightedRandom<T extends {
13
+ weight: number;
14
+ }>(items: T[]): T;
15
+ /**
16
+ * Get today's date as YYYY-MM-DD string.
17
+ */
18
+ export declare function today(): string;
19
+ /**
20
+ * Calculate hours since a given date.
21
+ */
22
+ export declare function hoursSince(date: Date): number;
23
+ /**
24
+ * Calculate milliseconds until a given time string (HH:MM) in a timezone.
25
+ */
26
+ export declare function msUntilTime(timeStr: string, timezone: string): number;
27
+ /**
28
+ * Sanitize page content to guard against prompt injection.
29
+ */
30
+ export declare function sanitizePageContent(raw: string): string;
31
+ /**
32
+ * Generate Bezier control points for natural mouse movement.
33
+ */
34
+ export declare function generateBezierControlPoints(start: {
35
+ x: number;
36
+ y: number;
37
+ }, end: {
38
+ x: number;
39
+ y: number;
40
+ }): Array<{
41
+ x: number;
42
+ y: number;
43
+ }>;
44
+ /**
45
+ * Interpolate points along a cubic Bezier curve.
46
+ */
47
+ export declare function interpolateBezier(points: Array<{
48
+ x: number;
49
+ y: number;
50
+ }>, steps: number): Array<{
51
+ x: number;
52
+ y: number;
53
+ }>;
54
+ /**
55
+ * Create a simple logger using pino-like interface.
56
+ */
57
+ export declare function createWorkflowLogger(workflowName: string, accountId: string): {
58
+ step(name: string): void;
59
+ info(msg: string, data?: Record<string, unknown>): void;
60
+ warn(msg: string, data?: Record<string, unknown>): void;
61
+ error(msg: string, data?: Record<string, unknown>): void;
62
+ };
63
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CAQ1E;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,MAAM,CAE9B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYrE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOvD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,EAC/B,GAAG,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAWjC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACvC,KAAK,EAAE,MAAM,GACZ,KAAK,CAAC;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;eAG7D,MAAM;cAGP,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAGtC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;eAGrC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAIpD"}
@@ -0,0 +1,115 @@
1
+ // ============================================================
2
+ // Utility helpers
3
+ // ============================================================
4
+ /**
5
+ * Sleep for a specified number of milliseconds.
6
+ */
7
+ export function sleep(ms) {
8
+ return new Promise((resolve) => setTimeout(resolve, ms));
9
+ }
10
+ /**
11
+ * Generate a random integer between min and max (inclusive).
12
+ */
13
+ export function randomBetween(min, max) {
14
+ return Math.floor(Math.random() * (max - min + 1)) + min;
15
+ }
16
+ /**
17
+ * Weighted random selection from a list of items.
18
+ */
19
+ export function weightedRandom(items) {
20
+ const totalWeight = items.reduce((sum, item) => sum + item.weight, 0);
21
+ let random = Math.random() * totalWeight;
22
+ for (const item of items) {
23
+ random -= item.weight;
24
+ if (random <= 0)
25
+ return item;
26
+ }
27
+ return items[items.length - 1];
28
+ }
29
+ /**
30
+ * Get today's date as YYYY-MM-DD string.
31
+ */
32
+ export function today() {
33
+ return new Date().toISOString().slice(0, 10);
34
+ }
35
+ /**
36
+ * Calculate hours since a given date.
37
+ */
38
+ export function hoursSince(date) {
39
+ return (Date.now() - date.getTime()) / (1000 * 60 * 60);
40
+ }
41
+ /**
42
+ * Calculate milliseconds until a given time string (HH:MM) in a timezone.
43
+ */
44
+ export function msUntilTime(timeStr, timezone) {
45
+ const [hours, minutes] = timeStr.split(':').map(Number);
46
+ const now = new Date();
47
+ const target = new Date(now);
48
+ // Simplified timezone handling — in production use a proper tz library
49
+ target.setHours(hours, minutes, 0, 0);
50
+ if (target.getTime() <= now.getTime()) {
51
+ target.setDate(target.getDate() + 1);
52
+ }
53
+ return target.getTime() - now.getTime();
54
+ }
55
+ /**
56
+ * Sanitize page content to guard against prompt injection.
57
+ */
58
+ export function sanitizePageContent(raw) {
59
+ return raw
60
+ .replace(/ignore previous instructions/gi, '[FILTERED]')
61
+ .replace(/system prompt/gi, '[FILTERED]')
62
+ .replace(/you are now/gi, '[FILTERED]')
63
+ .replace(/disregard/gi, '[FILTERED]')
64
+ .slice(0, 2000);
65
+ }
66
+ /**
67
+ * Generate Bezier control points for natural mouse movement.
68
+ */
69
+ export function generateBezierControlPoints(start, end) {
70
+ const midX = (start.x + end.x) / 2;
71
+ const midY = (start.y + end.y) / 2;
72
+ const spread = Math.sqrt((end.x - start.x) ** 2 + (end.y - start.y) ** 2) * 0.3;
73
+ return [
74
+ start,
75
+ { x: midX + randomBetween(-spread, spread), y: midY + randomBetween(-spread, spread) },
76
+ { x: midX + randomBetween(-spread, spread), y: midY + randomBetween(-spread, spread) },
77
+ end,
78
+ ];
79
+ }
80
+ /**
81
+ * Interpolate points along a cubic Bezier curve.
82
+ */
83
+ export function interpolateBezier(points, steps) {
84
+ const [p0, p1, p2, p3] = points;
85
+ const result = [];
86
+ for (let i = 0; i <= steps; i++) {
87
+ const t = i / steps;
88
+ const u = 1 - t;
89
+ const x = u ** 3 * p0.x + 3 * u ** 2 * t * p1.x + 3 * u * t ** 2 * p2.x + t ** 3 * p3.x;
90
+ const y = u ** 3 * p0.y + 3 * u ** 2 * t * p1.y + 3 * u * t ** 2 * p2.y + t ** 3 * p3.y;
91
+ result.push({ x: Math.round(x), y: Math.round(y) });
92
+ }
93
+ return result;
94
+ }
95
+ /**
96
+ * Create a simple logger using pino-like interface.
97
+ */
98
+ export function createWorkflowLogger(workflowName, accountId) {
99
+ const prefix = `[${workflowName}][${accountId}]`;
100
+ return {
101
+ step(name) {
102
+ console.log(`${prefix} step: ${name}`);
103
+ },
104
+ info(msg, data) {
105
+ console.log(`${prefix} ${msg}`, data ?? '');
106
+ },
107
+ warn(msg, data) {
108
+ console.warn(`${prefix} ${msg}`, data ?? '');
109
+ },
110
+ error(msg, data) {
111
+ console.error(`${prefix} ${msg}`, data ?? '');
112
+ },
113
+ };
114
+ }
115
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { OpenClawRuntime, Account, ContentCampaignConfig } from '../types/index.js';
2
+ import { FingerprintGuard } from '../risk/fingerprint-guard.js';
3
+ import { RateGuard } from '../risk/rate-guard.js';
4
+ import type { AppDatabase } from '../storage/database.js';
5
+ import type { KVStore } from '../storage/kv-store.js';
6
+ interface CampaignState {
7
+ campaignId: string;
8
+ config: ContentCampaignConfig;
9
+ accountId: string;
10
+ publishedNotes: Array<{
11
+ noteId: string;
12
+ topic: string;
13
+ publishedAt: string;
14
+ }>;
15
+ remainingTopics: string[];
16
+ startedAt: string;
17
+ status: 'active' | 'paused' | 'completed';
18
+ }
19
+ export declare class ContentCampaignWorkflow {
20
+ private runtime;
21
+ private db;
22
+ private kvStore;
23
+ private fingerprintGuard;
24
+ private rateGuard;
25
+ private copywriter;
26
+ private imageComposer;
27
+ private publishAction;
28
+ constructor(runtime: OpenClawRuntime, db: AppDatabase, kvStore: KVStore, fingerprintGuard: FingerprintGuard, rateGuard: RateGuard);
29
+ /**
30
+ * Start a new content campaign.
31
+ */
32
+ startCampaign(account: Account, config: ContentCampaignConfig): Promise<string>;
33
+ /**
34
+ * Execute today's portion of a campaign.
35
+ */
36
+ executeDailyBatch(account: Account, campaignId: string): Promise<{
37
+ published: number;
38
+ remaining: number;
39
+ }>;
40
+ /**
41
+ * Pause a running campaign.
42
+ */
43
+ pauseCampaign(campaignId: string): void;
44
+ /**
45
+ * Resume a paused campaign.
46
+ */
47
+ resumeCampaign(campaignId: string): void;
48
+ /**
49
+ * Get campaign status.
50
+ */
51
+ getCampaignStatus(campaignId: string): CampaignState | null;
52
+ /**
53
+ * Expand topic list to match the total number of notes needed.
54
+ */
55
+ private expandTopics;
56
+ }
57
+ export {};
58
+ //# sourceMappingURL=content-campaign.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-campaign.d.ts","sourceRoot":"","sources":["../../src/workflows/content-campaign.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,eAAe,EACf,OAAO,EACP,qBAAqB,EAEtB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGtD,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;CAC3C;AAED,qBAAa,uBAAuB;IAMhC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,SAAS;IATnB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;gBAG3B,OAAO,EAAE,eAAe,EACxB,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,OAAO,EAChB,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,SAAS;IAO9B;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC;IAwBrF;;OAEG;IACG,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAyEhH;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQvC;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAQxC;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAI3D;;OAEG;IACH,OAAO,CAAC,YAAY;CAcrB"}