/** * Agent 内部运行时协议。 * * 这些函数只供 City、transport 与 Agent 自身使用。它们承载 Agent 与 * Workspace 的运行时关系,但不把执行作用域提升为 Agent 的公开领域 API。 */ import { Agent } from "../agent/Agent.js"; import { WorkspaceEntry } from "../agent/WorkspaceEntry.js"; import type { WorkspaceBase } from "@downcity/workspace"; import type { City } from "../city/index.js"; import type { Embassy } from "@downcity/federation"; import type { StorageProvider, StorageScope } from "@downcity/workspace"; import type { AgentStorage } from "../types/agent/AgentStorage.js"; export declare function initialize_agent_runtime(agent: Agent): void; export declare function attach_agent_city(agent: Agent, city: City): void; /** 将 City 提供的底层 Storage 注入 Agent;该函数只在组合根调用。 */ export declare function attach_agent_storage(agent: Agent, storage_provider: StorageProvider): void; /** 标记 Agent 已经创建或恢复过无 City 的 Session。 */ export declare function mark_agent_session_started(agent: Agent): void; export declare function detach_agent_city(agent: Agent, city: City): void; export declare function agent_is_in_city(agent: Agent): boolean; /** 返回 City 注入的窄 Embassy 能力。 */ export declare function agent_embassy(agent: Agent): Embassy | undefined; /** 由 Agent 释放自身时通知所属 City。 */ export declare function release_agent_from_city(agent: Agent): void; /** 返回 Agent 解释出的业务存储作用域。 */ export declare function agent_storage_scope(agent: Agent): StorageScope; /** 返回指定 Agent Plugin 的底层数据作用域。 */ export declare function plugin_storage_scope(agent: Agent, plugin_id: string): StorageScope; /** 获取或创建 Agent 唯一的 Session 存储。 */ export declare function get_agent_storage(agent: Agent): AgentStorage; /** 启动 Agent 唯一的 ActionSchedule 轮询器;重复调用共享同一个启动 Promise。 */ export declare function ensure_agent_action_schedule(agent: Agent): void; /** 停止 Agent 级后台资源并释放 Agent 级 Store。 */ export declare function dispose_agent_runtime(agent: Agent): Promise; /** 返回 Agent 已装配的唯一存储;未装配时返回 null。 */ export declare function agent_storage(agent: Agent): AgentStorage | null; export declare function create_workspace_entry(agent: Agent, workspace: WorkspaceBase): WorkspaceEntry; export declare function get_workspace_entry(agent: Agent, workspace_id_input: string): WorkspaceEntry | null; export declare function list_workspace_entries(agent: Agent): readonly WorkspaceEntry[]; export declare function release_workspace_entry(agent: Agent, workspace_id: string, entry: WorkspaceEntry): void; export declare function clear_agent_runtime(agent: Agent): void; //# sourceMappingURL=AgentRuntime.d.ts.map