kimi-code / packages /node-sdk /src /context.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
4e23b01 verified
Raw
History Blame Contribute Delete
2.96 kB
import type { ToolInputDisplay } from '@moonshot-ai/agent-core-v2/tool/toolInputDisplay';
import type { ContentPart, Message } from '@moonshot-ai/kosong';
import type { BackgroundTaskStatus } from '#/task';
export type SkillSource = 'project' | 'user' | 'extra' | 'builtin';
export interface UserPromptOrigin {
readonly kind: 'user';
}
export const USER_PROMPT_ORIGIN: UserPromptOrigin = { kind: 'user' };
export interface SkillActivationOrigin {
readonly kind: 'skill_activation';
readonly activationId: string;
readonly skillName: string;
readonly skillArgs?: string | undefined;
readonly trigger: 'user-slash' | 'model-tool' | 'nested-skill';
readonly skillType?: string | undefined;
readonly skillPath?: string | undefined;
readonly skillSource?: SkillSource | undefined;
}
export interface PluginCommandOrigin {
readonly kind: 'plugin_command';
readonly activationId: string;
readonly pluginId: string;
readonly commandName: string;
readonly commandArgs?: string | undefined;
readonly trigger: 'user-slash';
}
export interface InjectionOrigin {
readonly kind: 'injection';
readonly variant: string;
}
export interface ShellCommandOrigin {
readonly kind: 'shell_command';
readonly phase: 'input' | 'output';
readonly isError?: boolean;
}
export interface CompactionSummaryOrigin {
readonly kind: 'compaction_summary';
}
export interface SystemTriggerOrigin {
readonly kind: 'system_trigger';
readonly name: string;
}
export interface BackgroundTaskOrigin {
readonly kind: 'background_task';
readonly taskId: string;
readonly status: BackgroundTaskStatus;
readonly notificationId: string;
}
export interface CronJobOrigin {
readonly kind: 'cron_job';
readonly jobId: string;
readonly cron: string;
readonly recurring: boolean;
readonly coalescedCount: number;
readonly stale: boolean;
}
export interface CronMissedOrigin {
readonly kind: 'cron_missed';
readonly count: number;
}
export interface HookResultOrigin {
readonly kind: 'hook_result';
readonly event: string;
readonly blocked?: boolean;
}
export interface RetryOrigin {
readonly kind: 'retry';
readonly trigger?: string;
}
export type PromptOrigin =
| UserPromptOrigin
| SkillActivationOrigin
| PluginCommandOrigin
| InjectionOrigin
| ShellCommandOrigin
| CompactionSummaryOrigin
| SystemTriggerOrigin
| BackgroundTaskOrigin
| CronJobOrigin
| CronMissedOrigin
| HookResultOrigin
| RetryOrigin;
export type ContextMessage = Message & {
readonly origin?: PromptOrigin | undefined;
readonly isError?: boolean;
toolCallDisplays?: Record<string, ToolInputDisplay>;
readonly note?: string;
};
export interface UserMessageRecord {
content: readonly ContentPart[];
origin: PromptOrigin;
}
export interface SystemReminderRecord {
content: string;
origin: PromptOrigin;
}
export interface AgentContextData {
history: readonly ContextMessage[];
tokenCount: number;
}