mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
Add provider-context prefix preparation and optional summary request settings needed by cache-friendly compaction. Existing AgentSession callers continue to pass undefined, so standalone summarization remains the default until the feature is wired in.
409 lines
9.8 KiB
TypeScript
409 lines
9.8 KiB
TypeScript
// Core session management
|
|
|
|
export { type Args, parseArgs } from "./cli/args.ts";
|
|
|
|
// Config paths
|
|
export {
|
|
CONFIG_DIR_NAME,
|
|
getAgentDir,
|
|
getDocsPath,
|
|
getExamplesPath,
|
|
getPackageDir,
|
|
getReadmePath,
|
|
VERSION,
|
|
} from "./config.ts";
|
|
export {
|
|
AgentSession,
|
|
type AgentSessionConfig,
|
|
type AgentSessionEvent,
|
|
type AgentSessionEventListener,
|
|
type ModelCycleResult,
|
|
type ParsedSkillBlock,
|
|
type PromptOptions,
|
|
parseSkillBlock,
|
|
type SessionStats,
|
|
} from "./core/agent-session.ts";
|
|
export { readStoredCredential } from "./core/auth-storage.ts";
|
|
// Compaction
|
|
export {
|
|
type BranchPreparation,
|
|
type BranchSummaryResult,
|
|
type CacheFriendlySummaryOptions,
|
|
type CollectEntriesResult,
|
|
type CompactionResult,
|
|
type CutPointResult,
|
|
calculateContextTokens,
|
|
collectEntriesForBranchSummary,
|
|
compact,
|
|
DEFAULT_COMPACTION_SETTINGS,
|
|
estimateTokens,
|
|
type FileOperations,
|
|
findCutPoint,
|
|
findTurnStartIndex,
|
|
type GenerateBranchSummaryOptions,
|
|
generateBranchSummary,
|
|
generateSummary,
|
|
generateSummaryWithUsage,
|
|
getLastAssistantUsage,
|
|
prepareBranchEntries,
|
|
serializeConversation,
|
|
shouldCompact,
|
|
} from "./core/compaction/index.ts";
|
|
export { createEventBus, type EventBus, type EventBusController } from "./core/event-bus.ts";
|
|
// Extension system
|
|
export type {
|
|
AgentEndEvent,
|
|
AgentSettledEvent,
|
|
AgentStartEvent,
|
|
AgentToolResult,
|
|
AgentToolUpdateCallback,
|
|
AppKeybinding,
|
|
AutocompleteProviderFactory,
|
|
BashToolCallEvent,
|
|
BeforeAgentStartEvent,
|
|
BeforeAgentStartEventResult,
|
|
BeforeProviderHeadersEvent,
|
|
BeforeProviderRequestEvent,
|
|
BeforeProviderRequestEventResult,
|
|
BuildSystemPromptOptions,
|
|
CompactOptions,
|
|
ContextEvent,
|
|
ContextUsage,
|
|
CustomToolCallEvent,
|
|
EditToolCallEvent,
|
|
EntryRenderer,
|
|
EntryRenderOptions,
|
|
ExecOptions,
|
|
ExecResult,
|
|
Extension,
|
|
ExtensionActions,
|
|
ExtensionAPI,
|
|
ExtensionCommandContext,
|
|
ExtensionCommandContextActions,
|
|
ExtensionContext,
|
|
ExtensionContextActions,
|
|
ExtensionError,
|
|
ExtensionEvent,
|
|
ExtensionFactory,
|
|
ExtensionFlag,
|
|
ExtensionHandler,
|
|
ExtensionRuntime,
|
|
ExtensionShortcut,
|
|
ExtensionUIContext,
|
|
ExtensionUIDialogOptions,
|
|
ExtensionWidgetOptions,
|
|
FindToolCallEvent,
|
|
GrepToolCallEvent,
|
|
InlineExtension,
|
|
InputEvent,
|
|
InputEventResult,
|
|
InputSource,
|
|
KeybindingsManager,
|
|
LoadExtensionsResult,
|
|
LsToolCallEvent,
|
|
MarkdownTransformContext,
|
|
MarkdownTransformer,
|
|
MessageEndEvent,
|
|
MessageRenderer,
|
|
MessageRenderOptions,
|
|
MessageStartEvent,
|
|
MessageUpdateEvent,
|
|
ProjectTrustContext,
|
|
ProjectTrustEvent,
|
|
ProjectTrustEventDecision,
|
|
ProjectTrustEventResult,
|
|
ProjectTrustHandler,
|
|
ProviderConfig,
|
|
ProviderModelConfig,
|
|
ReadToolCallEvent,
|
|
RegisteredCommand,
|
|
RegisteredTool,
|
|
ResolvedCommand,
|
|
SessionBeforeCompactEvent,
|
|
SessionBeforeForkEvent,
|
|
SessionBeforeSwitchEvent,
|
|
SessionBeforeTreeEvent,
|
|
SessionCompactEvent,
|
|
SessionInfoChangedEvent,
|
|
SessionShutdownEvent,
|
|
SessionStartEvent,
|
|
SessionTreeEvent,
|
|
SlashCommandInfo,
|
|
SlashCommandSource,
|
|
SourceInfo,
|
|
TerminalInputHandler,
|
|
ToolCallEvent,
|
|
ToolCallEventResult,
|
|
ToolDefinition,
|
|
ToolExecutionEndEvent,
|
|
ToolExecutionMode,
|
|
ToolExecutionStartEvent,
|
|
ToolExecutionUpdateEvent,
|
|
ToolInfo,
|
|
ToolRenderResultOptions,
|
|
ToolResultEvent,
|
|
TurnEndEvent,
|
|
TurnStartEvent,
|
|
UserBashEvent,
|
|
UserBashEventResult,
|
|
WidgetPlacement,
|
|
WorkingIndicatorOptions,
|
|
WriteToolCallEvent,
|
|
} from "./core/extensions/index.ts";
|
|
export {
|
|
createExtensionRuntime,
|
|
defineTool,
|
|
discoverAndLoadExtensions,
|
|
ExtensionRunner,
|
|
isBashToolResult,
|
|
isEditToolResult,
|
|
isFindToolResult,
|
|
isGrepToolResult,
|
|
isLsToolResult,
|
|
isReadToolResult,
|
|
isToolCallEventType,
|
|
isWriteToolResult,
|
|
wrapRegisteredTool,
|
|
wrapRegisteredTools,
|
|
} from "./core/extensions/index.ts";
|
|
// Footer data provider (git branch + extension statuses - data not otherwise available to extensions)
|
|
export type { ReadonlyFooterDataProvider } from "./core/footer-data-provider.ts";
|
|
export { convertToLlm } from "./core/messages.ts";
|
|
export { ModelRegistry } from "./core/model-registry.ts";
|
|
export {
|
|
type ModelScopeDiagnostic,
|
|
type ResolveCliModelResult,
|
|
type ResolveModelScopeResult,
|
|
resolveCliModel,
|
|
resolveModelScopeWithDiagnostics,
|
|
type ScopedModel,
|
|
} from "./core/model-resolver.ts";
|
|
export {
|
|
type CreateModelRuntimeOptions,
|
|
CredentialSynchronizationError,
|
|
type CredentialSynchronizationOperation,
|
|
ModelRuntime,
|
|
type ModelRuntimeAuthOverrides,
|
|
} from "./core/model-runtime.ts";
|
|
export type {
|
|
PackageManager,
|
|
PathMetadata,
|
|
ProgressCallback,
|
|
ProgressEvent,
|
|
ResolvedPaths,
|
|
ResolvedResource,
|
|
} from "./core/package-manager.ts";
|
|
export { DefaultPackageManager } from "./core/package-manager.ts";
|
|
export type { ResourceCollision, ResourceDiagnostic, ResourceLoader } from "./core/resource-loader.ts";
|
|
export { DefaultResourceLoader, loadProjectContextFiles } from "./core/resource-loader.ts";
|
|
// SDK for programmatic usage
|
|
export {
|
|
AgentSessionRuntime,
|
|
type AgentSessionRuntimeDiagnostic,
|
|
type AgentSessionServices,
|
|
type CreateAgentSessionFromServicesOptions,
|
|
type CreateAgentSessionOptions,
|
|
type CreateAgentSessionResult,
|
|
type CreateAgentSessionRuntimeFactory,
|
|
type CreateAgentSessionRuntimeResult,
|
|
type CreateAgentSessionServicesOptions,
|
|
// Factory
|
|
createAgentSession,
|
|
createAgentSessionFromServices,
|
|
createAgentSessionRuntime,
|
|
createAgentSessionServices,
|
|
createBashTool,
|
|
// Tool factories (for custom cwd)
|
|
createCodingTools,
|
|
createEditTool,
|
|
createFindTool,
|
|
createGrepTool,
|
|
createLsTool,
|
|
createReadOnlyTools,
|
|
createReadTool,
|
|
createWriteTool,
|
|
type PromptTemplate,
|
|
} from "./core/sdk.ts";
|
|
export {
|
|
type BranchSummaryEntry,
|
|
buildContextEntries,
|
|
buildSessionContext,
|
|
type CompactionEntry,
|
|
CURRENT_SESSION_VERSION,
|
|
type CustomEntry,
|
|
type CustomMessageEntry,
|
|
type FileEntry,
|
|
getLatestCompactionEntry,
|
|
type ModelChangeEntry,
|
|
migrateSessionEntries,
|
|
type NewSessionOptions,
|
|
parseSessionEntries,
|
|
type SessionContext,
|
|
type SessionEntry,
|
|
type SessionEntryBase,
|
|
type SessionHeader,
|
|
type SessionInfo,
|
|
type SessionInfoEntry,
|
|
SessionManager,
|
|
type SessionMessageEntry,
|
|
type SessionTreeNode,
|
|
sessionEntryToContextMessages,
|
|
type ThinkingLevelChangeEntry,
|
|
} from "./core/session-manager.ts";
|
|
export {
|
|
type CompactionSettings,
|
|
type DefaultProjectTrust,
|
|
type FullscreenExitOutput,
|
|
type ImageSettings,
|
|
type PackageSource,
|
|
type RetrySettings,
|
|
SettingsManager,
|
|
type SettingsManagerCreateOptions,
|
|
type TuiMode,
|
|
} from "./core/settings-manager.ts";
|
|
// Skills
|
|
export {
|
|
formatSkillsForPrompt,
|
|
type LoadSkillsFromDirOptions,
|
|
type LoadSkillsResult,
|
|
loadSkills,
|
|
loadSkillsFromDir,
|
|
type Skill,
|
|
type SkillFrontmatter,
|
|
} from "./core/skills.ts";
|
|
export { createSyntheticSourceInfo } from "./core/source-info.ts";
|
|
export { type EditDiffResult, generateDiffString, generateUnifiedPatch } from "./core/tools/edit-diff.ts";
|
|
// Tools
|
|
export {
|
|
type BashOperations,
|
|
type BashSpawnContext,
|
|
type BashSpawnHook,
|
|
type BashToolDetails,
|
|
type BashToolInput,
|
|
type BashToolOptions,
|
|
createBashToolDefinition,
|
|
createEditToolDefinition,
|
|
createFindToolDefinition,
|
|
createGrepToolDefinition,
|
|
createLocalBashOperations,
|
|
createLsToolDefinition,
|
|
createReadToolDefinition,
|
|
createWriteToolDefinition,
|
|
DEFAULT_MAX_BYTES,
|
|
DEFAULT_MAX_LINES,
|
|
type EditOperations,
|
|
type EditToolDetails,
|
|
type EditToolInput,
|
|
type EditToolOptions,
|
|
type FindOperations,
|
|
type FindToolDetails,
|
|
type FindToolInput,
|
|
type FindToolOptions,
|
|
formatSize,
|
|
type GrepOperations,
|
|
type GrepToolDetails,
|
|
type GrepToolInput,
|
|
type GrepToolOptions,
|
|
type LsOperations,
|
|
type LsToolDetails,
|
|
type LsToolInput,
|
|
type LsToolOptions,
|
|
type ReadOperations,
|
|
type ReadToolDetails,
|
|
type ReadToolInput,
|
|
type ReadToolOptions,
|
|
type ToolsOptions,
|
|
type TruncationOptions,
|
|
type TruncationResult,
|
|
truncateHead,
|
|
truncateLine,
|
|
truncateTail,
|
|
type WriteOperations,
|
|
type WriteToolInput,
|
|
type WriteToolOptions,
|
|
withFileMutationQueue,
|
|
} from "./core/tools/index.ts";
|
|
export {
|
|
hasTrustRequiringProjectResources,
|
|
type ProjectTrustDecision,
|
|
ProjectTrustStore,
|
|
type ProjectTrustStoreEntry,
|
|
type ProjectTrustUpdate,
|
|
} from "./core/trust-manager.ts";
|
|
// Main entry point
|
|
export { type MainOptions, main } from "./main.ts";
|
|
// Run modes for programmatic SDK usage
|
|
export {
|
|
InteractiveMode,
|
|
type InteractiveModeOptions,
|
|
type JsonAgentSessionEvent,
|
|
type ModelInfo,
|
|
type PrintModeOptions,
|
|
RpcClient,
|
|
type RpcClientOptions,
|
|
type RpcCommand,
|
|
type RpcEventListener,
|
|
type RpcExtensionUIRequest,
|
|
type RpcExtensionUIResponse,
|
|
type RpcResponse,
|
|
type RpcSessionState,
|
|
runPrintMode,
|
|
runRpcMode,
|
|
} from "./modes/index.ts";
|
|
// UI components for extensions
|
|
export {
|
|
ArminComponent,
|
|
AssistantMessageComponent,
|
|
BashExecutionComponent,
|
|
BorderedLoader,
|
|
BranchSummaryMessageComponent,
|
|
CompactionSummaryMessageComponent,
|
|
CustomEditor,
|
|
CustomMessageComponent,
|
|
DynamicBorder,
|
|
ExtensionEditorComponent,
|
|
ExtensionInputComponent,
|
|
ExtensionSelectorComponent,
|
|
FooterComponent,
|
|
keyHint,
|
|
keyText,
|
|
LoginDialogComponent,
|
|
ModelSelectorComponent,
|
|
OAuthSelectorComponent,
|
|
type RenderDiffOptions,
|
|
rawKeyHint,
|
|
renderDiff,
|
|
SessionSelectorComponent,
|
|
type SettingsCallbacks,
|
|
type SettingsConfig,
|
|
SettingsSelectorComponent,
|
|
ShowImagesSelectorComponent,
|
|
SkillInvocationMessageComponent,
|
|
ThemeSelectorComponent,
|
|
ThinkingSelectorComponent,
|
|
ToolExecutionComponent,
|
|
type ToolExecutionOptions,
|
|
TreeSelectorComponent,
|
|
truncateToVisualLines,
|
|
UserMessageComponent,
|
|
UserMessageSelectorComponent,
|
|
type VisualTruncateResult,
|
|
} from "./modes/interactive/components/index.ts";
|
|
// Theme utilities for custom tools and extensions
|
|
export {
|
|
getLanguageFromPath,
|
|
getMarkdownTheme,
|
|
getSelectListTheme,
|
|
getSettingsListTheme,
|
|
highlightCode,
|
|
initTheme,
|
|
Theme,
|
|
type ThemeColor,
|
|
} from "./modes/interactive/theme/theme.ts";
|
|
// Clipboard utilities
|
|
export { copyToClipboard } from "./utils/clipboard.ts";
|
|
export { parseFrontmatter, stripFrontmatter } from "./utils/frontmatter.ts";
|
|
export { convertToPng } from "./utils/image-convert.ts";
|
|
export { formatDimensionNote, type ResizedImage, resizeImage } from "./utils/image-resize.ts";
|
|
// Shell utilities
|
|
export { getShellConfig } from "./utils/shell.ts";
|