@songsid/agend 2.3.3-beta.2 → 2.3.3-beta.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.
Files changed (46) hide show
  1. package/dist/backend/claude-code.js +3 -25
  2. package/dist/backend/claude-code.js.map +1 -1
  3. package/dist/backend/claude-transcript-errors.d.ts +18 -0
  4. package/dist/backend/claude-transcript-errors.js +19 -0
  5. package/dist/backend/claude-transcript-errors.js.map +1 -0
  6. package/dist/classic-channel-manager.d.ts +4 -1
  7. package/dist/classic-channel-manager.js +21 -7
  8. package/dist/classic-channel-manager.js.map +1 -1
  9. package/dist/cli.js +2 -2
  10. package/dist/cli.js.map +1 -1
  11. package/dist/config-history.d.ts +50 -0
  12. package/dist/config-history.js +263 -0
  13. package/dist/config-history.js.map +1 -0
  14. package/dist/config.d.ts +3 -0
  15. package/dist/config.js +7 -2
  16. package/dist/config.js.map +1 -1
  17. package/dist/daemon.d.ts +6 -0
  18. package/dist/daemon.js +22 -3
  19. package/dist/daemon.js.map +1 -1
  20. package/dist/fleet-manager.d.ts +8 -1
  21. package/dist/fleet-manager.js +47 -16
  22. package/dist/fleet-manager.js.map +1 -1
  23. package/dist/fleet-process-handlers.d.ts +5 -0
  24. package/dist/fleet-process-handlers.js +21 -0
  25. package/dist/fleet-process-handlers.js.map +1 -1
  26. package/dist/locale.js +20 -0
  27. package/dist/locale.js.map +1 -1
  28. package/dist/needs-you-hub.d.ts +1 -0
  29. package/dist/needs-you-hub.js +2 -2
  30. package/dist/needs-you-hub.js.map +1 -1
  31. package/dist/needs-you.d.ts +8 -2
  32. package/dist/needs-you.js +7 -1
  33. package/dist/needs-you.js.map +1 -1
  34. package/dist/task-board-waker.d.ts +4 -1
  35. package/dist/task-board-waker.js +13 -2
  36. package/dist/task-board-waker.js.map +1 -1
  37. package/dist/transcript-monitor.d.ts +7 -0
  38. package/dist/transcript-monitor.js +32 -4
  39. package/dist/transcript-monitor.js.map +1 -1
  40. package/dist/ui/panel-needs.js +11 -9
  41. package/dist/ui/shared/app-i18n.js +2 -2
  42. package/dist/ui/shared/app-needs.js +5 -1
  43. package/dist/web-api.js +2 -0
  44. package/dist/web-api.js.map +1 -1
  45. package/launcher/fleet-service-owner.cjs +4 -1
  46. package/package.json +1 -1
@@ -105,7 +105,7 @@ register("app", {
105
105
  confirmTitle: "Please confirm", confirmOk: "Continue", cancel: "Cancel",
106
106
  sidePanelLeave: "Leave {0} without saving? Your changes there will be lost.", sidePanelDiscard: "Discard changes",
107
107
  // The server's own wording (src/locale.ts needs.reason.*), so the web says what Discord says.
108
- needs_reason_hang: "Not responding", needs_reason_exited: "Exited", needs_reason_assist: "Waiting at its terminal", needs_reason_question: "Asking you a question", needs_reason_permission: "Permission needed", needs_reason_dangerous_command: "Dangerous command waiting", needs_reason_login: "Sign-in needed", needs_reason_dialog: "Waiting at a dialog", needs_reason_terminal_input: "May be waiting for input", needs_reason_auth_paused: "Paused: sign-in needed", needs_reason_backend_signin: "Backend sign-in needed", needs_reason_crashed: "Crashed", needs_reason_usage_limit: "Usage limit reached · reset time unknown", needs_reason_delivery_uncertain: "Could not confirm delivery", needs_reason_delivery_failed: "Delivery failed", needs_reason_task_review: "Waiting for your confirmation", needs_reason_task_blocked: "Blocked: asks you",
108
+ needs_reason_hang: "Not responding", needs_reason_exited: "Exited", needs_reason_assist: "Waiting at its terminal", needs_reason_question: "Asking you a question", needs_reason_permission: "Permission needed", needs_reason_dangerous_command: "Dangerous command waiting", needs_reason_login: "Sign-in needed", needs_reason_dialog: "Waiting at a dialog", needs_reason_terminal_input: "May be waiting for input", needs_reason_auth_paused: "Paused: sign-in needed", needs_reason_backend_signin: "Backend sign-in needed", needs_reason_config_invalid: "Configuration file needs attention", needs_reason_config_fallback: "Running on stored configuration", config_history_edit: "{0}, line {1}, column {2}: {3}. AgEnD is still running on the previous settings. The next restart would use the stored valid copy from {4}. Correct the YAML error; the file has not been changed by AgEnD.", config_history_no_history: "{0}, line {1}, column {2}: {3}. AgEnD is still running on the previous settings. No stored valid copy is available, so the next restart cannot recover automatically. Correct the YAML error before restarting; the file has not been changed by AgEnD.", config_history_fallback: "{0}, line {1}, column {2}: {3}. AgEnD started using the stored valid copy from {4}. Correct the YAML error and reload the settings. The file on disk has not been changed by AgEnD.", needs_reason_crashed: "Crashed", needs_reason_usage_limit: "Usage limit reached · reset time unknown", needs_reason_delivery_uncertain: "Could not confirm delivery", needs_reason_delivery_failed: "Delivery failed", needs_reason_task_review: "Waiting for your confirmation", needs_reason_task_blocked: "Blocked: asks you",
109
109
  },
110
110
  "zh-TW": {
111
111
  brand: "AgEnD", fleet: "Fleet", fleetOverview: "Fleet 概覽", view: "檢視", settings: "設定", instances: "Instances", newInstance: "新增 instance", newAgent: "新增 Agent",
@@ -145,6 +145,6 @@ register("app", {
145
145
  search: "搜尋", searchTitle: "搜尋聊天、agent 之間的訊息與任務({0})",
146
146
  confirmTitle: "請確認", confirmOk: "繼續", cancel: "取消",
147
147
  sidePanelLeave: "不儲存就離開「{0}」?你在那裡的修改會遺失。", sidePanelDiscard: "捨棄修改",
148
- needs_reason_hang: "沒有回應", needs_reason_exited: "已結束", needs_reason_assist: "在終端機上等待", needs_reason_question: "正在問你問題", needs_reason_permission: "需要權限", needs_reason_dangerous_command: "危險指令待確認", needs_reason_login: "需要登入", needs_reason_dialog: "停在對話框", needs_reason_terminal_input: "可能在等輸入", needs_reason_auth_paused: "已暫停:需要登入", needs_reason_backend_signin: "後端需要登入", needs_reason_crashed: "已崩潰", needs_reason_usage_limit: "用量已達上限 · 恢復時間未知", needs_reason_delivery_uncertain: "無法確認是否送達", needs_reason_delivery_failed: "傳送失敗", needs_reason_task_review: "等你確認", needs_reason_task_blocked: "卡住,在問你",
148
+ needs_reason_hang: "沒有回應", needs_reason_exited: "已結束", needs_reason_assist: "在終端機上等待", needs_reason_question: "正在問你問題", needs_reason_permission: "需要權限", needs_reason_dangerous_command: "危險指令待確認", needs_reason_login: "需要登入", needs_reason_dialog: "停在對話框", needs_reason_terminal_input: "可能在等輸入", needs_reason_auth_paused: "已暫停:需要登入", needs_reason_backend_signin: "後端需要登入", needs_reason_config_invalid: "設定檔需要處理", needs_reason_config_fallback: "正在使用儲存的設定副本", config_history_edit: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 仍使用先前的設定執行。下次重新啟動會改用 {4} 儲存的有效副本。請修正 YAML 錯誤;AgEnD 未更動此檔案。", config_history_no_history: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 仍使用先前的設定執行。沒有可用的有效副本,下次重新啟動將無法自動恢復。請在重新啟動前修正 YAML 錯誤;AgEnD 未更動此檔案。", config_history_fallback: "{0} 第 {1} 行、第 {2} 欄:{3}。AgEnD 已使用 {4} 儲存的有效副本啟動。請修正 YAML 錯誤並重新載入設定。AgEnD 未更動磁碟上的檔案。", needs_reason_crashed: "已崩潰", needs_reason_usage_limit: "用量已達上限 · 恢復時間未知", needs_reason_delivery_uncertain: "無法確認是否送達", needs_reason_delivery_failed: "傳送失敗", needs_reason_task_review: "等你確認", needs_reason_task_blocked: "卡住,在問你",
149
149
  },
150
150
  });
@@ -59,6 +59,10 @@ export async function setNotify(on, env = globalThis) {
59
59
  return state;
60
60
  }
61
61
 
62
+ export const configDetail = (item) => {
63
+ const issue = item.configIssue;
64
+ return issue ? t(`app.config_history_${issue.mode === "fallback" ? "fallback" : issue.time ? "edit" : "no_history"}`, issue.file, issue.line, issue.column, issue.reason, issue.time || "") : item.detail;
65
+ };
62
66
  export const reasonText = (item) => t(`app.needs_reason_${item.reason}`);
63
67
 
64
68
  let stop = null;
@@ -77,7 +81,7 @@ export function startNeedsNotifier({ open, env = globalThis } = {}) {
77
81
  seen.add(item.id);
78
82
  if (!notifyOn(env)) return;
79
83
  try {
80
- const n = new env.Notification(item.instance || reasonText(item), { body: item.detail ? `${reasonText(item)}: ${item.detail}` : reasonText(item), tag: item.id });
84
+ const n = new env.Notification(item.instance || reasonText(item), { body: item.detail ? `${reasonText(item)}: ${configDetail(item)}` : reasonText(item), tag: item.id });
81
85
  n.onclick = () => { try { env.focus && env.focus(); } catch { /* ignore */ } if (open && item.instance) open(item.instance); n.close(); };
82
86
  } catch { /* a browser that refuses at the last moment: the list still shows it */ }
83
87
  };
package/dist/web-api.js CHANGED
@@ -233,6 +233,8 @@ function visibleNeeds(ctx, gateway, items) {
233
233
  const { hidden } = boardHiding(ctx, true);
234
234
  return items.filter((i) => {
235
235
  const item = i;
236
+ if (item.type === "config")
237
+ return false; // private operator configuration diagnostics never cross a public link
236
238
  if (item.type !== "task")
237
239
  return true;
238
240
  const code = item.card?.code;