@automate.ax/api-contract 0.155.0 → 0.156.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.
@@ -306,9 +306,9 @@ export declare const deploymentOutputSchema: z.ZodObject<{
306
306
  name: z.ZodOptional<z.ZodString>;
307
307
  path: z.ZodArray<z.ZodNumber>;
308
308
  presentation: z.ZodEnum<{
309
+ hidden: "hidden";
309
310
  collapsed: "collapsed";
310
311
  expanded: "expanded";
311
- hidden: "hidden";
312
312
  }>;
313
313
  }, z.core.$strip>>;
314
314
  subscriptions: z.ZodArray<z.ZodObject<{
@@ -706,9 +706,9 @@ export declare const deploymentContract: {
706
706
  name: z.ZodOptional<z.ZodString>;
707
707
  path: z.ZodArray<z.ZodNumber>;
708
708
  presentation: z.ZodEnum<{
709
+ hidden: "hidden";
709
710
  collapsed: "collapsed";
710
711
  expanded: "expanded";
711
- hidden: "hidden";
712
712
  }>;
713
713
  }, z.core.$strip>>;
714
714
  subscriptions: z.ZodArray<z.ZodObject<{
@@ -1060,9 +1060,9 @@ export declare const deploymentContract: {
1060
1060
  name: z.ZodOptional<z.ZodString>;
1061
1061
  path: z.ZodArray<z.ZodNumber>;
1062
1062
  presentation: z.ZodEnum<{
1063
+ hidden: "hidden";
1063
1064
  collapsed: "collapsed";
1064
1065
  expanded: "expanded";
1065
- hidden: "hidden";
1066
1066
  }>;
1067
1067
  }, z.core.$strip>>;
1068
1068
  subscriptions: z.ZodArray<z.ZodObject<{
package/dist/index.d.ts CHANGED
@@ -892,9 +892,9 @@ export declare const publicContract: {
892
892
  name: import("zod").ZodOptional<import("zod").ZodString>;
893
893
  path: import("zod").ZodArray<import("zod").ZodNumber>;
894
894
  presentation: import("zod").ZodEnum<{
895
+ hidden: "hidden";
895
896
  collapsed: "collapsed";
896
897
  expanded: "expanded";
897
- hidden: "hidden";
898
898
  }>;
899
899
  }, import("zod/v4/core").$strip>>;
900
900
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -1246,9 +1246,9 @@ export declare const publicContract: {
1246
1246
  name: import("zod").ZodOptional<import("zod").ZodString>;
1247
1247
  path: import("zod").ZodArray<import("zod").ZodNumber>;
1248
1248
  presentation: import("zod").ZodEnum<{
1249
+ hidden: "hidden";
1249
1250
  collapsed: "collapsed";
1250
1251
  expanded: "expanded";
1251
- hidden: "hidden";
1252
1252
  }>;
1253
1253
  }, import("zod/v4/core").$strip>>;
1254
1254
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -1420,11 +1420,13 @@ export declare const publicContract: {
1420
1420
  executionRetentionDays: import("zod").ZodNumber;
1421
1421
  projects: import("zod").ZodNumber;
1422
1422
  seats: import("zod").ZodNumber;
1423
+ webScrapingMinutes: import("zod").ZodNumber;
1423
1424
  }, import("zod/v4/core").$strip>;
1424
1425
  usage: import("zod").ZodObject<{
1425
1426
  aiSpendUsd: import("zod").ZodNumber;
1426
1427
  automationRuntimeMs: import("zod").ZodNumber;
1427
1428
  emailSends: import("zod").ZodNumber;
1429
+ webScrapingMs: import("zod").ZodNumber;
1428
1430
  }, import("zod/v4/core").$strip>;
1429
1431
  members: import("zod").ZodArray<import("zod").ZodObject<{
1430
1432
  id: import("zod").ZodString;
@@ -1513,11 +1515,13 @@ export declare const publicContract: {
1513
1515
  executionRetentionDays: import("zod").ZodNumber;
1514
1516
  projects: import("zod").ZodNumber;
1515
1517
  seats: import("zod").ZodNumber;
1518
+ webScrapingMinutes: import("zod").ZodNumber;
1516
1519
  }, import("zod/v4/core").$strip>;
1517
1520
  usage: import("zod").ZodObject<{
1518
1521
  aiSpendUsd: import("zod").ZodNumber;
1519
1522
  automationRuntimeMs: import("zod").ZodNumber;
1520
1523
  emailSends: import("zod").ZodNumber;
1524
+ webScrapingMs: import("zod").ZodNumber;
1521
1525
  }, import("zod/v4/core").$strip>;
1522
1526
  }, import("zod/v4/core").$strip>>;
1523
1527
  pageInfo: import("zod").ZodObject<{
@@ -2054,9 +2058,9 @@ export declare const firstPartyContract: {
2054
2058
  name: import("zod").ZodOptional<import("zod").ZodString>;
2055
2059
  path: import("zod").ZodArray<import("zod").ZodNumber>;
2056
2060
  presentation: import("zod").ZodEnum<{
2061
+ hidden: "hidden";
2057
2062
  collapsed: "collapsed";
2058
2063
  expanded: "expanded";
2059
- hidden: "hidden";
2060
2064
  }>;
2061
2065
  }, import("zod/v4/core").$strip>>;
2062
2066
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -2408,9 +2412,9 @@ export declare const firstPartyContract: {
2408
2412
  name: import("zod").ZodOptional<import("zod").ZodString>;
2409
2413
  path: import("zod").ZodArray<import("zod").ZodNumber>;
2410
2414
  presentation: import("zod").ZodEnum<{
2415
+ hidden: "hidden";
2411
2416
  collapsed: "collapsed";
2412
2417
  expanded: "expanded";
2413
- hidden: "hidden";
2414
2418
  }>;
2415
2419
  }, import("zod/v4/core").$strip>>;
2416
2420
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -2568,11 +2572,13 @@ export declare const firstPartyContract: {
2568
2572
  executionRetentionDays: import("zod").ZodNumber;
2569
2573
  projects: import("zod").ZodNumber;
2570
2574
  seats: import("zod").ZodNumber;
2575
+ webScrapingMinutes: import("zod").ZodNumber;
2571
2576
  }, import("zod/v4/core").$strip>;
2572
2577
  usage: import("zod").ZodObject<{
2573
2578
  aiSpendUsd: import("zod").ZodNumber;
2574
2579
  automationRuntimeMs: import("zod").ZodNumber;
2575
2580
  emailSends: import("zod").ZodNumber;
2581
+ webScrapingMs: import("zod").ZodNumber;
2576
2582
  }, import("zod/v4/core").$strip>;
2577
2583
  members: import("zod").ZodArray<import("zod").ZodObject<{
2578
2584
  id: import("zod").ZodString;
@@ -2661,11 +2667,13 @@ export declare const firstPartyContract: {
2661
2667
  executionRetentionDays: import("zod").ZodNumber;
2662
2668
  projects: import("zod").ZodNumber;
2663
2669
  seats: import("zod").ZodNumber;
2670
+ webScrapingMinutes: import("zod").ZodNumber;
2664
2671
  }, import("zod/v4/core").$strip>;
2665
2672
  usage: import("zod").ZodObject<{
2666
2673
  aiSpendUsd: import("zod").ZodNumber;
2667
2674
  automationRuntimeMs: import("zod").ZodNumber;
2668
2675
  emailSends: import("zod").ZodNumber;
2676
+ webScrapingMs: import("zod").ZodNumber;
2669
2677
  }, import("zod/v4/core").$strip>;
2670
2678
  }, import("zod/v4/core").$strip>>;
2671
2679
  pageInfo: import("zod").ZodObject<{
@@ -8513,6 +8521,135 @@ export declare const contract: {
8513
8521
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
8514
8522
  key: import("zod").ZodString;
8515
8523
  }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
8524
+ startWebScrape: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8525
+ html: import("zod").ZodOptional<import("zod").ZodString>;
8526
+ url: import("zod").ZodOptional<import("zod").ZodURL>;
8527
+ userAgent: import("zod").ZodOptional<import("zod").ZodString>;
8528
+ actionTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
8529
+ addScriptTag: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
8530
+ content: import("zod").ZodOptional<import("zod").ZodString>;
8531
+ id: import("zod").ZodOptional<import("zod").ZodString>;
8532
+ type: import("zod").ZodOptional<import("zod").ZodString>;
8533
+ url: import("zod").ZodOptional<import("zod").ZodURL>;
8534
+ }, import("zod/v4/core").$strip>>>;
8535
+ addStyleTag: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
8536
+ content: import("zod").ZodOptional<import("zod").ZodString>;
8537
+ url: import("zod").ZodOptional<import("zod").ZodURL>;
8538
+ }, import("zod/v4/core").$strip>>>;
8539
+ allowRequestPattern: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
8540
+ allowResourceTypes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
8541
+ document: "document";
8542
+ font: "font";
8543
+ image: "image";
8544
+ manifest: "manifest";
8545
+ script: "script";
8546
+ stylesheet: "stylesheet";
8547
+ media: "media";
8548
+ texttrack: "texttrack";
8549
+ xhr: "xhr";
8550
+ fetch: "fetch";
8551
+ prefetch: "prefetch";
8552
+ eventsource: "eventsource";
8553
+ websocket: "websocket";
8554
+ signedexchange: "signedexchange";
8555
+ ping: "ping";
8556
+ cspviolationreport: "cspviolationreport";
8557
+ preflight: "preflight";
8558
+ other: "other";
8559
+ }>>>;
8560
+ authenticate: import("zod").ZodOptional<import("zod").ZodObject<{
8561
+ password: import("zod").ZodString;
8562
+ username: import("zod").ZodString;
8563
+ }, import("zod/v4/core").$strip>>;
8564
+ bestAttempt: import("zod").ZodOptional<import("zod").ZodBoolean>;
8565
+ cookies: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
8566
+ domain: import("zod").ZodOptional<import("zod").ZodString>;
8567
+ expires: import("zod").ZodOptional<import("zod").ZodNumber>;
8568
+ httpOnly: import("zod").ZodOptional<import("zod").ZodBoolean>;
8569
+ name: import("zod").ZodString;
8570
+ partitionKey: import("zod").ZodOptional<import("zod").ZodString>;
8571
+ path: import("zod").ZodOptional<import("zod").ZodString>;
8572
+ priority: import("zod").ZodOptional<import("zod").ZodEnum<{
8573
+ Low: "Low";
8574
+ Medium: "Medium";
8575
+ High: "High";
8576
+ }>>;
8577
+ sameParty: import("zod").ZodOptional<import("zod").ZodBoolean>;
8578
+ sameSite: import("zod").ZodOptional<import("zod").ZodEnum<{
8579
+ Strict: "Strict";
8580
+ Lax: "Lax";
8581
+ None: "None";
8582
+ }>>;
8583
+ secure: import("zod").ZodOptional<import("zod").ZodBoolean>;
8584
+ sourcePort: import("zod").ZodOptional<import("zod").ZodNumber>;
8585
+ sourceScheme: import("zod").ZodOptional<import("zod").ZodEnum<{
8586
+ Unset: "Unset";
8587
+ NonSecure: "NonSecure";
8588
+ Secure: "Secure";
8589
+ }>>;
8590
+ url: import("zod").ZodOptional<import("zod").ZodString>;
8591
+ value: import("zod").ZodString;
8592
+ }, import("zod/v4/core").$strip>>>;
8593
+ emulateMediaType: import("zod").ZodOptional<import("zod").ZodString>;
8594
+ gotoOptions: import("zod").ZodOptional<import("zod").ZodObject<{
8595
+ referer: import("zod").ZodOptional<import("zod").ZodString>;
8596
+ referrerPolicy: import("zod").ZodOptional<import("zod").ZodString>;
8597
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
8598
+ waitUntil: import("zod").ZodOptional<import("zod").ZodUnion<readonly [import("zod").ZodEnum<{
8599
+ load: "load";
8600
+ domcontentloaded: "domcontentloaded";
8601
+ networkidle0: "networkidle0";
8602
+ networkidle2: "networkidle2";
8603
+ }>, import("zod").ZodArray<import("zod").ZodEnum<{
8604
+ load: "load";
8605
+ domcontentloaded: "domcontentloaded";
8606
+ networkidle0: "networkidle0";
8607
+ networkidle2: "networkidle2";
8608
+ }>>]>>;
8609
+ }, import("zod/v4/core").$strip>>;
8610
+ rejectRequestPattern: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
8611
+ rejectResourceTypes: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<{
8612
+ document: "document";
8613
+ font: "font";
8614
+ image: "image";
8615
+ manifest: "manifest";
8616
+ script: "script";
8617
+ stylesheet: "stylesheet";
8618
+ media: "media";
8619
+ texttrack: "texttrack";
8620
+ xhr: "xhr";
8621
+ fetch: "fetch";
8622
+ prefetch: "prefetch";
8623
+ eventsource: "eventsource";
8624
+ websocket: "websocket";
8625
+ signedexchange: "signedexchange";
8626
+ ping: "ping";
8627
+ cspviolationreport: "cspviolationreport";
8628
+ preflight: "preflight";
8629
+ other: "other";
8630
+ }>>>;
8631
+ setExtraHttpHeaders: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
8632
+ setJavaScriptEnabled: import("zod").ZodOptional<import("zod").ZodBoolean>;
8633
+ viewport: import("zod").ZodOptional<import("zod").ZodObject<{
8634
+ deviceScaleFactor: import("zod").ZodOptional<import("zod").ZodNumber>;
8635
+ hasTouch: import("zod").ZodOptional<import("zod").ZodBoolean>;
8636
+ height: import("zod").ZodNumber;
8637
+ isLandscape: import("zod").ZodOptional<import("zod").ZodBoolean>;
8638
+ isMobile: import("zod").ZodOptional<import("zod").ZodBoolean>;
8639
+ width: import("zod").ZodNumber;
8640
+ }, import("zod/v4/core").$strip>>;
8641
+ waitForSelector: import("zod").ZodOptional<import("zod").ZodObject<{
8642
+ hidden: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
8643
+ selector: import("zod").ZodString;
8644
+ timeout: import("zod").ZodOptional<import("zod").ZodNumber>;
8645
+ visible: import("zod").ZodOptional<import("zod").ZodLiteral<true>>;
8646
+ }, import("zod/v4/core").$strip>>;
8647
+ waitForTimeout: import("zod").ZodOptional<import("zod").ZodNumber>;
8648
+ cacheTtl: import("zod").ZodOptional<import("zod").ZodNever>;
8649
+ entrypoint: import("zod").ZodString;
8650
+ }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
8651
+ key: import("zod").ZodString;
8652
+ }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
8516
8653
  createCallbackToken: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8517
8654
  endpointKey: import("zod").ZodString;
8518
8655
  }, import("zod/v4/core").$strip>, import("zod").ZodString, Record<never, never>, Record<never, never>>;
@@ -9528,9 +9665,9 @@ export declare const contract: {
9528
9665
  name: import("zod").ZodOptional<import("zod").ZodString>;
9529
9666
  path: import("zod").ZodArray<import("zod").ZodNumber>;
9530
9667
  presentation: import("zod").ZodEnum<{
9668
+ hidden: "hidden";
9531
9669
  collapsed: "collapsed";
9532
9670
  expanded: "expanded";
9533
- hidden: "hidden";
9534
9671
  }>;
9535
9672
  }, import("zod/v4/core").$strip>>;
9536
9673
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -9882,9 +10019,9 @@ export declare const contract: {
9882
10019
  name: import("zod").ZodOptional<import("zod").ZodString>;
9883
10020
  path: import("zod").ZodArray<import("zod").ZodNumber>;
9884
10021
  presentation: import("zod").ZodEnum<{
10022
+ hidden: "hidden";
9885
10023
  collapsed: "collapsed";
9886
10024
  expanded: "expanded";
9887
- hidden: "hidden";
9888
10025
  }>;
9889
10026
  }, import("zod/v4/core").$strip>>;
9890
10027
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -10042,11 +10179,13 @@ export declare const contract: {
10042
10179
  executionRetentionDays: import("zod").ZodNumber;
10043
10180
  projects: import("zod").ZodNumber;
10044
10181
  seats: import("zod").ZodNumber;
10182
+ webScrapingMinutes: import("zod").ZodNumber;
10045
10183
  }, import("zod/v4/core").$strip>;
10046
10184
  usage: import("zod").ZodObject<{
10047
10185
  aiSpendUsd: import("zod").ZodNumber;
10048
10186
  automationRuntimeMs: import("zod").ZodNumber;
10049
10187
  emailSends: import("zod").ZodNumber;
10188
+ webScrapingMs: import("zod").ZodNumber;
10050
10189
  }, import("zod/v4/core").$strip>;
10051
10190
  members: import("zod").ZodArray<import("zod").ZodObject<{
10052
10191
  id: import("zod").ZodString;
@@ -10135,11 +10274,13 @@ export declare const contract: {
10135
10274
  executionRetentionDays: import("zod").ZodNumber;
10136
10275
  projects: import("zod").ZodNumber;
10137
10276
  seats: import("zod").ZodNumber;
10277
+ webScrapingMinutes: import("zod").ZodNumber;
10138
10278
  }, import("zod/v4/core").$strip>;
10139
10279
  usage: import("zod").ZodObject<{
10140
10280
  aiSpendUsd: import("zod").ZodNumber;
10141
10281
  automationRuntimeMs: import("zod").ZodNumber;
10142
10282
  emailSends: import("zod").ZodNumber;
10283
+ webScrapingMs: import("zod").ZodNumber;
10143
10284
  }, import("zod/v4/core").$strip>;
10144
10285
  }, import("zod/v4/core").$strip>>;
10145
10286
  pageInfo: import("zod").ZodObject<{
package/dist/org.d.ts CHANGED
@@ -55,11 +55,13 @@ export declare const organizationSummaryOutputSchema: z.ZodObject<{
55
55
  executionRetentionDays: z.ZodNumber;
56
56
  projects: z.ZodNumber;
57
57
  seats: z.ZodNumber;
58
+ webScrapingMinutes: z.ZodNumber;
58
59
  }, z.core.$strip>;
59
60
  usage: z.ZodObject<{
60
61
  aiSpendUsd: z.ZodNumber;
61
62
  automationRuntimeMs: z.ZodNumber;
62
63
  emailSends: z.ZodNumber;
64
+ webScrapingMs: z.ZodNumber;
63
65
  }, z.core.$strip>;
64
66
  }, z.core.$strip>;
65
67
  export declare const organizationMemberOutputSchema: z.ZodObject<{
@@ -123,11 +125,13 @@ export declare const organizationDetailsOutputSchema: z.ZodObject<{
123
125
  executionRetentionDays: z.ZodNumber;
124
126
  projects: z.ZodNumber;
125
127
  seats: z.ZodNumber;
128
+ webScrapingMinutes: z.ZodNumber;
126
129
  }, z.core.$strip>;
127
130
  usage: z.ZodObject<{
128
131
  aiSpendUsd: z.ZodNumber;
129
132
  automationRuntimeMs: z.ZodNumber;
130
133
  emailSends: z.ZodNumber;
134
+ webScrapingMs: z.ZodNumber;
131
135
  }, z.core.$strip>;
132
136
  members: z.ZodArray<z.ZodObject<{
133
137
  id: z.ZodString;
@@ -239,11 +243,13 @@ export declare const orgContract: {
239
243
  executionRetentionDays: z.ZodNumber;
240
244
  projects: z.ZodNumber;
241
245
  seats: z.ZodNumber;
246
+ webScrapingMinutes: z.ZodNumber;
242
247
  }, z.core.$strip>;
243
248
  usage: z.ZodObject<{
244
249
  aiSpendUsd: z.ZodNumber;
245
250
  automationRuntimeMs: z.ZodNumber;
246
251
  emailSends: z.ZodNumber;
252
+ webScrapingMs: z.ZodNumber;
247
253
  }, z.core.$strip>;
248
254
  members: z.ZodArray<z.ZodObject<{
249
255
  id: z.ZodString;
@@ -332,11 +338,13 @@ export declare const orgContract: {
332
338
  executionRetentionDays: z.ZodNumber;
333
339
  projects: z.ZodNumber;
334
340
  seats: z.ZodNumber;
341
+ webScrapingMinutes: z.ZodNumber;
335
342
  }, z.core.$strip>;
336
343
  usage: z.ZodObject<{
337
344
  aiSpendUsd: z.ZodNumber;
338
345
  automationRuntimeMs: z.ZodNumber;
339
346
  emailSends: z.ZodNumber;
347
+ webScrapingMs: z.ZodNumber;
340
348
  }, z.core.$strip>;
341
349
  }, z.core.$strip>>;
342
350
  pageInfo: z.ZodObject<{
package/dist/org.js CHANGED
@@ -36,11 +36,13 @@ export const organizationSummaryOutputSchema = z.object({
36
36
  executionRetentionDays: z.number().int().positive(),
37
37
  projects: z.number(),
38
38
  seats: z.number(),
39
+ webScrapingMinutes: z.number(),
39
40
  }),
40
41
  usage: z.object({
41
42
  aiSpendUsd: z.number(),
42
43
  automationRuntimeMs: z.number(),
43
44
  emailSends: z.number(),
45
+ webScrapingMs: z.number(),
44
46
  }),
45
47
  });
46
48
  export const organizationMemberOutputSchema = z.object({
package/dist/runtime.d.ts CHANGED
@@ -10,6 +10,7 @@ export declare const AUTOMATION_INVOCATION_DEFAULT_ENTRYPOINT = "default";
10
10
  export declare const AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX = "__$";
11
11
  export declare const AUTOMATION_DELAY_ENTRYPOINT_PREFIX: "__$delay:";
12
12
  export declare const AUTOMATION_IMAGE_GENERATION_ENTRYPOINT_PREFIX: "__$generate-image:";
13
+ export declare const AUTOMATION_WEB_SCRAPE_ENTRYPOINT_PREFIX: "__$scrape-web:";
13
14
  export declare const CALLBACK_PROTECTION_QUERY_PARAMETER = "_axCallback";
14
15
  export declare const AUTOMATION_LOG_MAX_ENTRIES = 1000;
15
16
  export declare const AUTOMATION_OBSERVABILITY_MAX_FIELDS = 64;
@@ -1339,6 +1340,279 @@ export type ImageGenerationInput = z.output<typeof imageGenerationInputSchema>;
1339
1340
  export type ImageGenerationResult = z.output<typeof imageGenerationResultSchema>;
1340
1341
  export type ImageGenerationCompletion = z.output<typeof imageGenerationCompletionSchema>;
1341
1342
  export type PlatformImageGenerationInput = z.output<typeof platformImageGenerationInputSchema>;
1343
+ /** Browser controls accepted by the built-in web-scraping action. */
1344
+ export declare const webScrapeInputSchema: z.ZodObject<{
1345
+ html: z.ZodOptional<z.ZodString>;
1346
+ url: z.ZodOptional<z.ZodURL>;
1347
+ userAgent: z.ZodOptional<z.ZodString>;
1348
+ actionTimeout: z.ZodOptional<z.ZodNumber>;
1349
+ addScriptTag: z.ZodOptional<z.ZodArray<z.ZodObject<{
1350
+ content: z.ZodOptional<z.ZodString>;
1351
+ id: z.ZodOptional<z.ZodString>;
1352
+ type: z.ZodOptional<z.ZodString>;
1353
+ url: z.ZodOptional<z.ZodURL>;
1354
+ }, z.core.$strip>>>;
1355
+ addStyleTag: z.ZodOptional<z.ZodArray<z.ZodObject<{
1356
+ content: z.ZodOptional<z.ZodString>;
1357
+ url: z.ZodOptional<z.ZodURL>;
1358
+ }, z.core.$strip>>>;
1359
+ allowRequestPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
1360
+ allowResourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1361
+ document: "document";
1362
+ font: "font";
1363
+ image: "image";
1364
+ manifest: "manifest";
1365
+ script: "script";
1366
+ stylesheet: "stylesheet";
1367
+ media: "media";
1368
+ texttrack: "texttrack";
1369
+ xhr: "xhr";
1370
+ fetch: "fetch";
1371
+ prefetch: "prefetch";
1372
+ eventsource: "eventsource";
1373
+ websocket: "websocket";
1374
+ signedexchange: "signedexchange";
1375
+ ping: "ping";
1376
+ cspviolationreport: "cspviolationreport";
1377
+ preflight: "preflight";
1378
+ other: "other";
1379
+ }>>>;
1380
+ authenticate: z.ZodOptional<z.ZodObject<{
1381
+ password: z.ZodString;
1382
+ username: z.ZodString;
1383
+ }, z.core.$strip>>;
1384
+ bestAttempt: z.ZodOptional<z.ZodBoolean>;
1385
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
1386
+ domain: z.ZodOptional<z.ZodString>;
1387
+ expires: z.ZodOptional<z.ZodNumber>;
1388
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
1389
+ name: z.ZodString;
1390
+ partitionKey: z.ZodOptional<z.ZodString>;
1391
+ path: z.ZodOptional<z.ZodString>;
1392
+ priority: z.ZodOptional<z.ZodEnum<{
1393
+ Low: "Low";
1394
+ Medium: "Medium";
1395
+ High: "High";
1396
+ }>>;
1397
+ sameParty: z.ZodOptional<z.ZodBoolean>;
1398
+ sameSite: z.ZodOptional<z.ZodEnum<{
1399
+ Strict: "Strict";
1400
+ Lax: "Lax";
1401
+ None: "None";
1402
+ }>>;
1403
+ secure: z.ZodOptional<z.ZodBoolean>;
1404
+ sourcePort: z.ZodOptional<z.ZodNumber>;
1405
+ sourceScheme: z.ZodOptional<z.ZodEnum<{
1406
+ Unset: "Unset";
1407
+ NonSecure: "NonSecure";
1408
+ Secure: "Secure";
1409
+ }>>;
1410
+ url: z.ZodOptional<z.ZodString>;
1411
+ value: z.ZodString;
1412
+ }, z.core.$strip>>>;
1413
+ emulateMediaType: z.ZodOptional<z.ZodString>;
1414
+ gotoOptions: z.ZodOptional<z.ZodObject<{
1415
+ referer: z.ZodOptional<z.ZodString>;
1416
+ referrerPolicy: z.ZodOptional<z.ZodString>;
1417
+ timeout: z.ZodOptional<z.ZodNumber>;
1418
+ waitUntil: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1419
+ load: "load";
1420
+ domcontentloaded: "domcontentloaded";
1421
+ networkidle0: "networkidle0";
1422
+ networkidle2: "networkidle2";
1423
+ }>, z.ZodArray<z.ZodEnum<{
1424
+ load: "load";
1425
+ domcontentloaded: "domcontentloaded";
1426
+ networkidle0: "networkidle0";
1427
+ networkidle2: "networkidle2";
1428
+ }>>]>>;
1429
+ }, z.core.$strip>>;
1430
+ rejectRequestPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
1431
+ rejectResourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1432
+ document: "document";
1433
+ font: "font";
1434
+ image: "image";
1435
+ manifest: "manifest";
1436
+ script: "script";
1437
+ stylesheet: "stylesheet";
1438
+ media: "media";
1439
+ texttrack: "texttrack";
1440
+ xhr: "xhr";
1441
+ fetch: "fetch";
1442
+ prefetch: "prefetch";
1443
+ eventsource: "eventsource";
1444
+ websocket: "websocket";
1445
+ signedexchange: "signedexchange";
1446
+ ping: "ping";
1447
+ cspviolationreport: "cspviolationreport";
1448
+ preflight: "preflight";
1449
+ other: "other";
1450
+ }>>>;
1451
+ setExtraHttpHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1452
+ setJavaScriptEnabled: z.ZodOptional<z.ZodBoolean>;
1453
+ viewport: z.ZodOptional<z.ZodObject<{
1454
+ deviceScaleFactor: z.ZodOptional<z.ZodNumber>;
1455
+ hasTouch: z.ZodOptional<z.ZodBoolean>;
1456
+ height: z.ZodNumber;
1457
+ isLandscape: z.ZodOptional<z.ZodBoolean>;
1458
+ isMobile: z.ZodOptional<z.ZodBoolean>;
1459
+ width: z.ZodNumber;
1460
+ }, z.core.$strip>>;
1461
+ waitForSelector: z.ZodOptional<z.ZodObject<{
1462
+ hidden: z.ZodOptional<z.ZodLiteral<true>>;
1463
+ selector: z.ZodString;
1464
+ timeout: z.ZodOptional<z.ZodNumber>;
1465
+ visible: z.ZodOptional<z.ZodLiteral<true>>;
1466
+ }, z.core.$strip>>;
1467
+ waitForTimeout: z.ZodOptional<z.ZodNumber>;
1468
+ cacheTtl: z.ZodOptional<z.ZodNever>;
1469
+ }, z.core.$strip>;
1470
+ /** Internal terminal delivery emitted by a platform web-scraping job. */
1471
+ export declare const webScrapeCompletionSchema: z.ZodObject<{
1472
+ key: z.ZodString;
1473
+ outcome: z.ZodDiscriminatedUnion<[z.ZodObject<{
1474
+ result: z.ZodString;
1475
+ status: z.ZodLiteral<"succeeded">;
1476
+ }, z.core.$strip>, z.ZodObject<{
1477
+ failure: z.ZodType<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue, z.core.$ZodTypeInternals<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue>>;
1478
+ status: z.ZodLiteral<"failed">;
1479
+ }, z.core.$strip>], "status">;
1480
+ }, z.core.$strip>;
1481
+ /** Starts a platform web scrape for one reserved internal entrypoint. */
1482
+ export declare const platformWebScrapeInputSchema: z.ZodObject<{
1483
+ html: z.ZodOptional<z.ZodString>;
1484
+ url: z.ZodOptional<z.ZodURL>;
1485
+ userAgent: z.ZodOptional<z.ZodString>;
1486
+ actionTimeout: z.ZodOptional<z.ZodNumber>;
1487
+ addScriptTag: z.ZodOptional<z.ZodArray<z.ZodObject<{
1488
+ content: z.ZodOptional<z.ZodString>;
1489
+ id: z.ZodOptional<z.ZodString>;
1490
+ type: z.ZodOptional<z.ZodString>;
1491
+ url: z.ZodOptional<z.ZodURL>;
1492
+ }, z.core.$strip>>>;
1493
+ addStyleTag: z.ZodOptional<z.ZodArray<z.ZodObject<{
1494
+ content: z.ZodOptional<z.ZodString>;
1495
+ url: z.ZodOptional<z.ZodURL>;
1496
+ }, z.core.$strip>>>;
1497
+ allowRequestPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
1498
+ allowResourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1499
+ document: "document";
1500
+ font: "font";
1501
+ image: "image";
1502
+ manifest: "manifest";
1503
+ script: "script";
1504
+ stylesheet: "stylesheet";
1505
+ media: "media";
1506
+ texttrack: "texttrack";
1507
+ xhr: "xhr";
1508
+ fetch: "fetch";
1509
+ prefetch: "prefetch";
1510
+ eventsource: "eventsource";
1511
+ websocket: "websocket";
1512
+ signedexchange: "signedexchange";
1513
+ ping: "ping";
1514
+ cspviolationreport: "cspviolationreport";
1515
+ preflight: "preflight";
1516
+ other: "other";
1517
+ }>>>;
1518
+ authenticate: z.ZodOptional<z.ZodObject<{
1519
+ password: z.ZodString;
1520
+ username: z.ZodString;
1521
+ }, z.core.$strip>>;
1522
+ bestAttempt: z.ZodOptional<z.ZodBoolean>;
1523
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
1524
+ domain: z.ZodOptional<z.ZodString>;
1525
+ expires: z.ZodOptional<z.ZodNumber>;
1526
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
1527
+ name: z.ZodString;
1528
+ partitionKey: z.ZodOptional<z.ZodString>;
1529
+ path: z.ZodOptional<z.ZodString>;
1530
+ priority: z.ZodOptional<z.ZodEnum<{
1531
+ Low: "Low";
1532
+ Medium: "Medium";
1533
+ High: "High";
1534
+ }>>;
1535
+ sameParty: z.ZodOptional<z.ZodBoolean>;
1536
+ sameSite: z.ZodOptional<z.ZodEnum<{
1537
+ Strict: "Strict";
1538
+ Lax: "Lax";
1539
+ None: "None";
1540
+ }>>;
1541
+ secure: z.ZodOptional<z.ZodBoolean>;
1542
+ sourcePort: z.ZodOptional<z.ZodNumber>;
1543
+ sourceScheme: z.ZodOptional<z.ZodEnum<{
1544
+ Unset: "Unset";
1545
+ NonSecure: "NonSecure";
1546
+ Secure: "Secure";
1547
+ }>>;
1548
+ url: z.ZodOptional<z.ZodString>;
1549
+ value: z.ZodString;
1550
+ }, z.core.$strip>>>;
1551
+ emulateMediaType: z.ZodOptional<z.ZodString>;
1552
+ gotoOptions: z.ZodOptional<z.ZodObject<{
1553
+ referer: z.ZodOptional<z.ZodString>;
1554
+ referrerPolicy: z.ZodOptional<z.ZodString>;
1555
+ timeout: z.ZodOptional<z.ZodNumber>;
1556
+ waitUntil: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
1557
+ load: "load";
1558
+ domcontentloaded: "domcontentloaded";
1559
+ networkidle0: "networkidle0";
1560
+ networkidle2: "networkidle2";
1561
+ }>, z.ZodArray<z.ZodEnum<{
1562
+ load: "load";
1563
+ domcontentloaded: "domcontentloaded";
1564
+ networkidle0: "networkidle0";
1565
+ networkidle2: "networkidle2";
1566
+ }>>]>>;
1567
+ }, z.core.$strip>>;
1568
+ rejectRequestPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
1569
+ rejectResourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1570
+ document: "document";
1571
+ font: "font";
1572
+ image: "image";
1573
+ manifest: "manifest";
1574
+ script: "script";
1575
+ stylesheet: "stylesheet";
1576
+ media: "media";
1577
+ texttrack: "texttrack";
1578
+ xhr: "xhr";
1579
+ fetch: "fetch";
1580
+ prefetch: "prefetch";
1581
+ eventsource: "eventsource";
1582
+ websocket: "websocket";
1583
+ signedexchange: "signedexchange";
1584
+ ping: "ping";
1585
+ cspviolationreport: "cspviolationreport";
1586
+ preflight: "preflight";
1587
+ other: "other";
1588
+ }>>>;
1589
+ setExtraHttpHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1590
+ setJavaScriptEnabled: z.ZodOptional<z.ZodBoolean>;
1591
+ viewport: z.ZodOptional<z.ZodObject<{
1592
+ deviceScaleFactor: z.ZodOptional<z.ZodNumber>;
1593
+ hasTouch: z.ZodOptional<z.ZodBoolean>;
1594
+ height: z.ZodNumber;
1595
+ isLandscape: z.ZodOptional<z.ZodBoolean>;
1596
+ isMobile: z.ZodOptional<z.ZodBoolean>;
1597
+ width: z.ZodNumber;
1598
+ }, z.core.$strip>>;
1599
+ waitForSelector: z.ZodOptional<z.ZodObject<{
1600
+ hidden: z.ZodOptional<z.ZodLiteral<true>>;
1601
+ selector: z.ZodString;
1602
+ timeout: z.ZodOptional<z.ZodNumber>;
1603
+ visible: z.ZodOptional<z.ZodLiteral<true>>;
1604
+ }, z.core.$strip>>;
1605
+ waitForTimeout: z.ZodOptional<z.ZodNumber>;
1606
+ cacheTtl: z.ZodOptional<z.ZodNever>;
1607
+ entrypoint: z.ZodString;
1608
+ }, z.core.$strip>;
1609
+ /** Durable identity returned after a platform web scrape is queued. */
1610
+ export declare const platformWebScrapeStartSchema: z.ZodObject<{
1611
+ key: z.ZodString;
1612
+ }, z.core.$strip>;
1613
+ export type WebScrapeInput = z.output<typeof webScrapeInputSchema>;
1614
+ export type WebScrapeCompletion = z.output<typeof webScrapeCompletionSchema>;
1615
+ export type PlatformWebScrapeInput = z.output<typeof platformWebScrapeInputSchema>;
1342
1616
  declare const ACTION_COMPLETION_SCHEMA: z.ZodUnion<readonly [z.ZodObject<{
1343
1617
  reason: z.ZodLiteral<"closed-dependency">;
1344
1618
  status: z.ZodLiteral<"skipped">;
@@ -2190,6 +2464,135 @@ export declare const runtimeContract: {
2190
2464
  }, z.core.$strip>, z.ZodObject<{
2191
2465
  key: z.ZodString;
2192
2466
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
2467
+ startWebScrape: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2468
+ html: z.ZodOptional<z.ZodString>;
2469
+ url: z.ZodOptional<z.ZodURL>;
2470
+ userAgent: z.ZodOptional<z.ZodString>;
2471
+ actionTimeout: z.ZodOptional<z.ZodNumber>;
2472
+ addScriptTag: z.ZodOptional<z.ZodArray<z.ZodObject<{
2473
+ content: z.ZodOptional<z.ZodString>;
2474
+ id: z.ZodOptional<z.ZodString>;
2475
+ type: z.ZodOptional<z.ZodString>;
2476
+ url: z.ZodOptional<z.ZodURL>;
2477
+ }, z.core.$strip>>>;
2478
+ addStyleTag: z.ZodOptional<z.ZodArray<z.ZodObject<{
2479
+ content: z.ZodOptional<z.ZodString>;
2480
+ url: z.ZodOptional<z.ZodURL>;
2481
+ }, z.core.$strip>>>;
2482
+ allowRequestPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
2483
+ allowResourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2484
+ document: "document";
2485
+ font: "font";
2486
+ image: "image";
2487
+ manifest: "manifest";
2488
+ script: "script";
2489
+ stylesheet: "stylesheet";
2490
+ media: "media";
2491
+ texttrack: "texttrack";
2492
+ xhr: "xhr";
2493
+ fetch: "fetch";
2494
+ prefetch: "prefetch";
2495
+ eventsource: "eventsource";
2496
+ websocket: "websocket";
2497
+ signedexchange: "signedexchange";
2498
+ ping: "ping";
2499
+ cspviolationreport: "cspviolationreport";
2500
+ preflight: "preflight";
2501
+ other: "other";
2502
+ }>>>;
2503
+ authenticate: z.ZodOptional<z.ZodObject<{
2504
+ password: z.ZodString;
2505
+ username: z.ZodString;
2506
+ }, z.core.$strip>>;
2507
+ bestAttempt: z.ZodOptional<z.ZodBoolean>;
2508
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
2509
+ domain: z.ZodOptional<z.ZodString>;
2510
+ expires: z.ZodOptional<z.ZodNumber>;
2511
+ httpOnly: z.ZodOptional<z.ZodBoolean>;
2512
+ name: z.ZodString;
2513
+ partitionKey: z.ZodOptional<z.ZodString>;
2514
+ path: z.ZodOptional<z.ZodString>;
2515
+ priority: z.ZodOptional<z.ZodEnum<{
2516
+ Low: "Low";
2517
+ Medium: "Medium";
2518
+ High: "High";
2519
+ }>>;
2520
+ sameParty: z.ZodOptional<z.ZodBoolean>;
2521
+ sameSite: z.ZodOptional<z.ZodEnum<{
2522
+ Strict: "Strict";
2523
+ Lax: "Lax";
2524
+ None: "None";
2525
+ }>>;
2526
+ secure: z.ZodOptional<z.ZodBoolean>;
2527
+ sourcePort: z.ZodOptional<z.ZodNumber>;
2528
+ sourceScheme: z.ZodOptional<z.ZodEnum<{
2529
+ Unset: "Unset";
2530
+ NonSecure: "NonSecure";
2531
+ Secure: "Secure";
2532
+ }>>;
2533
+ url: z.ZodOptional<z.ZodString>;
2534
+ value: z.ZodString;
2535
+ }, z.core.$strip>>>;
2536
+ emulateMediaType: z.ZodOptional<z.ZodString>;
2537
+ gotoOptions: z.ZodOptional<z.ZodObject<{
2538
+ referer: z.ZodOptional<z.ZodString>;
2539
+ referrerPolicy: z.ZodOptional<z.ZodString>;
2540
+ timeout: z.ZodOptional<z.ZodNumber>;
2541
+ waitUntil: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
2542
+ load: "load";
2543
+ domcontentloaded: "domcontentloaded";
2544
+ networkidle0: "networkidle0";
2545
+ networkidle2: "networkidle2";
2546
+ }>, z.ZodArray<z.ZodEnum<{
2547
+ load: "load";
2548
+ domcontentloaded: "domcontentloaded";
2549
+ networkidle0: "networkidle0";
2550
+ networkidle2: "networkidle2";
2551
+ }>>]>>;
2552
+ }, z.core.$strip>>;
2553
+ rejectRequestPattern: z.ZodOptional<z.ZodArray<z.ZodString>>;
2554
+ rejectResourceTypes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2555
+ document: "document";
2556
+ font: "font";
2557
+ image: "image";
2558
+ manifest: "manifest";
2559
+ script: "script";
2560
+ stylesheet: "stylesheet";
2561
+ media: "media";
2562
+ texttrack: "texttrack";
2563
+ xhr: "xhr";
2564
+ fetch: "fetch";
2565
+ prefetch: "prefetch";
2566
+ eventsource: "eventsource";
2567
+ websocket: "websocket";
2568
+ signedexchange: "signedexchange";
2569
+ ping: "ping";
2570
+ cspviolationreport: "cspviolationreport";
2571
+ preflight: "preflight";
2572
+ other: "other";
2573
+ }>>>;
2574
+ setExtraHttpHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2575
+ setJavaScriptEnabled: z.ZodOptional<z.ZodBoolean>;
2576
+ viewport: z.ZodOptional<z.ZodObject<{
2577
+ deviceScaleFactor: z.ZodOptional<z.ZodNumber>;
2578
+ hasTouch: z.ZodOptional<z.ZodBoolean>;
2579
+ height: z.ZodNumber;
2580
+ isLandscape: z.ZodOptional<z.ZodBoolean>;
2581
+ isMobile: z.ZodOptional<z.ZodBoolean>;
2582
+ width: z.ZodNumber;
2583
+ }, z.core.$strip>>;
2584
+ waitForSelector: z.ZodOptional<z.ZodObject<{
2585
+ hidden: z.ZodOptional<z.ZodLiteral<true>>;
2586
+ selector: z.ZodString;
2587
+ timeout: z.ZodOptional<z.ZodNumber>;
2588
+ visible: z.ZodOptional<z.ZodLiteral<true>>;
2589
+ }, z.core.$strip>>;
2590
+ waitForTimeout: z.ZodOptional<z.ZodNumber>;
2591
+ cacheTtl: z.ZodOptional<z.ZodNever>;
2592
+ entrypoint: z.ZodString;
2593
+ }, z.core.$strip>, z.ZodObject<{
2594
+ key: z.ZodString;
2595
+ }, z.core.$strip>, Record<never, never>, Record<never, never>>;
2193
2596
  createCallbackToken: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2194
2597
  endpointKey: z.ZodString;
2195
2598
  }, z.core.$strip>, z.ZodString, Record<never, never>, Record<never, never>>;
package/dist/runtime.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { encodableSchema, isSensitivityMask, } from "@automate.ax/codec";
2
2
  import { codecEnvelopeSchema } from "@automate.ax/codec/rpc";
3
+ import { CLOUDFLARE_BROWSER_MARKDOWN_REQUEST_SCHEMA } from "@automate.ax/integration-contracts/cloudflare";
3
4
  import { oc } from "@orpc/contract";
4
5
  import stableStringify from "fast-json-stable-stringify";
5
6
  import * as z from "zod";
@@ -12,6 +13,7 @@ export const AUTOMATION_INVOCATION_DEFAULT_ENTRYPOINT = "default";
12
13
  export const AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX = "__$";
13
14
  export const AUTOMATION_DELAY_ENTRYPOINT_PREFIX = `${AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX}delay:`;
14
15
  export const AUTOMATION_IMAGE_GENERATION_ENTRYPOINT_PREFIX = `${AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX}generate-image:`;
16
+ export const AUTOMATION_WEB_SCRAPE_ENTRYPOINT_PREFIX = `${AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX}scrape-web:`;
15
17
  export const CALLBACK_PROTECTION_QUERY_PARAMETER = "_axCallback";
16
18
  export const AUTOMATION_LOG_MAX_ENTRIES = 1_000;
17
19
  export const AUTOMATION_OBSERVABILITY_MAX_FIELDS = 64;
@@ -867,6 +869,24 @@ export const platformImageGenerationInputSchema = imageGenerationInputSchema.ext
867
869
  export const platformImageGenerationStartSchema = z.object({
868
870
  key: z.string().min(1),
869
871
  });
872
+ /** Browser controls accepted by the built-in web-scraping action. */
873
+ export const webScrapeInputSchema = CLOUDFLARE_BROWSER_MARKDOWN_REQUEST_SCHEMA.safeExtend({
874
+ cacheTtl: z.never().optional(),
875
+ });
876
+ /** Internal terminal delivery emitted by a platform web-scraping job. */
877
+ export const webScrapeCompletionSchema = z.object({
878
+ key: z.string().min(1),
879
+ outcome: z.discriminatedUnion("status", [
880
+ z.object({ result: z.string(), status: z.literal("succeeded") }),
881
+ z.object({ failure: automationErrorSchema, status: z.literal("failed") }),
882
+ ]),
883
+ });
884
+ /** Starts a platform web scrape for one reserved internal entrypoint. */
885
+ export const platformWebScrapeInputSchema = webScrapeInputSchema.safeExtend({
886
+ entrypoint: z.string().startsWith(AUTOMATION_WEB_SCRAPE_ENTRYPOINT_PREFIX),
887
+ });
888
+ /** Durable identity returned after a platform web scrape is queued. */
889
+ export const platformWebScrapeStartSchema = z.object({ key: z.string().min(1) });
870
890
  const PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA = platformImageGenerationInputSchema.omit({ prompt: true }).extend({
871
891
  prompt: codecEnvelopeSchema,
872
892
  });
@@ -1001,6 +1021,9 @@ export const runtimeContract = {
1001
1021
  startImageGeneration: oc
1002
1022
  .input(PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA)
1003
1023
  .output(platformImageGenerationStartSchema),
1024
+ startWebScrape: oc
1025
+ .input(platformWebScrapeInputSchema)
1026
+ .output(platformWebScrapeStartSchema),
1004
1027
  createCallbackToken: oc
1005
1028
  .input(z.object({ endpointKey: z.string().min(1) }))
1006
1029
  .output(z.string()),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/api-contract",
3
- "version": "0.155.0",
3
+ "version": "0.156.0",
4
4
  "description": "Public oRPC contract for the Automate.ax API.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,9 +31,9 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@ai-sdk/gateway": "4.0.46",
34
- "@automate.ax/catalog": "0.155.0",
35
- "@automate.ax/codec": "0.155.0",
36
- "@automate.ax/integration-contracts": "0.155.0",
34
+ "@automate.ax/catalog": "0.156.0",
35
+ "@automate.ax/codec": "0.156.0",
36
+ "@automate.ax/integration-contracts": "0.156.0",
37
37
  "@orpc/contract": "1.15.0",
38
38
  "fast-json-stable-stringify": "^2.1.0",
39
39
  "zod": "^4.3.6"
package/src/org.ts CHANGED
@@ -46,11 +46,13 @@ export const organizationSummaryOutputSchema = z.object({
46
46
  executionRetentionDays: z.number().int().positive(),
47
47
  projects: z.number(),
48
48
  seats: z.number(),
49
+ webScrapingMinutes: z.number(),
49
50
  }),
50
51
  usage: z.object({
51
52
  aiSpendUsd: z.number(),
52
53
  automationRuntimeMs: z.number(),
53
54
  emailSends: z.number(),
55
+ webScrapingMs: z.number(),
54
56
  }),
55
57
  })
56
58
 
package/src/runtime.ts CHANGED
@@ -4,6 +4,7 @@ import {
4
4
  type SensitivityMask,
5
5
  } from "@automate.ax/codec"
6
6
  import { codecEnvelopeSchema } from "@automate.ax/codec/rpc"
7
+ import { CLOUDFLARE_BROWSER_MARKDOWN_REQUEST_SCHEMA } from "@automate.ax/integration-contracts/cloudflare"
7
8
  import type { GatewayImageModelId, GatewayModelId } from "@ai-sdk/gateway"
8
9
  import { oc } from "@orpc/contract"
9
10
  import stableStringify from "fast-json-stable-stringify"
@@ -25,6 +26,8 @@ export const AUTOMATION_DELAY_ENTRYPOINT_PREFIX =
25
26
  `${AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX}delay:` as const
26
27
  export const AUTOMATION_IMAGE_GENERATION_ENTRYPOINT_PREFIX =
27
28
  `${AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX}generate-image:` as const
29
+ export const AUTOMATION_WEB_SCRAPE_ENTRYPOINT_PREFIX =
30
+ `${AUTOMATION_INVOCATION_RESERVED_ENTRYPOINT_PREFIX}scrape-web:` as const
28
31
  export const CALLBACK_PROTECTION_QUERY_PARAMETER = "_axCallback"
29
32
  export const AUTOMATION_LOG_MAX_ENTRIES = 1_000
30
33
  export const AUTOMATION_OBSERVABILITY_MAX_FIELDS = 64
@@ -1045,6 +1048,35 @@ export type PlatformImageGenerationInput = z.output<
1045
1048
  typeof platformImageGenerationInputSchema
1046
1049
  >
1047
1050
 
1051
+ /** Browser controls accepted by the built-in web-scraping action. */
1052
+ export const webScrapeInputSchema =
1053
+ CLOUDFLARE_BROWSER_MARKDOWN_REQUEST_SCHEMA.safeExtend({
1054
+ cacheTtl: z.never().optional(),
1055
+ })
1056
+
1057
+ /** Internal terminal delivery emitted by a platform web-scraping job. */
1058
+ export const webScrapeCompletionSchema = z.object({
1059
+ key: z.string().min(1),
1060
+ outcome: z.discriminatedUnion("status", [
1061
+ z.object({ result: z.string(), status: z.literal("succeeded") }),
1062
+ z.object({ failure: automationErrorSchema, status: z.literal("failed") }),
1063
+ ]),
1064
+ })
1065
+
1066
+ /** Starts a platform web scrape for one reserved internal entrypoint. */
1067
+ export const platformWebScrapeInputSchema = webScrapeInputSchema.safeExtend({
1068
+ entrypoint: z.string().startsWith(AUTOMATION_WEB_SCRAPE_ENTRYPOINT_PREFIX),
1069
+ })
1070
+
1071
+ /** Durable identity returned after a platform web scrape is queued. */
1072
+ export const platformWebScrapeStartSchema = z.object({ key: z.string().min(1) })
1073
+
1074
+ export type WebScrapeInput = z.output<typeof webScrapeInputSchema>
1075
+ export type WebScrapeCompletion = z.output<typeof webScrapeCompletionSchema>
1076
+ export type PlatformWebScrapeInput = z.output<
1077
+ typeof platformWebScrapeInputSchema
1078
+ >
1079
+
1048
1080
  const PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA =
1049
1081
  platformImageGenerationInputSchema.omit({ prompt: true }).extend({
1050
1082
  prompt: codecEnvelopeSchema,
@@ -1222,6 +1254,9 @@ export const runtimeContract = {
1222
1254
  startImageGeneration: oc
1223
1255
  .input(PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA)
1224
1256
  .output(platformImageGenerationStartSchema),
1257
+ startWebScrape: oc
1258
+ .input(platformWebScrapeInputSchema)
1259
+ .output(platformWebScrapeStartSchema),
1225
1260
  createCallbackToken: oc
1226
1261
  .input(z.object({ endpointKey: z.string().min(1) }))
1227
1262
  .output(z.string()),