@automate.ax/api-contract 0.83.3 → 0.85.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.
@@ -51,8 +51,8 @@ export declare const automationOutputSchema: z.ZodObject<{
51
51
  }, z.core.$strip>;
52
52
  export declare const automationExecutionStatusSchema: z.ZodEnum<{
53
53
  failed: "failed";
54
- running: "running";
55
54
  settled: "settled";
55
+ running: "running";
56
56
  }>;
57
57
  export declare const automationContract: {
58
58
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -114,8 +114,8 @@ export declare const automationContract: {
114
114
  id: z.ZodString;
115
115
  status: z.ZodEnum<{
116
116
  failed: "failed";
117
- running: "running";
118
117
  settled: "settled";
118
+ running: "running";
119
119
  }>;
120
120
  createdAt: z.ZodDate;
121
121
  failure: z.ZodNullable<z.ZodType<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue, z.core.$ZodTypeInternals<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue>>>;
@@ -129,6 +129,7 @@ export declare const automationContract: {
129
129
  id: z.ZodString;
130
130
  name: z.ZodString;
131
131
  output: z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
132
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
132
133
  slot: z.ZodNumber;
133
134
  status: z.ZodEnum<{
134
135
  pending: "pending";
@@ -148,6 +149,7 @@ export declare const automationContract: {
148
149
  createdAt: z.ZodDate;
149
150
  data: z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
150
151
  id: z.ZodString;
152
+ sensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
151
153
  outputIndex: z.ZodNumber;
152
154
  type: z.ZodString;
153
155
  }, z.core.$strip>>;
@@ -226,8 +228,8 @@ export declare const automationContract: {
226
228
  settledAt: z.ZodNullable<z.ZodDate>;
227
229
  status: z.ZodEnum<{
228
230
  failed: "failed";
229
- running: "running";
230
231
  settled: "settled";
232
+ running: "running";
231
233
  }>;
232
234
  }, z.core.$strip>>, Record<never, never>, Record<never, never>>;
233
235
  update: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
@@ -1,4 +1,5 @@
1
1
  import { encodableSchema } from "@automate.ax/codec";
2
+ import { sensitivityMaskSchema } from "./runtime.js";
2
3
  import { oc } from "@orpc/contract";
3
4
  import * as z from "zod";
4
5
  import { integrationAccountBindingOutputSchema } from "./account.js";
@@ -86,6 +87,7 @@ export const automationContract = {
86
87
  id: z.string(),
87
88
  name: z.string(),
88
89
  output: encodableSchema,
90
+ outputSensitivity: sensitivityMaskSchema.nullable().optional(),
89
91
  slot: z.number().int().nonnegative(),
90
92
  status: z.enum(["pending", "succeeded", "skipped", "failed"]),
91
93
  })
@@ -104,6 +106,7 @@ export const automationContract = {
104
106
  createdAt: z.date(),
105
107
  data: encodableSchema,
106
108
  id: z.string(),
109
+ sensitivity: sensitivityMaskSchema.nullable().optional(),
107
110
  outputIndex: z.number().int().nonnegative(),
108
111
  type: z.string(),
109
112
  })
@@ -3,6 +3,9 @@ export declare const eventsContract: {
3
3
  entry: import("zod").ZodArray<import("zod").ZodUnknown>;
4
4
  object: import("zod").ZodLiteral<"whatsapp_business_account">;
5
5
  }, import("zod/v4/core").$loose>, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
6
+ webflowEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
7
+ sourceId: import("zod").ZodString;
8
+ }, import("zod/v4/core").$loose>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
6
9
  vercelEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$loose>, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
7
10
  trelloEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
8
11
  sourceId: import("zod").ZodString;
@@ -22,6 +25,9 @@ export declare const eventsContract: {
22
25
  trelloWebhookProbe: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
23
26
  sourceId: import("zod").ZodString;
24
27
  }, import("zod/v4/core").$loose>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
28
+ stripeEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
29
+ sourceId: import("zod").ZodString;
30
+ }, import("zod/v4/core").$loose>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
25
31
  slackEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
26
32
  type: import("zod").ZodString;
27
33
  }, import("zod/v4/core").$loose>, import("zod").ZodObject<{
@@ -12,8 +12,10 @@ import { mailhookEventsContract } from "./mailhook.js";
12
12
  import { microsoftEventsContract } from "./microsoft.js";
13
13
  import { resendEventsContract } from "./resend.js";
14
14
  import { slackEventsContract } from "./slack.js";
15
+ import { stripeEventsContract } from "./stripe.js";
15
16
  import { trelloEventsContract } from "./trello.js";
16
17
  import { vercelEventsContract } from "./vercel.js";
18
+ import { webflowEventsContract } from "./webflow.js";
17
19
  import { whatsappEventsContract } from "./whatsapp.js";
18
20
  export const eventsContract = {
19
21
  ...airtableEventsContract,
@@ -30,7 +32,9 @@ export const eventsContract = {
30
32
  ...microsoftEventsContract,
31
33
  ...resendEventsContract,
32
34
  ...slackEventsContract,
35
+ ...stripeEventsContract,
33
36
  ...trelloEventsContract,
34
37
  ...vercelEventsContract,
38
+ ...webflowEventsContract,
35
39
  ...whatsappEventsContract,
36
40
  };
@@ -0,0 +1,6 @@
1
+ import * as z from "zod";
2
+ export declare const stripeEventsContract: {
3
+ stripeEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4
+ sourceId: z.ZodString;
5
+ }, z.core.$loose>, z.ZodVoid, Record<never, never>, Record<never, never>>;
6
+ };
@@ -0,0 +1,16 @@
1
+ import { oc } from "@orpc/contract";
2
+ import * as z from "zod";
3
+ export const stripeEventsContract = {
4
+ stripeEvent: oc
5
+ .route({
6
+ method: "POST",
7
+ path: "/events/stripe/{sourceId}",
8
+ operationId: "receiveStripeEvent",
9
+ summary: "Receive a Stripe event",
10
+ description: "Receives and authenticates callbacks delivered by Stripe webhooks.",
11
+ tags: ["Events"],
12
+ successStatus: 204,
13
+ })
14
+ .input(z.looseObject({ sourceId: z.string() }))
15
+ .output(z.void()),
16
+ };
@@ -0,0 +1,6 @@
1
+ import * as z from "zod";
2
+ export declare const webflowEventsContract: {
3
+ webflowEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
4
+ sourceId: z.ZodString;
5
+ }, z.core.$loose>, z.ZodVoid, Record<never, never>, Record<never, never>>;
6
+ };
@@ -0,0 +1,16 @@
1
+ import { oc } from "@orpc/contract";
2
+ import * as z from "zod";
3
+ export const webflowEventsContract = {
4
+ webflowEvent: oc
5
+ .route({
6
+ method: "POST",
7
+ path: "/events/webflow/{sourceId}",
8
+ operationId: "receiveWebflowEvent",
9
+ summary: "Receive a Webflow event",
10
+ description: "Receives and authenticates callbacks delivered by Webflow webhooks.",
11
+ tags: ["Events"],
12
+ successStatus: 200,
13
+ })
14
+ .input(z.looseObject({ sourceId: z.string() }))
15
+ .output(z.void()),
16
+ };
@@ -1,10 +1,10 @@
1
1
  import { z } from "zod";
2
- export declare const EXECUTION_DATASET_VERSION = 6;
2
+ export declare const EXECUTION_DATASET_VERSION = 7;
3
3
  export declare const executionDatasetResourceSchema: z.ZodEnum<{
4
4
  automations: "automations";
5
5
  projects: "projects";
6
- actions: "actions";
7
6
  events: "events";
7
+ actions: "actions";
8
8
  outputs: "outputs";
9
9
  "automation-invocations": "automation-invocations";
10
10
  contexts: "contexts";
@@ -29,8 +29,8 @@ export declare const executionDatasetManifestSchema: z.ZodObject<{
29
29
  name: z.ZodEnum<{
30
30
  automations: "automations";
31
31
  projects: "projects";
32
- actions: "actions";
33
32
  events: "events";
33
+ actions: "actions";
34
34
  outputs: "outputs";
35
35
  "automation-invocations": "automation-invocations";
36
36
  contexts: "contexts";
@@ -45,7 +45,7 @@ export declare const executionDatasetManifestSchema: z.ZodObject<{
45
45
  }>;
46
46
  url: z.ZodURL;
47
47
  }, z.core.$strip>>;
48
- schemaVersion: z.ZodLiteral<6>;
48
+ schemaVersion: z.ZodLiteral<7>;
49
49
  scope: z.ZodObject<{
50
50
  organizationId: z.ZodNullable<z.ZodString>;
51
51
  projectId: z.ZodNullable<z.ZodString>;
@@ -67,8 +67,8 @@ export declare const executionDataContract: {
67
67
  name: z.ZodEnum<{
68
68
  automations: "automations";
69
69
  projects: "projects";
70
- actions: "actions";
71
70
  events: "events";
71
+ actions: "actions";
72
72
  outputs: "outputs";
73
73
  "automation-invocations": "automation-invocations";
74
74
  contexts: "contexts";
@@ -83,7 +83,7 @@ export declare const executionDataContract: {
83
83
  }>;
84
84
  url: z.ZodURL;
85
85
  }, z.core.$strip>>;
86
- schemaVersion: z.ZodLiteral<6>;
86
+ schemaVersion: z.ZodLiteral<7>;
87
87
  scope: z.ZodObject<{
88
88
  organizationId: z.ZodNullable<z.ZodString>;
89
89
  projectId: z.ZodNullable<z.ZodString>;
@@ -1,6 +1,6 @@
1
1
  import { oc } from "@orpc/contract";
2
2
  import { z } from "zod";
3
- export const EXECUTION_DATASET_VERSION = 6;
3
+ export const EXECUTION_DATASET_VERSION = 7;
4
4
  export const executionDatasetResourceSchema = z.enum([
5
5
  "projects",
6
6
  "automations",
package/dist/index.d.ts CHANGED
@@ -673,8 +673,8 @@ export declare const publicContract: {
673
673
  name: import("zod").ZodEnum<{
674
674
  automations: "automations";
675
675
  projects: "projects";
676
- actions: "actions";
677
676
  events: "events";
677
+ actions: "actions";
678
678
  outputs: "outputs";
679
679
  "automation-invocations": "automation-invocations";
680
680
  contexts: "contexts";
@@ -689,7 +689,7 @@ export declare const publicContract: {
689
689
  }>;
690
690
  url: import("zod").ZodURL;
691
691
  }, import("zod/v4/core").$strip>>;
692
- schemaVersion: import("zod").ZodLiteral<6>;
692
+ schemaVersion: import("zod").ZodLiteral<7>;
693
693
  scope: import("zod").ZodObject<{
694
694
  organizationId: import("zod").ZodNullable<import("zod").ZodString>;
695
695
  projectId: import("zod").ZodNullable<import("zod").ZodString>;
@@ -966,8 +966,8 @@ export declare const firstPartyContract: {
966
966
  id: import("zod").ZodString;
967
967
  status: import("zod").ZodEnum<{
968
968
  failed: "failed";
969
- running: "running";
970
969
  settled: "settled";
970
+ running: "running";
971
971
  }>;
972
972
  createdAt: import("zod").ZodDate;
973
973
  failure: import("zod").ZodNullable<import("zod").ZodType<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue, import("zod/v4/core").$ZodTypeInternals<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue>>>;
@@ -981,6 +981,7 @@ export declare const firstPartyContract: {
981
981
  id: import("zod").ZodString;
982
982
  name: import("zod").ZodString;
983
983
  output: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
984
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
984
985
  slot: import("zod").ZodNumber;
985
986
  status: import("zod").ZodEnum<{
986
987
  pending: "pending";
@@ -1000,6 +1001,7 @@ export declare const firstPartyContract: {
1000
1001
  createdAt: import("zod").ZodDate;
1001
1002
  data: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
1002
1003
  id: import("zod").ZodString;
1004
+ sensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
1003
1005
  outputIndex: import("zod").ZodNumber;
1004
1006
  type: import("zod").ZodString;
1005
1007
  }, import("zod/v4/core").$strip>>;
@@ -1015,8 +1017,8 @@ export declare const firstPartyContract: {
1015
1017
  settledAt: import("zod").ZodNullable<import("zod").ZodDate>;
1016
1018
  status: import("zod").ZodEnum<{
1017
1019
  failed: "failed";
1018
- running: "running";
1019
1020
  settled: "settled";
1021
+ running: "running";
1020
1022
  }>;
1021
1023
  }, import("zod/v4/core").$strip>>, Record<never, never>, Record<never, never>>;
1022
1024
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -2026,8 +2028,8 @@ export declare const firstPartyContract: {
2026
2028
  name: import("zod").ZodEnum<{
2027
2029
  automations: "automations";
2028
2030
  projects: "projects";
2029
- actions: "actions";
2030
2031
  events: "events";
2032
+ actions: "actions";
2031
2033
  outputs: "outputs";
2032
2034
  "automation-invocations": "automation-invocations";
2033
2035
  contexts: "contexts";
@@ -2042,7 +2044,7 @@ export declare const firstPartyContract: {
2042
2044
  }>;
2043
2045
  url: import("zod").ZodURL;
2044
2046
  }, import("zod/v4/core").$strip>>;
2045
- schemaVersion: import("zod").ZodLiteral<6>;
2047
+ schemaVersion: import("zod").ZodLiteral<7>;
2046
2048
  scope: import("zod").ZodObject<{
2047
2049
  organizationId: import("zod").ZodNullable<import("zod").ZodString>;
2048
2050
  projectId: import("zod").ZodNullable<import("zod").ZodString>;
@@ -2129,6 +2131,9 @@ export declare const contract: {
2129
2131
  entry: import("zod").ZodArray<import("zod").ZodUnknown>;
2130
2132
  object: import("zod").ZodLiteral<"whatsapp_business_account">;
2131
2133
  }, import("zod/v4/core").$loose>, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
2134
+ webflowEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
2135
+ sourceId: import("zod").ZodString;
2136
+ }, import("zod/v4/core").$loose>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
2132
2137
  vercelEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{}, import("zod/v4/core").$loose>, import("zod").ZodObject<{}, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
2133
2138
  trelloEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
2134
2139
  sourceId: import("zod").ZodString;
@@ -2148,6 +2153,9 @@ export declare const contract: {
2148
2153
  trelloWebhookProbe: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
2149
2154
  sourceId: import("zod").ZodString;
2150
2155
  }, import("zod/v4/core").$loose>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
2156
+ stripeEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
2157
+ sourceId: import("zod").ZodString;
2158
+ }, import("zod/v4/core").$loose>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
2151
2159
  slackEvent: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
2152
2160
  type: import("zod").ZodString;
2153
2161
  }, import("zod/v4/core").$loose>, import("zod").ZodObject<{
@@ -2278,6 +2286,7 @@ export declare const contract: {
2278
2286
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2279
2287
  inputHash: import("zod").ZodString;
2280
2288
  name: import("zod").ZodString;
2289
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2281
2290
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2282
2291
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2283
2292
  slot: import("zod").ZodNumber;
@@ -2307,6 +2316,7 @@ export declare const contract: {
2307
2316
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2308
2317
  inputHash: import("zod").ZodString;
2309
2318
  name: import("zod").ZodString;
2319
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2310
2320
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2311
2321
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2312
2322
  slot: import("zod").ZodNumber;
@@ -2337,6 +2347,7 @@ export declare const contract: {
2337
2347
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2338
2348
  inputHash: import("zod").ZodString;
2339
2349
  name: import("zod").ZodString;
2350
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2340
2351
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2341
2352
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2342
2353
  slot: import("zod").ZodNumber;
@@ -2882,6 +2893,7 @@ export declare const contract: {
2882
2893
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2883
2894
  inputHash: import("zod").ZodString;
2884
2895
  name: import("zod").ZodString;
2896
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2885
2897
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2886
2898
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2887
2899
  slot: import("zod").ZodNumber;
@@ -2913,6 +2925,7 @@ export declare const contract: {
2913
2925
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2914
2926
  inputHash: import("zod").ZodString;
2915
2927
  name: import("zod").ZodString;
2928
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2916
2929
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2917
2930
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2918
2931
  slot: import("zod").ZodNumber;
@@ -2946,6 +2959,7 @@ export declare const contract: {
2946
2959
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2947
2960
  inputHash: import("zod").ZodString;
2948
2961
  name: import("zod").ZodString;
2962
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2949
2963
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2950
2964
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2951
2965
  slot: import("zod").ZodNumber;
@@ -2979,6 +2993,7 @@ export declare const contract: {
2979
2993
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2980
2994
  inputHash: import("zod").ZodString;
2981
2995
  name: import("zod").ZodString;
2996
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
2982
2997
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
2983
2998
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
2984
2999
  slot: import("zod").ZodNumber;
@@ -3013,6 +3028,7 @@ export declare const contract: {
3013
3028
  eventDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
3014
3029
  inputHash: import("zod").ZodString;
3015
3030
  name: import("zod").ZodString;
3031
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
3016
3032
  scopePath: import("zod").ZodArray<import("zod").ZodNumber>;
3017
3033
  signalDependencyIds: import("zod").ZodArray<import("zod").ZodString>;
3018
3034
  slot: import("zod").ZodNumber;
@@ -3198,6 +3214,7 @@ export declare const contract: {
3198
3214
  slot: import("zod").ZodNumber;
3199
3215
  timestamp: import("zod").ZodDate;
3200
3216
  output: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
3217
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
3201
3218
  status: import("zod").ZodLiteral<"succeeded">;
3202
3219
  }, import("zod/v4/core").$strip>]>>;
3203
3220
  coordinationSelections: import("zod").ZodArray<import("zod").ZodObject<{
@@ -3337,6 +3354,7 @@ export declare const contract: {
3337
3354
  slot: import("zod").ZodNumber;
3338
3355
  timestamp: import("zod").ZodDate;
3339
3356
  output: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
3357
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
3340
3358
  status: import("zod").ZodLiteral<"succeeded">;
3341
3359
  }, import("zod/v4/core").$strip>]>>;
3342
3360
  coordinationSelections: import("zod").ZodArray<import("zod").ZodObject<{
@@ -3434,6 +3452,7 @@ export declare const contract: {
3434
3452
  type: import("zod").ZodString;
3435
3453
  }, import("zod/v4/core").$strip>;
3436
3454
  outputIndex: import("zod").ZodNumber;
3455
+ sensitivity: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>;
3437
3456
  }, import("zod/v4/core").$strip>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
3438
3457
  sendLog: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
3439
3458
  fields: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>>>;
@@ -3445,12 +3464,14 @@ export declare const contract: {
3445
3464
  }>;
3446
3465
  logIndex: import("zod").ZodNumber;
3447
3466
  message: import("zod").ZodString;
3467
+ sensitivity: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>;
3448
3468
  spanIndex: import("zod").ZodOptional<import("zod").ZodNumber>;
3449
3469
  timestamp: import("zod").ZodDate;
3450
3470
  }, import("zod/v4/core").$strip>, import("zod").ZodVoid, Record<never, never>, Record<never, never>>;
3451
3471
  startTraceSpan: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
3452
3472
  attributes: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>>>;
3453
3473
  name: import("zod").ZodString;
3474
+ sensitivity: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>;
3454
3475
  parentSpanIndex: import("zod").ZodOptional<import("zod").ZodNumber>;
3455
3476
  spanIndex: import("zod").ZodNumber;
3456
3477
  startedAt: import("zod").ZodDate;
@@ -3484,8 +3505,8 @@ export declare const contract: {
3484
3505
  id: import("zod").ZodString;
3485
3506
  status: import("zod").ZodEnum<{
3486
3507
  failed: "failed";
3487
- running: "running";
3488
3508
  settled: "settled";
3509
+ running: "running";
3489
3510
  }>;
3490
3511
  createdAt: import("zod").ZodDate;
3491
3512
  failure: import("zod").ZodNullable<import("zod").ZodType<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue, import("zod/v4/core").$ZodTypeInternals<import("./errors").AutomationErrorValue, import("./errors").AutomationErrorValue>>>;
@@ -3499,6 +3520,7 @@ export declare const contract: {
3499
3520
  id: import("zod").ZodString;
3500
3521
  name: import("zod").ZodString;
3501
3522
  output: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
3523
+ outputSensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
3502
3524
  slot: import("zod").ZodNumber;
3503
3525
  status: import("zod").ZodEnum<{
3504
3526
  pending: "pending";
@@ -3518,6 +3540,7 @@ export declare const contract: {
3518
3540
  createdAt: import("zod").ZodDate;
3519
3541
  data: import("zod").ZodOptional<import("zod").ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
3520
3542
  id: import("zod").ZodString;
3543
+ sensitivity: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodCustom<import("@automate.ax/codec").SensitivityMask, import("@automate.ax/codec").SensitivityMask>>>;
3521
3544
  outputIndex: import("zod").ZodNumber;
3522
3545
  type: import("zod").ZodString;
3523
3546
  }, import("zod/v4/core").$strip>>;
@@ -3533,8 +3556,8 @@ export declare const contract: {
3533
3556
  settledAt: import("zod").ZodNullable<import("zod").ZodDate>;
3534
3557
  status: import("zod").ZodEnum<{
3535
3558
  failed: "failed";
3536
- running: "running";
3537
3559
  settled: "settled";
3560
+ running: "running";
3538
3561
  }>;
3539
3562
  }, import("zod/v4/core").$strip>>, Record<never, never>, Record<never, never>>;
3540
3563
  get: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
@@ -4480,8 +4503,8 @@ export declare const contract: {
4480
4503
  name: import("zod").ZodEnum<{
4481
4504
  automations: "automations";
4482
4505
  projects: "projects";
4483
- actions: "actions";
4484
4506
  events: "events";
4507
+ actions: "actions";
4485
4508
  outputs: "outputs";
4486
4509
  "automation-invocations": "automation-invocations";
4487
4510
  contexts: "contexts";
@@ -4496,7 +4519,7 @@ export declare const contract: {
4496
4519
  }>;
4497
4520
  url: import("zod").ZodURL;
4498
4521
  }, import("zod/v4/core").$strip>>;
4499
- schemaVersion: import("zod").ZodLiteral<6>;
4522
+ schemaVersion: import("zod").ZodLiteral<7>;
4500
4523
  scope: import("zod").ZodObject<{
4501
4524
  organizationId: import("zod").ZodNullable<import("zod").ZodString>;
4502
4525
  projectId: import("zod").ZodNullable<import("zod").ZodString>;
package/dist/runtime.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { type SensitivityMask } from "@automate.ax/codec";
1
2
  import type { GatewayModelId } from "@ai-sdk/gateway";
2
3
  import * as z from "zod";
3
4
  export type { GatewayModelId } from "@ai-sdk/gateway";
@@ -13,6 +14,8 @@ export declare const AUTOMATION_OBSERVABILITY_MAX_FIELDS = 64;
13
14
  export declare const AUTOMATION_OBSERVABILITY_MAX_ENCODED_BYTES: number;
14
15
  export declare const AUTOMATION_LOG_MAX_MESSAGE_LENGTH = 16384;
15
16
  export declare const AUTOMATION_TRACE_MAX_NAME_LENGTH = 256;
17
+ /** Runtime-validated structural policy for author-visible value projection. */
18
+ export declare const sensitivityMaskSchema: z.ZodCustom<SensitivityMask, SensitivityMask>;
16
19
  /** Immediate or mutually exclusive absolute/relative invocation timing. */
17
20
  export declare const automationInvocationScheduleSchema: z.ZodUnion<readonly [z.ZodObject<{
18
21
  runAt: z.ZodUnion<readonly [z.ZodDate, z.ZodString, z.ZodNumber]>;
@@ -503,6 +506,7 @@ export declare const runtimeContract: {
503
506
  eventDependencyIds: z.ZodArray<z.ZodString>;
504
507
  inputHash: z.ZodString;
505
508
  name: z.ZodString;
509
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
506
510
  scopePath: z.ZodArray<z.ZodNumber>;
507
511
  signalDependencyIds: z.ZodArray<z.ZodString>;
508
512
  slot: z.ZodNumber;
@@ -532,6 +536,7 @@ export declare const runtimeContract: {
532
536
  eventDependencyIds: z.ZodArray<z.ZodString>;
533
537
  inputHash: z.ZodString;
534
538
  name: z.ZodString;
539
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
535
540
  scopePath: z.ZodArray<z.ZodNumber>;
536
541
  signalDependencyIds: z.ZodArray<z.ZodString>;
537
542
  slot: z.ZodNumber;
@@ -562,6 +567,7 @@ export declare const runtimeContract: {
562
567
  eventDependencyIds: z.ZodArray<z.ZodString>;
563
568
  inputHash: z.ZodString;
564
569
  name: z.ZodString;
570
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
565
571
  scopePath: z.ZodArray<z.ZodNumber>;
566
572
  signalDependencyIds: z.ZodArray<z.ZodString>;
567
573
  slot: z.ZodNumber;
@@ -1107,6 +1113,7 @@ export declare const runtimeContract: {
1107
1113
  eventDependencyIds: z.ZodArray<z.ZodString>;
1108
1114
  inputHash: z.ZodString;
1109
1115
  name: z.ZodString;
1116
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1110
1117
  scopePath: z.ZodArray<z.ZodNumber>;
1111
1118
  signalDependencyIds: z.ZodArray<z.ZodString>;
1112
1119
  slot: z.ZodNumber;
@@ -1138,6 +1145,7 @@ export declare const runtimeContract: {
1138
1145
  eventDependencyIds: z.ZodArray<z.ZodString>;
1139
1146
  inputHash: z.ZodString;
1140
1147
  name: z.ZodString;
1148
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1141
1149
  scopePath: z.ZodArray<z.ZodNumber>;
1142
1150
  signalDependencyIds: z.ZodArray<z.ZodString>;
1143
1151
  slot: z.ZodNumber;
@@ -1171,6 +1179,7 @@ export declare const runtimeContract: {
1171
1179
  eventDependencyIds: z.ZodArray<z.ZodString>;
1172
1180
  inputHash: z.ZodString;
1173
1181
  name: z.ZodString;
1182
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1174
1183
  scopePath: z.ZodArray<z.ZodNumber>;
1175
1184
  signalDependencyIds: z.ZodArray<z.ZodString>;
1176
1185
  slot: z.ZodNumber;
@@ -1204,6 +1213,7 @@ export declare const runtimeContract: {
1204
1213
  eventDependencyIds: z.ZodArray<z.ZodString>;
1205
1214
  inputHash: z.ZodString;
1206
1215
  name: z.ZodString;
1216
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1207
1217
  scopePath: z.ZodArray<z.ZodNumber>;
1208
1218
  signalDependencyIds: z.ZodArray<z.ZodString>;
1209
1219
  slot: z.ZodNumber;
@@ -1238,6 +1248,7 @@ export declare const runtimeContract: {
1238
1248
  eventDependencyIds: z.ZodArray<z.ZodString>;
1239
1249
  inputHash: z.ZodString;
1240
1250
  name: z.ZodString;
1251
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1241
1252
  scopePath: z.ZodArray<z.ZodNumber>;
1242
1253
  signalDependencyIds: z.ZodArray<z.ZodString>;
1243
1254
  slot: z.ZodNumber;
@@ -1423,6 +1434,7 @@ export declare const runtimeContract: {
1423
1434
  slot: z.ZodNumber;
1424
1435
  timestamp: z.ZodDate;
1425
1436
  output: z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
1437
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1426
1438
  status: z.ZodLiteral<"succeeded">;
1427
1439
  }, z.core.$strip>]>>;
1428
1440
  coordinationSelections: z.ZodArray<z.ZodObject<{
@@ -1562,6 +1574,7 @@ export declare const runtimeContract: {
1562
1574
  slot: z.ZodNumber;
1563
1575
  timestamp: z.ZodDate;
1564
1576
  output: z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>;
1577
+ outputSensitivity: z.ZodOptional<z.ZodNullable<z.ZodCustom<SensitivityMask, SensitivityMask>>>;
1565
1578
  status: z.ZodLiteral<"succeeded">;
1566
1579
  }, z.core.$strip>]>>;
1567
1580
  coordinationSelections: z.ZodArray<z.ZodObject<{
@@ -1659,6 +1672,7 @@ export declare const runtimeContract: {
1659
1672
  type: z.ZodString;
1660
1673
  }, z.core.$strip>;
1661
1674
  outputIndex: z.ZodNumber;
1675
+ sensitivity: z.ZodOptional<z.ZodCustom<SensitivityMask, SensitivityMask>>;
1662
1676
  }, z.core.$strip>, z.ZodVoid, Record<never, never>, Record<never, never>>;
1663
1677
  sendLog: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1664
1678
  fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>>>;
@@ -1670,12 +1684,14 @@ export declare const runtimeContract: {
1670
1684
  }>;
1671
1685
  logIndex: z.ZodNumber;
1672
1686
  message: z.ZodString;
1687
+ sensitivity: z.ZodOptional<z.ZodCustom<SensitivityMask, SensitivityMask>>;
1673
1688
  spanIndex: z.ZodOptional<z.ZodNumber>;
1674
1689
  timestamp: z.ZodDate;
1675
1690
  }, z.core.$strip>, z.ZodVoid, Record<never, never>, Record<never, never>>;
1676
1691
  startTraceSpan: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1677
1692
  attributes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodOptional<z.ZodCustom<import("@automate.ax/codec").Encodable, import("@automate.ax/codec").Encodable>>>>;
1678
1693
  name: z.ZodString;
1694
+ sensitivity: z.ZodOptional<z.ZodCustom<SensitivityMask, SensitivityMask>>;
1679
1695
  parentSpanIndex: z.ZodOptional<z.ZodNumber>;
1680
1696
  spanIndex: z.ZodNumber;
1681
1697
  startedAt: z.ZodDate;
package/dist/runtime.js CHANGED
@@ -1,4 +1,4 @@
1
- import { encodableSchema } from "@automate.ax/codec";
1
+ import { encodableSchema, isSensitivityMask, } from "@automate.ax/codec";
2
2
  import { oc } from "@orpc/contract";
3
3
  import stableStringify from "fast-json-stable-stringify";
4
4
  import * as z from "zod";
@@ -30,6 +30,8 @@ const TRACE_SPAN_INDEX_SCHEMA = z
30
30
  .int()
31
31
  .min(0)
32
32
  .max(AUTOMATION_TRACE_MAX_SPANS - 1);
33
+ /** Runtime-validated structural policy for author-visible value projection. */
34
+ export const sensitivityMaskSchema = z.custom(isSensitivityMask, { message: "Invalid structural sensitivity mask" });
33
35
  const AUTOMATION_INVOCATION_RUN_AT_SCHEMA = z.union([
34
36
  z.date(),
35
37
  z.string().min(1),
@@ -147,6 +149,7 @@ const ACTION_INVOCATION_BASE_SCHEMA = z.object({
147
149
  eventDependencyIds: z.string().array(),
148
150
  inputHash: z.string(),
149
151
  name: z.string(),
152
+ outputSensitivity: sensitivityMaskSchema.nullable().optional(),
150
153
  scopePath: HOOK_SCOPE_PATH_SCHEMA,
151
154
  signalDependencyIds: z.string().array(),
152
155
  slot: z.number().int().nonnegative(),
@@ -391,6 +394,7 @@ const ACTION_VALUE_OUTCOME_SCHEMA = z.union([
391
394
  }),
392
395
  ACTION_VALUE_OUTCOME_BASE_SCHEMA.extend({
393
396
  output: encodableSchema,
397
+ outputSensitivity: sensitivityMaskSchema.nullable().optional(),
394
398
  status: z.literal("succeeded"),
395
399
  }),
396
400
  ]);
@@ -697,6 +701,7 @@ export const runtimeContract = {
697
701
  type: z.string().min(1),
698
702
  }),
699
703
  outputIndex: z.number().int().nonnegative(),
704
+ sensitivity: sensitivityMaskSchema.optional(),
700
705
  }))
701
706
  .output(z.void()),
702
707
  sendLog: oc
@@ -705,6 +710,7 @@ export const runtimeContract = {
705
710
  level: z.enum(["debug", "info", "warn", "error"]),
706
711
  logIndex: LOG_INDEX_SCHEMA,
707
712
  message: z.string().min(1).max(AUTOMATION_LOG_MAX_MESSAGE_LENGTH),
713
+ sensitivity: sensitivityMaskSchema.optional(),
708
714
  spanIndex: TRACE_SPAN_INDEX_SCHEMA.optional(),
709
715
  timestamp: z.date(),
710
716
  }))
@@ -713,6 +719,7 @@ export const runtimeContract = {
713
719
  .input(z.object({
714
720
  attributes: OBSERVABILITY_FIELDS_SCHEMA.optional(),
715
721
  name: z.string().min(1).max(AUTOMATION_TRACE_MAX_NAME_LENGTH),
722
+ sensitivity: sensitivityMaskSchema.optional(),
716
723
  parentSpanIndex: TRACE_SPAN_INDEX_SCHEMA.optional(),
717
724
  spanIndex: TRACE_SPAN_INDEX_SCHEMA,
718
725
  startedAt: z.date(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@automate.ax/api-contract",
3
- "version": "0.83.3",
3
+ "version": "0.85.0",
4
4
  "description": "Public oRPC contract for the Automate.ax API.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -31,14 +31,14 @@
31
31
  },
32
32
  "dependencies": {
33
33
  "@ai-sdk/gateway": "^4.0.46",
34
- "@automate.ax/codec": "0.83.3",
35
- "@automate.ax/integration-contracts": "0.83.3",
34
+ "@automate.ax/codec": "0.85.0",
35
+ "@automate.ax/integration-contracts": "0.85.0",
36
36
  "@orpc/contract": "1.15.0",
37
37
  "fast-json-stable-stringify": "^2.1.0",
38
38
  "zod": "^4.3.6"
39
39
  },
40
40
  "devDependencies": {
41
- "@internal/config": "0.1.0",
41
+ "@internal/config": "0.2.0",
42
42
  "@types/bun": "latest",
43
43
  "@typescript/native": "npm:typescript@^7.0.2",
44
44
  "@zachsents/oxlint-config": "^0.4.1",
package/src/automation.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { encodableSchema } from "@automate.ax/codec"
2
+ import { sensitivityMaskSchema } from "./runtime"
2
3
  import { oc } from "@orpc/contract"
3
4
  import * as z from "zod"
4
5
  import { integrationAccountBindingOutputSchema } from "./account"
@@ -95,6 +96,7 @@ export const automationContract = {
95
96
  id: z.string(),
96
97
  name: z.string(),
97
98
  output: encodableSchema,
99
+ outputSensitivity: sensitivityMaskSchema.nullable().optional(),
98
100
  slot: z.number().int().nonnegative(),
99
101
  status: z.enum(["pending", "succeeded", "skipped", "failed"]),
100
102
  })
@@ -113,6 +115,7 @@ export const automationContract = {
113
115
  createdAt: z.date(),
114
116
  data: encodableSchema,
115
117
  id: z.string(),
118
+ sensitivity: sensitivityMaskSchema.nullable().optional(),
116
119
  outputIndex: z.number().int().nonnegative(),
117
120
  type: z.string(),
118
121
  })
@@ -12,8 +12,10 @@ import { mailhookEventsContract } from "./mailhook"
12
12
  import { microsoftEventsContract } from "./microsoft"
13
13
  import { resendEventsContract } from "./resend"
14
14
  import { slackEventsContract } from "./slack"
15
+ import { stripeEventsContract } from "./stripe"
15
16
  import { trelloEventsContract } from "./trello"
16
17
  import { vercelEventsContract } from "./vercel"
18
+ import { webflowEventsContract } from "./webflow"
17
19
  import { whatsappEventsContract } from "./whatsapp"
18
20
 
19
21
  export const eventsContract = {
@@ -31,7 +33,9 @@ export const eventsContract = {
31
33
  ...microsoftEventsContract,
32
34
  ...resendEventsContract,
33
35
  ...slackEventsContract,
36
+ ...stripeEventsContract,
34
37
  ...trelloEventsContract,
35
38
  ...vercelEventsContract,
39
+ ...webflowEventsContract,
36
40
  ...whatsappEventsContract,
37
41
  }
@@ -0,0 +1,18 @@
1
+ import { oc } from "@orpc/contract"
2
+ import * as z from "zod"
3
+
4
+ export const stripeEventsContract = {
5
+ stripeEvent: oc
6
+ .route({
7
+ method: "POST",
8
+ path: "/events/stripe/{sourceId}",
9
+ operationId: "receiveStripeEvent",
10
+ summary: "Receive a Stripe event",
11
+ description:
12
+ "Receives and authenticates callbacks delivered by Stripe webhooks.",
13
+ tags: ["Events"],
14
+ successStatus: 204,
15
+ })
16
+ .input(z.looseObject({ sourceId: z.string() }))
17
+ .output(z.void()),
18
+ }
@@ -0,0 +1,18 @@
1
+ import { oc } from "@orpc/contract"
2
+ import * as z from "zod"
3
+
4
+ export const webflowEventsContract = {
5
+ webflowEvent: oc
6
+ .route({
7
+ method: "POST",
8
+ path: "/events/webflow/{sourceId}",
9
+ operationId: "receiveWebflowEvent",
10
+ summary: "Receive a Webflow event",
11
+ description:
12
+ "Receives and authenticates callbacks delivered by Webflow webhooks.",
13
+ tags: ["Events"],
14
+ successStatus: 200,
15
+ })
16
+ .input(z.looseObject({ sourceId: z.string() }))
17
+ .output(z.void()),
18
+ }
@@ -1,7 +1,7 @@
1
1
  import { oc } from "@orpc/contract"
2
2
  import { z } from "zod"
3
3
 
4
- export const EXECUTION_DATASET_VERSION = 6
4
+ export const EXECUTION_DATASET_VERSION = 7
5
5
 
6
6
  export const executionDatasetResourceSchema = z.enum([
7
7
  "projects",
package/src/runtime.ts CHANGED
@@ -1,4 +1,8 @@
1
- import { encodableSchema } from "@automate.ax/codec"
1
+ import {
2
+ encodableSchema,
3
+ isSensitivityMask,
4
+ type SensitivityMask,
5
+ } from "@automate.ax/codec"
2
6
  import type { GatewayModelId } from "@ai-sdk/gateway"
3
7
  import { oc } from "@orpc/contract"
4
8
  import stableStringify from "fast-json-stable-stringify"
@@ -42,6 +46,12 @@ const TRACE_SPAN_INDEX_SCHEMA = z
42
46
  .min(0)
43
47
  .max(AUTOMATION_TRACE_MAX_SPANS - 1)
44
48
 
49
+ /** Runtime-validated structural policy for author-visible value projection. */
50
+ export const sensitivityMaskSchema = z.custom<SensitivityMask>(
51
+ isSensitivityMask,
52
+ { message: "Invalid structural sensitivity mask" },
53
+ )
54
+
45
55
  const AUTOMATION_INVOCATION_RUN_AT_SCHEMA = z.union([
46
56
  z.date(),
47
57
  z.string().min(1),
@@ -169,6 +179,7 @@ const ACTION_INVOCATION_BASE_SCHEMA = z.object({
169
179
  eventDependencyIds: z.string().array(),
170
180
  inputHash: z.string(),
171
181
  name: z.string(),
182
+ outputSensitivity: sensitivityMaskSchema.nullable().optional(),
172
183
  scopePath: HOOK_SCOPE_PATH_SCHEMA,
173
184
  signalDependencyIds: z.string().array(),
174
185
  slot: z.number().int().nonnegative(),
@@ -445,6 +456,7 @@ const ACTION_VALUE_OUTCOME_SCHEMA = z.union([
445
456
  }),
446
457
  ACTION_VALUE_OUTCOME_BASE_SCHEMA.extend({
447
458
  output: encodableSchema,
459
+ outputSensitivity: sensitivityMaskSchema.nullable().optional(),
448
460
  status: z.literal("succeeded"),
449
461
  }),
450
462
  ])
@@ -809,6 +821,7 @@ export const runtimeContract = {
809
821
  type: z.string().min(1),
810
822
  }),
811
823
  outputIndex: z.number().int().nonnegative(),
824
+ sensitivity: sensitivityMaskSchema.optional(),
812
825
  }),
813
826
  )
814
827
  .output(z.void()),
@@ -819,6 +832,7 @@ export const runtimeContract = {
819
832
  level: z.enum(["debug", "info", "warn", "error"]),
820
833
  logIndex: LOG_INDEX_SCHEMA,
821
834
  message: z.string().min(1).max(AUTOMATION_LOG_MAX_MESSAGE_LENGTH),
835
+ sensitivity: sensitivityMaskSchema.optional(),
822
836
  spanIndex: TRACE_SPAN_INDEX_SCHEMA.optional(),
823
837
  timestamp: z.date(),
824
838
  }),
@@ -829,6 +843,7 @@ export const runtimeContract = {
829
843
  z.object({
830
844
  attributes: OBSERVABILITY_FIELDS_SCHEMA.optional(),
831
845
  name: z.string().min(1).max(AUTOMATION_TRACE_MAX_NAME_LENGTH),
846
+ sensitivity: sensitivityMaskSchema.optional(),
832
847
  parentSpanIndex: TRACE_SPAN_INDEX_SCHEMA.optional(),
833
848
  spanIndex: TRACE_SPAN_INDEX_SCHEMA,
834
849
  startedAt: z.date(),