@automate.ax/api-contract 0.154.2 → 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>>;
@@ -9148,6 +9285,7 @@ export declare const contract: {
9148
9285
  timestamp: import("zod").ZodDate;
9149
9286
  }, import("zod/v4/core").$strip>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
9150
9287
  sendEmail: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodIntersection<import("zod").ZodObject<{
9288
+ attachments: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodCustom<File, File>>>;
9151
9289
  headers: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
9152
9290
  replyTo: import("zod").ZodOptional<import("zod").ZodEmail>;
9153
9291
  subject: import("zod").ZodString;
@@ -9527,9 +9665,9 @@ export declare const contract: {
9527
9665
  name: import("zod").ZodOptional<import("zod").ZodString>;
9528
9666
  path: import("zod").ZodArray<import("zod").ZodNumber>;
9529
9667
  presentation: import("zod").ZodEnum<{
9668
+ hidden: "hidden";
9530
9669
  collapsed: "collapsed";
9531
9670
  expanded: "expanded";
9532
- hidden: "hidden";
9533
9671
  }>;
9534
9672
  }, import("zod/v4/core").$strip>>;
9535
9673
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -9881,9 +10019,9 @@ export declare const contract: {
9881
10019
  name: import("zod").ZodOptional<import("zod").ZodString>;
9882
10020
  path: import("zod").ZodArray<import("zod").ZodNumber>;
9883
10021
  presentation: import("zod").ZodEnum<{
10022
+ hidden: "hidden";
9884
10023
  collapsed: "collapsed";
9885
10024
  expanded: "expanded";
9886
- hidden: "hidden";
9887
10025
  }>;
9888
10026
  }, import("zod/v4/core").$strip>>;
9889
10027
  subscriptions: import("zod").ZodArray<import("zod").ZodObject<{
@@ -10041,11 +10179,13 @@ export declare const contract: {
10041
10179
  executionRetentionDays: import("zod").ZodNumber;
10042
10180
  projects: import("zod").ZodNumber;
10043
10181
  seats: import("zod").ZodNumber;
10182
+ webScrapingMinutes: import("zod").ZodNumber;
10044
10183
  }, import("zod/v4/core").$strip>;
10045
10184
  usage: import("zod").ZodObject<{
10046
10185
  aiSpendUsd: import("zod").ZodNumber;
10047
10186
  automationRuntimeMs: import("zod").ZodNumber;
10048
10187
  emailSends: import("zod").ZodNumber;
10188
+ webScrapingMs: import("zod").ZodNumber;
10049
10189
  }, import("zod/v4/core").$strip>;
10050
10190
  members: import("zod").ZodArray<import("zod").ZodObject<{
10051
10191
  id: import("zod").ZodString;
@@ -10134,11 +10274,13 @@ export declare const contract: {
10134
10274
  executionRetentionDays: import("zod").ZodNumber;
10135
10275
  projects: import("zod").ZodNumber;
10136
10276
  seats: import("zod").ZodNumber;
10277
+ webScrapingMinutes: import("zod").ZodNumber;
10137
10278
  }, import("zod/v4/core").$strip>;
10138
10279
  usage: import("zod").ZodObject<{
10139
10280
  aiSpendUsd: import("zod").ZodNumber;
10140
10281
  automationRuntimeMs: import("zod").ZodNumber;
10141
10282
  emailSends: import("zod").ZodNumber;
10283
+ webScrapingMs: import("zod").ZodNumber;
10142
10284
  }, import("zod/v4/core").$strip>;
10143
10285
  }, import("zod/v4/core").$strip>>;
10144
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;
@@ -18,6 +19,8 @@ export declare const AUTOMATION_LOG_MAX_MESSAGE_LENGTH = 16384;
18
19
  export declare const runtimeObservabilityFieldsSchema: z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>>;
19
20
  /** Runtime-validated structural policy for author-visible value projection. */
20
21
  export declare const sensitivityMaskSchema: z.ZodCustom<SensitivityMask, SensitivityMask>;
22
+ export declare const PLATFORM_EMAIL_MAX_ENCODED_ATTACHMENT_BYTES = 40000000;
23
+ export declare const platformEmailAttachmentsSchema: z.ZodArray<z.ZodCustom<File, File>>;
21
24
  /** Immediate or mutually exclusive absolute/relative invocation timing. */
22
25
  export declare const automationInvocationScheduleSchema: z.ZodUnion<readonly [z.ZodObject<{
23
26
  runAt: z.ZodUnion<readonly [z.ZodDate, z.ZodString, z.ZodNumber]>;
@@ -1337,6 +1340,279 @@ export type ImageGenerationInput = z.output<typeof imageGenerationInputSchema>;
1337
1340
  export type ImageGenerationResult = z.output<typeof imageGenerationResultSchema>;
1338
1341
  export type ImageGenerationCompletion = z.output<typeof imageGenerationCompletionSchema>;
1339
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>;
1340
1616
  declare const ACTION_COMPLETION_SCHEMA: z.ZodUnion<readonly [z.ZodObject<{
1341
1617
  reason: z.ZodLiteral<"closed-dependency">;
1342
1618
  status: z.ZodLiteral<"skipped">;
@@ -2188,6 +2464,135 @@ export declare const runtimeContract: {
2188
2464
  }, z.core.$strip>, z.ZodObject<{
2189
2465
  key: z.ZodString;
2190
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>>;
2191
2596
  createCallbackToken: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
2192
2597
  endpointKey: z.ZodString;
2193
2598
  }, z.core.$strip>, z.ZodString, Record<never, never>, Record<never, never>>;
@@ -2823,6 +3228,7 @@ export declare const runtimeContract: {
2823
3228
  timestamp: z.ZodDate;
2824
3229
  }, z.core.$strip>, z.ZodVoid, Record<never, never>, Record<never, never>>;
2825
3230
  sendEmail: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodIntersection<z.ZodObject<{
3231
+ attachments: z.ZodOptional<z.ZodArray<z.ZodCustom<File, File>>>;
2826
3232
  headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2827
3233
  replyTo: z.ZodOptional<z.ZodEmail>;
2828
3234
  subject: z.ZodString;
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;
@@ -59,6 +61,23 @@ const EMAIL_BODY_SCHEMA = z.union([
59
61
  text: z.string().min(1),
60
62
  }),
61
63
  ]);
64
+ export const PLATFORM_EMAIL_MAX_ENCODED_ATTACHMENT_BYTES = 40_000_000;
65
+ const PLATFORM_EMAIL_ATTACHMENT_SCHEMA = z
66
+ .instanceof(File)
67
+ .refine((file) => file.name.length > 0, "Attachments must have a filename.");
68
+ export const platformEmailAttachmentsSchema = PLATFORM_EMAIL_ATTACHMENT_SCHEMA.array().superRefine((files, context) => {
69
+ let encodedBytes = 0;
70
+ for (const file of files) {
71
+ encodedBytes += 4 * Math.ceil(file.size / 3);
72
+ if (encodedBytes > PLATFORM_EMAIL_MAX_ENCODED_ATTACHMENT_BYTES) {
73
+ context.addIssue({
74
+ code: "custom",
75
+ message: "Attachments must total 40 MB or less after Base64 encoding.",
76
+ });
77
+ return;
78
+ }
79
+ }
80
+ });
62
81
  /** Immediate or mutually exclusive absolute/relative invocation timing. */
63
82
  export const automationInvocationScheduleSchema = z.union([
64
83
  z.object({
@@ -850,6 +869,24 @@ export const platformImageGenerationInputSchema = imageGenerationInputSchema.ext
850
869
  export const platformImageGenerationStartSchema = z.object({
851
870
  key: z.string().min(1),
852
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) });
853
890
  const PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA = platformImageGenerationInputSchema.omit({ prompt: true }).extend({
854
891
  prompt: codecEnvelopeSchema,
855
892
  });
@@ -984,6 +1021,9 @@ export const runtimeContract = {
984
1021
  startImageGeneration: oc
985
1022
  .input(PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA)
986
1023
  .output(platformImageGenerationStartSchema),
1024
+ startWebScrape: oc
1025
+ .input(platformWebScrapeInputSchema)
1026
+ .output(platformWebScrapeStartSchema),
987
1027
  createCallbackToken: oc
988
1028
  .input(z.object({ endpointKey: z.string().min(1) }))
989
1029
  .output(z.string()),
@@ -1039,6 +1079,7 @@ export const runtimeContract = {
1039
1079
  sendEmail: oc
1040
1080
  .input(z
1041
1081
  .object({
1082
+ attachments: platformEmailAttachmentsSchema.optional(),
1042
1083
  headers: z.record(z.string().min(1), z.string()).optional(),
1043
1084
  replyTo: z.email().optional(),
1044
1085
  subject: z.string().min(1),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/api-contract",
3
- "version": "0.154.2",
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.154.2",
35
- "@automate.ax/codec": "0.154.2",
36
- "@automate.ax/integration-contracts": "0.154.2",
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
@@ -83,6 +86,25 @@ const EMAIL_BODY_SCHEMA = z.union([
83
86
  text: z.string().min(1),
84
87
  }),
85
88
  ])
89
+ export const PLATFORM_EMAIL_MAX_ENCODED_ATTACHMENT_BYTES = 40_000_000
90
+ const PLATFORM_EMAIL_ATTACHMENT_SCHEMA = z
91
+ .instanceof(File)
92
+ .refine((file) => file.name.length > 0, "Attachments must have a filename.")
93
+ export const platformEmailAttachmentsSchema =
94
+ PLATFORM_EMAIL_ATTACHMENT_SCHEMA.array().superRefine((files, context) => {
95
+ let encodedBytes = 0
96
+ for (const file of files) {
97
+ encodedBytes += 4 * Math.ceil(file.size / 3)
98
+ if (encodedBytes > PLATFORM_EMAIL_MAX_ENCODED_ATTACHMENT_BYTES) {
99
+ context.addIssue({
100
+ code: "custom",
101
+ message:
102
+ "Attachments must total 40 MB or less after Base64 encoding.",
103
+ })
104
+ return
105
+ }
106
+ }
107
+ })
86
108
 
87
109
  /** Immediate or mutually exclusive absolute/relative invocation timing. */
88
110
  export const automationInvocationScheduleSchema = z.union([
@@ -1026,6 +1048,35 @@ export type PlatformImageGenerationInput = z.output<
1026
1048
  typeof platformImageGenerationInputSchema
1027
1049
  >
1028
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
+
1029
1080
  const PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA =
1030
1081
  platformImageGenerationInputSchema.omit({ prompt: true }).extend({
1031
1082
  prompt: codecEnvelopeSchema,
@@ -1203,6 +1254,9 @@ export const runtimeContract = {
1203
1254
  startImageGeneration: oc
1204
1255
  .input(PLATFORM_IMAGE_GENERATION_TRANSPORT_INPUT_SCHEMA)
1205
1256
  .output(platformImageGenerationStartSchema),
1257
+ startWebScrape: oc
1258
+ .input(platformWebScrapeInputSchema)
1259
+ .output(platformWebScrapeStartSchema),
1206
1260
  createCallbackToken: oc
1207
1261
  .input(z.object({ endpointKey: z.string().min(1) }))
1208
1262
  .output(z.string()),
@@ -1272,6 +1326,7 @@ export const runtimeContract = {
1272
1326
  .input(
1273
1327
  z
1274
1328
  .object({
1329
+ attachments: platformEmailAttachmentsSchema.optional(),
1275
1330
  headers: z.record(z.string().min(1), z.string()).optional(),
1276
1331
  replyTo: z.email().optional(),
1277
1332
  subject: z.string().min(1),