opencode-discord-presence 0.2.5 → 0.2.7

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 CHANGED
@@ -1,4 +1,4 @@
1
- import type { PresenceConfig } from "./types/index.js";
1
+ import type { DiscordPresenceOptions, PresenceConfig } from "./types/index.js";
2
2
  export declare const DEFAULT_CLIENT_ID = "1466770544748662819";
3
- export declare function getConfig(): PresenceConfig;
3
+ export declare function getConfig(options?: DiscordPresenceOptions): PresenceConfig;
4
4
  //# sourceMappingURL=config.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAY,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAExF,eAAO,MAAM,iBAAiB,wBAAwB,CAAA;AAQtD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,cAAc,CAU1E"}
package/dist/config.js CHANGED
@@ -1,8 +1,18 @@
1
1
  export const DEFAULT_CLIENT_ID = "1466770544748662819";
2
- export function getConfig() {
2
+ function parseLanguage(lang) {
3
+ const normalized = lang?.toLowerCase();
4
+ if (normalized === "ko" || normalized === "kr" || normalized === "korean")
5
+ return "ko";
6
+ return "en";
7
+ }
8
+ export function getConfig(options) {
9
+ const envEnabled = process.env.OPENCODE_DISCORD_ENABLED;
10
+ const envClientId = process.env.OPENCODE_DISCORD_CLIENT_ID;
11
+ const envLanguage = process.env.OPENCODE_DISCORD_LANGUAGE;
3
12
  return {
4
- enabled: process.env.OPENCODE_DISCORD_ENABLED !== "false",
5
- clientId: process.env.OPENCODE_DISCORD_CLIENT_ID || DEFAULT_CLIENT_ID,
13
+ enabled: options?.enabled ?? envEnabled !== "false",
14
+ clientId: options?.applicationId ?? envClientId ?? DEFAULT_CLIENT_ID,
15
+ language: parseLanguage(options?.language ?? envLanguage),
6
16
  };
7
17
  }
8
18
  //# sourceMappingURL=config.js.map
@@ -1 +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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAA;AAEtD,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,UAAU,GAAG,IAAI,EAAE,WAAW,EAAE,CAAA;IACtC,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAA;IACtF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAgC;IACxD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAA;IACvD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAA;IAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAA;IAEzD,OAAO;QACL,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,UAAU,KAAK,OAAO;QACnD,QAAQ,EAAE,OAAO,EAAE,aAAa,IAAI,WAAW,IAAI,iBAAiB;QACpE,QAAQ,EAAE,aAAa,CAAC,OAAO,EAAE,QAAQ,IAAI,WAAW,CAAC;KAC1D,CAAA;AACH,CAAC"}
@@ -1 +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,MAmCrC,CAAA"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAqCjD,eAAO,MAAM,uBAAuB,EAAE,MAmCrC,CAAA"}
package/dist/plugin.js CHANGED
@@ -1,17 +1,46 @@
1
+ import { homedir } from "node:os";
2
+ import { join } from "node:path";
1
3
  import { getConfig } from "./config.js";
2
4
  import { DiscordRPCService } from "./services/discord-rpc.js";
5
+ import { getObjectParticle, getTopicParticle } from "./utils/particle.js";
3
6
  let rpc = null;
4
7
  let currentAgent = "OpenCode";
5
8
  let currentModel = "";
9
+ function getPresenceDetails(agent, idle, language) {
10
+ if (language === "ko") {
11
+ if (idle) {
12
+ return `${agent}${getTopicParticle(agent)} 휴식중`;
13
+ }
14
+ return `${agent}${getObjectParticle(agent)} 갈구는중`;
15
+ }
16
+ return idle ? `${agent} is idle` : `Working with ${agent}`;
17
+ }
18
+ async function loadConfigFile(directory) {
19
+ const paths = [
20
+ join(directory, ".discord-presence.json"),
21
+ join(homedir(), ".discord-presence.json"),
22
+ ];
23
+ for (const configPath of paths) {
24
+ const file = Bun.file(configPath);
25
+ if (await file.exists()) {
26
+ try {
27
+ return (await file.json());
28
+ }
29
+ catch { }
30
+ }
31
+ }
32
+ return undefined;
33
+ }
6
34
  export const OpenCodeDiscordPresence = async (ctx) => {
7
- const config = getConfig();
35
+ const fileOptions = await loadConfigFile(ctx.directory);
36
+ const config = getConfig(fileOptions);
8
37
  if (!config.enabled)
9
38
  return {};
10
39
  rpc = new DiscordRPCService(config.clientId);
11
40
  const updatePresence = async (idle = false) => {
12
41
  if (!rpc)
13
42
  return;
14
- const details = idle ? `${currentAgent} is idle` : `Working with ${currentAgent}`;
43
+ const details = getPresenceDetails(currentAgent, idle, config.language);
15
44
  const state = currentModel || undefined;
16
45
  await rpc.setPresence(details, state);
17
46
  };
@@ -21,7 +50,6 @@ export const OpenCodeDiscordPresence = async (ctx) => {
21
50
  }
22
51
  return {
23
52
  "chat.message": async (input) => {
24
- console.log("[discord-presence] DEBUG input:", JSON.stringify(input, null, 2));
25
53
  if (input.agent)
26
54
  currentAgent = input.agent;
27
55
  if (input.model?.modelID)
@@ -1 +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,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC9E,IAAI,KAAK,CAAC,KAAK;gBAAE,YAAY,GAAG,KAAK,CAAC,KAAK,CAAA;YAC3C,IAAI,KAAK,CAAC,KAAK,EAAE,OAAO;gBAAE,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAA;YAC5D,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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,14 @@
1
1
  import type { SetActivity } from "@xhayper/discord-rpc";
2
+ export type Language = "en" | "ko";
2
3
  export interface PresenceConfig {
3
4
  enabled: boolean;
4
5
  clientId: string;
6
+ language: Language;
7
+ }
8
+ export interface DiscordPresenceOptions {
9
+ enabled?: boolean;
10
+ applicationId?: string;
11
+ language?: string;
5
12
  }
6
13
  export interface PresenceState {
7
14
  agent: string;
@@ -1 +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"}
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,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAA;AAElC,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;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,16 @@
1
+ /**
2
+ * Korean particle utilities
3
+ * Handles proper particle selection based on whether the preceding character
4
+ * ends with a consonant (받침) or not.
5
+ */
6
+ /**
7
+ * Get the appropriate particle for 을/를 (object marker)
8
+ * 을 after consonant, 를 after vowel
9
+ */
10
+ export declare function getObjectParticle(word: string): string;
11
+ /**
12
+ * Get the appropriate particle for 은/는 (topic marker)
13
+ * 은 after consonant, 는 after vowel
14
+ */
15
+ export declare function getTopicParticle(word: string): string;
16
+ //# sourceMappingURL=particle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"particle.d.ts","sourceRoot":"","sources":["../../src/utils/particle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmBH;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAItD;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAIrD"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Korean particle utilities
3
+ * Handles proper particle selection based on whether the preceding character
4
+ * ends with a consonant (받침) or not.
5
+ */
6
+ /**
7
+ * Check if a character has a final consonant (받침)
8
+ */
9
+ function hasFinalConsonant(char) {
10
+ const code = char.charCodeAt(0);
11
+ // Korean syllable block range: 0xAC00 ~ 0xD7A3
12
+ if (code < 0xac00 || code > 0xd7a3) {
13
+ // Non-Korean character: treat numbers/letters as having no final consonant
14
+ // except for certain consonant-ending letters
15
+ const consonantEndingChars = /[lmnr136780]$/i;
16
+ return consonantEndingChars.test(char);
17
+ }
18
+ // Korean syllable: check if it has a final consonant
19
+ // (code - 0xAC00) % 28 === 0 means no final consonant
20
+ return (code - 0xac00) % 28 !== 0;
21
+ }
22
+ /**
23
+ * Get the appropriate particle for 을/를 (object marker)
24
+ * 을 after consonant, 를 after vowel
25
+ */
26
+ export function getObjectParticle(word) {
27
+ if (!word || word.length === 0)
28
+ return "를";
29
+ const lastChar = word[word.length - 1];
30
+ return hasFinalConsonant(lastChar) ? "을" : "를";
31
+ }
32
+ /**
33
+ * Get the appropriate particle for 은/는 (topic marker)
34
+ * 은 after consonant, 는 after vowel
35
+ */
36
+ export function getTopicParticle(word) {
37
+ if (!word || word.length === 0)
38
+ return "는";
39
+ const lastChar = word[word.length - 1];
40
+ return hasFinalConsonant(lastChar) ? "은" : "는";
41
+ }
42
+ //# sourceMappingURL=particle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"particle.js","sourceRoot":"","sources":["../../src/utils/particle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,SAAS,iBAAiB,CAAC,IAAY;IACrC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;IAC/B,+CAA+C;IAC/C,IAAI,IAAI,GAAG,MAAM,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC;QACnC,2EAA2E;QAC3E,8CAA8C;QAC9C,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;QAC7C,OAAO,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IACD,qDAAqD;IACrD,sDAAsD;IACtD,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;AACnC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAChD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,GAAG,CAAA;IAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;AAChD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-discord-presence",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Discord Rich Presence plugin for OpenCode - Display your current AI agent, model, and status in Discord",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",