opencode-discord-presence 0.2.2 → 0.2.4
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/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +8 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -128
- package/dist/index.js.map +1 -1
- package/dist/plugin.d.ts +3 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +40 -0
- package/dist/plugin.js.map +1 -0
- package/dist/services/discord-rpc.d.ts +15 -0
- package/dist/services/discord-rpc.d.ts.map +1 -0
- package/dist/services/discord-rpc.js +87 -0
- package/dist/services/discord-rpc.js.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +1 -1
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,eAAO,MAAM,iBAAiB,wBAAwB,CAAA;AAEtD,wBAAgB,SAAS,IAAI,cAAc,CAK1C"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export const DEFAULT_CLIENT_ID = "1466770544748662819";
|
|
2
|
+
export function getConfig() {
|
|
3
|
+
return {
|
|
4
|
+
enabled: process.env.OPENCODE_DISCORD_ENABLED !== "false",
|
|
5
|
+
clientId: process.env.OPENCODE_DISCORD_CLIENT_ID || DEFAULT_CLIENT_ID,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAA;AAEtD,MAAM,UAAU,SAAS;IACvB,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,OAAO;QACzD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,iBAAiB;KACtE,CAAA;AACH,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
clientId: string;
|
|
5
|
-
}
|
|
6
|
-
declare function getConfig(): PresenceConfig;
|
|
7
|
-
export declare const OpenCodeDiscordPresence: Plugin;
|
|
1
|
+
import { OpenCodeDiscordPresence } from "./plugin.js";
|
|
2
|
+
export { OpenCodeDiscordPresence };
|
|
8
3
|
export default OpenCodeDiscordPresence;
|
|
9
|
-
export { getConfig };
|
|
4
|
+
export { getConfig } from "./config.js";
|
|
10
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,eAAe,uBAAuB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,130 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
const RECONNECT_DELAY = 5000;
|
|
4
|
-
const MAX_RETRIES = 10;
|
|
5
|
-
function getConfig() {
|
|
6
|
-
return {
|
|
7
|
-
enabled: process.env.OPENCODE_DISCORD_ENABLED !== "false",
|
|
8
|
-
clientId: process.env.OPENCODE_DISCORD_CLIENT_ID || DEFAULT_CLIENT_ID,
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
class DiscordRPC {
|
|
12
|
-
clientId;
|
|
13
|
-
client = null;
|
|
14
|
-
connected = false;
|
|
15
|
-
retryCount = 0;
|
|
16
|
-
sessionStart = new Date();
|
|
17
|
-
currentPresence = null;
|
|
18
|
-
constructor(clientId) {
|
|
19
|
-
this.clientId = clientId;
|
|
20
|
-
}
|
|
21
|
-
async connect() {
|
|
22
|
-
if (this.connected)
|
|
23
|
-
return true;
|
|
24
|
-
return new Promise((resolve) => {
|
|
25
|
-
try {
|
|
26
|
-
this.client = new Client({ clientId: this.clientId });
|
|
27
|
-
this.client.on("ready", () => {
|
|
28
|
-
this.connected = true;
|
|
29
|
-
this.retryCount = 0;
|
|
30
|
-
console.log("[discord-presence] Connected to Discord");
|
|
31
|
-
if (this.currentPresence) {
|
|
32
|
-
this.client?.user?.setActivity(this.currentPresence).catch(() => { });
|
|
33
|
-
}
|
|
34
|
-
resolve(true);
|
|
35
|
-
});
|
|
36
|
-
this.client.on("disconnected", () => {
|
|
37
|
-
this.connected = false;
|
|
38
|
-
console.log("[discord-presence] Disconnected");
|
|
39
|
-
this.scheduleReconnect();
|
|
40
|
-
});
|
|
41
|
-
this.client.login().catch((err) => {
|
|
42
|
-
console.log("[discord-presence] Connection failed:", err?.message || err);
|
|
43
|
-
this.scheduleReconnect();
|
|
44
|
-
resolve(false);
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
catch (error) {
|
|
48
|
-
console.log("[discord-presence] Error:", error);
|
|
49
|
-
this.scheduleReconnect();
|
|
50
|
-
resolve(false);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
scheduleReconnect() {
|
|
55
|
-
if (this.retryCount >= MAX_RETRIES) {
|
|
56
|
-
console.log("[discord-presence] Max retries reached");
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
this.retryCount++;
|
|
60
|
-
setTimeout(() => this.connect(), RECONNECT_DELAY);
|
|
61
|
-
}
|
|
62
|
-
async setPresence(details, state) {
|
|
63
|
-
const activity = {
|
|
64
|
-
details,
|
|
65
|
-
state,
|
|
66
|
-
startTimestamp: this.sessionStart,
|
|
67
|
-
largeImageKey: "opencode-logo",
|
|
68
|
-
largeImageText: "OpenCode",
|
|
69
|
-
};
|
|
70
|
-
this.currentPresence = activity;
|
|
71
|
-
if (!this.connected || !this.client?.user) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
try {
|
|
75
|
-
await this.client.user.setActivity(activity);
|
|
76
|
-
}
|
|
77
|
-
catch (error) {
|
|
78
|
-
console.warn("[discord-presence] Failed to update:", error);
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
async clear() {
|
|
82
|
-
this.currentPresence = null;
|
|
83
|
-
if (!this.connected || !this.client?.user)
|
|
84
|
-
return;
|
|
85
|
-
try {
|
|
86
|
-
await this.client.user.clearActivity();
|
|
87
|
-
}
|
|
88
|
-
catch { }
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
let rpc = null;
|
|
92
|
-
let currentAgent = "OpenCode";
|
|
93
|
-
let currentModel = "";
|
|
94
|
-
export const OpenCodeDiscordPresence = async (ctx) => {
|
|
95
|
-
const config = getConfig();
|
|
96
|
-
if (!config.enabled)
|
|
97
|
-
return {};
|
|
98
|
-
rpc = new DiscordRPC(config.clientId);
|
|
99
|
-
const updatePresence = async (idle = false) => {
|
|
100
|
-
if (!rpc)
|
|
101
|
-
return;
|
|
102
|
-
const details = idle ? `${currentAgent} is idle` : `Working with ${currentAgent}`;
|
|
103
|
-
const state = currentModel || undefined;
|
|
104
|
-
await rpc.setPresence(details, state);
|
|
105
|
-
};
|
|
106
|
-
const connected = await rpc.connect();
|
|
107
|
-
if (connected) {
|
|
108
|
-
await updatePresence(false);
|
|
109
|
-
}
|
|
110
|
-
return {
|
|
111
|
-
"chat.message": async (input) => {
|
|
112
|
-
if (input.agent)
|
|
113
|
-
currentAgent = input.agent;
|
|
114
|
-
if (input.model)
|
|
115
|
-
currentModel = String(input.model).split("-")[0];
|
|
116
|
-
await updatePresence(false);
|
|
117
|
-
},
|
|
118
|
-
event: async ({ event }) => {
|
|
119
|
-
if (event.type === "session.idle") {
|
|
120
|
-
await updatePresence(true);
|
|
121
|
-
}
|
|
122
|
-
if (event.type === "session.deleted") {
|
|
123
|
-
await rpc?.clear();
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
};
|
|
127
|
-
};
|
|
1
|
+
import { OpenCodeDiscordPresence } from "./plugin.js";
|
|
2
|
+
export { OpenCodeDiscordPresence };
|
|
128
3
|
export default OpenCodeDiscordPresence;
|
|
129
|
-
export { getConfig };
|
|
4
|
+
export { getConfig } from "./config.js";
|
|
130
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,OAAO,EAAE,uBAAuB,EAAE,CAAA;AAClC,eAAe,uBAAuB,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
|
package/dist/plugin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAQjD,eAAO,MAAM,uBAAuB,EAAE,MAkCrC,CAAA"}
|
package/dist/plugin.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getConfig } from "./config.js";
|
|
2
|
+
import { DiscordRPCService } from "./services/discord-rpc.js";
|
|
3
|
+
let rpc = null;
|
|
4
|
+
let currentAgent = "OpenCode";
|
|
5
|
+
let currentModel = "";
|
|
6
|
+
export const OpenCodeDiscordPresence = async (ctx) => {
|
|
7
|
+
const config = getConfig();
|
|
8
|
+
if (!config.enabled)
|
|
9
|
+
return {};
|
|
10
|
+
rpc = new DiscordRPCService(config.clientId);
|
|
11
|
+
const updatePresence = async (idle = false) => {
|
|
12
|
+
if (!rpc)
|
|
13
|
+
return;
|
|
14
|
+
const details = idle ? `${currentAgent} is idle` : `Working with ${currentAgent}`;
|
|
15
|
+
const state = currentModel || undefined;
|
|
16
|
+
await rpc.setPresence(details, state);
|
|
17
|
+
};
|
|
18
|
+
const connected = await rpc.connect();
|
|
19
|
+
if (connected) {
|
|
20
|
+
await updatePresence(false);
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
"chat.message": async (input) => {
|
|
24
|
+
if (input.agent)
|
|
25
|
+
currentAgent = input.agent;
|
|
26
|
+
if (input.model)
|
|
27
|
+
currentModel = String(input.model).split("-")[0];
|
|
28
|
+
await updatePresence(false);
|
|
29
|
+
},
|
|
30
|
+
event: async ({ event }) => {
|
|
31
|
+
if (event.type === "session.idle") {
|
|
32
|
+
await updatePresence(true);
|
|
33
|
+
}
|
|
34
|
+
if (event.type === "session.deleted") {
|
|
35
|
+
await rpc?.clear();
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAE7D,IAAI,GAAG,GAA6B,IAAI,CAAA;AACxC,IAAI,YAAY,GAAG,UAAU,CAAA;AAC7B,IAAI,YAAY,GAAG,EAAE,CAAA;AAErB,MAAM,CAAC,MAAM,uBAAuB,GAAW,KAAK,EAAE,GAAG,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IAE9B,GAAG,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IAE5C,MAAM,cAAc,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE;QAC5C,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,gBAAgB,YAAY,EAAE,CAAA;QACjF,MAAM,KAAK,GAAG,YAAY,IAAI,SAAS,CAAA;QACvC,MAAM,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACvC,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,CAAA;IACrC,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,OAAO;QACL,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,CAAC,KAAK;gBAAE,YAAY,GAAG,KAAK,CAAC,KAAK,CAAA;YAC3C,IAAI,KAAK,CAAC,KAAK;gBAAE,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YACjE,MAAM,cAAc,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QAED,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;YACzB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAClC,MAAM,cAAc,CAAC,IAAI,CAAC,CAAA;YAC5B,CAAC;YACD,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACrC,MAAM,GAAG,EAAE,KAAK,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare class DiscordRPCService {
|
|
2
|
+
private clientId;
|
|
3
|
+
private client;
|
|
4
|
+
private connected;
|
|
5
|
+
private retryCount;
|
|
6
|
+
private sessionStart;
|
|
7
|
+
private currentPresence;
|
|
8
|
+
constructor(clientId: string);
|
|
9
|
+
connect(): Promise<boolean>;
|
|
10
|
+
private scheduleReconnect;
|
|
11
|
+
setPresence(details: string, state?: string): Promise<void>;
|
|
12
|
+
clear(): Promise<void>;
|
|
13
|
+
isConnected(): boolean;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=discord-rpc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord-rpc.d.ts","sourceRoot":"","sources":["../../src/services/discord-rpc.ts"],"names":[],"mappings":"AAMA,qBAAa,iBAAiB;IAOhB,OAAO,CAAC,QAAQ;IAN5B,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,UAAU,CAAI;IACtB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,eAAe,CAA2B;gBAE9B,QAAQ,EAAE,MAAM;IAE9B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC;IAsCjC,OAAO,CAAC,iBAAiB;IASnB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAsB3C,KAAK;IAQX,WAAW,IAAI,OAAO;CAGvB"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { Client } from "@xhayper/discord-rpc";
|
|
2
|
+
const RECONNECT_DELAY = 5000;
|
|
3
|
+
const MAX_RETRIES = 10;
|
|
4
|
+
export class DiscordRPCService {
|
|
5
|
+
clientId;
|
|
6
|
+
client = null;
|
|
7
|
+
connected = false;
|
|
8
|
+
retryCount = 0;
|
|
9
|
+
sessionStart = new Date();
|
|
10
|
+
currentPresence = null;
|
|
11
|
+
constructor(clientId) {
|
|
12
|
+
this.clientId = clientId;
|
|
13
|
+
}
|
|
14
|
+
async connect() {
|
|
15
|
+
if (this.connected)
|
|
16
|
+
return true;
|
|
17
|
+
return new Promise((resolve) => {
|
|
18
|
+
try {
|
|
19
|
+
this.client = new Client({ clientId: this.clientId });
|
|
20
|
+
this.client.on("ready", () => {
|
|
21
|
+
this.connected = true;
|
|
22
|
+
this.retryCount = 0;
|
|
23
|
+
console.log("[discord-presence] Connected to Discord");
|
|
24
|
+
if (this.currentPresence) {
|
|
25
|
+
this.client?.user?.setActivity(this.currentPresence).catch(() => { });
|
|
26
|
+
}
|
|
27
|
+
resolve(true);
|
|
28
|
+
});
|
|
29
|
+
this.client.on("disconnected", () => {
|
|
30
|
+
this.connected = false;
|
|
31
|
+
console.log("[discord-presence] Disconnected");
|
|
32
|
+
this.scheduleReconnect();
|
|
33
|
+
});
|
|
34
|
+
this.client.login().catch((err) => {
|
|
35
|
+
console.log("[discord-presence] Connection failed:", err?.message || err);
|
|
36
|
+
this.scheduleReconnect();
|
|
37
|
+
resolve(false);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
console.log("[discord-presence] Error:", error);
|
|
42
|
+
this.scheduleReconnect();
|
|
43
|
+
resolve(false);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
scheduleReconnect() {
|
|
48
|
+
if (this.retryCount >= MAX_RETRIES) {
|
|
49
|
+
console.log("[discord-presence] Max retries reached");
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
this.retryCount++;
|
|
53
|
+
setTimeout(() => this.connect(), RECONNECT_DELAY);
|
|
54
|
+
}
|
|
55
|
+
async setPresence(details, state) {
|
|
56
|
+
const activity = {
|
|
57
|
+
details,
|
|
58
|
+
state,
|
|
59
|
+
startTimestamp: this.sessionStart,
|
|
60
|
+
largeImageKey: "opencode-logo",
|
|
61
|
+
largeImageText: "OpenCode",
|
|
62
|
+
};
|
|
63
|
+
this.currentPresence = activity;
|
|
64
|
+
if (!this.connected || !this.client?.user) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
try {
|
|
68
|
+
await this.client.user.setActivity(activity);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.warn("[discord-presence] Failed to update:", error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async clear() {
|
|
75
|
+
this.currentPresence = null;
|
|
76
|
+
if (!this.connected || !this.client?.user)
|
|
77
|
+
return;
|
|
78
|
+
try {
|
|
79
|
+
await this.client.user.clearActivity();
|
|
80
|
+
}
|
|
81
|
+
catch { }
|
|
82
|
+
}
|
|
83
|
+
isConnected() {
|
|
84
|
+
return this.connected;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=discord-rpc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discord-rpc.js","sourceRoot":"","sources":["../../src/services/discord-rpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { SetActivity } from "@xhayper/discord-rpc";
|
|
2
|
+
export interface PresenceConfig {
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
clientId: string;
|
|
5
|
+
}
|
|
6
|
+
export interface PresenceState {
|
|
7
|
+
agent: string;
|
|
8
|
+
model: string;
|
|
9
|
+
idle: boolean;
|
|
10
|
+
}
|
|
11
|
+
export type { SetActivity };
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,OAAO,CAAA;CACd;AAED,YAAY,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED