@talocode/sdk 0.1.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.
Files changed (63) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +65 -0
  3. package/dist/agent-browser.d.ts +11 -0
  4. package/dist/agent-browser.js +40 -0
  5. package/dist/agent-browser.js.map +1 -0
  6. package/dist/cliploop.d.ts +17 -0
  7. package/dist/cliploop.js +56 -0
  8. package/dist/cliploop.js.map +1 -0
  9. package/dist/codra.d.ts +12 -0
  10. package/dist/codra.js +47 -0
  11. package/dist/codra.js.map +1 -0
  12. package/dist/crawlerlane.d.ts +115 -0
  13. package/dist/crawlerlane.js +93 -0
  14. package/dist/crawlerlane.js.map +1 -0
  15. package/dist/errors.d.ts +24 -0
  16. package/dist/errors.js +58 -0
  17. package/dist/errors.js.map +1 -0
  18. package/dist/forgecad.d.ts +139 -0
  19. package/dist/forgecad.js +49 -0
  20. package/dist/forgecad.js.map +1 -0
  21. package/dist/index.d.ts +170 -0
  22. package/dist/index.js +178 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/invoicelane.d.ts +53 -0
  25. package/dist/invoicelane.js +45 -0
  26. package/dist/invoicelane.js.map +1 -0
  27. package/dist/opensourcelane.d.ts +135 -0
  28. package/dist/opensourcelane.js +101 -0
  29. package/dist/opensourcelane.js.map +1 -0
  30. package/dist/placeholders.d.ts +9 -0
  31. package/dist/placeholders.js +23 -0
  32. package/dist/placeholders.js.map +1 -0
  33. package/dist/replylane.d.ts +113 -0
  34. package/dist/replylane.js +83 -0
  35. package/dist/replylane.js.map +1 -0
  36. package/dist/request.d.ts +7 -0
  37. package/dist/request.js +77 -0
  38. package/dist/request.js.map +1 -0
  39. package/dist/router.d.ts +12 -0
  40. package/dist/router.js +44 -0
  41. package/dist/router.js.map +1 -0
  42. package/dist/signallane.d.ts +76 -0
  43. package/dist/signallane.js +45 -0
  44. package/dist/signallane.js.map +1 -0
  45. package/dist/skills.d.ts +19 -0
  46. package/dist/skills.js +48 -0
  47. package/dist/skills.js.map +1 -0
  48. package/dist/talocode.d.ts +51 -0
  49. package/dist/talocode.js +82 -0
  50. package/dist/talocode.js.map +1 -0
  51. package/dist/tera.d.ts +15 -0
  52. package/dist/tera.js +65 -0
  53. package/dist/tera.js.map +1 -0
  54. package/dist/types.d.ts +398 -0
  55. package/dist/types.js +4 -0
  56. package/dist/types.js.map +1 -0
  57. package/dist/ugclane.d.ts +105 -0
  58. package/dist/ugclane.js +93 -0
  59. package/dist/ugclane.js.map +1 -0
  60. package/dist/webdatalane.d.ts +74 -0
  61. package/dist/webdatalane.js +63 -0
  62. package/dist/webdatalane.js.map +1 -0
  63. package/package.json +49 -0
@@ -0,0 +1,398 @@
1
+ export interface UsageMeta {
2
+ credits: number;
3
+ action: string;
4
+ }
5
+ export interface ApiErrorShape {
6
+ code: string;
7
+ message: string;
8
+ requestId?: string;
9
+ details?: Record<string, unknown>;
10
+ required?: number;
11
+ available?: number;
12
+ }
13
+ export interface TeraRewriteInput {
14
+ text: string;
15
+ style?: string;
16
+ tone?: string;
17
+ maxLength?: number;
18
+ }
19
+ export interface TeraRewriteResult {
20
+ text: string;
21
+ notes: string[];
22
+ }
23
+ export interface TeraDraftInput {
24
+ type: 'email' | 'social_post' | 'announcement' | 'article' | 'doc' | 'custom';
25
+ brief: string;
26
+ audience?: string;
27
+ tone?: string;
28
+ maxLength?: number;
29
+ customType?: string;
30
+ points?: string[];
31
+ }
32
+ export interface TeraDraftResult {
33
+ text: string;
34
+ notes: string[];
35
+ }
36
+ export interface TeraExplainInput {
37
+ language: string;
38
+ code: string;
39
+ level?: 'beginner' | 'intermediate' | 'advanced';
40
+ focus?: string[];
41
+ }
42
+ export interface TeraExplainResult {
43
+ explanation: string;
44
+ keyConcepts: string[];
45
+ suggestions?: string[];
46
+ }
47
+ export interface TeraReviewInput {
48
+ language: string;
49
+ code: string;
50
+ focus?: string[];
51
+ strictness?: 'gentle' | 'normal' | 'strict';
52
+ }
53
+ export interface TeraReviewResult {
54
+ issues: TeraReviewIssue[];
55
+ summary: string;
56
+ score: number;
57
+ }
58
+ export interface TeraReviewIssue {
59
+ severity: 'critical' | 'warning' | 'info';
60
+ category: string;
61
+ title: string;
62
+ description: string;
63
+ line?: number;
64
+ suggestion?: string;
65
+ }
66
+ export interface TeraCapabilityEntry {
67
+ id: string;
68
+ object: string;
69
+ description: string;
70
+ credits: number;
71
+ methods: string[];
72
+ routes: string[];
73
+ }
74
+ export interface TeraPricingEntry {
75
+ action: string;
76
+ credits: number;
77
+ usdValue: number;
78
+ }
79
+ export interface TeraSuccessResponse<T> {
80
+ id: string;
81
+ object: string;
82
+ result: T;
83
+ usage: UsageMeta;
84
+ }
85
+ export interface TeraListResponse<T> {
86
+ object: 'list';
87
+ data: T[];
88
+ }
89
+ export interface TeraHealthResponse {
90
+ status: string;
91
+ version: string;
92
+ endpoints: string[];
93
+ }
94
+ export interface RouterChatInput {
95
+ model: string;
96
+ messages: RouterMessage[];
97
+ max_tokens?: number;
98
+ temperature?: number;
99
+ stream?: boolean;
100
+ requestId?: string;
101
+ }
102
+ export interface RouterMessage {
103
+ role: 'user' | 'assistant' | 'system';
104
+ content: string;
105
+ }
106
+ export interface RouterChatResponse {
107
+ id: string;
108
+ object: string;
109
+ created: number;
110
+ model: string;
111
+ provider: string;
112
+ choices: RouterChoice[];
113
+ usage: RouterUsage;
114
+ }
115
+ export interface RouterChoice {
116
+ index: number;
117
+ message: RouterMessage;
118
+ finish_reason: string;
119
+ }
120
+ export interface RouterUsage {
121
+ prompt_tokens: number;
122
+ completion_tokens: number;
123
+ total_tokens: number;
124
+ }
125
+ export interface RouterModel {
126
+ id: string;
127
+ object: string;
128
+ created: number;
129
+ owned_by: string;
130
+ context_length?: number;
131
+ }
132
+ export interface RouterModelsResponse {
133
+ object: 'list';
134
+ data: RouterModel[];
135
+ }
136
+ export interface RouterHealthResponse {
137
+ status: string;
138
+ provider: string;
139
+ model: string;
140
+ requestId: string;
141
+ }
142
+ export interface RouterProviderInfo {
143
+ name: string;
144
+ status: string;
145
+ models: string[];
146
+ }
147
+ export interface RouterProvidersResponse {
148
+ object: 'list';
149
+ data: RouterProviderInfo[];
150
+ }
151
+ export interface AgentBrowserCheckInput {
152
+ url: string;
153
+ screenshot?: boolean;
154
+ vision?: boolean;
155
+ sessionId?: string;
156
+ }
157
+ export interface AgentBrowserCheckResult {
158
+ status: 'up' | 'down' | 'error';
159
+ statusCode: number;
160
+ title?: string;
161
+ screenshot?: string;
162
+ vision?: string;
163
+ checks: AgentBrowserCheck[];
164
+ durationMs: number;
165
+ url: string;
166
+ finalUrl?: string;
167
+ }
168
+ export interface AgentBrowserCheck {
169
+ name: string;
170
+ passed: boolean;
171
+ detail?: string;
172
+ }
173
+ export interface AgentBrowserScreenshotInput {
174
+ url: string;
175
+ fullPage?: boolean;
176
+ width?: number;
177
+ height?: number;
178
+ sessionId?: string;
179
+ }
180
+ export interface AgentBrowserScreenshotResult {
181
+ url: string;
182
+ screenshot: string;
183
+ width: number;
184
+ height: number;
185
+ durationMs: number;
186
+ }
187
+ export interface AgentBrowserTraceReportInput {
188
+ url: string;
189
+ sessionId?: string;
190
+ steps: {
191
+ action: string;
192
+ selector?: string;
193
+ value?: string;
194
+ }[];
195
+ }
196
+ export interface AgentBrowserTraceReportResult {
197
+ url: string;
198
+ steps: number;
199
+ passed: number;
200
+ failed: number;
201
+ durationMs: number;
202
+ reportUrl?: string;
203
+ }
204
+ export interface ClipLoopBriefInput {
205
+ prompt: string;
206
+ channel?: 'youtube' | 'tiktok' | 'instagram' | 'twitter' | 'linkedin';
207
+ tone?: string;
208
+ duration?: number;
209
+ cta?: string;
210
+ }
211
+ export interface ClipLoopBriefResult {
212
+ id: string;
213
+ brief: string;
214
+ channel: string;
215
+ estimatedDuration: number;
216
+ }
217
+ export interface ClipLoopScriptInput {
218
+ briefId: string;
219
+ style?: string;
220
+ }
221
+ export interface ClipLoopScriptResult {
222
+ id: string;
223
+ script: string;
224
+ scenes: ClipLoopScriptScene[];
225
+ }
226
+ export interface ClipLoopScriptScene {
227
+ index: number;
228
+ visual: string;
229
+ narration: string;
230
+ duration: number;
231
+ }
232
+ export interface ClipLoopVideoRenderInput {
233
+ scriptId: string;
234
+ format?: 'portrait' | 'landscape' | 'square';
235
+ quality?: 'draft' | 'standard' | 'high';
236
+ }
237
+ export interface ClipLoopVideoRenderResult {
238
+ id: string;
239
+ status: 'rendering' | 'completed' | 'failed';
240
+ url?: string;
241
+ duration: number;
242
+ creditsCharged: number;
243
+ }
244
+ export interface ClipLoopCampaignCreateInput {
245
+ name: string;
246
+ platform: string;
247
+ schedule?: string;
248
+ }
249
+ export interface ClipLoopCampaignResult {
250
+ id: string;
251
+ name: string;
252
+ status: string;
253
+ videos: string[];
254
+ }
255
+ export interface CodraFileInput {
256
+ path: string;
257
+ content: string;
258
+ }
259
+ export interface CodraRepoSummaryInput {
260
+ files: CodraFileInput[];
261
+ focus?: string[];
262
+ }
263
+ export interface CodraRepoSummaryResult {
264
+ summary: string;
265
+ architecture: string[];
266
+ risks: string[];
267
+ nextSteps: string[];
268
+ }
269
+ export interface CodraExplainInput {
270
+ language: string;
271
+ code: string;
272
+ level?: 'beginner' | 'intermediate' | 'expert';
273
+ }
274
+ export interface CodraExplainResult {
275
+ explanation: string;
276
+ keyConcepts: string[];
277
+ suggestions?: string[];
278
+ }
279
+ export interface CodraReviewInput {
280
+ language: string;
281
+ code: string;
282
+ focus?: string[];
283
+ strictness?: 'gentle' | 'normal' | 'strict';
284
+ }
285
+ export interface CodraReviewResult {
286
+ issues: CodraReviewIssue[];
287
+ summary: string;
288
+ score: number;
289
+ }
290
+ export interface CodraReviewIssue {
291
+ severity: 'critical' | 'warning' | 'info';
292
+ category: string;
293
+ title: string;
294
+ description: string;
295
+ line?: number;
296
+ suggestion?: string;
297
+ }
298
+ export interface CodraPlanInput {
299
+ task: string;
300
+ context?: string;
301
+ constraints?: string[];
302
+ }
303
+ export interface CodraPlanResult {
304
+ plan: string;
305
+ steps: CodraPlanStep[];
306
+ risks: string[];
307
+ estimatedEffort: string;
308
+ }
309
+ export interface CodraPlanStep {
310
+ order: number;
311
+ title: string;
312
+ description: string;
313
+ files?: string[];
314
+ effort: 'small' | 'medium' | 'large';
315
+ }
316
+ export interface CodraSuccessResponse<T> {
317
+ id: string;
318
+ object: string;
319
+ result: T;
320
+ usage: {
321
+ credits: number;
322
+ action: string;
323
+ };
324
+ }
325
+ export interface SkillsGenerateProfileInput {
326
+ username: string;
327
+ target: 'cursor' | 'claude' | 'opencode' | 'codra';
328
+ focus?: string[];
329
+ includeRepositories?: boolean;
330
+ maxRepositories?: number;
331
+ }
332
+ export interface SkillsGenerateRepoInput {
333
+ repoUrl: string;
334
+ target: 'cursor' | 'claude' | 'opencode' | 'codra';
335
+ focus?: string[];
336
+ }
337
+ export interface SkillsGenerateDocsInput {
338
+ url: string;
339
+ target: 'cursor' | 'claude' | 'opencode' | 'codra';
340
+ focus?: string[];
341
+ }
342
+ export interface SkillsGenerateTextInput {
343
+ name: string;
344
+ content: string;
345
+ target: 'cursor' | 'claude' | 'opencode' | 'codra';
346
+ focus?: string[];
347
+ }
348
+ export interface SkillsExportInput {
349
+ skill: {
350
+ name: string;
351
+ skillMd: string;
352
+ metadata?: Record<string, unknown>;
353
+ };
354
+ }
355
+ export interface SkillsExportFile {
356
+ path: string;
357
+ content: string;
358
+ }
359
+ export interface SkillsExportResult {
360
+ files: SkillsExportFile[];
361
+ }
362
+ export interface SkillsGenerated {
363
+ name: string;
364
+ title: string;
365
+ description: string;
366
+ skillMd: string;
367
+ references?: {
368
+ path: string;
369
+ content: string;
370
+ }[];
371
+ metadata: Record<string, unknown>;
372
+ }
373
+ export interface SkillsGenerateResult {
374
+ id: string;
375
+ object: string;
376
+ source: {
377
+ type: 'github_profile' | 'github_repo' | 'docs' | 'text';
378
+ username?: string;
379
+ repoUrl?: string;
380
+ url?: string;
381
+ name?: string;
382
+ };
383
+ skill: SkillsGenerated;
384
+ exports: {
385
+ cursor?: {
386
+ files: SkillsExportFile[];
387
+ };
388
+ claude?: {
389
+ files: SkillsExportFile[];
390
+ };
391
+ };
392
+ usage: UsageMeta;
393
+ }
394
+ export interface SkillsHealthResponse {
395
+ status: string;
396
+ version: string;
397
+ endpoints: string[];
398
+ }
package/dist/types.js ADDED
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // ─── Common ───
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,iBAAiB"}
@@ -0,0 +1,105 @@
1
+ import { TalocodeApiClient } from './talocode.js';
2
+ export interface UGCLaneStrategyInput {
3
+ goal: string;
4
+ niche?: string;
5
+ platform?: string;
6
+ constraints?: string[];
7
+ }
8
+ export interface UGCLaneCompetitorInput {
9
+ competitors: string[];
10
+ niche?: string;
11
+ depth?: 'basic' | 'detailed' | 'deep';
12
+ }
13
+ export interface UGCLaneHooksInput {
14
+ topic: string;
15
+ platform?: string;
16
+ count?: number;
17
+ tone?: string;
18
+ }
19
+ export interface UGCLaneScriptsInput {
20
+ topic: string;
21
+ format?: 'short' | 'long' | 'series';
22
+ platform?: string;
23
+ tone?: string;
24
+ cta?: string;
25
+ }
26
+ export interface UGCLaneAccountsPlanInput {
27
+ platform: string;
28
+ goal: string;
29
+ metrics?: Record<string, unknown>;
30
+ timeline?: string;
31
+ }
32
+ export interface UGCLaneCalendarInput {
33
+ platform: string;
34
+ month?: string;
35
+ goals?: string[];
36
+ themes?: string[];
37
+ postFrequency?: string;
38
+ }
39
+ export interface UGCLaneExperimentsInput {
40
+ platform: string;
41
+ goal: string;
42
+ variables?: string[];
43
+ durationDays?: number;
44
+ }
45
+ export interface UGCLaneReportInput {
46
+ platform: string;
47
+ period: string;
48
+ metrics: Record<string, unknown>;
49
+ goal?: string;
50
+ }
51
+ export interface UGCLaneExportMarkdownInput {
52
+ content: Record<string, unknown>;
53
+ title?: string;
54
+ sections?: string[];
55
+ }
56
+ export interface UGCLaneExportJsonInput {
57
+ content: Record<string, unknown>;
58
+ format?: 'pretty' | 'compact';
59
+ }
60
+ export interface UGCLaneResponse<T> {
61
+ data: T;
62
+ usage: {
63
+ action: string;
64
+ credits: number;
65
+ remaining: number;
66
+ };
67
+ }
68
+ export declare class UGCLaneClient {
69
+ private api;
70
+ constructor(api: TalocodeApiClient);
71
+ health(): Promise<{
72
+ ok: boolean;
73
+ service: string;
74
+ version: string;
75
+ timestamp: string;
76
+ }>;
77
+ strategy: {
78
+ generate: (input: UGCLaneStrategyInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
79
+ };
80
+ competitor: {
81
+ analyze: (input: UGCLaneCompetitorInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
82
+ };
83
+ hooks: {
84
+ generate: (input: UGCLaneHooksInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
85
+ };
86
+ scripts: {
87
+ generate: (input: UGCLaneScriptsInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
88
+ };
89
+ accounts: {
90
+ plan: (input: UGCLaneAccountsPlanInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
91
+ };
92
+ calendar: {
93
+ generate: (input: UGCLaneCalendarInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
94
+ };
95
+ experiments: {
96
+ generate: (input: UGCLaneExperimentsInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
97
+ };
98
+ report: {
99
+ generate: (input: UGCLaneReportInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
100
+ };
101
+ export: {
102
+ markdown: (input: UGCLaneExportMarkdownInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
103
+ json: (input: UGCLaneExportJsonInput) => Promise<UGCLaneResponse<Record<string, unknown>>>;
104
+ };
105
+ }
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UGCLaneClient = void 0;
4
+ class UGCLaneClient {
5
+ api;
6
+ constructor(api) {
7
+ this.api = api;
8
+ }
9
+ async health() {
10
+ const res = await this.api.request('/v1/ugclane/health');
11
+ return res;
12
+ }
13
+ strategy = {
14
+ generate: async (input) => {
15
+ return this.api.request('/v1/ugclane/strategy/generate', {
16
+ method: 'POST',
17
+ body: input,
18
+ });
19
+ },
20
+ };
21
+ competitor = {
22
+ analyze: async (input) => {
23
+ return this.api.request('/v1/ugclane/competitor/analyze', {
24
+ method: 'POST',
25
+ body: input,
26
+ });
27
+ },
28
+ };
29
+ hooks = {
30
+ generate: async (input) => {
31
+ return this.api.request('/v1/ugclane/hooks/generate', {
32
+ method: 'POST',
33
+ body: input,
34
+ });
35
+ },
36
+ };
37
+ scripts = {
38
+ generate: async (input) => {
39
+ return this.api.request('/v1/ugclane/scripts/generate', {
40
+ method: 'POST',
41
+ body: input,
42
+ });
43
+ },
44
+ };
45
+ accounts = {
46
+ plan: async (input) => {
47
+ return this.api.request('/v1/ugclane/accounts/plan', {
48
+ method: 'POST',
49
+ body: input,
50
+ });
51
+ },
52
+ };
53
+ calendar = {
54
+ generate: async (input) => {
55
+ return this.api.request('/v1/ugclane/calendar/generate', {
56
+ method: 'POST',
57
+ body: input,
58
+ });
59
+ },
60
+ };
61
+ experiments = {
62
+ generate: async (input) => {
63
+ return this.api.request('/v1/ugclane/experiments/generate', {
64
+ method: 'POST',
65
+ body: input,
66
+ });
67
+ },
68
+ };
69
+ report = {
70
+ generate: async (input) => {
71
+ return this.api.request('/v1/ugclane/report/generate', {
72
+ method: 'POST',
73
+ body: input,
74
+ });
75
+ },
76
+ };
77
+ export = {
78
+ markdown: async (input) => {
79
+ return this.api.request('/v1/ugclane/export/markdown', {
80
+ method: 'POST',
81
+ body: input,
82
+ });
83
+ },
84
+ json: async (input) => {
85
+ return this.api.request('/v1/ugclane/export/json', {
86
+ method: 'POST',
87
+ body: input,
88
+ });
89
+ },
90
+ };
91
+ }
92
+ exports.UGCLaneClient = UGCLaneClient;
93
+ //# sourceMappingURL=ugclane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ugclane.js","sourceRoot":"","sources":["../src/ugclane.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import { TalocodeApiClient } from './talocode.js';
2
+ export interface WebDataLaneFetchInput {
3
+ url: string;
4
+ timeoutMs?: number;
5
+ userAgent?: string;
6
+ maxBytes?: number;
7
+ }
8
+ export interface WebDataLaneExtractInput {
9
+ url?: string;
10
+ html?: string;
11
+ include?: string[];
12
+ timeoutMs?: number;
13
+ }
14
+ export interface WebDataLaneMarkdownInput {
15
+ url?: string;
16
+ html?: string;
17
+ stripNavigation?: boolean;
18
+ includeLinks?: boolean;
19
+ }
20
+ export interface WebDataLaneMetadataInput {
21
+ url?: string;
22
+ html?: string;
23
+ }
24
+ export interface WebDataLaneLinksInput {
25
+ url?: string;
26
+ html?: string;
27
+ internalOnly?: boolean;
28
+ }
29
+ export interface WebDataLaneStructuredInput {
30
+ url?: string;
31
+ html?: string;
32
+ schema: Record<string, string>;
33
+ hints?: Record<string, string[]>;
34
+ }
35
+ export interface WebDataLaneCrawlPlanInput {
36
+ url?: string;
37
+ html?: string;
38
+ maxPages?: number;
39
+ sameDomainOnly?: boolean;
40
+ includePatterns?: string[];
41
+ excludePatterns?: string[];
42
+ }
43
+ export interface WebDataLaneScreenshotInput {
44
+ url: string;
45
+ width?: number;
46
+ height?: number;
47
+ fullPage?: boolean;
48
+ }
49
+ export interface WebDataLaneResponse<T> {
50
+ data: T;
51
+ usage: {
52
+ action: string;
53
+ credits: number;
54
+ remaining: number;
55
+ };
56
+ }
57
+ export declare class WebDataLaneClient {
58
+ private api;
59
+ constructor(api: TalocodeApiClient);
60
+ health(): Promise<{
61
+ ok: boolean;
62
+ service: string;
63
+ version: string;
64
+ timestamp: string;
65
+ }>;
66
+ fetch(input: WebDataLaneFetchInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
67
+ extract(input: WebDataLaneExtractInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
68
+ markdown(input: WebDataLaneMarkdownInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
69
+ metadata(input: WebDataLaneMetadataInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
70
+ links(input: WebDataLaneLinksInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
71
+ structured(input: WebDataLaneStructuredInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
72
+ crawlPlan(input: WebDataLaneCrawlPlanInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
73
+ screenshot(input: WebDataLaneScreenshotInput): Promise<WebDataLaneResponse<Record<string, unknown>>>;
74
+ }