@ravi-hq/ravi 0.5.1 → 0.5.3
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/channels/email-trusted.d.ts +129 -0
- package/dist/channels/email-trusted.d.ts.map +1 -0
- package/dist/channels/email-trusted.js +275 -0
- package/dist/channels/email-trusted.js.map +1 -0
- package/dist/channels/email-untrusted.d.ts +133 -0
- package/dist/channels/email-untrusted.d.ts.map +1 -0
- package/dist/channels/email-untrusted.js +285 -0
- package/dist/channels/email-untrusted.js.map +1 -0
- package/dist/channels/email.d.ts +8 -12
- package/dist/channels/email.d.ts.map +1 -1
- package/dist/channels/email.js +13 -29
- package/dist/channels/email.js.map +1 -1
- package/dist/channels/sms-trusted.d.ts +161 -0
- package/dist/channels/sms-trusted.d.ts.map +1 -0
- package/dist/channels/sms-trusted.js +306 -0
- package/dist/channels/sms-trusted.js.map +1 -0
- package/dist/channels/sms-untrusted.d.ts +124 -0
- package/dist/channels/sms-untrusted.d.ts.map +1 -0
- package/dist/channels/sms-untrusted.js +269 -0
- package/dist/channels/sms-untrusted.js.map +1 -0
- package/dist/channels/sms.d.ts +8 -12
- package/dist/channels/sms.d.ts.map +1 -1
- package/dist/channels/sms.js +12 -25
- package/dist/channels/sms.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -1
- package/dist/service.d.ts +3 -1
- package/dist/service.d.ts.map +1 -1
- package/dist/service.js +76 -6
- package/dist/service.js.map +1 -1
- package/dist/sse-pool.d.ts +15 -0
- package/dist/sse-pool.d.ts.map +1 -0
- package/dist/sse-pool.js +41 -0
- package/dist/sse-pool.js.map +1 -0
- package/dist/sse.d.ts +23 -18
- package/dist/sse.d.ts.map +1 -1
- package/dist/sse.js +40 -23
- package/dist/sse.js.map +1 -1
- package/dist/tools/email-send.d.ts.map +1 -1
- package/dist/tools/email-send.js +8 -7
- package/dist/tools/email-send.js.map +1 -1
- package/dist/types.d.ts +5 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/utils.d.ts +5 -2
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -2
- package/dist/utils.js.map +1 -1
- package/openclaw.plugin.json +6 -1
- package/package.json +1 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/service.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { type SmsAccountConfig } from "./channels/sms.js";
|
|
|
3
3
|
/** Message envelope dispatched to the OpenClaw gateway. */
|
|
4
4
|
export interface InboundMessage {
|
|
5
5
|
/** Channel that produced this message. */
|
|
6
|
-
channel: "ravi-email" | "ravi-sms";
|
|
6
|
+
channel: "ravi-email" | "ravi-email-trusted" | "ravi-email-untrusted" | "ravi-sms" | "ravi-sms-trusted" | "ravi-sms-untrusted";
|
|
7
7
|
/** Identity UUID identifying the receiving account. */
|
|
8
8
|
accountId: string;
|
|
9
9
|
/** Sender identifier (email address or phone number). */
|
|
@@ -35,6 +35,8 @@ export interface ListenerConfig {
|
|
|
35
35
|
emailAccount?: EmailAccountConfig;
|
|
36
36
|
/** SMS account config; omit to skip SMS event handling. */
|
|
37
37
|
smsAccount?: SmsAccountConfig;
|
|
38
|
+
/** When false, emails from unknown senders are silently dropped. Defaults to true. */
|
|
39
|
+
externalEmail?: boolean;
|
|
38
40
|
}
|
|
39
41
|
/**
|
|
40
42
|
* Background service that manages SSE connections per identity.
|
package/dist/service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAGhF,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1E,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,OAAO,EAAE,YAAY,GAAG,oBAAoB,GAAG,sBAAsB,GAAG,UAAU,GAAG,kBAAkB,GAAG,oBAAoB,CAAC;IAC/H,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,wGAAwG;IACxG,QAAQ,EAAE,OAAO,CAAC;CACnB;AAID,4EAA4E;AAC5E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC;AAElE,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,OAAO,EAAE,MAAM,CAAC;IAChB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,sFAAsF;IACtF,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,UAAU,CAAoB;gBAE1B,UAAU,EAAE,iBAAiB;IAIzC;;;;;;;;OAQG;IACH,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAuJzC;;;;;OAKG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAMnC;;;;;;;OAOG;IACH,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAQ1C;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAOf,0CAA0C;IAC1C,IAAI,WAAW,IAAI,MAAM,CAExB;CACF"}
|
package/dist/service.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { RaviSSEClient } from "./sse.js";
|
|
2
2
|
import { raviEmailChannel } from "./channels/email.js";
|
|
3
|
+
import { raviEmailTrustedChannel } from "./channels/email-trusted.js";
|
|
4
|
+
import { raviEmailUntrustedChannel } from "./channels/email-untrusted.js";
|
|
3
5
|
import { raviSmsChannel } from "./channels/sms.js";
|
|
6
|
+
import { raviSmsTrustedChannel } from "./channels/sms-trusted.js";
|
|
7
|
+
import { raviSmsUntrustedChannel } from "./channels/sms-untrusted.js";
|
|
4
8
|
// ─── Listener Service ───────────────────────────────────────────────────────
|
|
5
9
|
/**
|
|
6
10
|
* Background service that manages SSE connections per identity.
|
|
@@ -51,10 +55,10 @@ export class RaviListenerService {
|
|
|
51
55
|
token: config.token,
|
|
52
56
|
identityUuid: config.identityUuid,
|
|
53
57
|
});
|
|
54
|
-
// Email events
|
|
58
|
+
// Email owner events
|
|
55
59
|
if (config.emailAccount) {
|
|
56
60
|
const emailAccount = config.emailAccount;
|
|
57
|
-
client.
|
|
61
|
+
client.onEmailOwner((event) => {
|
|
58
62
|
const normalized = raviEmailChannel.normalizeInbound(event, emailAccount);
|
|
59
63
|
if (!normalized)
|
|
60
64
|
return;
|
|
@@ -66,14 +70,48 @@ export class RaviListenerService {
|
|
|
66
70
|
threadId: normalized.threadId,
|
|
67
71
|
sessionKey: raviEmailChannel.getSessionKey(config.agentId, config.identityUuid, normalized.threadId),
|
|
68
72
|
metadata: normalized.metadata,
|
|
69
|
-
readOnly:
|
|
73
|
+
readOnly: false,
|
|
70
74
|
});
|
|
71
75
|
});
|
|
76
|
+
// Email trusted events
|
|
77
|
+
client.onEmailTrusted((event) => {
|
|
78
|
+
const normalized = raviEmailTrustedChannel.normalizeInbound(event, emailAccount);
|
|
79
|
+
if (!normalized)
|
|
80
|
+
return;
|
|
81
|
+
this.dispatcher({
|
|
82
|
+
channel: "ravi-email-trusted",
|
|
83
|
+
accountId: config.identityUuid,
|
|
84
|
+
senderId: normalized.senderId,
|
|
85
|
+
text: normalized.text,
|
|
86
|
+
threadId: normalized.threadId,
|
|
87
|
+
sessionKey: raviEmailTrustedChannel.getSessionKey(config.agentId, config.identityUuid, normalized.threadId),
|
|
88
|
+
metadata: normalized.metadata,
|
|
89
|
+
readOnly: false,
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
// Email untrusted events — skip if externalEmail is false
|
|
93
|
+
if (config.externalEmail !== false) {
|
|
94
|
+
client.onEmailUntrusted((event) => {
|
|
95
|
+
const normalized = raviEmailUntrustedChannel.normalizeInbound(event, emailAccount);
|
|
96
|
+
if (!normalized)
|
|
97
|
+
return;
|
|
98
|
+
this.dispatcher({
|
|
99
|
+
channel: "ravi-email-untrusted",
|
|
100
|
+
accountId: config.identityUuid,
|
|
101
|
+
senderId: normalized.senderId,
|
|
102
|
+
text: normalized.text,
|
|
103
|
+
threadId: normalized.threadId,
|
|
104
|
+
sessionKey: raviEmailUntrustedChannel.getSessionKey(config.agentId, config.identityUuid, normalized.threadId),
|
|
105
|
+
metadata: normalized.metadata,
|
|
106
|
+
readOnly: true,
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
}
|
|
72
110
|
}
|
|
73
|
-
// SMS events
|
|
111
|
+
// SMS owner events
|
|
74
112
|
if (config.smsAccount) {
|
|
75
113
|
const smsAccount = config.smsAccount;
|
|
76
|
-
client.
|
|
114
|
+
client.onSmsOwner((event) => {
|
|
77
115
|
const normalized = raviSmsChannel.normalizeInbound(event, smsAccount);
|
|
78
116
|
if (!normalized)
|
|
79
117
|
return;
|
|
@@ -85,7 +123,39 @@ export class RaviListenerService {
|
|
|
85
123
|
threadId: normalized.threadId,
|
|
86
124
|
sessionKey: raviSmsChannel.getSessionKey(config.agentId, config.identityUuid, normalized.threadId),
|
|
87
125
|
metadata: normalized.metadata,
|
|
88
|
-
readOnly:
|
|
126
|
+
readOnly: false,
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
// SMS trusted events
|
|
130
|
+
client.onSmsTrusted((event) => {
|
|
131
|
+
const normalized = raviSmsTrustedChannel.normalizeInbound(event, smsAccount);
|
|
132
|
+
if (!normalized)
|
|
133
|
+
return;
|
|
134
|
+
this.dispatcher({
|
|
135
|
+
channel: "ravi-sms-trusted",
|
|
136
|
+
accountId: config.identityUuid,
|
|
137
|
+
senderId: normalized.senderId,
|
|
138
|
+
text: normalized.text,
|
|
139
|
+
threadId: normalized.threadId,
|
|
140
|
+
sessionKey: raviSmsTrustedChannel.getSessionKey(config.agentId, config.identityUuid, normalized.threadId),
|
|
141
|
+
metadata: normalized.metadata,
|
|
142
|
+
readOnly: false,
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
// SMS untrusted events
|
|
146
|
+
client.onSmsUntrusted((event) => {
|
|
147
|
+
const normalized = raviSmsUntrustedChannel.normalizeInbound(event, smsAccount);
|
|
148
|
+
if (!normalized)
|
|
149
|
+
return;
|
|
150
|
+
this.dispatcher({
|
|
151
|
+
channel: "ravi-sms-untrusted",
|
|
152
|
+
accountId: config.identityUuid,
|
|
153
|
+
senderId: normalized.senderId,
|
|
154
|
+
text: normalized.text,
|
|
155
|
+
threadId: normalized.threadId,
|
|
156
|
+
sessionKey: raviSmsUntrustedChannel.getSessionKey(config.agentId, config.identityUuid, normalized.threadId),
|
|
157
|
+
metadata: normalized.metadata,
|
|
158
|
+
readOnly: true,
|
|
89
159
|
});
|
|
90
160
|
});
|
|
91
161
|
}
|
package/dist/service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAA2B,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RaviSSEClient, type RaviSSEClientConfig } from "./sse.js";
|
|
2
|
+
/**
|
|
3
|
+
* Get or create a shared SSE client for the given identity.
|
|
4
|
+
* First caller's config (including onAuthFailure) is used to create the client.
|
|
5
|
+
* Subsequent callers get the existing client (their config is ignored except for token updates).
|
|
6
|
+
*/
|
|
7
|
+
export declare function acquireSSEClient(config: RaviSSEClientConfig): RaviSSEClient;
|
|
8
|
+
/**
|
|
9
|
+
* Release a reference to the shared SSE client.
|
|
10
|
+
* Disconnects when the last reference is released.
|
|
11
|
+
*/
|
|
12
|
+
export declare function releaseSSEClient(identityUuid: string): void;
|
|
13
|
+
/** Reset the pool — for testing only. */
|
|
14
|
+
export declare function resetSSEPool(): void;
|
|
15
|
+
//# sourceMappingURL=sse-pool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-pool.d.ts","sourceRoot":"","sources":["../src/sse-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,UAAU,CAAC;AASnE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CAY3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAQ3D;AAED,yCAAyC;AACzC,wBAAgB,YAAY,IAAI,IAAI,CAKnC"}
|
package/dist/sse-pool.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { RaviSSEClient } from "./sse.js";
|
|
2
|
+
const pool = new Map();
|
|
3
|
+
/**
|
|
4
|
+
* Get or create a shared SSE client for the given identity.
|
|
5
|
+
* First caller's config (including onAuthFailure) is used to create the client.
|
|
6
|
+
* Subsequent callers get the existing client (their config is ignored except for token updates).
|
|
7
|
+
*/
|
|
8
|
+
export function acquireSSEClient(config) {
|
|
9
|
+
const key = config.identityUuid;
|
|
10
|
+
const existing = pool.get(key);
|
|
11
|
+
if (existing) {
|
|
12
|
+
existing.refCount++;
|
|
13
|
+
return existing.sse;
|
|
14
|
+
}
|
|
15
|
+
const sse = new RaviSSEClient(config);
|
|
16
|
+
pool.set(key, { sse, refCount: 1 });
|
|
17
|
+
sse.connect();
|
|
18
|
+
return sse;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Release a reference to the shared SSE client.
|
|
22
|
+
* Disconnects when the last reference is released.
|
|
23
|
+
*/
|
|
24
|
+
export function releaseSSEClient(identityUuid) {
|
|
25
|
+
const entry = pool.get(identityUuid);
|
|
26
|
+
if (!entry)
|
|
27
|
+
return;
|
|
28
|
+
entry.refCount--;
|
|
29
|
+
if (entry.refCount <= 0) {
|
|
30
|
+
entry.sse.disconnect();
|
|
31
|
+
pool.delete(identityUuid);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
/** Reset the pool — for testing only. */
|
|
35
|
+
export function resetSSEPool() {
|
|
36
|
+
for (const entry of pool.values()) {
|
|
37
|
+
entry.sse.disconnect();
|
|
38
|
+
}
|
|
39
|
+
pool.clear();
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=sse-pool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sse-pool.js","sourceRoot":"","sources":["../src/sse-pool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,UAAU,CAAC;AAOnE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA2B;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;IACpC,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACrC,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,KAAK,CAAC,QAAQ,EAAE,CAAC;IACjB,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;QACxB,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,yCAAyC;AACzC,MAAM,UAAU,YAAY;IAC1B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;QAClC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,CAAC"}
|
package/dist/sse.d.ts
CHANGED
|
@@ -18,8 +18,9 @@ export interface RaviSSEClientConfig {
|
|
|
18
18
|
/**
|
|
19
19
|
* Server-Sent Events client for the Ravi real-time event stream.
|
|
20
20
|
*
|
|
21
|
-
* Connects to `GET /api/events/stream/` and dispatches typed
|
|
22
|
-
*
|
|
21
|
+
* Connects to `GET /api/events/stream/` and dispatches typed events
|
|
22
|
+
* (email_owner, email_trusted, email_untrusted, sms_owner, sms_trusted,
|
|
23
|
+
* sms_untrusted) to registered handlers. Automatically reconnects with
|
|
23
24
|
* exponential backoff on connection loss and monitors server heartbeats
|
|
24
25
|
* to detect stale connections.
|
|
25
26
|
*
|
|
@@ -31,8 +32,8 @@ export interface RaviSSEClientConfig {
|
|
|
31
32
|
* identityUuid: "abc-123",
|
|
32
33
|
* });
|
|
33
34
|
*
|
|
34
|
-
* sse.
|
|
35
|
-
* sse.
|
|
35
|
+
* sse.onEmailOwner((event) => console.log("New email:", event.subject));
|
|
36
|
+
* sse.onSmsOwner((event) => console.log("New SMS:", event.body));
|
|
36
37
|
* sse.connect();
|
|
37
38
|
*
|
|
38
39
|
* // Later...
|
|
@@ -47,8 +48,12 @@ export declare class RaviSSEClient {
|
|
|
47
48
|
private reconnectDelay;
|
|
48
49
|
private maxReconnectDelay;
|
|
49
50
|
private lastEventId;
|
|
50
|
-
private
|
|
51
|
-
private
|
|
51
|
+
private emailOwnerHandlers;
|
|
52
|
+
private emailTrustedHandlers;
|
|
53
|
+
private emailUntrustedHandlers;
|
|
54
|
+
private smsOwnerHandlers;
|
|
55
|
+
private smsTrustedHandlers;
|
|
56
|
+
private smsUntrustedHandlers;
|
|
52
57
|
private reconnectHandlers;
|
|
53
58
|
private running;
|
|
54
59
|
private heartbeatTimeout;
|
|
@@ -59,18 +64,18 @@ export declare class RaviSSEClient {
|
|
|
59
64
|
/** Optional callback to attempt token refresh on 401/403. */
|
|
60
65
|
private onAuthFailure?;
|
|
61
66
|
constructor(config: RaviSSEClientConfig);
|
|
62
|
-
/**
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
67
|
+
/** Register a handler for email events from the identity owner. */
|
|
68
|
+
onEmailOwner(handler: SSEEventHandler<EmailEvent>): void;
|
|
69
|
+
/** Register a handler for email events from trusted senders. */
|
|
70
|
+
onEmailTrusted(handler: SSEEventHandler<EmailEvent>): void;
|
|
71
|
+
/** Register a handler for email events from untrusted senders. */
|
|
72
|
+
onEmailUntrusted(handler: SSEEventHandler<EmailEvent>): void;
|
|
73
|
+
/** Register a handler for SMS events from the identity owner. */
|
|
74
|
+
onSmsOwner(handler: SSEEventHandler<SmsEvent>): void;
|
|
75
|
+
/** Register a handler for SMS events from trusted senders. */
|
|
76
|
+
onSmsTrusted(handler: SSEEventHandler<SmsEvent>): void;
|
|
77
|
+
/** Register a handler for SMS events from untrusted senders. */
|
|
78
|
+
onSmsUntrusted(handler: SSEEventHandler<SmsEvent>): void;
|
|
74
79
|
/**
|
|
75
80
|
* Register a handler that fires whenever the client reconnects after a
|
|
76
81
|
* connection drop. Useful for re-fetching state that may have been missed
|
package/dist/sse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvD,2DAA2D;AAC3D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAIpD,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;AAID
|
|
1
|
+
{"version":3,"file":"sse.d.ts","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAIvD,2DAA2D;AAC3D,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;AAIpD,wDAAwD;AACxD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;AAID;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,kBAAkB,CAAqC;IAC/D,OAAO,CAAC,oBAAoB,CAAqC;IACjE,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,gBAAgB,CAAmC;IAC3D,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,iBAAiB,CAAyB;IAClD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,gBAAgB,CAA8C;IACtE,+EAA+E;IAC/E,OAAO,CAAC,iBAAiB,CAAU;IACnC,+DAA+D;IAC/D,OAAO,CAAC,gBAAgB,CAAS;IACjC,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAC,CAA+B;gBAEzC,MAAM,EAAE,mBAAmB;IAOvC,mEAAmE;IACnE,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,IAAI;IAIxD,gEAAgE;IAChE,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,IAAI;IAI1D,kEAAkE;IAClE,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,IAAI;IAI5D,iEAAiE;IACjE,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI;IAIpD,8DAA8D;IAC9D,YAAY,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI;IAItD,gEAAgE;IAChE,cAAc,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,IAAI;IAIxD;;;;OAIG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,IAAI,GAAG,IAAI;IAItC;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAOf;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAIhC;;;;;OAKG;IACH,UAAU,IAAI,IAAI;IAOlB;;;;OAIG;YACW,eAAe;IAgJ7B;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAgCrB;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAS3B,0CAA0C;IAC1C,OAAO,CAAC,mBAAmB;CAM5B"}
|
package/dist/sse.js
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* Server-Sent Events client for the Ravi real-time event stream.
|
|
4
4
|
*
|
|
5
|
-
* Connects to `GET /api/events/stream/` and dispatches typed
|
|
6
|
-
*
|
|
5
|
+
* Connects to `GET /api/events/stream/` and dispatches typed events
|
|
6
|
+
* (email_owner, email_trusted, email_untrusted, sms_owner, sms_trusted,
|
|
7
|
+
* sms_untrusted) to registered handlers. Automatically reconnects with
|
|
7
8
|
* exponential backoff on connection loss and monitors server heartbeats
|
|
8
9
|
* to detect stale connections.
|
|
9
10
|
*
|
|
@@ -15,8 +16,8 @@
|
|
|
15
16
|
* identityUuid: "abc-123",
|
|
16
17
|
* });
|
|
17
18
|
*
|
|
18
|
-
* sse.
|
|
19
|
-
* sse.
|
|
19
|
+
* sse.onEmailOwner((event) => console.log("New email:", event.subject));
|
|
20
|
+
* sse.onSmsOwner((event) => console.log("New SMS:", event.body));
|
|
20
21
|
* sse.connect();
|
|
21
22
|
*
|
|
22
23
|
* // Later...
|
|
@@ -31,8 +32,12 @@ export class RaviSSEClient {
|
|
|
31
32
|
reconnectDelay = 1000;
|
|
32
33
|
maxReconnectDelay = 30000;
|
|
33
34
|
lastEventId = null;
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
emailOwnerHandlers = [];
|
|
36
|
+
emailTrustedHandlers = [];
|
|
37
|
+
emailUntrustedHandlers = [];
|
|
38
|
+
smsOwnerHandlers = [];
|
|
39
|
+
smsTrustedHandlers = [];
|
|
40
|
+
smsUntrustedHandlers = [];
|
|
36
41
|
reconnectHandlers = [];
|
|
37
42
|
running = false;
|
|
38
43
|
heartbeatTimeout = null;
|
|
@@ -48,21 +53,29 @@ export class RaviSSEClient {
|
|
|
48
53
|
this.identityUuid = config.identityUuid;
|
|
49
54
|
this.onAuthFailure = config.onAuthFailure;
|
|
50
55
|
}
|
|
51
|
-
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
* Multiple handlers can be registered; they are called in registration order.
|
|
55
|
-
*/
|
|
56
|
-
onEmail(handler) {
|
|
57
|
-
this.emailHandlers.push(handler);
|
|
56
|
+
/** Register a handler for email events from the identity owner. */
|
|
57
|
+
onEmailOwner(handler) {
|
|
58
|
+
this.emailOwnerHandlers.push(handler);
|
|
58
59
|
}
|
|
59
|
-
/**
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this.
|
|
60
|
+
/** Register a handler for email events from trusted senders. */
|
|
61
|
+
onEmailTrusted(handler) {
|
|
62
|
+
this.emailTrustedHandlers.push(handler);
|
|
63
|
+
}
|
|
64
|
+
/** Register a handler for email events from untrusted senders. */
|
|
65
|
+
onEmailUntrusted(handler) {
|
|
66
|
+
this.emailUntrustedHandlers.push(handler);
|
|
67
|
+
}
|
|
68
|
+
/** Register a handler for SMS events from the identity owner. */
|
|
69
|
+
onSmsOwner(handler) {
|
|
70
|
+
this.smsOwnerHandlers.push(handler);
|
|
71
|
+
}
|
|
72
|
+
/** Register a handler for SMS events from trusted senders. */
|
|
73
|
+
onSmsTrusted(handler) {
|
|
74
|
+
this.smsTrustedHandlers.push(handler);
|
|
75
|
+
}
|
|
76
|
+
/** Register a handler for SMS events from untrusted senders. */
|
|
77
|
+
onSmsUntrusted(handler) {
|
|
78
|
+
this.smsUntrustedHandlers.push(handler);
|
|
66
79
|
}
|
|
67
80
|
/**
|
|
68
81
|
* Register a handler that fires whenever the client reconnects after a
|
|
@@ -264,9 +277,13 @@ export class RaviSSEClient {
|
|
|
264
277
|
console.error(`[ravi] Failed to parse SSE event (type=${eventType}): ${data.slice(0, 200)}`);
|
|
265
278
|
return;
|
|
266
279
|
}
|
|
267
|
-
const handlers = eventType === "
|
|
268
|
-
: eventType === "
|
|
269
|
-
:
|
|
280
|
+
const handlers = eventType === "email_owner" ? this.emailOwnerHandlers
|
|
281
|
+
: eventType === "email_trusted" ? this.emailTrustedHandlers
|
|
282
|
+
: eventType === "email_untrusted" ? this.emailUntrustedHandlers
|
|
283
|
+
: eventType === "sms_owner" ? this.smsOwnerHandlers
|
|
284
|
+
: eventType === "sms_trusted" ? this.smsTrustedHandlers
|
|
285
|
+
: eventType === "sms_untrusted" ? this.smsUntrustedHandlers
|
|
286
|
+
: null;
|
|
270
287
|
if (!handlers) {
|
|
271
288
|
console.warn(`[ravi] Received unhandled SSE event type: ${eventType}`);
|
|
272
289
|
return;
|
package/dist/sse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"AAwBA,gFAAgF;AAEhF
|
|
1
|
+
{"version":3,"file":"sse.js","sourceRoot":"","sources":["../src/sse.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAwCjE,oDAAoD;AACpD,eAAO,MAAM,cAAc,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"email-send.d.ts","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,eAAe,CAAC;AAwCjE,oDAAoD;AACpD,eAAO,MAAM,cAAc,EAAE,cAAc,EAsM1C,CAAC"}
|
package/dist/tools/email-send.js
CHANGED
|
@@ -52,8 +52,8 @@ export const emailSendTools = [
|
|
|
52
52
|
subject: { type: "string", description: "Email subject line" },
|
|
53
53
|
body: {
|
|
54
54
|
type: "string",
|
|
55
|
-
description: "Email body
|
|
56
|
-
"
|
|
55
|
+
description: "Email body — plain text or HTML. Plain text is auto-converted (newlines become <br>, " +
|
|
56
|
+
"special characters escaped). HTML content (<p>, <h2>, <a href>, etc.) is sent as-is.",
|
|
57
57
|
},
|
|
58
58
|
cc: {
|
|
59
59
|
type: "array",
|
|
@@ -91,7 +91,7 @@ export const emailSendTools = [
|
|
|
91
91
|
description: "Reply to an existing email message (threaded with correct headers). " +
|
|
92
92
|
"Read the thread with ravi_read_email first to understand context and see CC recipients. " +
|
|
93
93
|
"Subject is required — copy it from the thread (it's E2E encrypted on the server). " +
|
|
94
|
-
"Body is plain text
|
|
94
|
+
"Body is plain text (auto-converted) or HTML. Supports reply_all, CC, BCC, and file attachments.",
|
|
95
95
|
parameters: {
|
|
96
96
|
type: "object",
|
|
97
97
|
properties: {
|
|
@@ -101,8 +101,8 @@ export const emailSendTools = [
|
|
|
101
101
|
},
|
|
102
102
|
body: {
|
|
103
103
|
type: "string",
|
|
104
|
-
description: "Reply body
|
|
105
|
-
"
|
|
104
|
+
description: "Reply body — plain text or HTML. Plain text is auto-converted (newlines become <br>, " +
|
|
105
|
+
"special characters escaped). HTML content (<p>, <h2>, <a href>, etc.) is sent as-is.",
|
|
106
106
|
},
|
|
107
107
|
subject: {
|
|
108
108
|
type: "string",
|
|
@@ -167,8 +167,9 @@ export const emailSendTools = [
|
|
|
167
167
|
},
|
|
168
168
|
body: {
|
|
169
169
|
type: "string",
|
|
170
|
-
description: "Forwarding note
|
|
171
|
-
"
|
|
170
|
+
description: "Forwarding note — plain text or HTML. Plain text is auto-converted (newlines become <br>, " +
|
|
171
|
+
"special characters escaped). HTML content is sent as-is. The original email content is " +
|
|
172
|
+
"included automatically by the server.",
|
|
172
173
|
},
|
|
173
174
|
cc: {
|
|
174
175
|
type: "array",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AASzC;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAAC,MAA6B,EAAE,KAAe;IAC7E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAS,aAAa,CACpB,MAA+B,EAC/B,eAAqC;IAErC,MAAM,EAAE,GAAG,MAAM,CAAC,EAA0B,CAAC;IAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,GAA2B,CAAC;IAC/C,MAAM,IAAI,GAAkB,EAAE,CAAC;IAC/B,IAAI,EAAE,EAAE,MAAM;QAAE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IAC7B,IAAI,GAAG,EAAE,MAAM;QAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChC,IAAI,eAAe,EAAE,MAAM;QAAE,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC;AAED,oDAAoD;AACpD,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EACT,kGAAkG;YAClG,qHAAqH;YACrH,8DAA8D;YAC9D,yFAAyF;QAC3F,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;gBACxF,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;gBAC9D,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"email-send.js","sourceRoot":"","sources":["../../src/tools/email-send.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -125,18 +125,18 @@ export interface EncryptionMeta {
|
|
|
125
125
|
/** Base64-encoded NaCl public key */
|
|
126
126
|
public_key: string;
|
|
127
127
|
}
|
|
128
|
-
/** Sender classification for SSE events */
|
|
129
|
-
export type SenderType = "owner" | "self" | "external" | "unknown";
|
|
130
128
|
/** Real-time email event from the SSE stream */
|
|
131
129
|
export interface EmailEvent {
|
|
130
|
+
/** Numeric DB primary key, serialized as a string. */
|
|
132
131
|
id: string;
|
|
132
|
+
/** Email message UUID (stable identifier across environments). */
|
|
133
|
+
uuid: string;
|
|
133
134
|
thread_id: string;
|
|
134
135
|
from_email: string;
|
|
135
136
|
from_display_name: string;
|
|
136
137
|
subject: string;
|
|
137
138
|
text_content: string;
|
|
138
139
|
html_content: string;
|
|
139
|
-
sender_type: SenderType;
|
|
140
140
|
created_dt: string;
|
|
141
141
|
attachments: number;
|
|
142
142
|
in_reply_to: string | null;
|
|
@@ -147,7 +147,6 @@ export interface SmsEvent {
|
|
|
147
147
|
from_number: string;
|
|
148
148
|
body: string;
|
|
149
149
|
conversation_id: string;
|
|
150
|
-
sender_type: SenderType;
|
|
151
150
|
created_dt: string;
|
|
152
151
|
}
|
|
153
152
|
/** Structured logger available to gateway adapters. */
|
|
@@ -221,5 +220,7 @@ export interface RaviPluginConfig {
|
|
|
221
220
|
* Set in the OpenClaw agent config (each agent binds to one identity).
|
|
222
221
|
* Optional at install time; set automatically by `openclaw ravi login`. */
|
|
223
222
|
identityUuid?: string;
|
|
223
|
+
/** When false, emails from unknown senders are silently dropped. Defaults to true. */
|
|
224
|
+
externalEmail?: boolean;
|
|
224
225
|
}
|
|
225
226
|
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAMA,yCAAyC;AACzC,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,kEAAkE;AAClE,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,YAAY,EAAE,CAAC;CAC1B;AAED,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,YAAY,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,6DAA6D;AAC7D,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,UAAU,GAAG,UAAU,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,6CAA6C;AAC7C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oDAAoD;AACpD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAQD,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|