@gencode/agents 0.0.39 → 0.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { S as AgentsConfig, _ as saveAgentsConfig, a as listAgents, b as AgentCo
2
2
  import { AssistantMessage, Message } from "@mariozechner/pi-ai";
3
3
  import { AgentMessage, AgentTool } from "@mariozechner/pi-agent-core";
4
4
  import * as _gencode_shared0 from "@gencode/shared";
5
- import { AgentCustomProgressEvent, AgentProgressEvent, AgentProgressEvent as AgentProgressEvent$1, CallbackEventPayload, CallbackEventPayload as CallbackEventPayload$1, Channel, Channel as Channel$1, CollapseSpan, HitlCheckpoint, HitlCheckpoint as HitlCheckpoint$1, HitlHistoryEntry, HitlRequest, HitlRequest as HitlRequest$1, HitlResolution, HitlResolution as HitlResolution$1, HitlStatus, HitlToolContext, HitlToolContext as HitlToolContext$1, PausedRunState, PausedRunState as PausedRunState$1, ReadStateRecord, RunResultPayload, RunResultPayload as RunResultPayload$1, SessionContextSnapshot, SessionMemorySnapshot, SnipRecord, ToolResultReference } from "@gencode/shared";
5
+ import { AgentCustomProgressEvent, AgentProgressEvent, AgentProgressEvent as AgentProgressEvent$1, CallbackEventPayload, CallbackEventPayload as CallbackEventPayload$1, Channel, Channel as Channel$1, CollapseSpan, HitlCheckpoint, HitlCheckpoint as HitlCheckpoint$1, HitlHistoryEntry, HitlRequest, HitlRequest as HitlRequest$1, HitlResolution, HitlResolution as HitlResolution$1, HitlStatus, HitlToolContext, HitlToolContext as HitlToolContext$1, PausedRunState, PausedRunState as PausedRunState$1, ReadStateRecord, RunResultPayload, RunResultPayload as RunResultPayload$1, SessionContextSnapshot, SessionMemorySnapshot, SnipRecord, ToolResultReference, UiToolPausedState, UiToolRequest, UiToolResult, UiToolSchema, UiToolValidationResult } from "@gencode/shared";
6
6
 
7
7
  //#region src/loop-detection/tool-loop-detection.d.ts
8
8
  type ToolLoopDetectionConfig = {
@@ -151,7 +151,8 @@ type AgentRunParamsBase = {
151
151
  resolution: HitlResolution;
152
152
  checkpoint: HitlCheckpoint;
153
153
  toolContext?: HitlToolContext$1;
154
- }; /** Tool-loop detection guardrails (disabled by default) */
154
+ }; /** UI tool resume state injected when the user submits a UI tool form. */
155
+ uiToolResume?: UiToolResult; /** Tool-loop detection guardrails (disabled by default) */
155
156
  loopDetection?: ToolLoopDetectionConfig; /** Plugin system options (optional) */
156
157
  plugins?: {
157
158
  /** Plugin config structure (allow/deny/entries/slots/load.paths) */config?: PluginsConfig; /** Data dir used to resolve .aimax extensions */
@@ -198,6 +199,12 @@ type AgentRunResult = RunResultPayload$1 & {
198
199
  requestId: string;
199
200
  kind: _gencode_shared0.HitlKind;
200
201
  title: string;
202
+ }; /** Present when the run was paused for a UI tool awaiting user input. */
203
+ uiToolPending?: {
204
+ requestId: string;
205
+ toolName: string;
206
+ toolCallId: string;
207
+ schema: _gencode_shared0.UiToolSchema;
201
208
  };
202
209
  };
203
210
  /** HTTP callback body formats */
@@ -1638,9 +1645,11 @@ type ClarifyResult = {
1638
1645
  * Creates the `clarify` tool that the agent can call to ask the user a question.
1639
1646
  *
1640
1647
  * @param sessionId - Current session ID for the HITL request.
1641
- * @param turnId - Current turn ID for checkpoint tracking.
1648
+ * @param hitlResume - When present, contains the user's resolution for a
1649
+ * previously paused clarify request. The tool returns the
1650
+ * user's answer instead of throwing again.
1642
1651
  */
1643
- declare function createClarifyTool(sessionId: string): AgentTool<typeof clarifySchema, ClarifyResult>;
1652
+ declare function createClarifyTool(sessionId: string, hitlResume?: AgentRunParams["hitlResume"]): AgentTool<typeof clarifySchema, ClarifyResult>;
1644
1653
  //#endregion
1645
1654
  //#region src/tools/request-approval.d.ts
1646
1655
  declare const approvalSchema: TObject<{
@@ -1674,9 +1683,72 @@ type ReviewResult = {
1674
1683
  * Creates the `request_review` tool.
1675
1684
  *
1676
1685
  * @param sessionId - Current session ID.
1677
- * @param turnId - Current turn ID for checkpoint tracking.
1686
+ * @param hitlResume - When present, contains the user's resolution for a
1687
+ * previously paused review request. The tool returns the
1688
+ * reviewer's verdict instead of throwing again.
1689
+ */
1690
+ declare function createRequestReviewTool(sessionId: string, hitlResume?: AgentRunParams["hitlResume"]): AgentTool<typeof reviewSchema, ReviewResult>;
1691
+ //#endregion
1692
+ //#region src/tools/ui-tool.d.ts
1693
+ type UiToolOptions = {
1694
+ /** Unique tool name (must be valid identifier, e.g. "collect_feedback"). */name: string; /** Human-readable label shown in tool listings. */
1695
+ label: string; /** Description used in the LLM system prompt. */
1696
+ description: string; /** Current session ID. */
1697
+ sessionId: string; /** The UI form schema that the front-end should render. */
1698
+ schema: UiToolSchema;
1699
+ /**
1700
+ * Optional custom validator. Called after built-in schema validation passes.
1701
+ * Return `{ valid: true }` to accept, or `{ valid: false, errors: [...] }`
1702
+ * to reject.
1703
+ */
1704
+ validate?: (values: Record<string, unknown>) => UiToolValidationResult | Promise<UiToolValidationResult>;
1705
+ /**
1706
+ * Optional resume state. When the CLI re-invokes the agent with a
1707
+ * `uiToolResume`, this field is populated so the tool can return the
1708
+ * user's values instead of throwing a pause signal.
1709
+ */
1710
+ resume?: UiToolResult;
1711
+ };
1712
+ /**
1713
+ * The LLM sees a thin schema: `reason` explains why input is needed.
1714
+ * The actual form fields are defined in UiToolSchema and are NOT exposed
1715
+ * to the LLM — they are only used by the front-end renderer.
1716
+ */
1717
+ declare const uiToolLlmSchema: TObject<{
1718
+ reason: TString;
1719
+ }>;
1720
+ /**
1721
+ * Creates a UI tool that pauses the agent for front-end input collection.
1722
+ */
1723
+ declare function createUiTool(options: UiToolOptions): AgentTool<typeof uiToolLlmSchema>;
1724
+ //#endregion
1725
+ //#region src/tools/ui-tool-signal.d.ts
1726
+ declare class UiToolPauseSignal extends Error {
1727
+ /** The original tool arguments from the LLM. */
1728
+ readonly toolArgs: Record<string, unknown>;
1729
+ /** Discriminator to reliably identify the signal in catch blocks. */
1730
+ readonly isUiToolPause: true;
1731
+ /** The fully formed request to emit through events. */
1732
+ readonly request: UiToolRequest;
1733
+ constructor(/** Unique request identifier. */
1734
+
1735
+ requestId: string, /** Session identifier. */
1736
+
1737
+ sessionId: string, /** The tool name that produced this signal. */
1738
+
1739
+ toolName: string, /** The LLM-generated tool call ID. */
1740
+
1741
+ toolCallId: string, /** The UI form schema. */
1742
+
1743
+ schema: UiToolSchema, /** The original tool arguments from the LLM. */
1744
+
1745
+ toolArgs: Record<string, unknown>);
1746
+ }
1747
+ /**
1748
+ * Type-guard that checks if an unknown error is a UiToolPauseSignal.
1749
+ * Handles both `instanceof` and duck-typing for cross-module boundaries.
1678
1750
  */
1679
- declare function createRequestReviewTool(sessionId: string): AgentTool<typeof reviewSchema, ReviewResult>;
1751
+ declare function isUiToolPauseSignal(error: unknown): error is UiToolPauseSignal;
1680
1752
  //#endregion
1681
1753
  //#region src/tools/index.d.ts
1682
1754
  /** Optional context for enabling subagent tools */
@@ -1703,6 +1775,13 @@ type SubagentToolsContext = {
1703
1775
  */
1704
1776
  declare function createAgentTools(dataDir: string, ctx?: SubagentToolsContext): AgentTool[];
1705
1777
  //#endregion
1778
+ //#region src/tools/ui-tool-session-store.d.ts
1779
+ declare function pendingUiToolPath(dataDir: string, sessionId: string, options?: SessionPathOptions): string;
1780
+ declare function readPendingUiTool(dataDir: string, sessionId: string, options?: SessionPathOptions): Promise<UiToolPausedState | null>;
1781
+ declare function createPendingUiTool(dataDir: string, sessionId: string, request: UiToolRequest, options?: SessionPathOptions): Promise<UiToolPausedState>;
1782
+ declare function resolvePendingUiTool(dataDir: string, sessionId: string, requestId: string, result: UiToolResult, options?: SessionPathOptions): Promise<UiToolPausedState | null>;
1783
+ declare function clearPendingUiTool(dataDir: string, sessionId: string, options?: SessionPathOptions): Promise<void>;
1784
+ //#endregion
1706
1785
  //#region src/subagent/registry-persist.d.ts
1707
1786
  /** Persistable subagent run record (without AbortController) */
1708
1787
  type PersistedSubagentRunRecord = Omit<SubagentRunRecord, "abortController"> & {
@@ -1758,12 +1837,51 @@ type RegisteredPluginTool = {
1758
1837
  optional: boolean;
1759
1838
  names: string[];
1760
1839
  };
1840
+ /**
1841
+ * Simplified descriptor for registering a UI tool from a plugin.
1842
+ *
1843
+ * Plugin authors only need to provide the form schema and basic metadata.
1844
+ * The framework handles session binding, pause/resume control flow, and
1845
+ * result validation automatically.
1846
+ */
1847
+ type PluginUiToolDescriptor = {
1848
+ /** Unique tool name (must be a valid identifier, e.g. "collect_feedback"). */name: string; /** Human-readable label shown in tool listings. */
1849
+ label: string; /** Description used in the LLM system prompt. */
1850
+ description: string; /** The UI form schema that the front-end should render. */
1851
+ schema: UiToolSchema;
1852
+ /**
1853
+ * Optional custom validator. Called after built-in schema validation passes.
1854
+ * Return `{ valid: true }` to accept, or `{ valid: false, errors: [...] }`
1855
+ * to reject.
1856
+ */
1857
+ validate?: (values: Record<string, unknown>) => UiToolValidationResult | Promise<UiToolValidationResult>;
1858
+ };
1859
+ type PluginUiToolOptions = {
1860
+ optional?: boolean;
1861
+ };
1862
+ type RegisteredPluginUiTool = {
1863
+ pluginId: string;
1864
+ descriptor: PluginUiToolDescriptor;
1865
+ optional: boolean;
1866
+ };
1761
1867
  declare class PluginToolRegistry {
1762
1868
  private readonly tools;
1869
+ private readonly uiTools;
1763
1870
  register(pluginId: string, tool: AgentTool, opts?: PluginToolOptions): void;
1871
+ /**
1872
+ * Register a UI tool descriptor. The actual `AgentTool` is created lazily
1873
+ * at runtime via {@link resolveUiTools} once the session context is known.
1874
+ */
1875
+ registerUiTool(pluginId: string, descriptor: PluginUiToolDescriptor, opts?: PluginUiToolOptions): void;
1764
1876
  list(): RegisteredPluginTool[];
1877
+ listUiTools(): RegisteredPluginUiTool[];
1765
1878
  namesForPlugin(pluginId: string): string[];
1766
1879
  resolveEnabled(allowlist?: string[]): AgentTool[];
1880
+ /**
1881
+ * Materialise registered UI tool descriptors into real `AgentTool` instances
1882
+ * by binding session-level context that is unavailable at plugin load time.
1883
+ */
1884
+ resolveUiTools(sessionId: string, resume?: UiToolResult, allowlist?: string[]): AgentTool[];
1767
1885
  }
1768
1886
  //#endregion
1769
1887
  //#region src/plugins/runtime.d.ts
@@ -1866,6 +1984,15 @@ type PluginApi = {
1866
1984
  chat: (params: LlmChatParams) => Promise<LlmChatResult>;
1867
1985
  };
1868
1986
  registerTool: (tool: Parameters<PluginToolRegistry["register"]>[1], opts?: Parameters<PluginToolRegistry["register"]>[2]) => void;
1987
+ /**
1988
+ * Register a UI tool that pauses the agent and collects structured user
1989
+ * input through a front-end form.
1990
+ *
1991
+ * Unlike `registerTool`, the plugin only provides the form schema and
1992
+ * metadata — session binding, pause/resume control flow, and result
1993
+ * validation are handled automatically by the framework.
1994
+ */
1995
+ registerUiTool: (descriptor: PluginUiToolDescriptor, opts?: PluginUiToolOptions) => void;
1869
1996
  registerEmbeddingProvider: (params: {
1870
1997
  id?: string;
1871
1998
  create: EmbeddingProviderFactory;
@@ -1939,6 +2066,18 @@ declare class HitlPauseSignal extends Error {
1939
2066
  readonly checkpoint: HitlCheckpoint$1;
1940
2067
  /** Optional tool call context. */
1941
2068
  readonly toolContext?: HitlToolContext;
2069
+ /**
2070
+ * When `true`, this pause is a transparent safety gate (e.g. exec approval
2071
+ * for `rm -rf`). Transparent pauses do NOT leave entries in the transcript
2072
+ * — the tool's real result is recorded only after the user approves and
2073
+ * the tool re-executes.
2074
+ *
2075
+ * When `false` (default), the pause IS the interaction record (e.g.
2076
+ * clarify, request_approval, request_review, and plugin-provided HITL
2077
+ * tools). Plugin tools should leave this as `false` so their tool-call /
2078
+ * tool-result pairs are persisted normally in the transcript.
2079
+ */
2080
+ readonly transparentPause: boolean;
1942
2081
  /** Discriminator to reliably identify the signal in catch blocks. */
1943
2082
  readonly isHitlPause: true;
1944
2083
  constructor(/** The HITL request to present to the user. */
@@ -1947,7 +2086,20 @@ declare class HitlPauseSignal extends Error {
1947
2086
 
1948
2087
  checkpoint: HitlCheckpoint$1, /** Optional tool call context. */
1949
2088
 
1950
- toolContext?: HitlToolContext);
2089
+ toolContext?: HitlToolContext,
2090
+ /**
2091
+ * When `true`, this pause is a transparent safety gate (e.g. exec approval
2092
+ * for `rm -rf`). Transparent pauses do NOT leave entries in the transcript
2093
+ * — the tool's real result is recorded only after the user approves and
2094
+ * the tool re-executes.
2095
+ *
2096
+ * When `false` (default), the pause IS the interaction record (e.g.
2097
+ * clarify, request_approval, request_review, and plugin-provided HITL
2098
+ * tools). Plugin tools should leave this as `false` so their tool-call /
2099
+ * tool-result pairs are persisted normally in the transcript.
2100
+ */
2101
+
2102
+ transparentPause?: boolean);
1951
2103
  }
1952
2104
  /**
1953
2105
  * Type-guard that checks if an unknown error is a HitlPauseSignal.
@@ -2051,6 +2203,18 @@ declare const HITL_MESSAGES: {
2051
2203
  };
2052
2204
  };
2053
2205
  declare function approvalSummaryFromResolution(resolution: HitlResolution): string;
2206
+ /**
2207
+ * Formats a clarify resolution into a JSON string suitable for the tool
2208
+ * result content in the transcript. The model sees this as the clarify
2209
+ * tool's return value — i.e. the user's answer.
2210
+ */
2211
+ declare function formatClarifyResolution(resolution: HitlResolution): string;
2212
+ /**
2213
+ * Formats a review resolution into a JSON string suitable for the tool
2214
+ * result content in the transcript. The model sees this as the
2215
+ * request_review tool's return value — i.e. the reviewer's verdict.
2216
+ */
2217
+ declare function formatReviewResolution(resolution: HitlResolution): string;
2054
2218
  declare function buildResumeNarration(resolution: HitlResolution, kind: string): string;
2055
2219
  //#endregion
2056
- export { AgentBinding, AgentConfig, type AgentCustomProgressEvent, AgentModelConfig, type AgentProgressEvent, type AgentRunParams, type AgentRunResult, AgentsConfig, BOOTSTRAP_FILE_NAMES, BOOTSTRAP_MAX_CHARS, BOOTSTRAP_TOTAL_MAX_CHARS, type BootstrapContextFile, type BootstrapEnsureResult, type BootstrapFile, type BootstrapMountResult, type BootstrapMountStatus, type CallbackEventPayload, type CallbackPayload, type Channel, type ContextManager, DEFAULT_SESSION_STORE_NAME, type EmbeddingProvider, type EmbeddingProviderContext, type EmbeddingProviderFactory, type EmbeddingProviderRegistration, HITL_MESSAGES, type HitlPauseContext, HitlPauseSignal, type HitlToolContext, MAX_CHILDREN_PER_SESSION, MAX_SUBAGENT_DEPTH, type MemoryCallOptions, type MemoryChangeSource, type MemoryChangedEvent, type MemoryChangedHandler, MemoryIndexManager, type MemoryProvider, type MemoryProviderContext, type MemoryProviderFactory, type MemoryProviderRegistration, type MemoryProviderStatus, type MemorySearchOptions, type MemorySearchResult, type NormalizedPluginsConfig, PLUGIN_MANIFEST_FILENAME, PLUGIN_MANIFEST_FILENAMES, type PersistedSubagentRunRecord, type PersistedToolResult, type PluginApi, type PluginCandidate, type PluginConfigUiHint, type PluginCustomProgressInput, type PluginDiagnostic, type PluginDiscoveryOptions, type PluginDiscoveryResult, type PluginEntryConfig, type PluginExecutionRuntime, type PluginHookAfterCompactionEvent, type PluginHookAfterPromptBuildEvent, type PluginHookAfterToolCallEvent, type PluginHookAgentContext, type PluginHookAgentEndEvent, type PluginHookAssistantMessageEndEvent, type PluginHookBeforeCompactionEvent, type PluginHookBeforeModelResolveEvent, type PluginHookBeforeModelResolveResult, type PluginHookBeforePromptBuildEvent, type PluginHookBeforePromptBuildResult, type PluginHookBeforeToolCallEvent, type PluginHookBeforeToolCallResult, type PluginHookHandlerMap, type PluginHookLlmInputEvent, type PluginHookLlmOutputEvent, type PluginHookMemoryChangedEvent, type PluginHookName, PluginHookRegistry, type PluginHookSessionEndEvent, type PluginHookSessionResetEvent, type PluginHookSessionStartEvent, type PluginKind, type PluginManifest, type PluginManifestLoadResult, type PluginManifestRegistry, type PluginOrigin, type PluginProgressEmitter, type PluginRecord, type PluginRegistry, type PluginRuntime, type PluginRuntimeContext, type PluginSystem, type PluginSystemOptions, type PluginToolOptions, PluginToolRegistry, type PluginsConfig, type PluginsConfigValidationResult, type RegisteredPluginTool, type ResumeOptions, type ResumeValidationResult, type RunResultPayload, type SessionContextStore, type SessionExport, type SessionInspection, type SessionMetadata, type SessionMetadataUpdate, type SessionSummary, type Skill, type SlashCommandList, type SubagentContext, SubagentRegistry, type SubagentRunRecord, type SubagentStatus, type SubagentToolsContext, type SystemPromptParams, type ToolLoopDetectionConfig, type TranscriptEntry, addAgent, addBinding, aimaxDir, appendToMemory, appendTranscriptEntry, approvalSummaryFromResolution, bootstrapMountLayout, buildBootstrapContextFiles, buildResumeNarration, buildSkillsPrompt, buildSubagentAnnounceMessage, buildSystemPrompt, cleanupOldSubagentRecords, clearPendingHitl, collapseLogPath, contextSnapshotPath, createAgentTools, createApplyPatchTool, createBashTool, createBuiltinMemoryProvider, createClarifyTool, createContextManager, createEditFileTool, createExecTool, createImageTool, createListDirTool, createMemoryAppendTool, createMemoryGetTool, createMemorySearchTool, createPendingHitl, createPluginProgressEmitter, createPluginRuntime, createProcessTool, createReadFileTool, createRequestApprovalTool, createRequestReviewTool, createSession, createSessionContextStore, createSessionsSpawnTool, createSubagentsTool, createWriteFileTool, deleteMemoryFile, discoverAIMaxPlugins, ensureBootstrapMountLayout, ensureSession, exportSession, formatApprovalResolution, generateSessionTitle, getAgentConfig, getMemoryLines, hasBootstrapSentinel, hitlHistoryPath, initializePluginSystem, inspectBootstrapMountLayout, inspectSession, isBootstrapMountLayoutReady, isHitlPauseSignal, listAgents, listAvailableSlashCommands, listBindings, listMemoryFiles, listSessionSummaries, listSessions, listSubagentRunsFromDisk, loadAgentsConfig, loadBootstrapFiles, readPendingHitl as loadPendingHitl, readPendingHitl, loadPluginManifest, loadPluginManifestRegistry, loadPlugins, loadSessionContextSnapshot, loadSessionMetadata, loadSkills, loadSkillsFromDirs, loadSkillsWithPluginDirs, loadSubagentRegistryFromDisk, loadTranscript, memoryDir, metadataPath, normalizeAgentId, normalizePluginsConfig, normalizeSessionStoreName, pendingHitlPath, primaryMemoryPath, readHitlHistory, readMemoryFile, readPrimaryMemory, registerEmbeddingProvider, registerMemoryProvider, removeAgent, removeBindings, replaceMemoryFile, resetEmbeddingProviderRegistryForTests, resetMemoryProviderRegistryForTests, resolveAgentDir, resolveAgentIdByBinding, resolveAgentsConfigPath, resolveDefaultAgentId, resolveEmbeddingProvider, resolveHitlRequest, resolveHitlRequest as resolvePendingHitl, resolveMemoryProvider, resolveModelFallbacks, resolveModelString, resolvePluginManifestPath, rewriteTranscript, runAgent, saveAgentsConfig, saveSessionMetadata, saveSubagentRegistryToDisk, searchMemory, sessionDir, sessionMemoryPath, sessionsDir, skillsDir, toolResultsDir, transcriptPath, transitionHitlStatus, updateAgentIdentity, updateSessionMetadata, validatePluginsConfig, validateResume, wrapToolsWithHooks };
2220
+ export { AgentBinding, AgentConfig, type AgentCustomProgressEvent, AgentModelConfig, type AgentProgressEvent, type AgentRunParams, type AgentRunResult, AgentsConfig, BOOTSTRAP_FILE_NAMES, BOOTSTRAP_MAX_CHARS, BOOTSTRAP_TOTAL_MAX_CHARS, type BootstrapContextFile, type BootstrapEnsureResult, type BootstrapFile, type BootstrapMountResult, type BootstrapMountStatus, type CallbackEventPayload, type CallbackPayload, type Channel, type ContextManager, DEFAULT_SESSION_STORE_NAME, type EmbeddingProvider, type EmbeddingProviderContext, type EmbeddingProviderFactory, type EmbeddingProviderRegistration, HITL_MESSAGES, type HitlPauseContext, HitlPauseSignal, type HitlToolContext, MAX_CHILDREN_PER_SESSION, MAX_SUBAGENT_DEPTH, type MemoryCallOptions, type MemoryChangeSource, type MemoryChangedEvent, type MemoryChangedHandler, MemoryIndexManager, type MemoryProvider, type MemoryProviderContext, type MemoryProviderFactory, type MemoryProviderRegistration, type MemoryProviderStatus, type MemorySearchOptions, type MemorySearchResult, type NormalizedPluginsConfig, PLUGIN_MANIFEST_FILENAME, PLUGIN_MANIFEST_FILENAMES, type PersistedSubagentRunRecord, type PersistedToolResult, type PluginApi, type PluginCandidate, type PluginConfigUiHint, type PluginCustomProgressInput, type PluginDiagnostic, type PluginDiscoveryOptions, type PluginDiscoveryResult, type PluginEntryConfig, type PluginExecutionRuntime, type PluginHookAfterCompactionEvent, type PluginHookAfterPromptBuildEvent, type PluginHookAfterToolCallEvent, type PluginHookAgentContext, type PluginHookAgentEndEvent, type PluginHookAssistantMessageEndEvent, type PluginHookBeforeCompactionEvent, type PluginHookBeforeModelResolveEvent, type PluginHookBeforeModelResolveResult, type PluginHookBeforePromptBuildEvent, type PluginHookBeforePromptBuildResult, type PluginHookBeforeToolCallEvent, type PluginHookBeforeToolCallResult, type PluginHookHandlerMap, type PluginHookLlmInputEvent, type PluginHookLlmOutputEvent, type PluginHookMemoryChangedEvent, type PluginHookName, PluginHookRegistry, type PluginHookSessionEndEvent, type PluginHookSessionResetEvent, type PluginHookSessionStartEvent, type PluginKind, type PluginManifest, type PluginManifestLoadResult, type PluginManifestRegistry, type PluginOrigin, type PluginProgressEmitter, type PluginRecord, type PluginRegistry, type PluginRuntime, type PluginRuntimeContext, type PluginSystem, type PluginSystemOptions, type PluginToolOptions, PluginToolRegistry, type PluginUiToolDescriptor, type PluginUiToolOptions, type PluginsConfig, type PluginsConfigValidationResult, type RegisteredPluginTool, type ResumeOptions, type ResumeValidationResult, type RunResultPayload, type SessionContextStore, type SessionExport, type SessionInspection, type SessionMetadata, type SessionMetadataUpdate, type SessionSummary, type Skill, type SlashCommandList, type SubagentContext, SubagentRegistry, type SubagentRunRecord, type SubagentStatus, type SubagentToolsContext, type SystemPromptParams, type ToolLoopDetectionConfig, type TranscriptEntry, type UiToolOptions, UiToolPauseSignal, addAgent, addBinding, aimaxDir, appendToMemory, appendTranscriptEntry, approvalSummaryFromResolution, bootstrapMountLayout, buildBootstrapContextFiles, buildResumeNarration, buildSkillsPrompt, buildSubagentAnnounceMessage, buildSystemPrompt, cleanupOldSubagentRecords, clearPendingHitl, clearPendingUiTool, collapseLogPath, contextSnapshotPath, createAgentTools, createApplyPatchTool, createBashTool, createBuiltinMemoryProvider, createClarifyTool, createContextManager, createEditFileTool, createExecTool, createImageTool, createListDirTool, createMemoryAppendTool, createMemoryGetTool, createMemorySearchTool, createPendingHitl, createPendingUiTool, createPluginProgressEmitter, createPluginRuntime, createProcessTool, createReadFileTool, createRequestApprovalTool, createRequestReviewTool, createSession, createSessionContextStore, createSessionsSpawnTool, createSubagentsTool, createUiTool, createWriteFileTool, deleteMemoryFile, discoverAIMaxPlugins, ensureBootstrapMountLayout, ensureSession, exportSession, formatApprovalResolution, formatClarifyResolution, formatReviewResolution, generateSessionTitle, getAgentConfig, getMemoryLines, hasBootstrapSentinel, hitlHistoryPath, initializePluginSystem, inspectBootstrapMountLayout, inspectSession, isBootstrapMountLayoutReady, isHitlPauseSignal, isUiToolPauseSignal, listAgents, listAvailableSlashCommands, listBindings, listMemoryFiles, listSessionSummaries, listSessions, listSubagentRunsFromDisk, loadAgentsConfig, loadBootstrapFiles, readPendingHitl as loadPendingHitl, readPendingHitl, readPendingUiTool as loadPendingUiTool, readPendingUiTool, loadPluginManifest, loadPluginManifestRegistry, loadPlugins, loadSessionContextSnapshot, loadSessionMetadata, loadSkills, loadSkillsFromDirs, loadSkillsWithPluginDirs, loadSubagentRegistryFromDisk, loadTranscript, memoryDir, metadataPath, normalizeAgentId, normalizePluginsConfig, normalizeSessionStoreName, pendingHitlPath, pendingUiToolPath, primaryMemoryPath, readHitlHistory, readMemoryFile, readPrimaryMemory, registerEmbeddingProvider, registerMemoryProvider, removeAgent, removeBindings, replaceMemoryFile, resetEmbeddingProviderRegistryForTests, resetMemoryProviderRegistryForTests, resolveAgentDir, resolveAgentIdByBinding, resolveAgentsConfigPath, resolveDefaultAgentId, resolveEmbeddingProvider, resolveHitlRequest, resolveHitlRequest as resolvePendingHitl, resolveMemoryProvider, resolveModelFallbacks, resolveModelString, resolvePendingUiTool, resolvePluginManifestPath, rewriteTranscript, runAgent, saveAgentsConfig, saveSessionMetadata, saveSubagentRegistryToDisk, searchMemory, sessionDir, sessionMemoryPath, sessionsDir, skillsDir, toolResultsDir, transcriptPath, transitionHitlStatus, updateAgentIdentity, updateSessionMetadata, validatePluginsConfig, validateResume, wrapToolsWithHooks };