import type { Server } from "node:http"; import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import type { ToolPolicyInput } from "@mono-agent/agent-harness"; import { type JournalBrowseCapableStore } from "@mono-agent/memory/store"; import type { RuntimeOptionsExtension } from "./runtime-option-extensions.js"; export declare const MEMORY_JOURNAL_MCP_SERVER_NAME = "mono-agent-memory-journal"; export declare const MEMORY_JOURNAL_TOOL_NAME = "MemoryJournal"; export declare const MEMORY_JOURNAL_MAX_RANGE_DAYS = 31; export declare const MEMORY_JOURNAL_DEFAULT_PAGE_SIZE = 10; export declare const MEMORY_JOURNAL_MAX_PAGE_SIZE = 25; export declare const MEMORY_JOURNAL_MAX_SNAPSHOTS = 4; export declare const MEMORY_JOURNAL_ENTRY_TEXT_MAX_BYTES = 2048; export declare const MEMORY_JOURNAL_PAGE_MAX_BYTES: number; type MemoryJournalTier = "lite" | "journal" | "bujo"; type MemoryJournalPolicy = Pick; export interface MemoryJournalCapableStore extends JournalBrowseCapableStore { tier(): MemoryJournalTier; } export interface MemoryJournalRuntimeExtensionOptions { readonly env?: Record; readonly clock?: () => Date; readonly onUnavailable?: (error: unknown) => void; /** Test seam for simulating loopback startup failure. */ readonly listen?: (server: Server) => Promise; } export interface MemoryJournalBinding { readonly runId: string; readonly env?: Record; readonly clock?: () => Date; } export type MemoryJournalErrorCode = "invalid_request" | "invalid_date" | "invalid_time_zone" | "invalid_range" | "range_too_wide" | "invalid_limit" | "invalid_cursor" | "snapshot_budget_exhausted" | "journal_unavailable"; export interface ResolvedMemoryJournalRange { readonly fromDate: string; readonly throughDate: string; readonly timeZone: string; readonly fromInclusive: string; readonly toExclusive: string; readonly dayCount: number; } /** Fail closed: external memory stores do not gain fake chronology by satisfying recall. */ export declare function isMemoryJournalCapableStore(store: unknown): store is MemoryJournalCapableStore; /** Whether a policy entry names the app-owned chronological memory surface. */ export declare function isMemoryJournalToolPolicyName(name: string): boolean; /** Journal browsing uses the normal app-owned allow/deny boundary; deny wins. */ export declare function isMemoryJournalToolAllowed(policy: MemoryJournalPolicy | undefined): boolean; /** Register one bounded chronological browser over an already-capable local store. */ export declare function createMemoryJournalServer(store: MemoryJournalCapableStore, binding: MemoryJournalBinding): McpServer; /** Create one journal snapshot namespace per model request/run. */ export declare function createMemoryJournalRuntimeExtension(store: MemoryJournalCapableStore, options?: MemoryJournalRuntimeExtensionOptions): RuntimeOptionsExtension; /** Convert inclusive IANA-zone calendar dates to one half-open UTC instant range. */ export declare function resolveMemoryJournalRange(fromDate: string, throughDate: string, timeZone: string): ResolvedMemoryJournalRange; export {}; //# sourceMappingURL=memory-journal.d.ts.map