terse-types 0.0.77 → 0.1.1

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.
package/dist/Configs.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import * as z from "zod";
2
2
  import { IntegrationType, integrationTypeEnum } from "./Integrations.js";
3
+ import { timezoneSchema } from "./Timezones.js";
3
4
  export var ConfigType;
4
5
  (function (ConfigType) {
5
6
  ConfigType["GMAIL"] = "gmail";
@@ -717,13 +718,16 @@ export const TimeTriggerConfigSchema = ConfigInstanceSchema.extend({
717
718
  integrationId: z.literal("system"),
718
719
  integrationType: z.literal(IntegrationType.CRON_JOB),
719
720
  configType: z.literal(ConfigType.TIME_TRIGGER),
720
- cronExpression: z.string()
721
+ cronExpression: z.string(),
722
+ timezone: timezoneSchema.optional()
721
723
  });
722
724
  export class TimeTriggerConfig extends BaseConfigInstance {
723
725
  cronExpression;
724
- constructor(cronExpression) {
726
+ timezone;
727
+ constructor(cronExpression, timezone) {
725
728
  super("system", IntegrationType.CRON_JOB, ConfigType.TIME_TRIGGER);
726
729
  this.cronExpression = cronExpression;
730
+ this.timezone = timezone;
727
731
  }
728
732
  isComplete() {
729
733
  return !!this.cronExpression;
@@ -731,7 +735,7 @@ export class TimeTriggerConfig extends BaseConfigInstance {
731
735
  formatForAgent() {
732
736
  const parts = [`Type: Time Trigger`];
733
737
  if (this.cronExpression) {
734
- parts.push(`Schedule (UTC): ${this.cronExpression}`);
738
+ parts.push(`Schedule (${this.timezone ?? "UTC"}): ${this.cronExpression}`);
735
739
  }
736
740
  return parts.join("\n");
737
741
  }
@@ -0,0 +1,112 @@
1
+ import { z } from "zod";
2
+ export declare const eventTypeSchema: z.ZodEnum<{
3
+ JOB_CREATED: "JOB_CREATED";
4
+ AUTOMATION_RAN: "AUTOMATION_RAN";
5
+ }>;
6
+ export type EventType = z.infer<typeof eventTypeSchema>;
7
+ declare const jobCreatedEventSchema: z.ZodObject<{
8
+ eventType: z.ZodLiteral<"JOB_CREATED">;
9
+ jobId: z.ZodString;
10
+ }, z.core.$strip>;
11
+ export type JobCreatedEvent = z.infer<typeof jobCreatedEventSchema>;
12
+ declare const automationSnapshotSchema: z.ZodObject<{
13
+ id: z.ZodString;
14
+ name: z.ZodString;
15
+ organizationId: z.ZodString;
16
+ projectId: z.ZodString;
17
+ userId: z.ZodString;
18
+ requireApproval: z.ZodBoolean;
19
+ }, z.core.$strip>;
20
+ export type AutomationSnapshot = z.infer<typeof automationSnapshotSchema>;
21
+ declare const runSnapshotSchema: z.ZodObject<{
22
+ id: z.ZodString;
23
+ status: z.ZodEnum<{
24
+ readonly SUCCESS: "success";
25
+ readonly FAILED: "failed";
26
+ readonly CANCELLED: "cancelled";
27
+ readonly SKIPPED: "skipped";
28
+ readonly IN_PROGRESS: "in_progress";
29
+ readonly AWAITING_APPROVAL: "awaiting_approval";
30
+ }>;
31
+ isManuallyTriggered: z.ZodBoolean;
32
+ startedAt: z.ZodString;
33
+ trigger: z.ZodObject<{
34
+ event: z.ZodString;
35
+ integration: z.ZodEnum<typeof import("./Integrations.js").IntegrationType>;
36
+ source: z.ZodString;
37
+ title: z.ZodOptional<z.ZodString>;
38
+ subheader: z.ZodOptional<z.ZodString>;
39
+ url: z.ZodOptional<z.ZodString>;
40
+ }, z.core.$strip>;
41
+ }, z.core.$strip>;
42
+ export type RunSnapshot = z.infer<typeof runSnapshotSchema>;
43
+ declare const automationRanEventSchema: z.ZodObject<{
44
+ eventType: z.ZodLiteral<"AUTOMATION_RAN">;
45
+ automation: z.ZodObject<{
46
+ id: z.ZodString;
47
+ name: z.ZodString;
48
+ organizationId: z.ZodString;
49
+ projectId: z.ZodString;
50
+ userId: z.ZodString;
51
+ requireApproval: z.ZodBoolean;
52
+ }, z.core.$strip>;
53
+ run: z.ZodObject<{
54
+ id: z.ZodString;
55
+ status: z.ZodEnum<{
56
+ readonly SUCCESS: "success";
57
+ readonly FAILED: "failed";
58
+ readonly CANCELLED: "cancelled";
59
+ readonly SKIPPED: "skipped";
60
+ readonly IN_PROGRESS: "in_progress";
61
+ readonly AWAITING_APPROVAL: "awaiting_approval";
62
+ }>;
63
+ isManuallyTriggered: z.ZodBoolean;
64
+ startedAt: z.ZodString;
65
+ trigger: z.ZodObject<{
66
+ event: z.ZodString;
67
+ integration: z.ZodEnum<typeof import("./Integrations.js").IntegrationType>;
68
+ source: z.ZodString;
69
+ title: z.ZodOptional<z.ZodString>;
70
+ subheader: z.ZodOptional<z.ZodString>;
71
+ url: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>;
73
+ }, z.core.$strip>;
74
+ }, z.core.$strip>;
75
+ export type AutomationRanEvent = z.infer<typeof automationRanEventSchema>;
76
+ export declare const domainEventSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
77
+ eventType: z.ZodLiteral<"JOB_CREATED">;
78
+ jobId: z.ZodString;
79
+ }, z.core.$strip>, z.ZodObject<{
80
+ eventType: z.ZodLiteral<"AUTOMATION_RAN">;
81
+ automation: z.ZodObject<{
82
+ id: z.ZodString;
83
+ name: z.ZodString;
84
+ organizationId: z.ZodString;
85
+ projectId: z.ZodString;
86
+ userId: z.ZodString;
87
+ requireApproval: z.ZodBoolean;
88
+ }, z.core.$strip>;
89
+ run: z.ZodObject<{
90
+ id: z.ZodString;
91
+ status: z.ZodEnum<{
92
+ readonly SUCCESS: "success";
93
+ readonly FAILED: "failed";
94
+ readonly CANCELLED: "cancelled";
95
+ readonly SKIPPED: "skipped";
96
+ readonly IN_PROGRESS: "in_progress";
97
+ readonly AWAITING_APPROVAL: "awaiting_approval";
98
+ }>;
99
+ isManuallyTriggered: z.ZodBoolean;
100
+ startedAt: z.ZodString;
101
+ trigger: z.ZodObject<{
102
+ event: z.ZodString;
103
+ integration: z.ZodEnum<typeof import("./Integrations.js").IntegrationType>;
104
+ source: z.ZodString;
105
+ title: z.ZodOptional<z.ZodString>;
106
+ subheader: z.ZodOptional<z.ZodString>;
107
+ url: z.ZodOptional<z.ZodString>;
108
+ }, z.core.$strip>;
109
+ }, z.core.$strip>;
110
+ }, z.core.$strip>], "eventType">;
111
+ export type DomainEvent = z.infer<typeof domainEventSchema>;
112
+ export {};
package/dist/Events.js ADDED
@@ -0,0 +1,32 @@
1
+ import { z } from "zod";
2
+ import { runHistoryStatusSchema } from "./RunHistoryTypes.js";
3
+ import { runHistoryTriggerSchema } from "./types.js";
4
+ export const eventTypeSchema = z.enum(["JOB_CREATED", "AUTOMATION_RAN"]);
5
+ const baseEventSchema = z.object({
6
+ eventType: eventTypeSchema
7
+ });
8
+ const jobCreatedEventSchema = baseEventSchema.extend({
9
+ eventType: z.literal("JOB_CREATED"),
10
+ jobId: z.string()
11
+ });
12
+ const automationSnapshotSchema = z.object({
13
+ id: z.string(),
14
+ name: z.string(),
15
+ organizationId: z.string(),
16
+ projectId: z.string(),
17
+ userId: z.string(),
18
+ requireApproval: z.boolean()
19
+ });
20
+ const runSnapshotSchema = z.object({
21
+ id: z.string(),
22
+ status: runHistoryStatusSchema,
23
+ isManuallyTriggered: z.boolean(),
24
+ startedAt: z.string().datetime(),
25
+ trigger: runHistoryTriggerSchema
26
+ });
27
+ const automationRanEventSchema = baseEventSchema.extend({
28
+ eventType: z.literal("AUTOMATION_RAN"),
29
+ automation: automationSnapshotSchema,
30
+ run: runSnapshotSchema
31
+ });
32
+ export const domainEventSchema = z.discriminatedUnion("eventType", [jobCreatedEventSchema, automationRanEventSchema]);
@@ -19,6 +19,12 @@ export declare enum IntegrationType {
19
19
  WEBMONITOR = "webmonitor"
20
20
  }
21
21
  export declare const integrationTypeEnum: z.ZodEnum<typeof IntegrationType>;
22
+ export declare const BUILT_IN_INTEGRATION_TYPES: readonly [IntegrationType.TERSE, IntegrationType.CRON_JOB, IntegrationType.WEBHOOK, IntegrationType.WEBMONITOR];
23
+ export type BuiltInIntegrationType = (typeof BUILT_IN_INTEGRATION_TYPES)[number];
24
+ export type ExternalIntegrationType = Exclude<IntegrationType, BuiltInIntegrationType>;
25
+ export declare function isBuiltInIntegrationType(type: IntegrationType): type is BuiltInIntegrationType;
26
+ export declare function isExternalIntegrationType(type: IntegrationType): type is ExternalIntegrationType;
27
+ export declare const EXTERNAL_INTEGRATION_TYPES: readonly ExternalIntegrationType[];
22
28
  export interface IntegrationDetails {
23
29
  type: IntegrationType;
24
30
  name: string;
@@ -21,6 +21,15 @@ export var IntegrationType;
21
21
  IntegrationType["WEBMONITOR"] = "webmonitor";
22
22
  })(IntegrationType || (IntegrationType = {}));
23
23
  export const integrationTypeEnum = z.enum(IntegrationType);
24
+ export const BUILT_IN_INTEGRATION_TYPES = [IntegrationType.TERSE, IntegrationType.CRON_JOB, IntegrationType.WEBHOOK, IntegrationType.WEBMONITOR];
25
+ const builtInIntegrationTypes = new Set(BUILT_IN_INTEGRATION_TYPES);
26
+ export function isBuiltInIntegrationType(type) {
27
+ return builtInIntegrationTypes.has(type);
28
+ }
29
+ export function isExternalIntegrationType(type) {
30
+ return !isBuiltInIntegrationType(type);
31
+ }
32
+ export const EXTERNAL_INTEGRATION_TYPES = Object.values(IntegrationType).filter(isExternalIntegrationType);
24
33
  // Metadata objects - using const objects instead of classes
25
34
  export const GmailIntegrationMetadata = {
26
35
  type: IntegrationType.GMAIL,