import type { Message as A2AMessage } from "../a2a/types.js"; import type { ResolvedKeyReference } from "../secrets/substitution.js"; import { handleSharedThreadRequest, type SharedThreadRouteDependencies } from "./agent-chat/shared-thread.js"; export { handleSharedThreadRequest }; export type { SharedThreadRouteDependencies }; import { createA2AEngineToolSurface, runA2AAgentLoop, runMCPAgentLoop, assembleA2AFinalResponse, buildPublicAgentA2ASkills } from "./agent-chat/action-filters-a2a.js"; import { _agentChatPromptSectionsForTests } from "./agent-chat/framework-prompts.js"; import { type AgentChatPluginOptions, type NitroPluginDef } from "./agent-chat/plugin-options.js"; import { finalizeClaimedAgentChatProcessRunFailure } from "./agent-chat/process-run-failure.js"; import { loadResourcesForPrompt } from "./agent-chat/prompt-resources.js"; import { shouldDisableRecurringJobsRuntime } from "./agent-chat/recurring-jobs-runtime.js"; import { shouldBlockInProductCodeEditingSurface } from "./agent-chat/request-surface.js"; import { loadRunCodeToolEntries } from "./agent-chat/run-code-tools.js"; export { loadResourcesForPrompt }; export { _agentChatPromptSectionsForTests }; export { buildPublicAgentA2ASkills }; export { assembleA2AFinalResponse }; export type { AgentChatPluginOptions }; export { runA2AAgentLoop }; export { runMCPAgentLoop }; export { createA2AEngineToolSurface }; export { shouldBlockInProductCodeEditingSurface }; export { loadRunCodeToolEntries }; export { shouldDisableRecurringJobsRuntime }; export { finalizeClaimedAgentChatProcessRunFailure }; export declare function resolveInteractiveAgentRunOptions(options?: Pick): { runSoftTimeoutMs: number; runNoProgressTimeoutMs: number; durableBackgroundRuns: boolean; }; export declare function createSerializedA2ATaskStatusWriter(taskId: string, writeStatus?: (taskId: string, message: A2AMessage) => Promise, onError?: (error: unknown) => void): { enqueue: (message: A2AMessage) => void; flush: () => Promise; }; export declare function resolveA2ARecoverableArtifactSecret(orgId?: string | null | undefined): Promise; export declare function buildLeanRunPolicyPrompt(codeEditingSurfaceRestriction: string, prodCodeExecPromptNote: string): string; /** * Pick the URL allowlist to enforce for a `${keys.NAME}` reference used by * the agent fetch tool. * * SECURITY (audit 05 H2 alignment): the allowlist check must stay * consistent with the scope a key actually resolved at (see the * `getKeyAllowlist` docstring in secrets/substitution.ts). Since the fetch * tool now resolves keys via `resolveKeyReferencesWithRequestScopes` — which * cascades user → org → workspace scope — a plain user-scope-only allowlist * lookup would silently miss an allowlist configured on the org/workspace * row that actually supplied the value. When `resolvedKeys` reports which * scope a key resolved at, look up the allowlist there; only fall back to * the legacy user-scope lookup for a key the resolver didn't report (should * not normally happen — every key the cascade resolves reports a ref). */ export declare function resolveFetchToolKeyAllowlist(keyName: string, resolvedKeys: ResolvedKeyReference[] | undefined, owner: string, deps: { getKeyAllowlist: (name: string, scope: "user", scopeId: string) => Promise; getResolvedKeyAllowlist: (ref: ResolvedKeyReference) => Promise; }): Promise; export declare function createAgentChatPlugin(options?: AgentChatPluginOptions): NitroPluginDef; /** * Default agent chat plugin with no template-specific actions. * In dev mode, provides file system, bash, and database tools. * In production, provides only the default system prompt. */ export declare const defaultAgentChatPlugin: NitroPluginDef; import { getGlobalMcpManager, refreshGlobalMcpManager } from "./agent-chat/mcp-glue.js"; export { getGlobalMcpManager }; export { refreshGlobalMcpManager }; //# sourceMappingURL=agent-chat-plugin.d.ts.map