@songsid/agend 2.3.0-beta.23 โ†’ 2.3.0-beta.24

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 (77) hide show
  1. package/dist/auth-api.js +46 -19
  2. package/dist/auth-api.js.map +1 -1
  3. package/dist/backend/grok.js +3 -1
  4. package/dist/backend/grok.js.map +1 -1
  5. package/dist/bug-report-cli.js +10 -9
  6. package/dist/bug-report-cli.js.map +1 -1
  7. package/dist/bug-report.js +11 -10
  8. package/dist/bug-report.js.map +1 -1
  9. package/dist/cli.js +36 -37
  10. package/dist/cli.js.map +1 -1
  11. package/dist/export-import.js +4 -3
  12. package/dist/export-import.js.map +1 -1
  13. package/dist/fleet-manager.js +23 -15
  14. package/dist/fleet-manager.js.map +1 -1
  15. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +48 -10
  16. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +1 -1
  17. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +1 -1
  18. package/dist/locale.js +178 -0
  19. package/dist/locale.js.map +1 -1
  20. package/dist/quickstart.js +3 -3
  21. package/dist/quickstart.js.map +1 -1
  22. package/dist/scheduler/task-board.js +2 -1
  23. package/dist/scheduler/task-board.js.map +1 -1
  24. package/dist/service-installer.js +9 -8
  25. package/dist/service-installer.js.map +1 -1
  26. package/dist/service-plan.d.ts +8 -0
  27. package/dist/service-plan.js +13 -0
  28. package/dist/service-plan.js.map +1 -1
  29. package/dist/settings-change.js +9 -8
  30. package/dist/settings-change.js.map +1 -1
  31. package/dist/settings-confirmation.d.ts +2 -0
  32. package/dist/settings-confirmation.js +14 -8
  33. package/dist/settings-confirmation.js.map +1 -1
  34. package/dist/settings-control.js +2 -1
  35. package/dist/settings-control.js.map +1 -1
  36. package/dist/setup-auth.d.ts +1 -0
  37. package/dist/setup-auth.js +2 -1
  38. package/dist/setup-auth.js.map +1 -1
  39. package/dist/setup-host.d.ts +1 -0
  40. package/dist/setup-host.js +6 -2
  41. package/dist/setup-host.js.map +1 -1
  42. package/dist/tmux-exec-helper.d.ts +8 -2
  43. package/dist/tmux-exec-helper.js +21 -8
  44. package/dist/tmux-exec-helper.js.map +1 -1
  45. package/dist/ui/fleet-task-common.js +2 -2
  46. package/dist/ui/settings-appearance.js +11 -2
  47. package/dist/ui/settings-dialogs.js +2 -2
  48. package/dist/ui/settings-mods.js +2 -0
  49. package/dist/ui/settings-strings.js +30 -0
  50. package/dist/ui/shared/app.css +13 -23
  51. package/dist/ui/shared/effect-stock-trust.js +4 -4
  52. package/dist/ui/shared/panel-view.js +14 -29
  53. package/dist/ui/shared/usage-dialog.js +29 -8
  54. package/dist/ui/shared/view-strings.js +2 -4
  55. package/dist/ui/web-terminal/terminal.html +10 -10
  56. package/dist/ui/web-terminal/terminal.js +58 -12
  57. package/dist/update-preflight.js +1 -1
  58. package/dist/web-api.js +11 -7
  59. package/dist/web-api.js.map +1 -1
  60. package/dist/web-app-icon-worker.js +2 -1
  61. package/dist/web-app-icon-worker.js.map +1 -1
  62. package/dist/web-app-icon.d.ts +10 -8
  63. package/dist/web-app-icon.js +14 -13
  64. package/dist/web-app-icon.js.map +1 -1
  65. package/dist/web-auth.d.ts +8 -4
  66. package/dist/web-auth.js +28 -17
  67. package/dist/web-auth.js.map +1 -1
  68. package/dist/web-cookie-names.d.ts +5 -0
  69. package/dist/web-cookie-names.js +12 -0
  70. package/dist/web-cookie-names.js.map +1 -0
  71. package/dist/web-png.d.ts +4 -0
  72. package/dist/web-png.js +10 -2
  73. package/dist/web-png.js.map +1 -1
  74. package/dist/web-returning-device.d.ts +4 -2
  75. package/dist/web-returning-device.js +12 -5
  76. package/dist/web-returning-device.js.map +1 -1
  77. package/package.json +11 -11
@@ -1,4 +1,5 @@
1
1
  import { execFileSync } from "node:child_process";
2
+ import { t } from "./locale.js";
2
3
  import { existsSync, statSync, mkdirSync, copyFileSync, readFileSync, } from "node:fs";
3
4
  import { join, basename, resolve, sep as pathSep } from "node:path";
4
5
  import { homedir } from "node:os";
@@ -143,14 +144,14 @@ export async function importConfig(dataDir, filePath) {
143
144
  }
144
145
  }
145
146
  if (missing.length > 0) {
146
- console.warn(`\nโš ๏ธ The following paths in fleet.yaml do not exist on this device:`);
147
+ console.warn(`\n${t("import.missing_paths")}`);
147
148
  for (const p of missing) {
148
149
  console.warn(` โ€ข ${p}`);
149
150
  }
150
- console.warn(`\nEdit ${fleetPath} to fix these before running 'agend start'.`);
151
+ console.warn(`\n${t("import.fix_paths", fleetPath)}`);
151
152
  }
152
153
  else {
153
- console.log("\nAll paths in fleet.yaml verified.");
154
+ console.log(`\n${t("import.paths_ok")}`);
154
155
  }
155
156
  }
156
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"export-import.js","sourceRoot":"","sources":["../src/export-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export-import.js","sourceRoot":"","sources":["../src/export-import.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { PUBLIC_TUNNEL_TOKEN_ENV, PUBLIC_TUNNEL_TOKEN_HINT, normalizePublicTunnelToken } from "./public-tunnel-config.js";
2
2
  import { humanOwnerObjectId, webHumanOrigin } from "./human-delivery-receipts.js";
3
3
  import { SettingsBaselines } from "./settings-baseline.js";
4
- import { SettingsConfirmationStore } from "./settings-confirmation.js";
4
+ import { SettingsConfirmationStore, settingsSourceLabel } from "./settings-confirmation.js";
5
5
  import { SettingsHttpConfirmation } from "./settings-http-confirmation.js";
6
6
  import { SettingsControlServer } from "./settings-control.js";
7
7
  import { SettingsExecution, settingsRevision, noteSettingsWrite, settingsFileResource, assertSettingsLease, trySettingsLease, waitSettingsLease, settingsUndo, undoSettingsPaths } from "./settings-transaction.js";
@@ -236,7 +236,7 @@ import { agyLegacyAgentsFile, danglingSymlink, migrateAgyAgentsFile } from "./ba
236
236
  import { claudeConfigDirFor, claudeProjectKey } from "./backend/claude-code.js";
237
237
  import { sharedRolloutIndex } from "./rollout-index.js";
238
238
  import { mayUseTool, resolveToolSet, scheduleOpRefusal, toolForIpcType, toolRefusedMessage, } from "./tool-permissions.js";
239
- import { authorizeSession, decideWebGate, loadOrCreateWebToken, readWebToken } from "./web-auth.js";
239
+ import { authorizeSession, decideWebGate, loadOrCreateWebToken, readWebToken, sessionCookieUpgrade } from "./web-auth.js";
240
240
  import { bypassesWebGate, handleAuthRequest, serveSigninPage } from "./auth-api.js";
241
241
  import { isWebPageNavigation } from "./web-shell-routes.js";
242
242
  import { guestSessionPolicy, localSessionPolicy, tokenEpoch, WebSessionStore } from "./web-session.js";
@@ -1383,7 +1383,7 @@ export class FleetManager {
1383
1383
  return null;
1384
1384
  const name = this.webPerson({ adapterId: actor.adapter_id, userId: actor.user_id }).name;
1385
1385
  return {
1386
- label: `${name} (web-verified)`,
1386
+ label: t("settings_confirm.web_verified_label", name),
1387
1387
  // admin() asks chat.current() too; a General a card could go to must still be there (else the host CLI's).
1388
1388
  current: () => !!verified() && chat.admin(actor.user_id) && this.settingsNoticeGenerals(affected, chat.platform).length > 0,
1389
1389
  done: view => this.settingsWebConfirmedNotice(view, affected, name, chat.platform),
@@ -1410,7 +1410,8 @@ export class FleetManager {
1410
1410
  */
1411
1411
  async settingsWebConfirmedNotice(view, affected, who, platform) {
1412
1412
  const outcome = view.outcome ? view.outcome.message : view.state;
1413
- const text = `โœ… Settings change confirmed from the web by ${who} (web-verified)\nSource: ${view.source}\nRequester: ${view.requested_by}\n${view.summary.join("\n")}\nOutcome: ${outcome}`;
1413
+ const text = [t("settings_confirm.web_confirmed", who), t("settings_confirm.source", settingsSourceLabel(view.source)),
1414
+ t("settings_confirm.requester", view.requested_by), ...view.summary, t("settings_confirm.outcome", outcome)].join("\n");
1414
1415
  for (const { adapterId, adapter, chatId, topic } of this.settingsNoticeGenerals(affected, platform)) {
1415
1416
  try {
1416
1417
  await adapter.sendText(chatId, text, { threadId: topic, allowedMentions: { parse: [] } });
@@ -1492,9 +1493,10 @@ export class FleetManager {
1492
1493
  try {
1493
1494
  const posted = this.postNonceButtonPromptOrThrow({ prefix: "settings-confirm:", alertType: "clear_confirm",
1494
1495
  instanceName: name, adapterId, adapter, chatId, threadId: topic,
1495
- message: `๐Ÿ”’ Settings change awaiting fleet-admin confirmation\nSource: ${view.source}\nRequester: ${view.requested_by}\n${view.summary.join("\n")}`,
1496
- choices: [{ action: "confirm", label: "Confirm" }, { action: "reject", label: "Reject" }],
1497
- expiredText: "Settings confirmation is no longer pending.", timeoutMs: view.remaining_ms,
1496
+ message: [t("settings_confirm.prompt_title"), t("settings_confirm.source", settingsSourceLabel(view.source)),
1497
+ t("settings_confirm.requester", view.requested_by), ...view.summary].join("\n"),
1498
+ choices: [{ action: "confirm", label: t("settings_confirm.confirm_button") }, { action: "reject", label: t("settings_confirm.reject_button") }],
1499
+ expiredText: t("settings_confirm.no_longer_pending"), timeoutMs: view.remaining_ms,
1498
1500
  extra: { pendingChangeId: view.id, confirmationCurrent: current, confirmationAdmin: userId => current() && authority.admin(userId) },
1499
1501
  });
1500
1502
  void posted.then(nonce => {
@@ -1505,7 +1507,7 @@ export class FleetManager {
1505
1507
  return;
1506
1508
  this.pendingNonceButtons.delete(nonce);
1507
1509
  clearTimeout(entry.timer);
1508
- void this.retireNonceButtons(entry, entry.messageId ?? "", "Settings confirmation delivery expired.");
1510
+ void this.retireNonceButtons(entry, entry.messageId ?? "", t("settings_confirm.delivery_expired"));
1509
1511
  }, () => { });
1510
1512
  const nonce = await withinBudget(posted, postingDeadline);
1511
1513
  attached = true;
@@ -1515,7 +1517,7 @@ export class FleetManager {
1515
1517
  return;
1516
1518
  this.pendingNonceButtons.delete(nonce);
1517
1519
  clearTimeout(entry.timer);
1518
- void this.retireNonceButtons(entry, entry.messageId ?? "", "Settings confirmation is no longer pending.");
1520
+ void this.retireNonceButtons(entry, entry.messageId ?? "", t("settings_confirm.no_longer_pending"));
1519
1521
  };
1520
1522
  if (!current()) {
1521
1523
  retire();
@@ -1541,14 +1543,14 @@ export class FleetManager {
1541
1543
  const { entry, action } = result;
1542
1544
  try {
1543
1545
  const view = await this.settingsGate().store.decide(entry.pendingChangeId, action, {
1544
- label: `fleet admin ${data.userId}`,
1546
+ label: t("settings_confirm.admin_label", data.userId ?? ""),
1545
1547
  current: () => entry.confirmationCurrent?.() === true && this.getAdapterForInstance(entry.instanceName) === entry.adapter
1546
1548
  && !!data.userId && entry.confirmationAdmin?.(data.userId) === true,
1547
1549
  });
1548
- await this.retireNonceButtons(entry, entry.messageId ?? data.messageId, view.outcome?.message ?? "Settings change is applying.");
1550
+ await this.retireNonceButtons(entry, entry.messageId ?? data.messageId, view.outcome?.message ?? t("settings_confirm.applying"));
1549
1551
  }
1550
1552
  catch {
1551
- await this.retireNonceButtons(entry, entry.messageId ?? data.messageId, "Settings confirmation rejected or expired.");
1553
+ await this.retireNonceButtons(entry, entry.messageId ?? data.messageId, t("settings_confirm.rejected_or_expired"));
1552
1554
  }
1553
1555
  return true;
1554
1556
  }
@@ -19446,14 +19448,14 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
19446
19448
  */
19447
19449
  stopAll() {
19448
19450
  this.stopAllInFlight ??= this.doStopAll().finally(() => {
19449
- this.stopAllInFlight = null;
19450
19451
  // #1956: after the stop's own tmux work; anything later goes direct. A later startAll starts it again.
19451
19452
  if (this.tmuxExecHelperTimer) {
19452
19453
  clearInterval(this.tmuxExecHelperTimer);
19453
19454
  this.tmuxExecHelperTimer = null;
19454
19455
  }
19455
- tmuxExecHelper.stop();
19456
- });
19456
+ // #2364: and the stop waits (bounded) for the helper to leave on its own, before the caller exits the process.
19457
+ return tmuxExecHelper.stop();
19458
+ }).finally(() => { this.stopAllInFlight = null; });
19457
19459
  return this.stopAllInFlight;
19458
19460
  }
19459
19461
  tmuxExecHelperTimer = null;
@@ -21925,6 +21927,12 @@ Plus the operational skills (fleet-health, instance-lifecycle, scheduling, sessi
21925
21927
  // #1920 ยง5.1: guests chat unless the host made them read-only (web.guests.chat: false).
21926
21928
  chat: () => this.fleetConfig?.web?.guests?.chat !== false });
21927
21929
  }
21930
+ if (decision.via === "session" && this.webToken) {
21931
+ const upgrade = sessionCookieUpgrade(req, this.webToken, decision.session);
21932
+ // No cookie header is set before this gate; auth routes own their headers separately.
21933
+ if (upgrade)
21934
+ res.setHeader("Set-Cookie", upgrade);
21935
+ }
21928
21936
  }
21929
21937
  if (req.method === "GET" && req.url === "/health") {
21930
21938
  const health = this.getFleetHealth();