@chirpier/chirpier-js 0.1.6 → 0.2.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.
package/dist/index.d.ts CHANGED
@@ -1,81 +1,157 @@
1
- export declare enum LogLevel {
1
+ export declare const enum LogLevel {
2
2
  None = 0,
3
3
  Error = 1,
4
4
  Info = 2,
5
5
  Debug = 3
6
6
  }
7
- interface Options {
8
- key: string;
9
- region?: "us-west" | "eu-west" | "asia-southeast";
7
+ export interface Config {
8
+ key?: string;
9
+ apiEndpoint?: string;
10
+ servicerEndpoint?: string;
10
11
  logLevel?: LogLevel;
12
+ retries?: number;
13
+ timeout?: number;
14
+ batchSize?: number;
15
+ flushDelay?: number;
16
+ maxQueueSize?: number;
11
17
  }
12
- export interface Event {
13
- group_id: string;
14
- stream_name: string;
18
+ /**
19
+ * @deprecated Use Config.
20
+ */
21
+ export type Options = Config;
22
+ export interface Log {
23
+ agent_id?: string;
24
+ event: string;
15
25
  value: number;
26
+ meta?: unknown;
27
+ occurred_at?: string | Date;
28
+ }
29
+ export interface EventDefinition {
30
+ readonly event_id: string;
31
+ readonly agent_id?: string;
32
+ readonly event: string;
33
+ readonly title?: string;
34
+ readonly public: boolean;
35
+ readonly description?: string;
36
+ readonly unit?: string;
37
+ readonly semantic_class: string;
38
+ readonly default_aggregate: string;
39
+ readonly enabled: boolean;
40
+ readonly origin: string;
41
+ readonly archived_at?: string;
42
+ readonly created_at?: string;
43
+ }
44
+ export interface Policy {
45
+ readonly policy_id: string;
46
+ readonly event_id: string;
47
+ readonly title: string;
48
+ readonly description?: string;
49
+ readonly channel: string;
50
+ readonly period: string;
51
+ readonly aggregate: string;
52
+ readonly condition: string;
53
+ readonly threshold: number;
54
+ readonly severity: string;
55
+ readonly enabled: boolean;
56
+ }
57
+ export interface Alert {
58
+ readonly alert_id: string;
59
+ readonly policy_id: string;
60
+ readonly event_id: string;
61
+ readonly agent_id?: string;
62
+ readonly event: string;
63
+ readonly title: string;
64
+ readonly period: string;
65
+ readonly aggregate: string;
66
+ readonly condition: string;
67
+ readonly threshold: number;
68
+ readonly severity: string;
69
+ readonly status: string;
70
+ readonly value: number;
71
+ readonly count: number;
72
+ readonly min: number;
73
+ readonly max: number;
74
+ readonly triggered_at?: string;
75
+ readonly acknowledged_at?: string;
76
+ readonly resolved_at?: string;
77
+ }
78
+ export interface AlertDelivery {
79
+ readonly attempt_id: string;
80
+ readonly alert_id: string;
81
+ readonly webhook_id?: string;
82
+ readonly channel: string;
83
+ readonly target: string;
84
+ readonly status: string;
85
+ readonly response_status?: number;
86
+ readonly error_message?: string;
87
+ readonly created_at: string;
88
+ }
89
+ export interface EventLogPoint {
90
+ readonly event_id: string;
91
+ readonly agent_id?: string;
92
+ readonly event: string;
93
+ readonly period: string;
94
+ readonly occurred_at: string;
95
+ readonly count: number;
96
+ readonly value: number;
97
+ readonly squares: number;
98
+ readonly min: number;
99
+ readonly max: number;
16
100
  }
101
+ export interface PaginationOptions {
102
+ period?: "minute" | "hour" | "day";
103
+ limit?: number;
104
+ offset?: number;
105
+ }
106
+ export type DeliveryKind = "alert" | "test" | "all";
17
107
  export declare class ChirpierError extends Error {
18
- constructor(message: string);
108
+ readonly code?: string | undefined;
109
+ constructor(message: string, code?: string | undefined);
19
110
  }
20
- /**
21
- * Main Chirpier class for monitoring events.
22
- */
23
- export declare class Chirpier {
24
- private static instance;
111
+ export declare class Client {
25
112
  private readonly apiKey;
26
113
  private readonly apiEndpoint;
114
+ private readonly servicerEndpoint;
27
115
  private readonly retries;
28
116
  private readonly timeout;
29
117
  private readonly axiosInstance;
30
- private eventQueue;
118
+ private logQueue;
31
119
  private readonly batchSize;
32
120
  private readonly flushDelay;
121
+ private readonly maxQueueSize;
33
122
  private flushTimeoutId;
34
123
  private readonly queueLock;
35
124
  private readonly flushLock;
36
125
  private readonly logLevel;
37
- /**
38
- * Initializes a new instance of the Chirpier class.
39
- * @param options - Configuration options for the SDK.
40
- */
41
- private constructor();
42
- /**
43
- * Gets the singleton instance of Chirpier, creating it if it doesn't exist.
44
- * @param options - Configuration options for the SDK.
45
- * @returns The Chirpier instance.
46
- */
47
- static getInstance(options: Options): Chirpier | null;
48
- /**
49
- * Validates the event structure.
50
- * @param event - The event to validate.
51
- * @returns True if valid, false otherwise.
52
- */
53
- private isValidEvent;
54
- /**
55
- * Monitors an event by adding it to the queue and scheduling a flush if necessary.
56
- * @param event - The event to monitor.
57
- */
58
- monitor(event: Event): Promise<void>;
59
- /**
60
- * Flushes the event queue by sending all events to the API.
61
- */
126
+ constructor(options?: Config);
127
+ private isValidLog;
128
+ private normalizeLog;
129
+ log(log: Log): Promise<void>;
62
130
  private flushQueue;
63
- /**
64
- * Sends multiple events to the API in a batch.
65
- * @param events - The array of events to send.
66
- */
67
- private sendEvents;
68
- static stop(): Promise<void>;
131
+ private sendLogs;
132
+ flush(): Promise<void>;
133
+ shutdown(): Promise<void>;
134
+ close(): Promise<void>;
135
+ listEvents(): Promise<EventDefinition[]>;
136
+ getEvent(eventID: string): Promise<EventDefinition>;
137
+ updateEvent(eventID: string, payload: Partial<Omit<EventDefinition, "event_id" | "created_at">>): Promise<EventDefinition>;
138
+ listPolicies(): Promise<Policy[]>;
139
+ createPolicy(payload: Omit<Policy, "policy_id">): Promise<Policy>;
140
+ listAlerts(status?: string): Promise<Alert[]>;
141
+ getAlertDeliveries(alertID: string, options?: {
142
+ limit?: number;
143
+ offset?: number;
144
+ kind?: DeliveryKind;
145
+ }): Promise<AlertDelivery[]>;
146
+ acknowledgeAlert(alertID: string): Promise<Alert>;
147
+ archiveAlert(alertID: string): Promise<Alert>;
148
+ testWebhook(webhookID: string): Promise<void>;
149
+ getEventLogs(eventID: string, options?: PaginationOptions): Promise<EventLogPoint[]>;
150
+ resolveAlert(alertID: string): Promise<Alert>;
69
151
  }
70
- /**
71
- * Initializes the Chirpier SDK.
72
- * @param options - Configuration options for the SDK.
73
- */
74
- export declare function initialize(options: Options): void;
75
- /**
76
- * Monitors an event using the Chirpier SDK.
77
- * @param event - The event to monitor.
78
- */
79
- export declare function monitor(event: Event): void;
80
- export {};
152
+ export declare function createClient(config?: Config): Client;
153
+ export declare function initialize(options?: Config): void;
154
+ export declare function logEvent(log: Log): Promise<void>;
155
+ export declare function stop(): Promise<void>;
156
+ export declare function flush(): Promise<void>;
81
157
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,KAAK,IAAI;IACT,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAGD,UAAU,OAAO;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAClD,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB;AAGD,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAGD,qBAAa,aAAc,SAAQ,KAAK;gBAC1B,OAAO,EAAE,MAAM;CAK5B;AAQD;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAyB;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C,OAAO,CAAC,UAAU,CAAqB;IACvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEvB;IACH,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEvB;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAEpC;;;OAGG;IACH,OAAO;IAyDP;;;;OAIG;WACW,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI;IAO5D;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAapB;;;OAGG;IACU,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BjD;;OAEG;YACW,UAAU;IA8DxB;;;OAGG;YACW,UAAU;WAKJ,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAa1C;AAsCD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBjD;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAW1C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}