@songsid/agend 2.3.3-beta.1 → 2.3.3-beta.3

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 (84) hide show
  1. package/dist/authority/authority-state.js +1 -1
  2. package/dist/authority/authority-state.js.map +1 -1
  3. package/dist/authority/web-authority.d.ts +9 -4
  4. package/dist/authority/web-authority.js +10 -5
  5. package/dist/authority/web-authority.js.map +1 -1
  6. package/dist/backend/claude-code.js +3 -25
  7. package/dist/backend/claude-code.js.map +1 -1
  8. package/dist/backend/claude-transcript-errors.d.ts +18 -0
  9. package/dist/backend/claude-transcript-errors.js +19 -0
  10. package/dist/backend/claude-transcript-errors.js.map +1 -0
  11. package/dist/backend/codex-session-lookup.d.ts +16 -3
  12. package/dist/backend/codex-session-lookup.js +45 -11
  13. package/dist/backend/codex-session-lookup.js.map +1 -1
  14. package/dist/classic-channel-manager.d.ts +4 -1
  15. package/dist/classic-channel-manager.js +21 -7
  16. package/dist/classic-channel-manager.js.map +1 -1
  17. package/dist/cli.js +18 -3
  18. package/dist/cli.js.map +1 -1
  19. package/dist/config-history.d.ts +50 -0
  20. package/dist/config-history.js +263 -0
  21. package/dist/config-history.js.map +1 -0
  22. package/dist/config-validator.js +1 -4
  23. package/dist/config-validator.js.map +1 -1
  24. package/dist/config.d.ts +3 -0
  25. package/dist/config.js +11 -4
  26. package/dist/config.js.map +1 -1
  27. package/dist/daemon.d.ts +37 -0
  28. package/dist/daemon.js +156 -4
  29. package/dist/daemon.js.map +1 -1
  30. package/dist/daily-summary.d.ts +8 -1
  31. package/dist/daily-summary.js +8 -5
  32. package/dist/daily-summary.js.map +1 -1
  33. package/dist/delivery-outbox.d.ts +4 -0
  34. package/dist/delivery-outbox.js +12 -2
  35. package/dist/delivery-outbox.js.map +1 -1
  36. package/dist/fleet-level-config.js +1 -1
  37. package/dist/fleet-level-config.js.map +1 -1
  38. package/dist/fleet-manager.d.ts +8 -10
  39. package/dist/fleet-manager.js +57 -83
  40. package/dist/fleet-manager.js.map +1 -1
  41. package/dist/fleet-process-handlers.d.ts +5 -0
  42. package/dist/fleet-process-handlers.js +21 -0
  43. package/dist/fleet-process-handlers.js.map +1 -1
  44. package/dist/fleet-service-owner.d.ts +11 -0
  45. package/dist/fleet-service-owner.js +3 -0
  46. package/dist/fleet-service-owner.js.map +1 -0
  47. package/dist/general-knowledge/skills/web-dashboard/SKILL.canvas-worker-off.md +3 -4
  48. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +3 -4
  49. package/dist/instance-lifecycle.js +2 -0
  50. package/dist/instance-lifecycle.js.map +1 -1
  51. package/dist/locale.js +24 -36
  52. package/dist/locale.js.map +1 -1
  53. package/dist/needs-you-hub.d.ts +1 -0
  54. package/dist/needs-you-hub.js +6 -3
  55. package/dist/needs-you-hub.js.map +1 -1
  56. package/dist/needs-you-live.d.ts +3 -1
  57. package/dist/needs-you-live.js +24 -2
  58. package/dist/needs-you-live.js.map +1 -1
  59. package/dist/needs-you.d.ts +13 -2
  60. package/dist/needs-you.js +11 -1
  61. package/dist/needs-you.js.map +1 -1
  62. package/dist/scheduler/task-board.d.ts +0 -13
  63. package/dist/scheduler/task-board.js +0 -14
  64. package/dist/scheduler/task-board.js.map +1 -1
  65. package/dist/setup-wizard.d.ts +3 -0
  66. package/dist/setup-wizard.js +4 -2
  67. package/dist/setup-wizard.js.map +1 -1
  68. package/dist/transcript-monitor.d.ts +7 -0
  69. package/dist/transcript-monitor.js +48 -3
  70. package/dist/transcript-monitor.js.map +1 -1
  71. package/dist/types.d.ts +6 -5
  72. package/dist/ui/panel-needs.js +11 -9
  73. package/dist/ui/settings-strings.js +2 -2
  74. package/dist/ui/settings-web-authority.js +4 -3
  75. package/dist/ui/shared/app-i18n.js +2 -2
  76. package/dist/ui/shared/app-needs.js +5 -1
  77. package/dist/web-api.js +2 -0
  78. package/dist/web-api.js.map +1 -1
  79. package/launcher/agend-install.cjs +7 -1
  80. package/launcher/fleet-service-owner.cjs +138 -0
  81. package/package.json +1 -1
  82. package/dist/task-board-summary.d.ts +0 -101
  83. package/dist/task-board-summary.js +0 -177
  84. package/dist/task-board-summary.js.map +0 -1
@@ -16,4 +16,9 @@ interface FleetProcessOptions {
16
16
  export declare function installFleetProcessHandlers(options: FleetProcessOptions): {
17
17
  readonly stopping: boolean;
18
18
  };
19
+ /** A deliberate config-recovery refusal is a failed start, not an arbitrary runtime rejection to keep alive. */
20
+ export declare function startFleetOrExit(manager: {
21
+ startAll(path: string): Promise<void>;
22
+ stopAll(): Promise<void>;
23
+ }, path: string, runtime: Pick<NodeJS.Process, "exit">, output: Pick<Console, "error">): Promise<void>;
19
24
  export {};
@@ -75,4 +75,25 @@ export function installFleetProcessHandlers(options) {
75
75
  });
76
76
  return { get stopping() { return stopping; } };
77
77
  }
78
+ /** A deliberate config-recovery refusal is a failed start, not an arbitrary runtime rejection to keep alive. */
79
+ export async function startFleetOrExit(manager, path, runtime, output) {
80
+ try {
81
+ await manager.startAll(path);
82
+ }
83
+ catch (error) {
84
+ const { ConfigStartupError } = await import("./config-history.js");
85
+ if (!(error instanceof ConfigStartupError))
86
+ throw error;
87
+ output.error(error.message);
88
+ let timer;
89
+ try {
90
+ await Promise.race([manager.stopAll().catch(() => { }), new Promise(resolve => { timer = setTimeout(resolve, 10_000); })]);
91
+ }
92
+ finally {
93
+ if (timer)
94
+ clearTimeout(timer);
95
+ }
96
+ runtime.exit(1);
97
+ }
98
+ }
78
99
  //# sourceMappingURL=fleet-process-handlers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fleet-process-handlers.js","sourceRoot":"","sources":["../src/fleet-process-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fleet-process-handlers.js","sourceRoot":"","sources":["../src/fleet-process-handlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare const fleetServiceOwner: {
2
+ updateRefusal(home: string, options?: {
3
+ locale?: string;
4
+ }): string | null;
5
+ restartRefusal(home: string, service: {
6
+ unit: string;
7
+ user: boolean;
8
+ }, options?: {
9
+ locale?: string;
10
+ }): string | null;
11
+ };
@@ -0,0 +1,3 @@
1
+ import { createRequire } from "node:module";
2
+ export const fleetServiceOwner = createRequire(import.meta.url)("../launcher/fleet-service-owner.cjs");
3
+ //# sourceMappingURL=fleet-service-owner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fleet-service-owner.js","sourceRoot":"","sources":["../src/fleet-service-owner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,MAAM,CAAC,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,qCAAqC,CAGpG,CAAC"}
@@ -107,8 +107,8 @@ just **✓ Verified**, with the until-when in its tooltip, its accessible name a
107
107
  browser's messages then carry the account's authority in their delivery receipt for `max_session_hours` (default 48).
108
108
  Not me signs that browser out, also after Confirm, from the same card. At most one card waits per browser, and 3 an hour
109
109
  per account. Never for a guest. Over the admin's own named link (#2453) only with **Also over my named link**
110
- (`named_link`, off by default); over the temporary public link `/web` opens only with **Also over the temporary public
111
- link** (`quick_link`, off by default, §0.3). That authority ends with the link, and the card says "over your named link"
110
+ (`named_link`, off by default); over the temporary public link `/web` opens while **Also over the temporary public
111
+ link** is on (`quick_link`, on by default since #2819, §0.3; `quick_link: false` turns it off). That authority ends with the link, and the card says "over your named link"
112
112
  or "over the temporary public link". When a browser can't be authorized, the line says why (with a link to Settings when the switch, "Only
113
113
  this computer" or the named-link option is the reason). Settings → Access & security → **Web authority** (`web.verified_authority`, on
114
114
  by default) has the switch, **Only this computer can authorize** (`loopback_only`), **Also over my named link** (shown
@@ -194,8 +194,7 @@ A prompt shows its own answer buttons (first answer wins); a delivery has **Ackn
194
194
  "Paused: sign-in needed" has **Sign in** when the dashboard can run that login (#2233); every item has **Open chat**. **Notify me on this device** (Turn on / Turn off) gives desktop notifications while the
195
195
  tab is hidden — per browser, not on phones or plain-HTTP addresses. Config: `needs_you.live_message` (default on),
196
196
  `needs_you.dm` (default off), `needs_you.task_board` (default off: the task board's cards waiting
197
- for you — set `true` to list them). The task board's daily summary is `defaults.task_board.summary_at` (off unless set,
198
- e.g. `"09:00"`).
197
+ for you — set `true` to list them).
199
198
 
200
199
  ## Search
201
200
 
@@ -115,8 +115,8 @@ just **✓ Verified**, with the until-when in its tooltip, its accessible name a
115
115
  browser's messages then carry the account's authority in their delivery receipt for `max_session_hours` (default 48).
116
116
  Not me signs that browser out, also after Confirm, from the same card. At most one card waits per browser, and 3 an hour
117
117
  per account. Never for a guest. Over the admin's own named link (#2453) only with **Also over my named link**
118
- (`named_link`, off by default); over the temporary public link `/web` opens only with **Also over the temporary public
119
- link** (`quick_link`, off by default, §0.3). That authority ends with the link, and the card says "over your named link"
118
+ (`named_link`, off by default); over the temporary public link `/web` opens while **Also over the temporary public
119
+ link** is on (`quick_link`, on by default since #2819, §0.3; `quick_link: false` turns it off). That authority ends with the link, and the card says "over your named link"
120
120
  or "over the temporary public link". When a browser can't be authorized, the line says why (with a link to Settings when the switch, "Only
121
121
  this computer" or the named-link option is the reason). Settings → Access & security → **Web authority** (`web.verified_authority`, on
122
122
  by default) has the switch, **Only this computer can authorize** (`loopback_only`), **Also over my named link** (shown
@@ -203,8 +203,7 @@ A prompt shows its own answer buttons (first answer wins); a delivery has **Ackn
203
203
  "Paused: sign-in needed" has **Sign in** when the dashboard can run that login (#2233); every item has **Open chat**. **Notify me on this device** (Turn on / Turn off) gives desktop notifications while the
204
204
  tab is hidden — per browser, not on phones or plain-HTTP addresses. Config: `needs_you.live_message` (default on),
205
205
  `needs_you.dm` (default off), `needs_you.task_board` (default off: the task board's cards waiting
206
- for you — set `true` to list them). The task board's daily summary is `defaults.task_board.summary_at` (off unless set,
207
- e.g. `"09:00"`).
206
+ for you — set `true` to list them).
208
207
 
209
208
  ## Search
210
209
 
@@ -947,6 +947,8 @@ export class InstanceLifecycle {
947
947
  this.ctx.notifyFleetError?.(t("fleet.dialog_answer_ignored", instancePlace(name), data.description, String(data.attempts)));
948
948
  }, this.ctx.logger, `daemon.dialog_answer_ignored[${name}]`));
949
949
  daemon.on("instance_interaction", () => this.ctx.onAttentionChanged?.(name));
950
+ // #2822: a usage-limit hold began or ended — Needs you lists it while it lasts.
951
+ daemon.on("usage_hold", () => this.ctx.onAttentionChanged?.(name));
950
952
  daemon.on("interactive_prompt", safeHandler(async (data) => {
951
953
  this.ctx.eventLog?.insert(name, "interactive_prompt", { kind: data.kind });
952
954
  this.ctx.logger.warn({ name, kind: data.kind, prompt: data.prompt }, "Instance is waiting for interactive terminal input");