discord-agent-bridge 0.6.0 → 0.7.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.
@@ -1,6 +1,7 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as path from 'node:path';
3
3
  import * as os from 'node:os';
4
+ import { execFileSync } from 'node:child_process';
4
5
  import { z } from 'zod';
5
6
  // Claude usage/limits poller (§7.4). Polls the undocumented Anthropic OAuth usage
6
7
  // endpoint for 5-hour + weekly limits. Grounded in A4D src/sessions/usageTracker.ts
@@ -8,7 +9,11 @@ import { z } from 'zod';
8
9
  // redacting logger. Framework-agnostic (no discord.js). Context usage is emitted
9
10
  // separately by Claude mode as a `context_usage` AgentEvent — NOT handled here.
10
11
  //
11
- // Requires OAuth subscription login (~/.claude/.credentials.json), not an API key.
12
+ // Requires OAuth subscription login, not an API key. Credentials live in
13
+ // ~/.claude/.credentials.json on Linux, but on macOS Claude Code stores them in the
14
+ // login Keychain (service "Claude Code-credentials"), NOT the file — so we read the
15
+ // file first and fall back to the Keychain on darwin. A refreshed token is written
16
+ // back to the SAME source it was read from, so the CLI and this service never diverge.
12
17
  // API-key-only users degrade gracefully: the service reports unavailable and the
13
18
  // Discord usage embed is simply hidden. This service NEVER throws into callers.
14
19
  //
@@ -60,6 +65,57 @@ const tokenResponseSchema = z.object({
60
65
  function defaultCredentialsPath() {
61
66
  return path.join(os.homedir(), '.claude', '.credentials.json');
62
67
  }
68
+ // macOS Keychain item the Claude Code CLI stores its OAuth credentials under.
69
+ const KEYCHAIN_SERVICE = 'Claude Code-credentials';
70
+ // Read the credentials blob from the login Keychain (darwin only). Any failure —
71
+ // non-darwin, missing item, `security` unavailable — yields null (never throws).
72
+ function defaultReadKeychain() {
73
+ if (process.platform !== 'darwin')
74
+ return null;
75
+ try {
76
+ return execFileSync('security', ['find-generic-password', '-s', KEYCHAIN_SERVICE, '-w'], {
77
+ encoding: 'utf-8',
78
+ });
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ }
84
+ // Update (or create) the Keychain item with the given blob (darwin only). May throw;
85
+ // the caller (writeCredentials) catches and warns WITHOUT logging the error message
86
+ // (which echoes the argv, i.e. the token blob).
87
+ function defaultWriteKeychain(json) {
88
+ if (process.platform !== 'darwin')
89
+ return;
90
+ execFileSync('security', ['add-generic-password', '-U', '-s', KEYCHAIN_SERVICE, '-a', os.userInfo().username, '-w', json], { stdio: 'ignore' });
91
+ }
92
+ // Merge a refreshed OAuth token triple into an existing credentials blob (from file or
93
+ // Keychain), preserving any sibling fields. A malformed/absent base starts from empty.
94
+ // Shared by both write paths so file and Keychain persist identically.
95
+ function mergeOauthInto(existingRaw, creds) {
96
+ let data = {};
97
+ if (existingRaw) {
98
+ try {
99
+ const existing = JSON.parse(existingRaw);
100
+ if (existing && typeof existing === 'object' && !Array.isArray(existing)) {
101
+ data = existing;
102
+ }
103
+ }
104
+ catch {
105
+ // Malformed base — start from an empty object.
106
+ }
107
+ }
108
+ const prevOauth = data.claudeAiOauth && typeof data.claudeAiOauth === 'object'
109
+ ? data.claudeAiOauth
110
+ : {};
111
+ data.claudeAiOauth = {
112
+ ...prevOauth,
113
+ accessToken: creds.accessToken,
114
+ refreshToken: creds.refreshToken,
115
+ expiresAt: creds.expiresAt,
116
+ };
117
+ return data;
118
+ }
63
119
  // ---------------------------------------------------------------------------
64
120
  // Service
65
121
  // ---------------------------------------------------------------------------
@@ -69,6 +125,8 @@ export class UsageService {
69
125
  cacheMs;
70
126
  fetchFn;
71
127
  credentialsPath;
128
+ readKeychain;
129
+ writeKeychain;
72
130
  now;
73
131
  cached = null;
74
132
  lastFetchAttemptAt = 0;
@@ -80,6 +138,8 @@ export class UsageService {
80
138
  this.cacheMs = Math.max(0, (options.cacheSec ?? 180)) * 1000;
81
139
  this.fetchFn = options.fetchFn ?? fetch;
82
140
  this.credentialsPath = options.credentialsPath ?? defaultCredentialsPath();
141
+ this.readKeychain = options.readKeychain ?? defaultReadKeychain;
142
+ this.writeKeychain = options.writeKeychain ?? defaultWriteKeychain;
83
143
  this.now = options.now ?? Date.now;
84
144
  this.currentIntervalMs = this.cacheMs;
85
145
  }
@@ -110,26 +170,43 @@ export class UsageService {
110
170
  return { available: false, reason: 'no-credentials' };
111
171
  }
112
172
  // ---- OAuth credentials -------------------------------------------------
173
+ // Read the OAuth credentials, file first (Linux + explicit-path installs) then the
174
+ // macOS Keychain (default source on darwin). Absent everywhere → null (API-key-only
175
+ // user); not an error condition.
113
176
  readCredentials() {
177
+ return this.readCredentialsFromFile() ?? this.readCredentialsFromKeychain();
178
+ }
179
+ readCredentialsFromFile() {
114
180
  let raw;
115
181
  try {
116
182
  raw = fs.readFileSync(this.credentialsPath, 'utf-8');
117
183
  }
118
184
  catch {
119
- // Absent/unreadable — API-key-only user. Not an error condition.
185
+ // Absent/unreadable — fall through to the Keychain (macOS) or unavailable.
120
186
  return null;
121
187
  }
188
+ return this.parseCredentials(raw, 'file');
189
+ }
190
+ readCredentialsFromKeychain() {
191
+ const blob = this.readKeychain(); // never throws by contract; null off-darwin
192
+ if (!blob)
193
+ return null;
194
+ return this.parseCredentials(blob, 'keychain');
195
+ }
196
+ // Parse a credentials blob (identical shape from file or Keychain) into creds, or
197
+ // null when malformed/incomplete. `source` is a non-secret tag (safe to log).
198
+ parseCredentials(raw, source) {
122
199
  let parsed;
123
200
  try {
124
201
  parsed = JSON.parse(raw);
125
202
  }
126
203
  catch {
127
- this.logger.warn('usage credentials file is not valid JSON; treating as unavailable');
204
+ this.logger.warn('usage credentials are not valid JSON; treating as unavailable', { source });
128
205
  return null;
129
206
  }
130
207
  const result = credentialsSchema.safeParse(parsed);
131
208
  if (!result.success) {
132
- this.logger.warn('usage credentials file has an unexpected shape; treating as unavailable');
209
+ this.logger.warn('usage credentials have an unexpected shape; treating as unavailable', { source });
133
210
  return null;
134
211
  }
135
212
  const oauth = result.data.claudeAiOauth;
@@ -139,38 +216,44 @@ export class UsageService {
139
216
  accessToken: oauth.accessToken,
140
217
  refreshToken: oauth.refreshToken,
141
218
  expiresAt: oauth.expiresAt ?? 0,
219
+ source,
142
220
  };
143
221
  }
222
+ // Persist a refreshed token back to the SAME source it was read from, so the CLI
223
+ // (Keychain on macOS) and this service never diverge — writing a keychain-sourced
224
+ // token to the file would risk a refresh-token rotation conflict. Best-effort: a
225
+ // failure just means we refresh again next cycle. The token is NEVER logged.
144
226
  writeCredentials(creds) {
227
+ if (creds.source === 'keychain') {
228
+ try {
229
+ const merged = mergeOauthInto(this.readKeychain(), creds);
230
+ this.writeKeychain(JSON.stringify(merged));
231
+ }
232
+ catch (err) {
233
+ // Do NOT log the error message here: for the Keychain write it can echo the
234
+ // argv (which contains the token blob). Log only the error name.
235
+ this.logger.warn('failed to persist refreshed usage credentials to keychain', {
236
+ error: err instanceof Error ? err.name : 'unknown',
237
+ });
238
+ }
239
+ return;
240
+ }
145
241
  try {
146
- let data = {};
242
+ let existingRaw = null;
147
243
  try {
148
- const existing = JSON.parse(fs.readFileSync(this.credentialsPath, 'utf-8'));
149
- if (existing && typeof existing === 'object' && !Array.isArray(existing)) {
150
- data = existing;
151
- }
244
+ existingRaw = fs.readFileSync(this.credentialsPath, 'utf-8');
152
245
  }
153
246
  catch {
154
- // Fresh/unreadable file — start from an empty object.
247
+ existingRaw = null; // Fresh/unreadable file — start from an empty object.
155
248
  }
156
- const prevOauth = data.claudeAiOauth && typeof data.claudeAiOauth === 'object'
157
- ? data.claudeAiOauth
158
- : {};
159
- data.claudeAiOauth = {
160
- ...prevOauth,
161
- accessToken: creds.accessToken,
162
- refreshToken: creds.refreshToken,
163
- expiresAt: creds.expiresAt,
164
- };
165
- fs.writeFileSync(this.credentialsPath, JSON.stringify(data), { encoding: 'utf-8', mode: 0o600 });
249
+ const merged = mergeOauthInto(existingRaw, creds);
250
+ fs.writeFileSync(this.credentialsPath, JSON.stringify(merged), { encoding: 'utf-8', mode: 0o600 });
166
251
  }
167
252
  catch (err) {
168
- // Persisting the refreshed token is best-effort; a failure just means we
169
- // refresh again next cycle. Do not surface the token in the log.
170
253
  this.logger.warn('failed to persist refreshed usage credentials', { error: String(err) });
171
254
  }
172
255
  }
173
- async refreshAccessToken(refreshToken) {
256
+ async refreshAccessToken(creds) {
174
257
  let res;
175
258
  try {
176
259
  res = await this.fetchFn(OAUTH_TOKEN_URL, {
@@ -181,7 +264,7 @@ export class UsageService {
181
264
  },
182
265
  body: JSON.stringify({
183
266
  grant_type: 'refresh_token',
184
- refresh_token: refreshToken,
267
+ refresh_token: creds.refreshToken,
185
268
  client_id: CLIENT_ID,
186
269
  }),
187
270
  });
@@ -207,17 +290,18 @@ export class UsageService {
207
290
  this.logger.warn('usage token refresh response has an unexpected shape');
208
291
  return null;
209
292
  }
210
- const creds = {
293
+ const refreshed = {
211
294
  accessToken: result.data.access_token,
212
- refreshToken: result.data.refresh_token ?? refreshToken,
295
+ refreshToken: result.data.refresh_token ?? creds.refreshToken,
213
296
  expiresAt: this.now() + (result.data.expires_in ?? 3600) * 1000,
297
+ source: creds.source, // persist back to the SAME store it was read from
214
298
  };
215
- this.writeCredentials(creds);
216
- return creds;
299
+ this.writeCredentials(refreshed);
300
+ return refreshed;
217
301
  }
218
302
  async getValidToken(creds) {
219
303
  if (creds.expiresAt < this.now() + REFRESH_SKEW_MS) {
220
- const refreshed = await this.refreshAccessToken(creds.refreshToken);
304
+ const refreshed = await this.refreshAccessToken(creds);
221
305
  if (!refreshed)
222
306
  return null;
223
307
  return refreshed.accessToken;
@@ -1 +1 @@
1
- {"version":3,"file":"usageService.js","sourceRoot":"","sources":["../../src/core/usageService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usageService.js","sourceRoot":"","sources":["../../src/core/usageService.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { rateLimitTypeLabel, formatUsageWindows } from './renderers/index.js';
1
2
  // Resolve a guild's per-server notifications block to the effective config, applying the
2
3
  // defaults: enabled=true; channelId falls back to channels.statusChannelId when null/
3
4
  // absent; events = {result:true, error:true, toolUse:false}. Kept here so the wiring layer
@@ -18,7 +19,7 @@ export function resolveNotifications(server) {
18
19
  // Build the compact one-line summary for an event, or null when this event kind is
19
20
  // not forwarded (filtered off by config, or a kind we do not summarize). Korean,
20
21
  // one line each, linking back to the SESSION channel it came from.
21
- export function formatNotification(ev, sessionChannelId, events) {
22
+ export function formatNotification(ev, sessionChannelId, events, usage) {
22
23
  switch (ev.kind) {
23
24
  case 'result': {
24
25
  if (!events.result)
@@ -45,9 +46,16 @@ export function formatNotification(ev, sessionChannelId, events) {
45
46
  // schema / defaults. If differentiation is needed later, split the flag.
46
47
  if (!events.error)
47
48
  return null;
49
+ // With a usage snapshot, show ALL windows with their resets (full picture);
50
+ // otherwise fall back to the event's own label + utilization + reset.
51
+ const windows = formatUsageWindows(usage ?? null);
52
+ if (windows)
53
+ return `📊 <#${sessionChannelId}> 사용량 한도 · ${windows}`;
48
54
  let line = `📊 <#${sessionChannelId}> 사용량 한도`;
55
+ if (ev.rateLimitType)
56
+ line += ` · ${rateLimitTypeLabel(ev.rateLimitType)}`;
49
57
  if (typeof ev.utilization === 'number')
50
- line += ` · ${Math.round(ev.utilization)}%`;
58
+ line += ` · 사용량 ${Math.round(ev.utilization)}%`;
51
59
  if (ev.resetAt) {
52
60
  const ms = Date.parse(ev.resetAt);
53
61
  if (!Number.isNaN(ms)) {
@@ -85,7 +93,7 @@ export class SessionNotifier {
85
93
  return bus.on(guildId, channelId, (ev) => this.notify(ev));
86
94
  }
87
95
  notify(ev) {
88
- const line = formatNotification(ev, this.opts.sessionChannelId, this.opts.events);
96
+ const line = formatNotification(ev, this.opts.sessionChannelId, this.opts.events, this.opts.getUsage?.() ?? null);
89
97
  if (line === null)
90
98
  return;
91
99
  void this.opts.statusChannel.send({ content: line }).catch(() => { });
@@ -1 +1 @@
1
- {"version":3,"file":"notifier.js","sourceRoot":"","sources":["../../src/discord/notifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"notifier.js","sourceRoot":"","sources":["../../src/discord/notifier.ts"],"names":[],"mappings":"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"}
@@ -180,7 +180,9 @@ export function createDefaultRendererSet(options) {
180
180
  swallow(channel.send({ content: `⚠️ ${ev.message}` }));
181
181
  },
182
182
  rateLimit(ev) {
183
- swallow(channel.send({ content: formatRateLimitLine(ev) }));
183
+ // Pass the latest usage snapshot so a %-less rate_limit event still shows the
184
+ // utilization for its window (backfilled from the snapshot).
185
+ swallow(channel.send({ content: formatRateLimitLine(ev, options.getUsage?.() ?? null) }));
184
186
  },
185
187
  dispose() {
186
188
  // Cancel the streaming/thinking debounce timers so a detach mid-stream cannot
@@ -200,20 +202,69 @@ export function createDefaultRendererSet(options) {
200
202
  export { PermissionButtonsHandler } from './permissionButtons.js';
201
203
  // Human-readable label for the SDK's rateLimitType codes. Unknown types pass through
202
204
  // verbatim so a future SDK addition still renders something (not silently dropped).
203
- function rateLimitTypeLabel(type) {
205
+ export function rateLimitTypeLabel(type) {
204
206
  switch (type) {
205
207
  case 'five_hour':
206
208
  return '5시간 한도';
207
- case 'weekly':
209
+ case 'seven_day':
208
210
  return '주간 한도';
211
+ case 'seven_day_opus':
212
+ return '주간 한도 (Opus)';
213
+ case 'seven_day_sonnet':
214
+ return '주간 한도 (Sonnet)';
215
+ case 'overage':
216
+ return '추가 사용량';
209
217
  default:
210
- return type;
218
+ return type; // unknown/future type → render verbatim rather than drop it
211
219
  }
212
220
  }
213
- // One-line summary of a rate_limit event: emoji + label + optional utilization %
214
- // and reset time. Kept as a plain function (not on RendererSet) so the notifier
215
- // path can reuse the same phrasing if desired later.
216
- export function formatRateLimitLine(ev) {
221
+ // A UsageResult is a snapshot only when it is not the {available:false} unavailable
222
+ // marker (which is the sole member carrying an `available` field).
223
+ export function isUsageSnapshot(usage) {
224
+ return !!usage && !('available' in usage);
225
+ }
226
+ // Format a window's reset time: HH:mm when it falls today, else M/D HH:mm (ko-KR, 24h).
227
+ // Returns null when absent/unparseable so the caller drops the reset parenthetical.
228
+ function formatResetTime(resetsAt) {
229
+ if (!resetsAt)
230
+ return null;
231
+ const ms = Date.parse(resetsAt);
232
+ if (Number.isNaN(ms))
233
+ return null;
234
+ const d = new Date(ms);
235
+ const now = new Date();
236
+ const hhmm = d.toLocaleTimeString('ko-KR', { hour: '2-digit', minute: '2-digit', hour12: false });
237
+ const sameDay = d.getFullYear() === now.getFullYear() && d.getMonth() === now.getMonth() && d.getDate() === now.getDate();
238
+ return sameDay ? hhmm : `${d.getMonth() + 1}/${d.getDate()} ${hhmm}`;
239
+ }
240
+ // Render every present usage window as `라벨 {util}% (리셋 …)` segments joined by ' · ',
241
+ // or null when there is no snapshot / no window to show. Shared by the rate-limit alert
242
+ // (renderers) and the status-channel notifier so both read identically.
243
+ export function formatUsageWindows(usage) {
244
+ if (!isUsageSnapshot(usage))
245
+ return null;
246
+ const segments = [];
247
+ const add = (limit, label) => {
248
+ if (!limit)
249
+ return;
250
+ const reset = formatResetTime(limit.resetsAt);
251
+ segments.push(`${label} ${Math.round(limit.utilization)}%${reset ? ` (리셋 ${reset})` : ''}`);
252
+ };
253
+ add(usage.fiveHour, '5시간');
254
+ add(usage.sevenDay, '주간');
255
+ add(usage.sevenDayOpus, '주간(Opus)');
256
+ add(usage.sevenDaySonnet, '주간(Sonnet)');
257
+ return segments.length > 0 ? segments.join(' · ') : null;
258
+ }
259
+ // One-line summary of a rate_limit event. When a usage snapshot is available, show ALL
260
+ // windows with their resets (the full picture, independent of the event's own type/util
261
+ // — those are usually empty). Otherwise (API-key / non-macOS / no data yet) fall back to
262
+ // the event's own label + utilization + reset. Kept as a plain function (not on
263
+ // RendererSet) so the notifier path reuses the same phrasing.
264
+ export function formatRateLimitLine(ev, usage) {
265
+ const windows = formatUsageWindows(usage ?? null);
266
+ if (windows)
267
+ return `📊 사용량 한도 알림 · ${windows}`;
217
268
  let line = '📊 사용량 한도 알림';
218
269
  if (ev.rateLimitType)
219
270
  line += ` · ${rateLimitTypeLabel(ev.rateLimitType)}`;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discord/renderers/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/discord/renderers/index.ts"],"names":[],"mappings":"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"}
@@ -156,7 +156,7 @@ export class SessionWiring {
156
156
  // tool_use if enabled) to that status channel as compact summary lines. Skipped
157
157
  // when disabled, no resolvable status channel, or the session channel IS the
158
158
  // status channel (self-echo). Best-effort: a resolve failure never breaks attach.
159
- const unsubscribeNotifier = await this.attachNotifier(guildId, channelId);
159
+ const unsubscribeNotifier = await this.attachNotifier(guildId, channelId, mode);
160
160
  this.channels.set(key, {
161
161
  unsubscribe,
162
162
  renderers: set,
@@ -173,7 +173,7 @@ export class SessionWiring {
173
173
  // resolvable status channel that is NOT this session channel, subscribe a SessionNotifier
174
174
  // to this channel's event stream. Returns the notifier's unsubscribe, or null when no
175
175
  // notifier was wired. Never throws — a resolve/config error just skips notifications.
176
- async attachNotifier(guildId, channelId) {
176
+ async attachNotifier(guildId, channelId, mode) {
177
177
  if (!this.configStore)
178
178
  return null;
179
179
  try {
@@ -191,6 +191,7 @@ export class SessionWiring {
191
191
  statusChannel,
192
192
  sessionChannelId: channelId,
193
193
  events: notifications.events,
194
+ getUsage: () => this.usageSnapshotFor(mode),
194
195
  });
195
196
  return notifier.subscribe(this.eventBus, guildId, channelId);
196
197
  }
@@ -1 +1 @@
1
- {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/discord/wiring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wiring.js","sourceRoot":"","sources":["../../src/discord/wiring.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "discord-agent-bridge",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Self-hosted Discord bot that runs AI coding agents — Claude Code, Codex, and more — per channel. Role-based access, multi-server, extensible.",
5
5
  "type": "module",
6
6
  "bin": {