@clinebot/core 0.0.0 → 0.0.3

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.
Files changed (59) hide show
  1. package/README.md +7 -7
  2. package/dist/default-tools/definitions.d.ts +1 -1
  3. package/dist/default-tools/executors/index.d.ts +1 -1
  4. package/dist/default-tools/index.d.ts +2 -1
  5. package/dist/default-tools/model-tool-routing.d.ts +33 -0
  6. package/dist/default-tools/schemas.d.ts +13 -7
  7. package/dist/index.browser.d.ts +1 -0
  8. package/dist/index.browser.js +220 -0
  9. package/dist/index.d.ts +3 -0
  10. package/dist/index.js +47 -47
  11. package/dist/index.node.d.ts +36 -0
  12. package/dist/index.node.js +622 -0
  13. package/dist/providers/local-provider-service.d.ts +37 -0
  14. package/dist/session/default-session-manager.d.ts +3 -1
  15. package/dist/session/session-host.d.ts +2 -2
  16. package/dist/session/session-manager.d.ts +8 -0
  17. package/dist/session/unified-session-persistence-service.d.ts +1 -1
  18. package/dist/session/utils/helpers.d.ts +11 -0
  19. package/dist/session/utils/types.d.ts +42 -0
  20. package/dist/session/utils/usage.d.ts +9 -0
  21. package/dist/storage/provider-settings-manager.d.ts +2 -0
  22. package/dist/types/config.d.ts +8 -1
  23. package/dist/types.d.ts +1 -1
  24. package/package.json +11 -32
  25. package/src/default-tools/definitions.test.ts +130 -1
  26. package/src/default-tools/definitions.ts +7 -3
  27. package/src/default-tools/executors/editor.ts +10 -9
  28. package/src/default-tools/executors/file-read.test.ts +1 -1
  29. package/src/default-tools/executors/file-read.ts +11 -6
  30. package/src/default-tools/executors/index.ts +1 -1
  31. package/src/default-tools/index.ts +6 -1
  32. package/src/default-tools/model-tool-routing.test.ts +86 -0
  33. package/src/default-tools/model-tool-routing.ts +132 -0
  34. package/src/default-tools/schemas.ts +49 -52
  35. package/src/index.browser.ts +1 -0
  36. package/src/{server/index.ts → index.node.ts} +51 -109
  37. package/src/index.ts +41 -2
  38. package/src/input/file-indexer.ts +28 -2
  39. package/src/providers/local-provider-service.ts +591 -0
  40. package/src/runtime/runtime-builder.test.ts +69 -0
  41. package/src/runtime/runtime-builder.ts +20 -0
  42. package/src/runtime/runtime-parity.test.ts +20 -9
  43. package/src/session/default-session-manager.e2e.test.ts +11 -1
  44. package/src/session/default-session-manager.test.ts +270 -0
  45. package/src/session/default-session-manager.ts +109 -191
  46. package/src/session/index.ts +7 -2
  47. package/src/session/session-host.ts +30 -18
  48. package/src/session/session-manager.ts +11 -0
  49. package/src/session/unified-session-persistence-service.ts +11 -5
  50. package/src/session/utils/helpers.ts +148 -0
  51. package/src/session/utils/types.ts +46 -0
  52. package/src/session/utils/usage.ts +32 -0
  53. package/src/storage/provider-settings-legacy-migration.test.ts +3 -3
  54. package/src/storage/provider-settings-manager.test.ts +34 -0
  55. package/src/storage/provider-settings-manager.ts +22 -1
  56. package/src/types/config.ts +13 -0
  57. package/src/types.ts +1 -0
  58. package/dist/server/index.d.ts +0 -47
  59. package/dist/server/index.js +0 -641
@@ -0,0 +1,148 @@
1
+ import type { AgentConfig, AgentEvent, AgentResult } from "@clinebot/agents";
2
+ import type { providers as LlmsProviders } from "@clinebot/llms";
3
+ import type { SessionSource } from "../../types/common";
4
+ import type { SessionRecord } from "../../types/sessions";
5
+ import { nowIso } from "../session-artifacts";
6
+ import type { SessionRowShape } from "../session-service";
7
+ import type { StoredMessageWithMetadata } from "./types";
8
+
9
+ const WORKSPACE_CONFIGURATION_MARKER = "# Workspace Configuration";
10
+
11
+ export function extractWorkspaceMetadataFromSystemPrompt(
12
+ systemPrompt: string,
13
+ ): string | undefined {
14
+ const markerIndex = systemPrompt.lastIndexOf(WORKSPACE_CONFIGURATION_MARKER);
15
+ if (markerIndex < 0) {
16
+ return undefined;
17
+ }
18
+ const metadata = systemPrompt.slice(markerIndex).trim();
19
+ return metadata.length > 0 ? metadata : undefined;
20
+ }
21
+
22
+ export function hasRuntimeHooks(hooks: AgentConfig["hooks"]): boolean {
23
+ if (!hooks) {
24
+ return false;
25
+ }
26
+ return Object.values(hooks).some((value) => typeof value === "function");
27
+ }
28
+
29
+ export function mergeAgentExtensions(
30
+ explicitExtensions: AgentConfig["extensions"] | undefined,
31
+ loadedExtensions: AgentConfig["extensions"] | undefined,
32
+ ): AgentConfig["extensions"] {
33
+ const merged = [...(explicitExtensions ?? []), ...(loadedExtensions ?? [])];
34
+ if (merged.length === 0) {
35
+ return undefined;
36
+ }
37
+ const deduped: NonNullable<AgentConfig["extensions"]> = [];
38
+ const seenNames = new Set<string>();
39
+ for (const extension of merged) {
40
+ if (seenNames.has(extension.name)) {
41
+ continue;
42
+ }
43
+ seenNames.add(extension.name);
44
+ deduped.push(extension);
45
+ }
46
+ return deduped;
47
+ }
48
+
49
+ export function serializeAgentEvent(event: AgentEvent): string {
50
+ return JSON.stringify(event, (_key, value) => {
51
+ if (value instanceof Error) {
52
+ return {
53
+ name: value.name,
54
+ message: value.message,
55
+ stack: value.stack,
56
+ };
57
+ }
58
+ return value;
59
+ });
60
+ }
61
+
62
+ export function withLatestAssistantTurnMetadata(
63
+ messages: LlmsProviders.Message[],
64
+ result: AgentResult,
65
+ ): StoredMessageWithMetadata[] {
66
+ const next = messages.map((message) => ({
67
+ ...message,
68
+ })) as StoredMessageWithMetadata[];
69
+ const assistantIndex = [...next]
70
+ .reverse()
71
+ .findIndex((message) => message.role === "assistant");
72
+ if (assistantIndex === -1) {
73
+ return next;
74
+ }
75
+
76
+ const targetIndex = next.length - 1 - assistantIndex;
77
+ const target = next[targetIndex];
78
+ const usage = result.usage;
79
+ next[targetIndex] = {
80
+ ...target,
81
+ providerId: target.providerId ?? result.model.provider,
82
+ modelId: target.modelId ?? result.model.id,
83
+ modelInfo: target.modelInfo ?? {
84
+ id: result.model.id,
85
+ provider: result.model.provider,
86
+ },
87
+ metrics: {
88
+ ...(target.metrics ?? {}),
89
+ inputTokens: usage.inputTokens,
90
+ outputTokens: usage.outputTokens,
91
+ cacheReadTokens: usage.cacheReadTokens,
92
+ cacheWriteTokens: usage.cacheWriteTokens,
93
+ cost: usage.totalCost,
94
+ },
95
+ ts: target.ts ?? result.endedAt.getTime(),
96
+ };
97
+ return next;
98
+ }
99
+
100
+ export function toSessionRecord(row: SessionRowShape): SessionRecord {
101
+ const metadata =
102
+ typeof row.metadata_json === "string" && row.metadata_json.trim().length > 0
103
+ ? (() => {
104
+ try {
105
+ const parsed = JSON.parse(row.metadata_json) as unknown;
106
+ if (
107
+ parsed &&
108
+ typeof parsed === "object" &&
109
+ !Array.isArray(parsed)
110
+ ) {
111
+ return parsed as Record<string, unknown>;
112
+ }
113
+ } catch {
114
+ // Ignore malformed metadata payloads.
115
+ }
116
+ return undefined;
117
+ })()
118
+ : undefined;
119
+ return {
120
+ sessionId: row.session_id,
121
+ source: row.source as SessionSource,
122
+ pid: row.pid,
123
+ startedAt: row.started_at,
124
+ endedAt: row.ended_at ?? null,
125
+ exitCode: row.exit_code ?? null,
126
+ status: row.status,
127
+ interactive: row.interactive === 1,
128
+ provider: row.provider,
129
+ model: row.model,
130
+ cwd: row.cwd,
131
+ workspaceRoot: row.workspace_root,
132
+ teamName: row.team_name ?? undefined,
133
+ enableTools: row.enable_tools === 1,
134
+ enableSpawn: row.enable_spawn === 1,
135
+ enableTeams: row.enable_teams === 1,
136
+ parentSessionId: row.parent_session_id ?? undefined,
137
+ parentAgentId: row.parent_agent_id ?? undefined,
138
+ agentId: row.agent_id ?? undefined,
139
+ conversationId: row.conversation_id ?? undefined,
140
+ isSubagent: row.is_subagent === 1,
141
+ prompt: row.prompt ?? undefined,
142
+ metadata,
143
+ transcriptPath: row.transcript_path,
144
+ hookPath: row.hook_path,
145
+ messagesPath: row.messages_path ?? undefined,
146
+ updatedAt: row.updated_at ?? nowIso(),
147
+ };
148
+ }
@@ -0,0 +1,46 @@
1
+ import type { Agent } from "@clinebot/agents";
2
+ import type { providers as LlmsProviders } from "@clinebot/llms";
3
+ import type { BuiltRuntime } from "../../runtime/session-runtime";
4
+ import type { SessionSource } from "../../types/common";
5
+ import type { CoreSessionConfig } from "../../types/config";
6
+ import type { SessionAccumulatedUsage } from "../session-manager";
7
+ import type { RootSessionArtifacts } from "../session-service";
8
+
9
+ export type ActiveSession = {
10
+ sessionId: string;
11
+ config: CoreSessionConfig;
12
+ artifacts?: RootSessionArtifacts;
13
+ source: SessionSource;
14
+ startedAt: string;
15
+ pendingPrompt?: string;
16
+ runtime: BuiltRuntime;
17
+ agent: Agent;
18
+ started: boolean;
19
+ aborting: boolean;
20
+ interactive: boolean;
21
+ activeTeamRunIds: Set<string>;
22
+ pendingTeamRunUpdates: TeamRunUpdate[];
23
+ teamRunWaiters: Array<() => void>;
24
+ pluginSandboxShutdown?: () => Promise<void>;
25
+ turnUsageBaseline?: SessionAccumulatedUsage;
26
+ };
27
+
28
+ export type TeamRunUpdate = {
29
+ runId: string;
30
+ agentId: string;
31
+ taskId?: string;
32
+ status: "completed" | "failed" | "cancelled" | "interrupted";
33
+ error?: string;
34
+ iterations?: number;
35
+ };
36
+
37
+ export type StoredMessageWithMetadata = LlmsProviders.MessageWithMetadata & {
38
+ providerId?: string;
39
+ modelId?: string;
40
+ };
41
+
42
+ export type PreparedTurnInput = {
43
+ prompt: string;
44
+ userImages?: string[];
45
+ userFiles?: string[];
46
+ };
@@ -0,0 +1,32 @@
1
+ import type { SessionAccumulatedUsage } from "../session-manager";
2
+
3
+ export function createInitialAccumulatedUsage(): SessionAccumulatedUsage {
4
+ return {
5
+ inputTokens: 0,
6
+ outputTokens: 0,
7
+ cacheReadTokens: 0,
8
+ cacheWriteTokens: 0,
9
+ totalCost: 0,
10
+ };
11
+ }
12
+
13
+ export function accumulateUsageTotals(
14
+ baseline: SessionAccumulatedUsage,
15
+ usage: {
16
+ inputTokens?: number;
17
+ outputTokens?: number;
18
+ cacheReadTokens?: number;
19
+ cacheWriteTokens?: number;
20
+ totalCost?: number;
21
+ },
22
+ ): SessionAccumulatedUsage {
23
+ return {
24
+ inputTokens: baseline.inputTokens + Math.max(0, usage.inputTokens ?? 0),
25
+ outputTokens: baseline.outputTokens + Math.max(0, usage.outputTokens ?? 0),
26
+ cacheReadTokens:
27
+ baseline.cacheReadTokens + Math.max(0, usage.cacheReadTokens ?? 0),
28
+ cacheWriteTokens:
29
+ baseline.cacheWriteTokens + Math.max(0, usage.cacheWriteTokens ?? 0),
30
+ totalCost: baseline.totalCost + Math.max(0, usage.totalCost ?? 0),
31
+ };
32
+ }
@@ -19,7 +19,7 @@ describe("migrateLegacyProviderSettings", () => {
19
19
  path.join(os.tmpdir(), "core-legacy-provider-"),
20
20
  );
21
21
  tempDirs.push(tempDir);
22
- const providersPath = path.join(tempDir, "settings", "providers.json");
22
+ const providersPath = path.join(tempDir, "provider-settings.json");
23
23
  const manager = new ProviderSettingsManager({ filePath: providersPath });
24
24
 
25
25
  writeFileSync(
@@ -72,7 +72,7 @@ describe("migrateLegacyProviderSettings", () => {
72
72
  path.join(os.tmpdir(), "core-legacy-provider-"),
73
73
  );
74
74
  tempDirs.push(tempDir);
75
- const providersPath = path.join(tempDir, "settings", "providers.json");
75
+ const providersPath = path.join(tempDir, "provider-settings.json");
76
76
  const manager = new ProviderSettingsManager({ filePath: providersPath });
77
77
 
78
78
  manager.saveProviderSettings({
@@ -119,7 +119,7 @@ describe("migrateLegacyProviderSettings", () => {
119
119
  path.join(os.tmpdir(), "core-legacy-provider-"),
120
120
  );
121
121
  tempDirs.push(tempDir);
122
- const providersPath = path.join(tempDir, "settings", "providers.json");
122
+ const providersPath = path.join(tempDir, "provider-settings.json");
123
123
  const manager = new ProviderSettingsManager({ filePath: providersPath });
124
124
 
125
125
  writeFileSync(
@@ -45,6 +45,40 @@ describe("ProviderSettingsManager", () => {
45
45
  expect(reloaded.read().providers.anthropic?.tokenSource).toBe("manual");
46
46
  });
47
47
 
48
+ it("migrates legacy provider settings during manager construction", () => {
49
+ const tempDir = mkdtempSync(
50
+ path.join(os.tmpdir(), "core-provider-settings-"),
51
+ );
52
+ tempDirs.push(tempDir);
53
+ const filePath = path.join(tempDir, "settings", "providers.json");
54
+
55
+ writeFileSync(
56
+ path.join(tempDir, "globalState.json"),
57
+ JSON.stringify(
58
+ {
59
+ mode: "act",
60
+ actModeApiProvider: "anthropic",
61
+ actModeApiModelId: "claude-sonnet-4-6",
62
+ },
63
+ null,
64
+ 2,
65
+ ),
66
+ );
67
+ writeFileSync(
68
+ path.join(tempDir, "secrets.json"),
69
+ JSON.stringify({ apiKey: "legacy-key" }, null, 2),
70
+ );
71
+
72
+ const manager = new ProviderSettingsManager({ filePath, dataDir: tempDir });
73
+
74
+ expect(manager.getLastUsedProviderSettings()).toEqual({
75
+ provider: "anthropic",
76
+ model: "claude-sonnet-4-6",
77
+ apiKey: "legacy-key",
78
+ });
79
+ expect(manager.read().providers.anthropic?.tokenSource).toBe("migration");
80
+ });
81
+
48
82
  it("tracks provider-specific settings while preserving last-used provider", () => {
49
83
  const tempDir = mkdtempSync(
50
84
  path.join(os.tmpdir(), "core-provider-settings-"),
@@ -1,5 +1,5 @@
1
1
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
2
- import { dirname } from "node:path";
2
+ import { basename, dirname } from "node:path";
3
3
  import { resolveProviderSettingsPath } from "@clinebot/shared/storage";
4
4
  import {
5
5
  emptyStoredProviderSettings,
@@ -11,6 +11,7 @@ import {
11
11
  StoredProviderSettingsSchema,
12
12
  toProviderConfig,
13
13
  } from "../types/provider-settings";
14
+ import { migrateLegacyProviderSettings } from "./provider-settings-legacy-migration";
14
15
 
15
16
  function nowIso(): string {
16
17
  return new Date().toISOString();
@@ -18,6 +19,7 @@ function nowIso(): string {
18
19
 
19
20
  export interface ProviderSettingsManagerOptions {
20
21
  filePath?: string;
22
+ dataDir?: string;
21
23
  }
22
24
 
23
25
  export interface SaveProviderSettingsOptions {
@@ -25,11 +27,30 @@ export interface SaveProviderSettingsOptions {
25
27
  tokenSource?: ProviderTokenSource;
26
28
  }
27
29
 
30
+ function inferLegacyDataDir(filePath: string): string | undefined {
31
+ if (basename(filePath) !== "providers.json") {
32
+ return undefined;
33
+ }
34
+ const settingsDir = dirname(filePath);
35
+ if (basename(settingsDir) !== "settings") {
36
+ return undefined;
37
+ }
38
+ return dirname(settingsDir);
39
+ }
40
+
28
41
  export class ProviderSettingsManager {
29
42
  private readonly filePath: string;
43
+ private readonly dataDir?: string;
30
44
 
31
45
  constructor(options: ProviderSettingsManagerOptions = {}) {
32
46
  this.filePath = options.filePath ?? resolveProviderSettingsPath();
47
+ this.dataDir = options.dataDir ?? inferLegacyDataDir(this.filePath);
48
+ if (this.dataDir || !options.filePath) {
49
+ migrateLegacyProviderSettings({
50
+ providerSettingsManager: this,
51
+ dataDir: this.dataDir,
52
+ });
53
+ }
33
54
  }
34
55
 
35
56
  getFilePath(): string {
@@ -1,6 +1,8 @@
1
1
  import type {
2
2
  AgentConfig,
3
3
  AgentHooks,
4
+ ConsecutiveMistakeLimitContext,
5
+ ConsecutiveMistakeLimitDecision,
4
6
  HookErrorMode,
5
7
  TeamEvent,
6
8
  Tool,
@@ -13,6 +15,7 @@ import type {
13
15
  SessionPromptConfig,
14
16
  SessionWorkspaceConfig,
15
17
  } from "@clinebot/shared";
18
+ import type { ToolRoutingRule } from "../default-tools/model-tool-routing.js";
16
19
 
17
20
  export type CoreAgentMode = AgentMode;
18
21
 
@@ -28,6 +31,10 @@ export interface CoreModelConfig {
28
31
  * Request model-side thinking/reasoning when supported.
29
32
  */
30
33
  thinking?: boolean;
34
+ /**
35
+ * Explicit reasoning effort override for capable models.
36
+ */
37
+ reasoningEffort?: LlmsProviders.ProviderConfig["reasoningEffort"];
31
38
  }
32
39
 
33
40
  export interface CoreRuntimeFeatures {
@@ -61,4 +68,10 @@ export interface CoreSessionConfig
61
68
  pluginPaths?: string[];
62
69
  extensions?: AgentConfig["extensions"];
63
70
  onTeamEvent?: (event: TeamEvent) => void;
71
+ onConsecutiveMistakeLimitReached?: (
72
+ context: ConsecutiveMistakeLimitContext,
73
+ ) =>
74
+ | Promise<ConsecutiveMistakeLimitDecision>
75
+ | ConsecutiveMistakeLimitDecision;
76
+ toolRoutingRules?: ToolRoutingRule[];
64
77
  }
package/src/types.ts CHANGED
@@ -84,6 +84,7 @@ export type {
84
84
  } from "./session/session-host";
85
85
  export type {
86
86
  SendSessionInput,
87
+ SessionAccumulatedUsage,
87
88
  SessionManager,
88
89
  StartSessionInput,
89
90
  StartSessionResult,
@@ -1,47 +0,0 @@
1
- /**
2
- * @clinebot/core/server
3
- *
4
- * Node/runtime services for host applications (CLI, desktop runtime, servers).
5
- */
6
- export { type ClineAccountBalance, type ClineAccountOperations, type ClineAccountOrganization, type ClineAccountOrganizationBalance, type ClineAccountOrganizationUsageTransaction, type ClineAccountPaymentTransaction, ClineAccountService, type ClineAccountServiceOptions, type ClineAccountUsageTransaction, type ClineAccountUser, executeRpcClineAccountAction, isRpcClineAccountActionRequest, RpcClineAccountService, type RpcProviderActionExecutor, } from "../account";
7
- export type { AgentConfigWatcher, AgentConfigWatcherEvent, AgentYamlConfig, BuildAgentConfigOverridesOptions, CreateAgentConfigWatcherOptions, CreateInstructionWatcherOptions, CreateRulesConfigDefinitionOptions, CreateSkillsConfigDefinitionOptions, CreateUserInstructionConfigWatcherOptions, CreateWorkflowsConfigDefinitionOptions, HookConfigFileEntry, LoadAgentPluginFromPathOptions, ParseMarkdownFrontmatterResult, ParseYamlFrontmatterResult, ResolveAgentPluginPathsOptions, RuleConfig, SkillConfig, UnifiedConfigDefinition, UnifiedConfigFileCandidate, UnifiedConfigFileContext, UnifiedConfigRecord, UnifiedConfigWatcherEvent, UnifiedConfigWatcherOptions, UserInstructionConfig, UserInstructionConfigType, UserInstructionConfigWatcher, UserInstructionConfigWatcherEvent, WorkflowConfig, } from "../agents";
8
- export { createAgentConfigDefinition, createAgentConfigWatcher, createRulesConfigDefinition, createSkillsConfigDefinition, createUserInstructionConfigWatcher, createWorkflowsConfigDefinition, discoverPluginModulePaths, HOOK_CONFIG_FILE_EVENT_MAP, HOOKS_CONFIG_DIRECTORY_NAME, HookConfigFileName, listHookConfigFiles, loadAgentPluginFromPath, loadAgentPluginsFromPaths, parseAgentConfigFromYaml, parsePartialAgentConfigFromYaml, parseRuleConfigFromMarkdown, parseSkillConfigFromMarkdown, parseWorkflowConfigFromMarkdown, RULES_CONFIG_DIRECTORY_NAME, resolveAgentPluginPaths, resolveAgentTools, resolveAndLoadAgentPlugins, resolveDocumentsHooksDirectoryPath, resolveDocumentsRulesDirectoryPath, resolveDocumentsWorkflowsDirectoryPath, resolveHooksConfigSearchPaths, resolvePluginConfigSearchPaths, resolveRulesConfigSearchPaths, resolveSkillsConfigSearchPaths, resolveWorkflowsConfigSearchPaths, SKILLS_CONFIG_DIRECTORY_NAME, toHookConfigFileName, toPartialAgentConfig, UnifiedConfigFileWatcher, WORKFLOWS_CONFIG_DIRECTORY_NAME, } from "../agents";
9
- export { createOAuthClientCallbacks, type OAuthClientCallbacksOptions, } from "../auth/client";
10
- export { createClineOAuthProvider, getValidClineCredentials, loginClineOAuth, refreshClineToken, } from "../auth/cline";
11
- export { getValidOpenAICodexCredentials, isOpenAICodexTokenExpired, loginOpenAICodex, normalizeOpenAICodexCredentials, openaiCodexOAuthProvider, refreshOpenAICodexToken, } from "../auth/codex";
12
- export { createOcaOAuthProvider, createOcaRequestHeaders, DEFAULT_EXTERNAL_IDCS_CLIENT_ID, DEFAULT_EXTERNAL_IDCS_SCOPES, DEFAULT_EXTERNAL_IDCS_URL, DEFAULT_EXTERNAL_OCA_BASE_URL, DEFAULT_INTERNAL_IDCS_CLIENT_ID, DEFAULT_INTERNAL_IDCS_SCOPES, DEFAULT_INTERNAL_IDCS_URL, DEFAULT_INTERNAL_OCA_BASE_URL, generateOcaOpcRequestId, getValidOcaCredentials, loginOcaOAuth, OCI_HEADER_OPC_REQUEST_ID, refreshOcaToken, } from "../auth/oca";
13
- export { startLocalOAuthServer } from "../auth/server";
14
- export type { OAuthCredentials, OAuthLoginCallbacks, OAuthPrompt, OAuthProviderInterface, OcaClientMetadata, OcaMode, OcaOAuthConfig, OcaOAuthEnvironmentConfig, OcaOAuthProviderOptions, OcaTokenResolution, } from "../auth/types";
15
- export { ALL_DEFAULT_TOOL_NAMES, type AskQuestionExecutor, type CreateBuiltinToolsOptions, type CreateDefaultToolsOptions, createBuiltinTools, createDefaultExecutors, createDefaultTools, createDefaultToolsWithPreset, createToolPoliciesWithPreset, type DefaultExecutorsOptions, type DefaultToolName, DefaultToolNames, type DefaultToolsConfig, type ToolExecutors, type ToolPolicyPresetName, type ToolPresetName, ToolPresets, } from "../default-tools";
16
- export type { FastFileIndexOptions, MentionEnricherOptions, MentionEnrichmentResult, } from "../input";
17
- export { enrichPromptWithMentions, getFileIndex, prewarmFileIndex, } from "../input";
18
- export type { LoadMcpSettingsOptions, McpConnectionStatus, McpManager, McpManagerOptions, McpServerClient, McpServerClientFactory, McpServerRegistration, McpServerSnapshot, McpServerTransportConfig, McpSettingsFile, McpSseTransportConfig, McpStdioTransportConfig, McpStreamableHttpTransportConfig, RegisterMcpServersFromSettingsOptions, } from "../mcp";
19
- export { hasMcpSettingsFile, InMemoryMcpManager, loadMcpSettingsFile, registerMcpServersFromSettingsFile, resolveDefaultMcpSettingsPath, resolveMcpServerRegistrations, } from "../mcp";
20
- export { formatRulesForSystemPrompt, isRuleEnabled, listEnabledRulesFromWatcher, loadRulesForSystemPromptFromWatcher, } from "../runtime/rules";
21
- export { createTeamName, DefaultRuntimeBuilder, } from "../runtime/runtime-builder";
22
- export { type SandboxCallOptions, SubprocessSandbox, type SubprocessSandboxOptions, } from "../runtime/sandbox/subprocess-sandbox";
23
- export type { BuiltRuntime, RuntimeBuilder, RuntimeBuilderInput, SessionRuntime, } from "../runtime/session-runtime";
24
- export { type DesktopToolApprovalOptions, requestDesktopToolApproval, } from "../runtime/tool-approval";
25
- export type { AvailableWorkflow } from "../runtime/workflows";
26
- export { listAvailableWorkflowsFromWatcher, resolveWorkflowSlashCommandFromWatcher, } from "../runtime/workflows";
27
- export { DefaultSessionManager } from "../session/default-session-manager";
28
- export { RpcCoreSessionService } from "../session/rpc-session-service";
29
- export { deriveSubsessionStatus, makeSubSessionId, makeTeamTaskSubSessionId, sanitizeSessionToken, } from "../session/session-graph";
30
- export type { CreateSessionHostOptions, SessionHost, } from "../session/session-host";
31
- export { createSessionHost } from "../session/session-host";
32
- export type { SendSessionInput, SessionManager, StartSessionInput, StartSessionResult, } from "../session/session-manager";
33
- export type { SessionManifest } from "../session/session-manifest";
34
- export type { CreateRootSessionWithArtifactsInput, RootSessionArtifacts, } from "../session/session-service";
35
- export { CoreSessionService } from "../session/session-service";
36
- export { createSqliteRpcSessionBackend, SqliteRpcSessionBackend, type SqliteRpcSessionBackendOptions, } from "../session/sqlite-rpc-session-backend";
37
- export type { WorkspaceManager, WorkspaceManagerEvent, } from "../session/workspace-manager";
38
- export { InMemoryWorkspaceManager } from "../session/workspace-manager";
39
- export type { WorkspaceManifest } from "../session/workspace-manifest";
40
- export { buildWorkspaceMetadata, emptyWorkspaceManifest, generateWorkspaceInfo, normalizeWorkspacePath, upsertWorkspaceInfo, WorkspaceInfoSchema, WorkspaceManifestSchema, } from "../session/workspace-manifest";
41
- export { type MigrateLegacyProviderSettingsOptions, type MigrateLegacyProviderSettingsResult, migrateLegacyProviderSettings, } from "../storage/provider-settings-legacy-migration";
42
- export { ProviderSettingsManager } from "../storage/provider-settings-manager";
43
- export { SqliteSessionStore } from "../storage/sqlite-session-store";
44
- export type { SessionStatus } from "../types/common";
45
- export { SESSION_STATUSES, SessionSource } from "../types/common";
46
- export type { CoreAgentMode, CoreModelConfig, CoreRuntimeFeatures, CoreSessionConfig, } from "../types/config";
47
- export type { WorkspaceInfo } from "../types/workspace";