terse-types 0.0.12 → 0.0.14

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.
@@ -124,6 +124,9 @@ export declare const ApiRoutes: {
124
124
  LIST: string;
125
125
  BY_ID: string;
126
126
  };
127
+ PROJECTS: {
128
+ BY_ID: string;
129
+ };
127
130
  SDK: {
128
131
  ME: string;
129
132
  SAMPLE_EVENTS: string;
@@ -134,6 +137,7 @@ export declare const ApiRoutes: {
134
137
  AGENT_RUN: string;
135
138
  APPROVAL_DECISION: string;
136
139
  SESSION_EVENTS: string;
140
+ CREATE_PROJECT: string;
137
141
  DEPLOY: string;
138
142
  DEVICE_TOKEN_EXCHANGE: string;
139
143
  INTEGRATION_FIELDS: string;
@@ -152,6 +156,7 @@ export declare const ApiRoutes: {
152
156
  WORKOS: string;
153
157
  LINEAR_BY_USER_ID: string;
154
158
  SCHEDULE_BY_INPUT_ID: string;
159
+ WEBMONITOR_BY_INPUT_ID: string;
155
160
  WORKOS_TRIGGER_BY_INTEGRATION_ID: string;
156
161
  WEBHOOK_TRIGGER_BY_TOKEN: string;
157
162
  };
@@ -160,6 +165,7 @@ export declare const ApiRoutes: {
160
165
  TRIGGER_WITH_EVENT: string;
161
166
  };
162
167
  REFRESH_TOKENS: string;
168
+ CLEAR_OLD_SECRET_VERSIONS: string;
163
169
  REVIEW_AGENTS: string;
164
170
  CLEANUP_SDK_IMAGES: string;
165
171
  USERS: {
@@ -124,6 +124,9 @@
124
124
  "LIST": "/api-tokens",
125
125
  "BY_ID": "/api-tokens/:id"
126
126
  },
127
+ "PROJECTS": {
128
+ "BY_ID": "/projects/:id"
129
+ },
127
130
  "SDK": {
128
131
  "ME": "/sdk/me",
129
132
  "SAMPLE_EVENTS": "/sdk/sample-events",
@@ -134,6 +137,7 @@
134
137
  "AGENT_RUN": "/sdk/agent-run",
135
138
  "APPROVAL_DECISION": "/sdk/approval-decision",
136
139
  "SESSION_EVENTS": "/sdk/session-events",
140
+ "CREATE_PROJECT": "/sdk/projects",
137
141
  "DEPLOY": "/sdk/deploy",
138
142
  "DEVICE_TOKEN_EXCHANGE": "/sdk/auth/device-token-exchange",
139
143
  "INTEGRATION_FIELDS": "/sdk/integrations/:integrationType/fields",
@@ -152,6 +156,7 @@
152
156
  "WORKOS": "/webhooks/workos",
153
157
  "LINEAR_BY_USER_ID": "/webhooks/linear/:userId",
154
158
  "SCHEDULE_BY_INPUT_ID": "/webhooks/schedule/:inputId",
159
+ "WEBMONITOR_BY_INPUT_ID": "/webhooks/webmonitor/:inputId",
155
160
  "WORKOS_TRIGGER_BY_INTEGRATION_ID": "/webhooks/workos-trigger/:integrationId",
156
161
  "WEBHOOK_TRIGGER_BY_TOKEN": "/webhooks/trigger/:webhookToken"
157
162
  },
@@ -160,6 +165,7 @@
160
165
  "TRIGGER_WITH_EVENT": "/schedule/trigger-with-event/:automationId"
161
166
  },
162
167
  "REFRESH_TOKENS": "/refresh-tokens",
168
+ "CLEAR_OLD_SECRET_VERSIONS": "/clear-old-secret-versions",
163
169
  "REVIEW_AGENTS": "/review-agents",
164
170
  "CLEANUP_SDK_IMAGES": "/cleanup-sdk-images",
165
171
  "USERS": {
package/dist/Configs.d.ts CHANGED
@@ -19,9 +19,16 @@ export declare enum ConfigType {
19
19
  WORKOS_OUTPUT = "workos_output",
20
20
  ATTIO_OUTPUT = "attio_output",
21
21
  SNOWFLAKE_OUTPUT = "snowflake_output",
22
- WEBHOOK_INPUT = "webhook_input"
22
+ WEBHOOK_INPUT = "webhook_input",
23
+ WEBMONITOR = "webmonitor"
23
24
  }
24
25
  export declare const configTypeEnum: z.ZodEnum<typeof ConfigType>;
26
+ export declare const frequencyUnitSchema: z.ZodEnum<{
27
+ hour: "hour";
28
+ day: "day";
29
+ week: "week";
30
+ }>;
31
+ export type FrequencyUnit = z.infer<typeof frequencyUnitSchema>;
25
32
  export interface ConfigDetails {
26
33
  configType: ConfigType;
27
34
  name: string;
@@ -182,6 +189,14 @@ export declare const WebhookInputConfigMetadata: {
182
189
  readonly isInput: true;
183
190
  readonly isOutput: false;
184
191
  };
192
+ export declare const WebMonitorConfigMetadata: {
193
+ readonly configType: ConfigType.WEBMONITOR;
194
+ readonly name: "Web Monitor";
195
+ readonly description: "Run when scheduled web monitoring detects relevant changes";
196
+ readonly integrationType: IntegrationType.WEBMONITOR;
197
+ readonly isInput: true;
198
+ readonly isOutput: false;
199
+ };
185
200
  export type ConfigDetailsMap = Record<ConfigType, ConfigDetails>;
186
201
  export declare const CONFIG_DETAILS: ConfigDetailsMap;
187
202
  export declare const SlackEventType: {
@@ -603,6 +618,50 @@ export declare class WebhookInputConfig extends BaseConfigInstance<IntegrationTy
603
618
  isComplete(): boolean;
604
619
  formatForAgent(): string;
605
620
  }
621
+ export declare const WebMonitorOutputSchemaSchema: z.ZodObject<{
622
+ type: z.ZodLiteral<"json">;
623
+ jsonSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
624
+ }, z.core.$strip>;
625
+ export type WebMonitorOutputSchema = z.infer<typeof WebMonitorOutputSchemaSchema>;
626
+ export declare const WebMonitorConfigSchema: z.ZodObject<{
627
+ integrationId: z.ZodLiteral<"system">;
628
+ integrationType: z.ZodLiteral<IntegrationType.WEBMONITOR>;
629
+ configType: z.ZodLiteral<ConfigType.WEBMONITOR>;
630
+ query: z.ZodString;
631
+ frequency: z.ZodObject<{
632
+ number: z.ZodNumber;
633
+ unit: z.ZodEnum<{
634
+ hour: "hour";
635
+ day: "day";
636
+ week: "week";
637
+ }>;
638
+ }, z.core.$strip>;
639
+ outputSchema: z.ZodPipe<z.ZodTransform<{
640
+ type: "json";
641
+ jsonSchema: Record<string, unknown>;
642
+ } | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodObject<{
643
+ type: z.ZodLiteral<"json">;
644
+ jsonSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
645
+ }, z.core.$strip>>>>;
646
+ }, z.core.$strip>;
647
+ export type WebMonitorConfigData = z.infer<typeof WebMonitorConfigSchema>;
648
+ export type WebMonitorConfigInstance = WebMonitorConfigData & ConfigBehavior;
649
+ export declare class WebMonitorConfig extends BaseConfigInstance<IntegrationType.WEBMONITOR, ConfigType.WEBMONITOR, "system"> implements WebMonitorConfigInstance {
650
+ query: string;
651
+ frequency: {
652
+ number: number;
653
+ unit: FrequencyUnit;
654
+ };
655
+ readonly outputSchema?: WebMonitorOutputSchema;
656
+ private readonly rawOutputSchema?;
657
+ constructor(query: string, frequency: {
658
+ number: number;
659
+ unit: FrequencyUnit;
660
+ }, outputSchema?: unknown);
661
+ isComplete(): boolean;
662
+ formatForAgent(): string;
663
+ toJSON(): WebMonitorConfigData;
664
+ }
606
665
  export declare const configDataSchema: z.ZodUnion<readonly [z.ZodObject<{
607
666
  integrationId: z.ZodString;
608
667
  integrationType: z.ZodLiteral<IntegrationType.GMAIL>;
@@ -743,6 +802,26 @@ export declare const configDataSchema: z.ZodUnion<readonly [z.ZodObject<{
743
802
  integrationId: z.ZodLiteral<"system">;
744
803
  integrationType: z.ZodLiteral<IntegrationType.WEBHOOK>;
745
804
  configType: z.ZodLiteral<ConfigType.WEBHOOK_INPUT>;
805
+ }, z.core.$strip>, z.ZodObject<{
806
+ integrationId: z.ZodLiteral<"system">;
807
+ integrationType: z.ZodLiteral<IntegrationType.WEBMONITOR>;
808
+ configType: z.ZodLiteral<ConfigType.WEBMONITOR>;
809
+ query: z.ZodString;
810
+ frequency: z.ZodObject<{
811
+ number: z.ZodNumber;
812
+ unit: z.ZodEnum<{
813
+ hour: "hour";
814
+ day: "day";
815
+ week: "week";
816
+ }>;
817
+ }, z.core.$strip>;
818
+ outputSchema: z.ZodPipe<z.ZodTransform<{
819
+ type: "json";
820
+ jsonSchema: Record<string, unknown>;
821
+ } | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodObject<{
822
+ type: z.ZodLiteral<"json">;
823
+ jsonSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
824
+ }, z.core.$strip>>>>;
746
825
  }, z.core.$strip>]>;
747
826
  export type ConfigData = z.infer<typeof configDataSchema>;
748
827
  /** Configs that can serve as triggers (event sources). */
@@ -815,6 +894,26 @@ export declare const triggerConfigDataSchema: z.ZodUnion<readonly [z.ZodObject<{
815
894
  integrationId: z.ZodLiteral<"system">;
816
895
  integrationType: z.ZodLiteral<IntegrationType.WEBHOOK>;
817
896
  configType: z.ZodLiteral<ConfigType.WEBHOOK_INPUT>;
897
+ }, z.core.$strip>, z.ZodObject<{
898
+ integrationId: z.ZodLiteral<"system">;
899
+ integrationType: z.ZodLiteral<IntegrationType.WEBMONITOR>;
900
+ configType: z.ZodLiteral<ConfigType.WEBMONITOR>;
901
+ query: z.ZodString;
902
+ frequency: z.ZodObject<{
903
+ number: z.ZodNumber;
904
+ unit: z.ZodEnum<{
905
+ hour: "hour";
906
+ day: "day";
907
+ week: "week";
908
+ }>;
909
+ }, z.core.$strip>;
910
+ outputSchema: z.ZodPipe<z.ZodTransform<{
911
+ type: "json";
912
+ jsonSchema: Record<string, unknown>;
913
+ } | undefined, unknown>, z.ZodOptional<z.ZodNullable<z.ZodObject<{
914
+ type: z.ZodLiteral<"json">;
915
+ jsonSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
916
+ }, z.core.$strip>>>>;
818
917
  }, z.core.$strip>]>;
819
918
  export type TriggerConfigData = z.infer<typeof triggerConfigDataSchema>;
820
919
  /** Configs that can serve as skills (tools / outputs). */
@@ -914,6 +1013,7 @@ export type ConfigMetadataMap = EnsureExhaustiveMetadata<{
914
1013
  [ConfigType.ATTIO_OUTPUT]: typeof AttioOutputConfig;
915
1014
  [ConfigType.SNOWFLAKE_OUTPUT]: typeof SnowflakeOutputConfig;
916
1015
  [ConfigType.WEBHOOK_INPUT]: typeof WebhookInputConfig;
1016
+ [ConfigType.WEBMONITOR]: typeof WebMonitorConfig;
917
1017
  }>;
918
1018
  export declare const CONFIG_METADATA: ConfigMetadataMap;
919
1019
  export {};
package/dist/Configs.js CHANGED
@@ -21,8 +21,10 @@ export var ConfigType;
21
21
  ConfigType["ATTIO_OUTPUT"] = "attio_output";
22
22
  ConfigType["SNOWFLAKE_OUTPUT"] = "snowflake_output";
23
23
  ConfigType["WEBHOOK_INPUT"] = "webhook_input";
24
+ ConfigType["WEBMONITOR"] = "webmonitor";
24
25
  })(ConfigType || (ConfigType = {}));
25
26
  export const configTypeEnum = z.enum(ConfigType);
27
+ export const frequencyUnitSchema = z.enum(["hour", "day", "week"]);
26
28
  // Metadata objects - using const objects instead of classes
27
29
  export const GmailConfigMetadata = {
28
30
  configType: ConfigType.GMAIL,
@@ -176,6 +178,14 @@ export const WebhookInputConfigMetadata = {
176
178
  isInput: true,
177
179
  isOutput: false
178
180
  };
181
+ export const WebMonitorConfigMetadata = {
182
+ configType: ConfigType.WEBMONITOR,
183
+ name: "Web Monitor",
184
+ description: "Run when scheduled web monitoring detects relevant changes",
185
+ integrationType: IntegrationType.WEBMONITOR,
186
+ isInput: true,
187
+ isOutput: false
188
+ };
179
189
  export const CONFIG_DETAILS = {
180
190
  [ConfigType.GMAIL]: GmailConfigMetadata,
181
191
  [ConfigType.GMAIL_OUTPUT]: GmailOutputConfigMetadata,
@@ -195,7 +205,8 @@ export const CONFIG_DETAILS = {
195
205
  [ConfigType.WORKOS_OUTPUT]: WorkOSOutputConfigMetadata,
196
206
  [ConfigType.ATTIO_OUTPUT]: AttioOutputConfigMetadata,
197
207
  [ConfigType.SNOWFLAKE_OUTPUT]: SnowflakeOutputConfigMetadata,
198
- [ConfigType.WEBHOOK_INPUT]: WebhookInputConfigMetadata
208
+ [ConfigType.WEBHOOK_INPUT]: WebhookInputConfigMetadata,
209
+ [ConfigType.WEBMONITOR]: WebMonitorConfigMetadata
199
210
  };
200
211
  // MARK: Event Types — specific events within each integration trigger
201
212
  export const SlackEventType = {
@@ -241,6 +252,9 @@ export const ConfigInstanceSchema = z.object({
241
252
  integrationType: integrationTypeEnum,
242
253
  configType: configTypeEnum
243
254
  });
255
+ function isZodSchemaLike(value) {
256
+ return !!value && typeof value === "object" && "_zod" in value;
257
+ }
244
258
  class BaseConfigInstance {
245
259
  integrationId;
246
260
  integrationType;
@@ -735,6 +749,80 @@ export class WebhookInputConfig extends BaseConfigInstance {
735
749
  return "Type: Webhook Trigger";
736
750
  }
737
751
  }
752
+ function isPlainObject(value) {
753
+ return !!value && typeof value === "object" && !Array.isArray(value);
754
+ }
755
+ export const WebMonitorOutputSchemaSchema = z.object({
756
+ type: z.literal("json"),
757
+ jsonSchema: z.record(z.string(), z.unknown())
758
+ });
759
+ function normalizeWebMonitorOutputSchema(value) {
760
+ if (value == null) {
761
+ return undefined;
762
+ }
763
+ if (isZodSchemaLike(value)) {
764
+ const jsonSchema = z.toJSONSchema(value, {
765
+ target: "draft-2020-12",
766
+ unrepresentable: "any",
767
+ cycles: "throw"
768
+ });
769
+ if (!isPlainObject(jsonSchema)) {
770
+ throw new Error("WebMonitor outputSchema did not produce a valid JSON schema object.");
771
+ }
772
+ if ("$schema" in jsonSchema) {
773
+ delete jsonSchema.$schema;
774
+ }
775
+ return { type: "json", jsonSchema };
776
+ }
777
+ return WebMonitorOutputSchemaSchema.parse(value);
778
+ }
779
+ export const WebMonitorConfigSchema = ConfigInstanceSchema.extend({
780
+ integrationId: z.literal("system"),
781
+ integrationType: z.literal(IntegrationType.WEBMONITOR),
782
+ configType: z.literal(ConfigType.WEBMONITOR),
783
+ query: z.string(),
784
+ frequency: z.object({
785
+ number: z.number(),
786
+ unit: frequencyUnitSchema
787
+ }),
788
+ outputSchema: z.preprocess(value => normalizeWebMonitorOutputSchema(value), WebMonitorOutputSchemaSchema.nullable().optional())
789
+ });
790
+ export class WebMonitorConfig extends BaseConfigInstance {
791
+ query;
792
+ frequency;
793
+ outputSchema;
794
+ rawOutputSchema;
795
+ constructor(query, frequency, outputSchema) {
796
+ super("system", IntegrationType.WEBMONITOR, ConfigType.WEBMONITOR);
797
+ this.query = query;
798
+ this.frequency = frequency;
799
+ this.rawOutputSchema = outputSchema;
800
+ this.outputSchema = normalizeWebMonitorOutputSchema(outputSchema);
801
+ }
802
+ isComplete() {
803
+ return !!(this.query && this.frequency);
804
+ }
805
+ formatForAgent() {
806
+ const parts = [`Type: Web Monitor`];
807
+ if (this.query)
808
+ parts.push(`Query: ${this.query}`);
809
+ if (this.frequency)
810
+ parts.push(`Frequency: ${this.frequency.number}${this.frequency.unit}`);
811
+ if (this.outputSchema)
812
+ parts.push(`Structured Output: ${typeof this.outputSchema === "object" ? "enabled" : "configured"}`);
813
+ return parts.join("\n");
814
+ }
815
+ toJSON() {
816
+ return WebMonitorConfigSchema.parse({
817
+ integrationId: this.integrationId,
818
+ integrationType: this.integrationType,
819
+ configType: this.configType,
820
+ query: this.query,
821
+ frequency: this.frequency,
822
+ outputSchema: this.rawOutputSchema ?? this.outputSchema
823
+ });
824
+ }
825
+ }
738
826
  export const configDataSchema = z.union([
739
827
  GmailConfigSchema,
740
828
  SlackConfigSchema,
@@ -755,7 +843,8 @@ export const configDataSchema = z.union([
755
843
  WorkOSOutputConfigSchema,
756
844
  AttioOutputConfigSchema,
757
845
  SnowflakeOutputConfigSchema,
758
- WebhookInputConfigSchema
846
+ WebhookInputConfigSchema,
847
+ WebMonitorConfigSchema
759
848
  ]);
760
849
  /** Configs that can serve as triggers (event sources). */
761
850
  export const triggerConfigDataSchema = z.union([
@@ -765,7 +854,8 @@ export const triggerConfigDataSchema = z.union([
765
854
  GitHubConfigSchema,
766
855
  TimeTriggerConfigSchema,
767
856
  WorkOSInputConfigSchema,
768
- WebhookInputConfigSchema
857
+ WebhookInputConfigSchema,
858
+ WebMonitorConfigSchema
769
859
  ]);
770
860
  /** Configs that can serve as skills (tools / outputs). */
771
861
  export const skillConfigDataSchema = z.union([
@@ -813,6 +903,8 @@ export function isConfigComplete(config) {
813
903
  return !!config.projectId;
814
904
  case ConfigType.TIME_TRIGGER:
815
905
  return !!config.cronExpression;
906
+ case ConfigType.WEBMONITOR:
907
+ return !!(config.query && config.frequency);
816
908
  case ConfigType.LAUNCHDARKLY:
817
909
  return !!(config.projectKey && config.environmentKeys.length > 0);
818
910
  case ConfigType.WORKOS_INPUT:
@@ -949,6 +1041,14 @@ export function formatConfigForAgent(config) {
949
1041
  return `Type: Snowflake Output\nIntegration ID: ${config.integrationId}`;
950
1042
  case ConfigType.WEBHOOK_INPUT:
951
1043
  return "Type: Webhook Trigger";
1044
+ case ConfigType.WEBMONITOR: {
1045
+ const parts = [`Type: Web Event`];
1046
+ if (config.query)
1047
+ parts.push(`Query: ${config.query}`);
1048
+ if (config.frequency)
1049
+ parts.push(`Frequency: ${config.frequency.number}${config.frequency.unit}`);
1050
+ return parts.join("\n");
1051
+ }
952
1052
  default: {
953
1053
  const _exhaustive = config;
954
1054
  return _exhaustive;
@@ -974,5 +1074,6 @@ export const CONFIG_METADATA = {
974
1074
  [ConfigType.WORKOS_OUTPUT]: WorkOSOutputConfig,
975
1075
  [ConfigType.ATTIO_OUTPUT]: AttioOutputConfig,
976
1076
  [ConfigType.SNOWFLAKE_OUTPUT]: SnowflakeOutputConfig,
977
- [ConfigType.WEBHOOK_INPUT]: WebhookInputConfig
1077
+ [ConfigType.WEBHOOK_INPUT]: WebhookInputConfig,
1078
+ [ConfigType.WEBMONITOR]: WebMonitorConfig
978
1079
  };
@@ -16,6 +16,9 @@
16
16
  "ALERTS": "/app/agents/:id?tab=setup&section=alerts",
17
17
  "RUN_HISTORY": "/app/agents/:id?tab=history&runId=:runId"
18
18
  },
19
+ "PROJECTS": {
20
+ "BY_ID": "/app/projects/:id"
21
+ },
19
22
  "INTEGRATIONS": "/app/integrations",
20
23
  "ACTIVITY": "/app/activity",
21
24
  "STATS": "/app/stats",
@@ -18,6 +18,9 @@ export declare const FrontendRoutes: {
18
18
  ALERTS: string;
19
19
  RUN_HISTORY: string;
20
20
  };
21
+ PROJECTS: {
22
+ BY_ID: string;
23
+ };
21
24
  INTEGRATIONS: string;
22
25
  ACTIVITY: string;
23
26
  STATS: string;
@@ -13,7 +13,8 @@ export declare enum IntegrationType {
13
13
  WORKOS = "workos",
14
14
  ATTIO = "attio",
15
15
  SNOWFLAKE = "snowflake",
16
- WEBHOOK = "webhook"
16
+ WEBHOOK = "webhook",
17
+ WEBMONITOR = "webmonitor"
17
18
  }
18
19
  export declare const integrationTypeEnum: z.ZodEnum<typeof IntegrationType>;
19
20
  export interface IntegrationDetails {
@@ -86,6 +87,13 @@ export declare const CronJobIntegrationMetadata: {
86
87
  readonly isInput: true;
87
88
  readonly isOutput: false;
88
89
  };
90
+ export declare const WebMonitorIntegrationMetadata: {
91
+ readonly type: IntegrationType.WEBMONITOR;
92
+ readonly name: "Web Monitor";
93
+ readonly description: "Trigger when scheduled web monitoring detects relevant changes";
94
+ readonly isInput: true;
95
+ readonly isOutput: false;
96
+ };
89
97
  export declare const LaunchDarklyIntegrationMetadata: {
90
98
  readonly type: IntegrationType.LAUNCHDARKLY;
91
99
  readonly name: "LaunchDarkly";
@@ -148,6 +156,7 @@ export type IntegrationInstallationOptions = EnsureExhaustiveInstallationOptions
148
156
  [IntegrationType.ATTIO]: NoInstallationOptions;
149
157
  [IntegrationType.SNOWFLAKE]: NoInstallationOptions;
150
158
  [IntegrationType.WEBHOOK]: NoInstallationOptions;
159
+ [IntegrationType.WEBMONITOR]: NoInstallationOptions;
151
160
  }>;
152
161
  export type InstallationOptionsFor<T extends IntegrationType> = IntegrationInstallationOptions[T];
153
162
  export declare const SlackIntegrationSchema: z.ZodObject<{
@@ -16,6 +16,7 @@ export var IntegrationType;
16
16
  IntegrationType["ATTIO"] = "attio";
17
17
  IntegrationType["SNOWFLAKE"] = "snowflake";
18
18
  IntegrationType["WEBHOOK"] = "webhook";
19
+ IntegrationType["WEBMONITOR"] = "webmonitor";
19
20
  })(IntegrationType || (IntegrationType = {}));
20
21
  export const integrationTypeEnum = z.enum(IntegrationType);
21
22
  // Metadata objects - using const objects instead of classes
@@ -82,6 +83,13 @@ export const CronJobIntegrationMetadata = {
82
83
  isInput: true,
83
84
  isOutput: false
84
85
  };
86
+ export const WebMonitorIntegrationMetadata = {
87
+ type: IntegrationType.WEBMONITOR,
88
+ name: "Web Monitor",
89
+ description: "Trigger when scheduled web monitoring detects relevant changes",
90
+ isInput: true,
91
+ isOutput: false
92
+ };
85
93
  export const LaunchDarklyIntegrationMetadata = {
86
94
  type: IntegrationType.LAUNCHDARKLY,
87
95
  name: "LaunchDarkly",
@@ -131,7 +139,8 @@ export const INTEGRATION_METADATA = {
131
139
  [IntegrationType.WORKOS]: WorkOSIntegrationMetadata,
132
140
  [IntegrationType.ATTIO]: AttioIntegrationMetadata,
133
141
  [IntegrationType.SNOWFLAKE]: SnowflakeIntegrationMetadata,
134
- [IntegrationType.WEBHOOK]: WebhookIntegrationMetadata
142
+ [IntegrationType.WEBHOOK]: WebhookIntegrationMetadata,
143
+ [IntegrationType.WEBMONITOR]: WebMonitorIntegrationMetadata
135
144
  };
136
145
  // MARK: Integration Details
137
146
  export const IntegrationInstanceSchema = z.object({
@@ -0,0 +1,15 @@
1
+ export type SandboxLogEntry = {
2
+ stream: "stdout" | "stderr";
3
+ text: string;
4
+ timestamp: number;
5
+ };
6
+ export type SandboxLogPayload = SandboxLogEntry & {
7
+ runId: string;
8
+ agentId: string;
9
+ };
10
+ export type SandboxLogsResponse = {
11
+ sandboxId: string | null;
12
+ entries: SandboxLogEntry[];
13
+ timestamp: number;
14
+ error?: string;
15
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import type { Trigger } from "./Triggers.js";
2
+ export declare function formatTriggerForAgent(event: Trigger): string;
3
+ export declare function debugTrigger(event: Trigger): string;