@songsid/agend 2.1.12-beta.2 → 2.1.12-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.
- package/README.md +54 -8
- package/README.zh-TW.md +104 -11
- package/dist/agent-endpoint.d.ts +2 -0
- package/dist/agent-endpoint.js +38 -29
- package/dist/agent-endpoint.js.map +1 -1
- package/dist/backend/claude-code.d.ts +20 -0
- package/dist/backend/claude-code.js +84 -25
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/codex.d.ts +20 -0
- package/dist/backend/codex.js +55 -5
- package/dist/backend/codex.js.map +1 -1
- package/dist/backend/factory.js +5 -5
- package/dist/backend/factory.js.map +1 -1
- package/dist/backend/index.d.ts +0 -1
- package/dist/backend/index.js +0 -1
- package/dist/backend/index.js.map +1 -1
- package/dist/backend/kiro.d.ts +10 -1
- package/dist/backend/kiro.js +13 -0
- package/dist/backend/kiro.js.map +1 -1
- package/dist/backend/mock.d.ts +1 -1
- package/dist/backend/mock.js +1 -1
- package/dist/backend/muse.d.ts +20 -0
- package/dist/backend/muse.js +68 -11
- package/dist/backend/muse.js.map +1 -1
- package/dist/backend/removed.d.ts +12 -0
- package/dist/backend/removed.js +18 -0
- package/dist/backend/removed.js.map +1 -0
- package/dist/backend/session-signals.js +5 -10
- package/dist/backend/session-signals.js.map +1 -1
- package/dist/backend/types.d.ts +15 -1
- package/dist/backend/types.js +0 -1
- package/dist/backend/types.js.map +1 -1
- package/dist/channel/adapters/discord.js +9 -0
- package/dist/channel/adapters/discord.js.map +1 -1
- package/dist/channel/adapters/telegram.d.ts +14 -8
- package/dist/channel/adapters/telegram.js +80 -26
- package/dist/channel/adapters/telegram.js.map +1 -1
- package/dist/channel/mcp-tools.js +2 -2
- package/dist/channel/mcp-tools.js.map +1 -1
- package/dist/classic-channel-manager.js +2 -2
- package/dist/classic-channel-manager.js.map +1 -1
- package/dist/cli.js +27 -53
- package/dist/cli.js.map +1 -1
- package/dist/command-table.d.ts +1 -1
- package/dist/command-table.js +4 -2
- package/dist/command-table.js.map +1 -1
- package/dist/config-validator.js +48 -10
- package/dist/config-validator.js.map +1 -1
- package/dist/config.js +7 -5
- package/dist/config.js.map +1 -1
- package/dist/context-guardian.d.ts +1 -1
- package/dist/context-guardian.js +1 -1
- package/dist/cross-instance-notice.d.ts +39 -0
- package/dist/cross-instance-notice.js +84 -0
- package/dist/cross-instance-notice.js.map +1 -0
- package/dist/daemon.d.ts +73 -2
- package/dist/daemon.js +333 -31
- package/dist/daemon.js.map +1 -1
- package/dist/daily-summary.js +0 -3
- package/dist/daily-summary.js.map +1 -1
- package/dist/fleet-manager.d.ts +16 -3
- package/dist/fleet-manager.js +110 -53
- package/dist/fleet-manager.js.map +1 -1
- package/dist/general-knowledge/skills/fleet-config/SKILL.md +1 -1
- package/dist/instance-config-impact.js +3 -0
- package/dist/instance-config-impact.js.map +1 -1
- package/dist/instance-lifecycle.d.ts +9 -1
- package/dist/instance-lifecycle.js +62 -7
- package/dist/instance-lifecycle.js.map +1 -1
- package/dist/locale.js +30 -6
- package/dist/locale.js.map +1 -1
- package/dist/memory-pressure.d.ts +8 -2
- package/dist/memory-pressure.js +10 -4
- package/dist/memory-pressure.js.map +1 -1
- package/dist/outbound-handlers.js +47 -25
- package/dist/outbound-handlers.js.map +1 -1
- package/dist/outbound-schemas.d.ts +0 -1
- package/dist/outbound-schemas.js +3 -3
- package/dist/outbound-schemas.js.map +1 -1
- package/dist/reply-dedup.d.ts +5 -0
- package/dist/reply-dedup.js +9 -0
- package/dist/reply-dedup.js.map +1 -1
- package/dist/settings-api.js +5 -1
- package/dist/settings-api.js.map +1 -1
- package/dist/setup-wizard.js +0 -4
- package/dist/setup-wizard.js.map +1 -1
- package/dist/spawn-gate.js +4 -3
- package/dist/spawn-gate.js.map +1 -1
- package/dist/target-queue-worker.d.ts +1 -1
- package/dist/topic-commands.d.ts +64 -5
- package/dist/topic-commands.js +172 -14
- package/dist/topic-commands.js.map +1 -1
- package/dist/transcript-jsonl.d.ts +20 -0
- package/dist/transcript-jsonl.js +64 -0
- package/dist/transcript-jsonl.js.map +1 -0
- package/dist/transcript-monitor.js +21 -29
- package/dist/transcript-monitor.js.map +1 -1
- package/dist/transcript-sources.d.ts +1 -1
- package/dist/transcript-sources.js +29 -26
- package/dist/transcript-sources.js.map +1 -1
- package/dist/turn-reply-guard.d.ts +25 -1
- package/dist/turn-reply-guard.js +36 -1
- package/dist/turn-reply-guard.js.map +1 -1
- package/dist/types.d.ts +13 -4
- package/dist/ui/dashboard.html +3 -3
- package/dist/ui/settings.html +58 -16
- package/dist/ui/view.html +17 -10
- package/dist/ui/web-terminal/terminal.css +1 -1
- package/dist/ui/web-terminal/terminal.js +5 -1
- package/dist/update-check.d.ts +15 -6
- package/dist/update-check.js +20 -7
- package/dist/update-check.js.map +1 -1
- package/dist/usage/format-rich.js +3 -7
- package/dist/usage/format-rich.js.map +1 -1
- package/dist/usage/i18n-keys.d.ts +1 -1
- package/dist/usage/i18n-keys.js +1 -1
- package/dist/usage/i18n-keys.js.map +1 -1
- package/dist/usage/i18n.d.ts +5 -2
- package/dist/usage/i18n.js +9 -5
- package/dist/usage/i18n.js.map +1 -1
- package/dist/usage/providers.d.ts +11 -5
- package/dist/usage/providers.js +55 -1
- package/dist/usage/providers.js.map +1 -1
- package/dist/usage/usage-api.d.ts +0 -9
- package/dist/usage/usage-api.js +7 -32
- package/dist/usage/usage-api.js.map +1 -1
- package/dist/wake-coordinator.js +1 -1
- package/dist/web-api.js +1 -2
- package/dist/web-api.js.map +1 -1
- package/package.json +1 -1
- package/dist/backend/gemini-cli.d.ts +0 -20
- package/dist/backend/gemini-cli.js +0 -169
- package/dist/backend/gemini-cli.js.map +0 -1
package/dist/daemon.d.ts
CHANGED
|
@@ -219,6 +219,8 @@ export declare class PendingWorkTracker {
|
|
|
219
219
|
private lastIdleOrder;
|
|
220
220
|
constructor(now?: number);
|
|
221
221
|
recordInbound(now?: number): void;
|
|
222
|
+
/** #1241 P2-1: when the latest delivery entered, bounding pre-arm activity. */
|
|
223
|
+
lastInboundTimestamp(): number;
|
|
222
224
|
recordIdle(now?: number): boolean;
|
|
223
225
|
hasPendingWork(): boolean;
|
|
224
226
|
}
|
|
@@ -561,6 +563,11 @@ export declare class Daemon extends EventEmitter {
|
|
|
561
563
|
private instanceStateIdleDebounceMs;
|
|
562
564
|
private instanceStateStuckTimeoutMs;
|
|
563
565
|
private instanceStateReadyPattern;
|
|
566
|
+
/**
|
|
567
|
+
* #1241 P2-2: an execution snapshot was suppressed by a blocking dialog.
|
|
568
|
+
* When the block lifts, the silence since counts as a fresh interval.
|
|
569
|
+
*/
|
|
570
|
+
private sawBlockedInput;
|
|
564
571
|
private instanceStateBusyPattern;
|
|
565
572
|
private instanceStateMonitorActive;
|
|
566
573
|
private sessionCheckpointWarningEmitted;
|
|
@@ -570,6 +577,35 @@ export declare class Daemon extends EventEmitter {
|
|
|
570
577
|
private lastMalformedToolCallSignature;
|
|
571
578
|
private proxyReplySeq;
|
|
572
579
|
private lastReplyDropWarningAt;
|
|
580
|
+
/**
|
|
581
|
+
* #1241: an idle edge that has not yet proven the turn ended. Armed instead
|
|
582
|
+
* of recovering immediately; a steady idle snapshot past confirmAt promotes
|
|
583
|
+
* it to a real recovery, while a delivered reply, cancel, or newly observed
|
|
584
|
+
* work dissolves it. Scoped to one guard generation. Split clock domains
|
|
585
|
+
* (R3): edgeAt is wall-clock (compared only against lastBusyAt, also wall —
|
|
586
|
+
* event ordering, never a deadline), while confirmAt is monotonic
|
|
587
|
+
* (performance.now, same domain as the setTimeout firing the deadline), so
|
|
588
|
+
* a wall jump can neither shorten nor stretch the window.
|
|
589
|
+
*/
|
|
590
|
+
private replyGuardIdleConfirm;
|
|
591
|
+
/**
|
|
592
|
+
* #1241 P3: the confirmation window's own wake-up. Monitor ticks may be up
|
|
593
|
+
* to 60 s apart, so without this the real delay could approach two windows.
|
|
594
|
+
* At the deadline a fresh, fenced capture re-observes the pane instead.
|
|
595
|
+
*/
|
|
596
|
+
private replyGuardConfirmTimer;
|
|
597
|
+
/** #1241: dissolve a pending confirmation and its deadline, if any. */
|
|
598
|
+
private clearReplyGuardConfirm;
|
|
599
|
+
/** #1241: arm a confirmation window with its own deadline capture. */
|
|
600
|
+
private armReplyGuardConfirm;
|
|
601
|
+
/**
|
|
602
|
+
* #1241 P3: the window elapsed with no verdict from monitor ticks — drive
|
|
603
|
+
* one fresh observation. Generation-fenced twice: a stale record returns
|
|
604
|
+
* before capturing, and the resulting snapshot still flows through the
|
|
605
|
+
* normal confirmed evaluation. When the capture cannot run (paused, frozen,
|
|
606
|
+
* spawning), the record stays and the next monitor tick promotes instead.
|
|
607
|
+
*/
|
|
608
|
+
private fireReplyGuardConfirm;
|
|
573
609
|
private autoPauseController;
|
|
574
610
|
private pauseRequested;
|
|
575
611
|
/**
|
|
@@ -1122,6 +1158,15 @@ export declare class Daemon extends EventEmitter {
|
|
|
1122
1158
|
* bounded SIGTERM -> SIGKILL fallback instead of typing into an unknown pane.
|
|
1123
1159
|
*/
|
|
1124
1160
|
private drainBusyKiroForStop;
|
|
1161
|
+
/**
|
|
1162
|
+
* #1217: the CLI answered its quit command with a confirmation that a stray
|
|
1163
|
+
* key would answer for us (Claude's "Background work is running": Enter
|
|
1164
|
+
* picks "Exit and stop tasks"). Never choose an option: cancel the prompt
|
|
1165
|
+
* with Escape and let the caller stop the process itself (SIGTERM), which is
|
|
1166
|
+
* what the bounded grace would have come to anyway — just without waiting
|
|
1167
|
+
* it out. True when that prompt was on screen.
|
|
1168
|
+
*/
|
|
1169
|
+
private cancelQuitConfirmation;
|
|
1125
1170
|
stop(): Promise<void>;
|
|
1126
1171
|
getHangDetector(): HangDetector | null;
|
|
1127
1172
|
getInstanceState(): InstanceState | "paused";
|
|
@@ -1129,6 +1174,8 @@ export declare class Daemon extends EventEmitter {
|
|
|
1129
1174
|
private interactionOwner;
|
|
1130
1175
|
/** Cached, pure observation read; it never captures, constructs a backend or writes stdin. */
|
|
1131
1176
|
getInteractionSnapshot(): InteractionSnapshot;
|
|
1177
|
+
/** Key of the last interaction snapshot actually emitted + broadcast (#1219). */
|
|
1178
|
+
private lastPublishedInteractionKey;
|
|
1132
1179
|
private publishInteraction;
|
|
1133
1180
|
private clearInteractionConfirmation;
|
|
1134
1181
|
private unverifyInteraction;
|
|
@@ -1197,6 +1244,12 @@ export declare class Daemon extends EventEmitter {
|
|
|
1197
1244
|
* manager does not pass through the dead MCP server. Consuming the turn state
|
|
1198
1245
|
* here (edge-triggered, then reset) is what makes it at most once per turn.
|
|
1199
1246
|
*/
|
|
1247
|
+
/**
|
|
1248
|
+
* #1241: promote a pending idle-edge confirmation once the window has
|
|
1249
|
+
* elapsed. Steady idle with no reply and no work since the edge is proven
|
|
1250
|
+
* idle; anything else dissolves the confirmation and leaves the turn armed.
|
|
1251
|
+
*/
|
|
1252
|
+
private maybeConfirmReplyGuardIdle;
|
|
1200
1253
|
private maybeProxyReplyOnTurnEnd;
|
|
1201
1254
|
private isClaudeCodeBackend;
|
|
1202
1255
|
private replyCompletionGuardEnabled;
|
|
@@ -1810,10 +1863,28 @@ export declare class Daemon extends EventEmitter {
|
|
|
1810
1863
|
* the conversation is gone.
|
|
1811
1864
|
*/
|
|
1812
1865
|
private paneSaysNoConversation;
|
|
1813
|
-
/** How many consecutive startups have failed without proving the session is gone. */
|
|
1814
|
-
private unprovenResumeFailures;
|
|
1815
1866
|
/** After this many, start fresh anyway — loudly — so a truly broken session still recovers. */
|
|
1816
1867
|
private static readonly MAX_UNPROVEN_RESUME_FAILURES;
|
|
1868
|
+
/**
|
|
1869
|
+
* #1217: the unproven-failure count lives in the instance directory, keyed by
|
|
1870
|
+
* the session id. Each start builds a new Daemon, so a count kept on the
|
|
1871
|
+
* object was always "attempt 1/3": the escape hatch could never fire, and an
|
|
1872
|
+
* unresumable session failed every start forever. A different session id (or
|
|
1873
|
+
* none) starts the count again; a successful resume or a set-aside ends it.
|
|
1874
|
+
*/
|
|
1875
|
+
private bumpUnprovenResumeFailures;
|
|
1876
|
+
private clearUnprovenResumeFailures;
|
|
1877
|
+
/**
|
|
1878
|
+
* #1217: a session id belongs to the backend that made it. After a backend
|
|
1879
|
+
* switch the old id names nothing the new CLI knows (a Claude id handed to
|
|
1880
|
+
* muse is "retained session not found"), so resuming it can only fail. The
|
|
1881
|
+
* owner is recorded on every successful start; an id recorded for another
|
|
1882
|
+
* backend is set aside (kept on disk, as always) and this start is fresh.
|
|
1883
|
+
* An id with no recorded owner (from before this was recorded) is left to
|
|
1884
|
+
* the resume itself — its failure is proven or counted like any other.
|
|
1885
|
+
*/
|
|
1886
|
+
private setAsideForeignSession;
|
|
1887
|
+
private recordSessionOwner;
|
|
1817
1888
|
/**
|
|
1818
1889
|
* Set the session aside instead of deleting it.
|
|
1819
1890
|
*
|