@promptbook/remote-client
Version:
Promptbook: Create persistent AI agents that turn your company's scattered knowledge into action
79 lines (78 loc) • 2.67 kB
TypeScript
import type { LlmToolDefinition } from '../../types/LlmToolDefinition';
import type { string_agent_url } from '../../types/string_agent_url';
import type { string_knowledge_source_link } from '../../types/string_knowledge_source_content';
import type { chococake } from '../../utils/organization/really_any';
/**
* Model requirements for an agent
*
* This is like "compiled" version of agent source
*/
export type AgentModelRequirements = {
/**
* The system message that defines the agent's behavior and personality
*/
readonly systemMessage: string;
/**
* Text appended to every user prompt after the user's input and before tools/messages.
*
* This allows commitments to emphasize important rules or reminders that should be
* visible in the prompt in addition to the system message.
*/
readonly promptSuffix: string;
/**
* The model name to use for this agent
*/
readonly modelName: string;
/**
* List of imported agent URLs
*/
readonly importedAgentUrls?: ReadonlyArray<string_agent_url>;
/**
* List of imported file URLs or paths
*/
readonly importedFileUrls?: ReadonlyArray<string>;
/**
* Optional list of knowledge source links that the agent can use
*/
readonly knowledgeSources?: ReadonlyArray<string_knowledge_source_link>;
/**
* List of sample conversations (question/answer pairs)
*/
readonly samples?: ReadonlyArray<{
question: string | null;
answer: string;
}>;
/**
* Temperature for the agent's responses, controlling randomness
*/
readonly temperature?: number;
/**
* Top-p sampling value for the agent's responses
*/
readonly topP?: number;
/**
* Top-k sampling value for the agent's responses
*/
readonly topK?: number;
/**
* Tools available for the agent
*/
readonly tools?: ReadonlyArray<LlmToolDefinition>;
/**
* Optional list of MCP servers that the agent can connect to
*/
readonly mcpServers?: ReadonlyArray<string>;
/**
* The URL of the parent agent to inherit from, or null if there is no parent (i.e., do not inherit from any agent)
*/
readonly parentAgentUrl: string_agent_url | null;
/**
* Is the agent closed to modification by conversation (i.e., it will not learn from interactions and its source code will remain static during conversation)
*/
readonly isClosed: boolean;
/**
* Arbitrary metadata storage for commitments
* Each commitment can store its own data here
*/
readonly _metadata?: Record<string, chococake>;
};