flaio-cli 1.0.10 → 1.0.12

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.
Files changed (73) hide show
  1. package/dist/agents/agent-detector.d.ts +1 -0
  2. package/dist/agents/agent-detector.d.ts.map +1 -1
  3. package/dist/agents/agent-detector.js +49 -36
  4. package/dist/agents/agent-detector.js.map +1 -1
  5. package/dist/agents/agent-session.d.ts.map +1 -1
  6. package/dist/agents/agent-session.js +2 -0
  7. package/dist/agents/agent-session.js.map +1 -1
  8. package/dist/agents/sideband/sideband-receiver.d.ts +1 -0
  9. package/dist/agents/sideband/sideband-receiver.d.ts.map +1 -1
  10. package/dist/agents/sideband/sideband-receiver.js +22 -19
  11. package/dist/agents/sideband/sideband-receiver.js.map +1 -1
  12. package/dist/app.d.ts.map +1 -1
  13. package/dist/app.js +31 -6
  14. package/dist/app.js.map +1 -1
  15. package/dist/connectors/adapters/discord-adapter.d.ts +1 -1
  16. package/dist/connectors/adapters/discord-adapter.d.ts.map +1 -1
  17. package/dist/connectors/adapters/discord-adapter.js +1 -0
  18. package/dist/connectors/adapters/discord-adapter.js.map +1 -1
  19. package/dist/connectors/adapters/slack-adapter.d.ts +3 -1
  20. package/dist/connectors/adapters/slack-adapter.d.ts.map +1 -1
  21. package/dist/connectors/adapters/slack-adapter.js +21 -0
  22. package/dist/connectors/adapters/slack-adapter.js.map +1 -1
  23. package/dist/connectors/adapters/telegram-adapter.d.ts +1 -1
  24. package/dist/connectors/adapters/telegram-adapter.d.ts.map +1 -1
  25. package/dist/connectors/adapters/telegram-adapter.js +1 -0
  26. package/dist/connectors/adapters/telegram-adapter.js.map +1 -1
  27. package/dist/connectors/connector-interface.d.ts +1 -1
  28. package/dist/connectors/connector-interface.d.ts.map +1 -1
  29. package/dist/connectors/connector-manager.d.ts +1 -0
  30. package/dist/connectors/connector-manager.d.ts.map +1 -1
  31. package/dist/connectors/connector-manager.js +5 -1
  32. package/dist/connectors/connector-manager.js.map +1 -1
  33. package/dist/portal/portal-client.d.ts.map +1 -1
  34. package/dist/portal/portal-client.js +34 -33
  35. package/dist/portal/portal-client.js.map +1 -1
  36. package/dist/portal/portal-server.d.ts.map +1 -1
  37. package/dist/portal/portal-server.js +4 -0
  38. package/dist/portal/portal-server.js.map +1 -1
  39. package/dist/relay/relay-client.d.ts.map +1 -1
  40. package/dist/relay/relay-client.js +20 -8
  41. package/dist/relay/relay-client.js.map +1 -1
  42. package/dist/relay/relay-store.d.ts +3 -1
  43. package/dist/relay/relay-store.d.ts.map +1 -1
  44. package/dist/relay/relay-store.js +3 -1
  45. package/dist/relay/relay-store.js.map +1 -1
  46. package/dist/store/app-store.d.ts +2 -0
  47. package/dist/store/app-store.d.ts.map +1 -1
  48. package/dist/store/app-store.js +13 -3
  49. package/dist/store/app-store.js.map +1 -1
  50. package/dist/store/connector-store.d.ts +1 -0
  51. package/dist/store/connector-store.d.ts.map +1 -1
  52. package/dist/store/connector-store.js +120 -55
  53. package/dist/store/connector-store.js.map +1 -1
  54. package/dist/ui/components/agent-tab.d.ts +2 -1
  55. package/dist/ui/components/agent-tab.d.ts.map +1 -1
  56. package/dist/ui/components/agent-tab.js +9 -2
  57. package/dist/ui/components/agent-tab.js.map +1 -1
  58. package/dist/ui/components/settings-panel.d.ts.map +1 -1
  59. package/dist/ui/components/settings-panel.js +55 -5
  60. package/dist/ui/components/settings-panel.js.map +1 -1
  61. package/dist/ui/components/terminal-view.d.ts.map +1 -1
  62. package/dist/ui/components/terminal-view.js +30 -4
  63. package/dist/ui/components/terminal-view.js.map +1 -1
  64. package/dist/ui/layout/shell.d.ts.map +1 -1
  65. package/dist/ui/layout/shell.js +1 -1
  66. package/dist/ui/layout/shell.js.map +1 -1
  67. package/dist/ui/layout/sidebar.d.ts.map +1 -1
  68. package/dist/ui/layout/sidebar.js +1 -1
  69. package/dist/ui/layout/sidebar.js.map +1 -1
  70. package/dist/ui/layout/status-bar.d.ts.map +1 -1
  71. package/dist/ui/layout/status-bar.js +2 -2
  72. package/dist/ui/layout/status-bar.js.map +1 -1
  73. package/package.json +1 -1
@@ -11,15 +11,48 @@ import { settingsStore } from "./settings-store.js";
11
11
  import { trackCliEvent } from "../analytics/index.js";
12
12
  import { makeDebugLog } from "../connectors/debug.js";
13
13
  const debugLog = makeDebugLog("connector");
14
+ // ---------------------------------------------------------------------------
15
+ // Pre-compiled regex patterns for extractFromLines (compiled once at module load)
16
+ // ---------------------------------------------------------------------------
17
+ const RE_PROMPT_LINE = /^[❯$]\s+\S/;
18
+ const RE_DIVIDER = /^[─━═\-]+$/;
19
+ const RE_BOX_START = /^[╭╰╮╯│┌└┐┘├┤┬┴┼]/;
20
+ const RE_BOX_END = /[╭╰╮╯│┌└┐┘├┤┬┴┼]$/;
21
+ const RE_EMPTY_PROMPT = /^[❯$]\s*$/;
22
+ const RE_HOOK_OUTPUT = /^\s*⏺\s+(Ran|Running|Read|Edit|Write|Bash|Glob|Grep|Task)\b/;
23
+ const RE_HOOK_CONT = /^\s*[⎿]\s/;
24
+ const RE_HOOK_ERROR = /hook error/i;
25
+ const RE_SHORTCUTS = /\?\s+for shortcuts/i;
26
+ const RE_IDE = /\/ide\s+for\s/i;
27
+ const RE_HELP = /\/help/i;
28
+ const RE_HELP_DETAIL = /shortcuts|commands/i;
29
+ const RE_UPDATE = /update available/i;
30
+ const RE_NPM_INSTALL = /npm install -g/i;
31
+ const RE_NPM_UPDATE = /npm update/i;
32
+ const RE_COST = /^\s*\$[\d.]+\s+(cost|total)/i;
33
+ const RE_TOKENS = /tokens?[:\s]+[\d,]+/i;
34
+ const RE_TOKENS_DETAIL = /cost|input|output/i;
35
+ const RE_MODEL = /^\s*claude-/i;
36
+ const RE_PRESS = /^\s*(Press|Esc\s)/i;
37
+ const RE_TIP = /^\s*tip:/i;
38
+ const RE_RUN_UPDATE = /^\s*Run\s.*to update/i;
39
+ const RE_SPINNER = /^\s*[⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏⣾⣽⣻⢿⡿⣟⣯⣷]\s/;
40
+ const RE_ANSI = /\x1B\[[0-9;]*[a-zA-Z]/g;
14
41
  export const connectorStatusStore = createStore(() => ({
15
42
  connectors: [],
16
43
  }));
17
44
  function publishConnectorStatuses() {
18
- const badges = connectorManager.getAll().map((c) => ({
19
- name: c.name,
20
- displayName: c.displayName,
21
- status: c.status,
22
- }));
45
+ const badges = connectorManager.getAll().map((c) => {
46
+ const badge = {
47
+ name: c.name,
48
+ displayName: c.displayName,
49
+ status: c.status,
50
+ };
51
+ if (c.status === "error") {
52
+ badge.error = connectorErrors.get(c.name);
53
+ }
54
+ return badge;
55
+ });
23
56
  connectorStatusStore.setState({ connectors: badges });
24
57
  }
25
58
  // ---------------------------------------------------------------------------
@@ -32,6 +65,8 @@ export const relayClient = new RelayClient();
32
65
  let started = false;
33
66
  let unsubSettings = null;
34
67
  let unsubSessions = null;
68
+ // Connector error messages — populated when adapter.connect() fails
69
+ const connectorErrors = new Map();
35
70
  // Session status tracking for notification transitions
36
71
  const prevStatuses = new Map();
37
72
  // Dedup: avoid posting the same response twice (waiting_input → exited, or hook + status transition)
@@ -39,6 +74,10 @@ const lastPostedResponse = new Map();
39
74
  // Track last post time per session to debounce rapid transitions
40
75
  const lastPostTime = new Map();
41
76
  const DEDUP_WINDOW_MS = 3000;
77
+ /** Normalize response text for dedup comparison — collapse whitespace, trim, truncate */
78
+ function normalizeForDedup(text) {
79
+ return text.replace(/\s+/g, " ").trim().slice(0, 500);
80
+ }
42
81
  // Debounce + mutex state for config reactivity
43
82
  let debounceTimer = null;
44
83
  let syncInProgress = false;
@@ -98,6 +137,7 @@ export async function stopConnectors() {
98
137
  prevStatuses.clear();
99
138
  lastPostedResponse.clear();
100
139
  lastPostTime.clear();
140
+ connectorErrors.clear();
101
141
  lastSlackFields = null;
102
142
  await relayClient.stop();
103
143
  await portalServer.stop();
@@ -108,6 +148,10 @@ export async function stopConnectors() {
108
148
  // ---------------------------------------------------------------------------
109
149
  // Internal wiring
110
150
  // ---------------------------------------------------------------------------
151
+ /** Normalize a path for comparison — resolve trailing slashes and /private prefix on macOS */
152
+ function normalizeCwd(cwd) {
153
+ return cwd.replace(/\/+$/, "").replace(/^\/private\//, "/");
154
+ }
111
155
  /**
112
156
  * Resolve a hook-originated session ID (Claude Code's session_id) to our
113
157
  * internal AgentSession.id by matching on cwd. Falls back to the hook
@@ -116,7 +160,8 @@ export async function stopConnectors() {
116
160
  function resolveInternalSessionId(hookSessionId, cwd) {
117
161
  if (!cwd)
118
162
  return hookSessionId;
119
- const match = appStore.getState().sessions.find((s) => s.cwd === cwd);
163
+ const normalized = normalizeCwd(cwd);
164
+ const match = appStore.getState().sessions.find((s) => normalizeCwd(s.cwd) === normalized);
120
165
  return match ? match.id : hookSessionId;
121
166
  }
122
167
  /**
@@ -127,7 +172,8 @@ function resolveInternalSessionId(hookSessionId, cwd) {
127
172
  function isInternalSession(cwd) {
128
173
  if (!cwd)
129
174
  return false;
130
- return appStore.getState().sessions.some((s) => s.cwd === cwd);
175
+ const normalized = normalizeCwd(cwd);
176
+ return appStore.getState().sessions.some((s) => normalizeCwd(s.cwd) === normalized);
131
177
  }
132
178
  /**
133
179
  * Bridge HookServer events → ConnectorManager
@@ -157,10 +203,11 @@ function wireHookBridge() {
157
203
  appStore.getState().updateSessionStatus(sessionId, "waiting_permission");
158
204
  setPermissionPending(sessionId);
159
205
  (async () => {
206
+ const toolName = String(payload.toolName ?? "");
160
207
  try {
161
208
  const result = await connectorManager.requestPermission({
162
209
  sessionId,
163
- toolName: String(payload.toolName ?? ""),
210
+ toolName,
164
211
  toolInput: payload.toolInput ?? {},
165
212
  cwd,
166
213
  });
@@ -168,12 +215,34 @@ function wireHookBridge() {
168
215
  type: "permission_reply",
169
216
  payload: { allowed: result.allowed, message: result.message },
170
217
  });
218
+ if (!result.allowed) {
219
+ connectorManager
220
+ .postNotification({
221
+ sessionId,
222
+ type: "response",
223
+ message: `⚠️ Permission denied for tool: ${toolName}`,
224
+ cwd,
225
+ })
226
+ .catch((err) => {
227
+ debugLog(`permission denied notification failed for ${sessionId}:`, String(err));
228
+ });
229
+ }
171
230
  }
172
- catch {
231
+ catch (err) {
173
232
  reply({
174
233
  type: "permission_reply",
175
234
  payload: { allowed: false, message: "Connector error" },
176
235
  });
236
+ connectorManager
237
+ .postNotification({
238
+ sessionId,
239
+ type: "response",
240
+ message: `⚠️ Permission request failed for tool: ${toolName} — connector error`,
241
+ cwd,
242
+ })
243
+ .catch((notifErr) => {
244
+ debugLog(`permission error notification failed for ${sessionId}:`, String(notifErr));
245
+ });
177
246
  }
178
247
  finally {
179
248
  clearPermissionPending(sessionId);
@@ -199,15 +268,16 @@ function wireHookBridge() {
199
268
  const lower = message.toLowerCase();
200
269
  if (lower.includes("waiting for") || lower.includes("needs input") || lower.includes("needs your input"))
201
270
  return;
202
- // Dedup: skip if we just posted this exact content via wireSessionNotifications
203
- if (message === lastPostedResponse.get(sessionId)) {
271
+ // Dedup: skip if we just posted this content via wireSessionNotifications
272
+ const normalizedMsg = normalizeForDedup(message);
273
+ if (normalizedMsg === lastPostedResponse.get(sessionId)) {
204
274
  const lastTime = lastPostTime.get(sessionId) ?? 0;
205
275
  if (Date.now() - lastTime < DEDUP_WINDOW_MS) {
206
276
  debugLog(`dedup: skipping hook notification for ${sessionId} (same as recent post)`);
207
277
  return;
208
278
  }
209
279
  }
210
- lastPostedResponse.set(sessionId, message);
280
+ lastPostedResponse.set(sessionId, normalizedMsg);
211
281
  lastPostTime.set(sessionId, Date.now());
212
282
  connectorManager
213
283
  .postNotification({
@@ -220,23 +290,8 @@ function wireHookBridge() {
220
290
  debugLog(`hook notification post failed for ${sessionId}:`, String(err));
221
291
  });
222
292
  });
223
- // stop: session stopped notification (only for managed agents)
224
- hookServer.on("stop", (payload) => {
225
- const cwd = String(payload.cwd ?? "");
226
- if (!isInternalSession(cwd))
227
- return;
228
- const sessionId = resolveInternalSessionId(String(payload.sessionId ?? ""), cwd);
229
- connectorManager
230
- .postNotification({
231
- sessionId,
232
- type: "stopped",
233
- message: `Session exited (code ${payload.exitCode ?? "?"})`,
234
- cwd,
235
- })
236
- .catch((err) => {
237
- debugLog(`stop notification failed for ${sessionId}:`, String(err));
238
- });
239
- });
293
+ // stop: handled by wireSessionNotifications (exited transition) no duplicate here
294
+ hookServer.on("stop", () => { });
240
295
  }
241
296
  /**
242
297
  * Route inbound Slack messages to the correct agent's PTY input.
@@ -290,7 +345,7 @@ function extractFromLines(allLines) {
290
345
  for (let i = allLines.length - 1; i >= 0; i--) {
291
346
  const l = allLines[i];
292
347
  // Match "❯ sometext" or "$ sometext" but not bare prompts
293
- if (/^[❯$]\s+\S/.test(l)) {
348
+ if (RE_PROMPT_LINE.test(l)) {
294
349
  promptIdx = i;
295
350
  break;
296
351
  }
@@ -304,58 +359,58 @@ function extractFromLines(allLines) {
304
359
  if (!l)
305
360
  return false;
306
361
  // Dividers (solid lines of dashes, equals, etc.)
307
- if (/^[─━═\-]+$/.test(l))
362
+ if (RE_DIVIDER.test(l))
308
363
  return false;
309
364
  // Box drawing borders
310
- if (/^[╭╰╮╯│┌└┐┘├┤┬┴┼]/.test(l))
365
+ if (RE_BOX_START.test(l))
311
366
  return false;
312
- if (/[╭╰╮╯│┌└┐┘├┤┬┴┼]$/.test(l.trimEnd()))
367
+ if (RE_BOX_END.test(l.trimEnd()))
313
368
  return false;
314
369
  // Empty prompt line (excludes ">" — see prompt-detection note above)
315
- if (/^[❯$]\s*$/.test(l))
370
+ if (RE_EMPTY_PROMPT.test(l))
316
371
  return false;
317
372
  // Hook output lines
318
- if (/^\s*⏺\s+(Ran|Running|Read|Edit|Write|Bash|Glob|Grep|Task)\b/.test(l))
373
+ if (RE_HOOK_OUTPUT.test(l))
319
374
  return false;
320
- if (/^\s*[⎿]\s/.test(l))
375
+ if (RE_HOOK_CONT.test(l))
321
376
  return false;
322
- if (/hook error/i.test(l))
377
+ if (RE_HOOK_ERROR.test(l))
323
378
  return false;
324
379
  // Claude Code status/chrome lines
325
- if (/\?\s+for shortcuts/i.test(l))
380
+ if (RE_SHORTCUTS.test(l))
326
381
  return false;
327
- if (/\/ide\s+for\s/i.test(l))
382
+ if (RE_IDE.test(l))
328
383
  return false;
329
- if (/\/help/i.test(l) && /shortcuts|commands/i.test(l))
384
+ if (RE_HELP.test(l) && RE_HELP_DETAIL.test(l))
330
385
  return false;
331
386
  // Update/install notices
332
- if (/update available/i.test(l))
387
+ if (RE_UPDATE.test(l))
333
388
  return false;
334
- if (/npm install -g/i.test(l))
389
+ if (RE_NPM_INSTALL.test(l))
335
390
  return false;
336
- if (/npm update/i.test(l))
391
+ if (RE_NPM_UPDATE.test(l))
337
392
  return false;
338
393
  // Cost / token stats bar
339
- if (/^\s*\$[\d.]+\s+(cost|total)/i.test(l))
394
+ if (RE_COST.test(l))
340
395
  return false;
341
- if (/tokens?[:\s]+[\d,]+/i.test(l) && /cost|input|output/i.test(l))
396
+ if (RE_TOKENS.test(l) && RE_TOKENS_DETAIL.test(l))
342
397
  return false;
343
398
  // Model name on its own line
344
- if (/^\s*claude-/i.test(l) && l.trim().length < 80)
399
+ if (RE_MODEL.test(l) && l.trim().length < 80)
345
400
  return false;
346
401
  // "Press Enter" / "Esc to cancel" prompts
347
- if (/^\s*(Press|Esc\s)/i.test(l))
402
+ if (RE_PRESS.test(l))
348
403
  return false;
349
404
  // Compact mode tip, auto-update notice
350
- if (/^\s*tip:/i.test(l))
405
+ if (RE_TIP.test(l))
351
406
  return false;
352
- if (/^\s*Run\s.*to update/i.test(l))
407
+ if (RE_RUN_UPDATE.test(l))
353
408
  return false;
354
409
  // Progress bars / spinners
355
- if (/^\s*[⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏⣾⣽⣻⢿⡿⣟⣯⣷]\s/.test(l))
410
+ if (RE_SPINNER.test(l))
356
411
  return false;
357
412
  // ANSI escape-only lines (after stripping — but these appear as empty)
358
- if (l.replace(/\x1B\[[0-9;]*[a-zA-Z]/g, "").trim() === "")
413
+ if (l.replace(RE_ANSI, "").trim() === "")
359
414
  return false;
360
415
  return true;
361
416
  });
@@ -371,7 +426,14 @@ function wireSessionNotifications() {
371
426
  for (const s of appStore.getState().sessions) {
372
427
  prevStatuses.set(s.id, s.status);
373
428
  }
429
+ // Track last sessions reference to skip processing when sessions haven't changed
430
+ let lastSessionsRef = appStore.getState().sessions;
374
431
  unsubSessions = appStore.subscribe((state) => {
432
+ // Skip processing when sessions array reference hasn't changed —
433
+ // avoids running on every unrelated state update.
434
+ if (state.sessions === lastSessionsRef)
435
+ return;
436
+ lastSessionsRef = state.sessions;
375
437
  const currentIds = new Set();
376
438
  for (const s of state.sessions) {
377
439
  currentIds.add(s.id);
@@ -416,13 +478,14 @@ function wireSessionNotifications() {
416
478
  const response = extractLatestResponse(sessionId);
417
479
  if (response) {
418
480
  // Dedup: skip if same content posted recently (hook or prior transition)
481
+ const normalizedResp = normalizeForDedup(response);
419
482
  const lastContent = lastPostedResponse.get(sessionId);
420
483
  const lastTime = lastPostTime.get(sessionId) ?? 0;
421
- if (response === lastContent && Date.now() - lastTime < DEDUP_WINDOW_MS) {
484
+ if (normalizedResp === lastContent && Date.now() - lastTime < DEDUP_WINDOW_MS) {
422
485
  debugLog(`dedup: skipping status-transition post for ${sessionId}`);
423
486
  }
424
487
  else {
425
- lastPostedResponse.set(sessionId, response);
488
+ lastPostedResponse.set(sessionId, normalizedResp);
426
489
  lastPostTime.set(sessionId, Date.now());
427
490
  connectorManager
428
491
  .postNotification({
@@ -502,9 +565,11 @@ async function syncSlackFromConfig() {
502
565
  connectorManager.register(adapter);
503
566
  try {
504
567
  await adapter.connect();
568
+ connectorErrors.delete(adapter.name);
505
569
  }
506
- catch {
507
- // Error status is set inside the adapter
570
+ catch (err) {
571
+ // Error status is set inside the adapter; store the message for the status bar
572
+ connectorErrors.set(adapter.name, err instanceof Error ? err.message : String(err));
508
573
  }
509
574
  }
510
575
  publishConnectorStatuses();
@@ -1 +1 @@
1
- {"version":3,"file":"connector-store.js","sourceRoot":"","sources":["../../src/store/connector-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector-store.js","sourceRoot":"","sources":["../../src/store/connector-store.ts"],"names":[],"mappings":"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"}
@@ -10,8 +10,9 @@ interface AgentTabProps {
10
10
  isActive: boolean;
11
11
  index: number;
12
12
  width?: number;
13
+ exitCode?: number;
13
14
  }
14
- declare function AgentTabInner({ name, status, isActive, index, width, }: AgentTabProps): React.ReactElement;
15
+ declare function AgentTabInner({ name, status, isActive, index, width, exitCode, }: AgentTabProps): React.ReactElement;
15
16
  export declare const AgentTab: React.MemoExoticComponent<typeof AgentTabInner>;
16
17
  export {};
17
18
  //# sourceMappingURL=agent-tab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/components/agent-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGvE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOpF,CAAC;AAEF,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAaD,iBAAS,aAAa,CAAC,EACrB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,GACN,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CA8BpC;AAED,eAAO,MAAM,QAAQ,iDAA4B,CAAC"}
1
+ {"version":3,"file":"agent-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/components/agent-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAGvE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAOpF,CAAC;AAQF,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAaD,iBAAS,aAAa,CAAC,EACrB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAQ,GACT,EAAE,aAAa,GAAG,KAAK,CAAC,YAAY,CAgCpC;AAED,eAAO,MAAM,QAAQ,iDAA4B,CAAC"}
@@ -10,6 +10,11 @@ export const STATUS_INDICATORS = {
10
10
  waiting_permission: { symbol: "■", color: "#3B82F6" },
11
11
  exited: { symbol: "○", color: "red" },
12
12
  };
13
+ /** Exit-specific indicators based on exit code */
14
+ const EXIT_INDICATORS = {
15
+ clean: { symbol: "✓", color: "green" },
16
+ error: { symbol: "○", color: "red" },
17
+ };
13
18
  function truncate(str, max) {
14
19
  if (str.length <= max)
15
20
  return str;
@@ -20,8 +25,10 @@ function SpinnerSymbol({ color }) {
20
25
  const frame = useSpinner();
21
26
  return _jsx(Text, { color: color, children: frame });
22
27
  }
23
- function AgentTabInner({ name, status, isActive, index, width, }) {
24
- const indicator = STATUS_INDICATORS[status];
28
+ function AgentTabInner({ name, status, isActive, index, width, exitCode, }) {
29
+ const indicator = status === "exited"
30
+ ? (exitCode === 0 ? EXIT_INDICATORS.clean : EXIT_INDICATORS.error)
31
+ : STATUS_INDICATORS[status];
25
32
  // number(2) + space(1) + dot(1) = 4 chars of overhead inside the box
26
33
  // borders add 2 cols, so available inner width = (width ?? 20) - 2
27
34
  const innerWidth = (width ?? 20) - 2;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tab.js","sourceRoot":"","sources":["../../../src/ui/components/agent-tab.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,MAAM,CAAC,MAAM,iBAAiB,GAA2D;IACvF,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE;IACpC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC1C,OAAO,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE;IACxC,aAAa,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;IAChD,kBAAkB,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE;IACrD,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE;CACtC,CAAC;AAUF,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IAClC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AACrC,CAAC;AAED,wGAAwG;AACxG,SAAS,aAAa,CAAC,EAAE,KAAK,EAAqB;IACjD,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAAG,KAAK,GAAQ,CAAC;AAC5C,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,KAAK,EACL,KAAK,GACS;IACd,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE5C,qEAAqE;IACrE,mEAAmE;IACnE,MAAM,UAAU,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE/C,OAAO,CACL,KAAC,GAAG,IACF,WAAW,EAAC,OAAO,EACnB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EACvC,KAAK,EAAE,KAAK,YAEZ,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,aAC9C,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAE,KAAK,GAAG,CAAC,SAAS,EACtC,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YACxD,WAAW,GACP,IACH,EACL,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CACtB,KAAC,aAAa,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,GAAI,CAC1C,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,SAAS,CAAC,KAAK,YAAG,SAAS,CAAC,MAAM,GAAQ,CACxD,IACG,GACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"agent-tab.js","sourceRoot":"","sources":["../../../src/ui/components/agent-tab.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"settings-panel.d.ts","sourceRoot":"","sources":["../../../src/ui/components/settings-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAQ9D,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAyJD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,GACR,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CA6JzC"}
1
+ {"version":3,"file":"settings-panel.d.ts","sourceRoot":"","sources":["../../../src/ui/components/settings-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyE,MAAM,OAAO,CAAC;AAQ9F,UAAU,kBAAkB;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAiMD,wBAAgB,aAAa,CAAC,EAC5B,OAAO,GACR,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CA6KzC"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useSyncExternalStore } from "react";
2
+ import { useCallback, useEffect, useRef, useState, useSyncExternalStore } from "react";
3
3
  import { Box, Text, useInput } from "ink";
4
4
  import { TextInput } from "@inkjs/ui";
5
5
  import { settingsStore } from "../../store/settings-store.js";
@@ -101,12 +101,54 @@ function FieldRow({ field, focused, editing, editValue, onEditChange, onEditSubm
101
101
  : "";
102
102
  return (_jsxs(Box, { children: [_jsx(Text, { color: focused ? "cyan" : undefined, children: focused ? "> " : " " }), _jsx(Box, { width: 24, children: _jsx(Text, { color: focused ? "cyan" : undefined, children: field.label }) }), _jsx(Text, { children: " " }), editing ? (_jsx(TextInput, { defaultValue: editValue, onChange: onEditChange, onSubmit: onEditSubmit })) : (_jsxs(Text, { children: [_jsx(Text, { color: field.type === "boolean" ? (field.getValue() ? "green" : "red") : undefined, children: displayValue(field) }), _jsx(Text, { dimColor: true, children: hint })] }))] }));
103
103
  }
104
+ function useTimedMessage(durationMs = 3000) {
105
+ const [message, setMessage] = useState(null);
106
+ const [kind, setKind] = useState(null);
107
+ const timerRef = useRef(null);
108
+ const show = useCallback((msg, k) => {
109
+ if (timerRef.current)
110
+ clearTimeout(timerRef.current);
111
+ setMessage(msg);
112
+ setKind(k);
113
+ timerRef.current = setTimeout(() => {
114
+ setMessage(null);
115
+ setKind(null);
116
+ }, durationMs);
117
+ }, [durationMs]);
118
+ useEffect(() => {
119
+ return () => { if (timerRef.current)
120
+ clearTimeout(timerRef.current); };
121
+ }, []);
122
+ return [message, kind, show];
123
+ }
124
+ function validateField(field, value) {
125
+ if (field.type === "number") {
126
+ if (isNaN(Number(value)) || value.trim() === "")
127
+ return "Invalid number";
128
+ return null;
129
+ }
130
+ const label = field.label.toLowerCase();
131
+ if (label.includes("bot token") && label.includes("slack")) {
132
+ if (value && !value.startsWith("xoxb-"))
133
+ return "Slack bot token should start with \"xoxb-\"";
134
+ }
135
+ if (label.includes("app token") && label.includes("slack")) {
136
+ if (value && !value.startsWith("xapp-"))
137
+ return "Slack app token should start with \"xapp-\"";
138
+ }
139
+ if (label.includes("relay") && label.includes("url")) {
140
+ if (value && !value.startsWith("ws://") && !value.startsWith("wss://"))
141
+ return "URL must start with ws:// or wss://";
142
+ }
143
+ return null;
144
+ }
104
145
  export function SettingsPanel({ onClose, }) {
105
146
  useSettingsStore((s) => s.config);
106
147
  const [section, setSection] = useState("connectors");
107
148
  const [focusedIndex, setFocusedIndex] = useState(0);
108
149
  const [editingField, setEditingField] = useState(null);
109
150
  const [editValue, setEditValue] = useState("");
151
+ const [feedbackMsg, feedbackKind, showFeedback] = useTimedMessage(3000);
110
152
  const fields = section === "agents" ? [] : section === "connectors" ? getConnectorFields() : section === "relay" ? getRelayFields() : section === "worktree" ? getWorktreeFields() : getUiFields();
111
153
  useInput((input, key) => {
112
154
  if (editingField !== null) {
@@ -129,9 +171,11 @@ export function SettingsPanel({ onClose, }) {
129
171
  if (isLoggedIn()) {
130
172
  logout();
131
173
  settingsStore.getState().updateRelay({ enabled: false });
174
+ showFeedback("Logged out successfully", "success");
132
175
  }
133
176
  else {
134
177
  login();
178
+ showFeedback("Opening browser for login...", "success");
135
179
  }
136
180
  return;
137
181
  }
@@ -162,18 +206,24 @@ export function SettingsPanel({ onClose, }) {
162
206
  const handleEditSubmit = (value) => {
163
207
  const field = fields[editingField];
164
208
  if (field) {
209
+ const error = validateField(field, value);
210
+ if (error) {
211
+ showFeedback(error, "error");
212
+ setEditingField(null);
213
+ setEditValue("");
214
+ return;
215
+ }
165
216
  if (field.type === "number") {
166
- const num = Number(value);
167
- if (!isNaN(num))
168
- field.setValue(num);
217
+ field.setValue(Number(value));
169
218
  }
170
219
  else {
171
220
  field.setValue(value);
172
221
  }
222
+ showFeedback(`${field.label} saved`, "success");
173
223
  }
174
224
  setEditingField(null);
175
225
  setEditValue("");
176
226
  };
177
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, width: 60, children: [_jsx(Text, { bold: true, color: "cyan", children: "Settings" }), _jsxs(Box, { marginY: 1, children: [_jsx(Text, { bold: section === "connectors", underline: section === "connectors", color: section === "connectors" ? "cyan" : undefined, children: "Connectors" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "ui", underline: section === "ui", color: section === "ui" ? "cyan" : undefined, children: "UI" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "agents", underline: section === "agents", color: section === "agents" ? "cyan" : undefined, children: "Agents" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "relay", underline: section === "relay", color: section === "relay" ? "cyan" : undefined, children: "Remote" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "worktree", underline: section === "worktree", color: section === "worktree" ? "cyan" : undefined, children: "Worktree" })] }), _jsx(Box, { flexDirection: "column", children: section === "agents" ? (_jsx(AgentsSettingsContent, { isActive: section === "agents" })) : (fields.map((field, i) => (_jsx(FieldRow, { field: field, focused: i === focusedIndex, editing: i === editingField, editValue: editValue, onEditChange: setEditValue, onEditSubmit: handleEditSubmit }, field.label)))) }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: section === "agents" ? "Tab: section | \u2190\u2192: agent | m: method | h: hooks | Enter: action | Esc: close" : section === "relay" ? "Tab: section | Up/Down: navigate | Enter: edit | l: login/logout | Esc: close" : section === "worktree" ? "Tab: section | Up/Down: navigate | Enter: edit | Esc: close" : "Tab: section | Up/Down: navigate | Enter: edit | Esc: close" }) })] }));
227
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, width: 60, children: [_jsx(Text, { bold: true, color: "cyan", children: "Settings" }), _jsxs(Box, { marginY: 1, children: [_jsx(Text, { bold: section === "connectors", underline: section === "connectors", color: section === "connectors" ? "cyan" : undefined, children: "Connectors" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "ui", underline: section === "ui", color: section === "ui" ? "cyan" : undefined, children: "UI" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "agents", underline: section === "agents", color: section === "agents" ? "cyan" : undefined, children: "Agents" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "relay", underline: section === "relay", color: section === "relay" ? "cyan" : undefined, children: "Remote" }), _jsx(Text, { children: " | " }), _jsx(Text, { bold: section === "worktree", underline: section === "worktree", color: section === "worktree" ? "cyan" : undefined, children: "Worktree" })] }), _jsx(Box, { flexDirection: "column", children: section === "agents" ? (_jsx(AgentsSettingsContent, { isActive: section === "agents" })) : (fields.map((field, i) => (_jsx(FieldRow, { field: field, focused: i === focusedIndex, editing: i === editingField, editValue: editValue, onEditChange: setEditValue, onEditSubmit: handleEditSubmit }, field.label)))) }), feedbackMsg && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: feedbackKind === "error" ? "red" : "green", children: feedbackMsg }) })), _jsx(Box, { marginTop: feedbackMsg ? 0 : 1, children: _jsx(Text, { dimColor: true, children: section === "agents" ? "Tab: section | \u2190\u2192: agent | m: method | h: hooks | Enter: action | Esc: close" : section === "relay" ? "Tab: section | Up/Down: navigate | Enter: edit | l: login/logout | Esc: close" : section === "worktree" ? "Tab: section | Up/Down: navigate | Enter: edit | Esc: close" : "Tab: section | Up/Down: navigate | Enter: edit | Esc: close" }) })] }));
178
228
  }
179
229
  //# sourceMappingURL=settings-panel.js.map