Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

48 lines
1.4 KiB
TypeScript

import type {
RichTextTriggerInsertResult,
RichTextTriggerProvider,
RichTextTriggerQueryInput
} from "@tutti-os/ui-rich-text/types";
import {
TUTTI_EXTERNAL_AT_PROVIDER_IDS,
type TuttiExternalAtProviderId
} from "@tutti-os/workspace-external-core/contracts";
export const AGENT_CONTEXT_MENTION_PROVIDER_IDS =
TUTTI_EXTERNAL_AT_PROVIDER_IDS;
export type AgentContextMentionProviderId = TuttiExternalAtProviderId;
export type AgentContextMentionQueryInput = RichTextTriggerQueryInput & {
trigger: "@";
};
export interface AgentContextMentionDirectoryDescriptor {
/** Canonical provider-owned directory path used for child queries. */
path: string;
/** Number of direct children when the provider can determine it. */
childCount?: number | null;
}
export type AgentContextMentionDirectoryQueryInput =
AgentContextMentionQueryInput & {
directoryPath: string;
};
export type AgentContextMentionInsertResult = RichTextTriggerInsertResult;
export type AgentContextMentionProvider<TItem = any> = Omit<
RichTextTriggerProvider<TItem>,
"trigger"
> & {
trigger: "@";
/** Optional hierarchy contract for file providers. */
getItemDirectory?(
item: TItem
): AgentContextMentionDirectoryDescriptor | null | undefined;
/** Lists the direct children of one directory without overloading keyword search. */
queryDirectory?(
input: AgentContextMentionDirectoryQueryInput
): Promise<readonly TItem[]> | readonly TItem[];
};