@securecoms/agent-bridge 0.26.0 → 0.26.2

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.
@@ -12,6 +12,7 @@ interface MemorySink {
12
12
  * for a turn whose InboxEntry had the server-set `voiceMode` flag, so memory
13
13
  * continuity reflects how the turn actually arrived. */
14
14
  export declare function recordInboundMemory(sink: MemorySink, channelId: string, senderId: string, text: string, messageId: string, modality?: "text" | "voice"): Promise<void>;
15
- /** Record the agent's own outbound text reply. Best-effort. */
16
- export declare function recordOutboundMemory(sink: MemorySink, channelId: string, text: string, messageId: string): Promise<void>;
15
+ /** Record the agent's own outbound reply. Best-effort. `modality` is "voice"
16
+ * for a line the voice fast path spoke (H1), else "text". */
17
+ export declare function recordOutboundMemory(sink: MemorySink, channelId: string, text: string, messageId: string, modality?: "text" | "voice"): Promise<void>;
17
18
  export {};
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const BRIDGE_VERSION = "0.26.0";
1
+ export declare const BRIDGE_VERSION = "0.26.2";
@@ -0,0 +1,22 @@
1
+ export declare function needsRuntime(text: string): boolean;
2
+ /** Spoken while the full agent works. Persona-neutral; never carries [[DEFER]]. */
3
+ export declare const DEFER_ACKS: readonly string[];
4
+ /** Deterministic per turn (a redelivered turn re-speaks the same line). */
5
+ export declare function deferAck(messageId: string): string;
6
+ /**
7
+ * Per-agent voice fast-path mode (credential `voice_fast_path_mode`):
8
+ * - `full`: today's front desk — the fast LLM answers small talk, defers the
9
+ * rest (pre-check above + [[DEFER]]).
10
+ * - `ack_only`: NO fast LLM call. An instant canned ack is spoken and every
11
+ * turn goes to the agent's runtime (tools + memory). The call-start greeting
12
+ * is a template.
13
+ * - `off`: no fast path at all — runtime only, no ack.
14
+ */
15
+ export declare const FAST_PATH_MODES: readonly ["full", "ack_only", "off"];
16
+ export type FastPathMode = (typeof FAST_PATH_MODES)[number];
17
+ export declare function parseFastPathMode(raw: unknown): FastPathMode;
18
+ /** `ack_only`: spoken the instant a turn arrives, before the runtime answers. */
19
+ export declare const ACK_ONLY_ACKS: readonly string[];
20
+ export declare function ackOnlyAck(messageId: string): string;
21
+ /** `ack_only` call-start greeting: a template, no model call. */
22
+ export declare function ackOnlyGreeting(agentName: string | undefined, callerName: string | undefined): string;
@@ -15,6 +15,20 @@ export interface ChatMessage {
15
15
  * just facts — a defensive floor under whatever grows in the future.
16
16
  */
17
17
  export declare const MAX_MESSAGE_CHARS = 8000;
18
+ /**
19
+ * Fast-path prompt budget (perf, 2026-10-02). The fast model writes ONE short
20
+ * spoken line, so it needs only the last few exchanges; every extra input
21
+ * token is time on the voice critical path (transcript -> reply measured at
22
+ * ~3.0-3.2 s in prod, this LLM call included). Previously 30 turns / 4000
23
+ * recent chars / ~7800 facts chars.
24
+ * - FAST_PATH_MEMORY_TURNS: turns requested from the memory provider.
25
+ * - FAST_RECENT_CHARS_CAP: default `charCap` on the recent transcript (oldest
26
+ * turns dropped first, the newest always kept).
27
+ * - FAST_FACTS_CHARS_CAP: cap on the joined facts body.
28
+ */
29
+ export declare const FAST_PATH_MEMORY_TURNS = 10;
30
+ export declare const FAST_RECENT_CHARS_CAP = 1500;
31
+ export declare const FAST_FACTS_CHARS_CAP = 2000;
18
32
  export declare function buildFastMessages(args: {
19
33
  persona: VoicePersona;
20
34
  guidance: string;
@@ -1,4 +1,12 @@
1
1
  import type { VoiceSettings } from "./settings.js";
2
+ /**
3
+ * Owner report 2026-10-02 (voice calls never used tools): this model has no
4
+ * tools, no clock and only the last few turns, yet it answered "what time is
5
+ * it" / "what's the weather" itself instead of deferring. Applies under EVERY
6
+ * handoff dial — no dial can make this model know live data — and is
7
+ * compiled in (never interpolated with peer data).
8
+ */
9
+ export declare const NO_TOOLS_RULE: string;
2
10
  /**
3
11
  * `agentName` is the agent's identity display name (`ConnectIdentity.display_name`,
4
12
  * the one name shown in rosters and the Directory). Owner decision 2026-10-01
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@securecoms/agent-bridge",
3
- "version": "0.26.0",
3
+ "version": "0.26.2",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22.5.0"