@clinebot/core 0.0.28 → 0.0.29
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/README.md +7 -0
- package/dist/ClineCore.d.ts +28 -2
- package/dist/ClineCore.d.ts.map +1 -1
- package/dist/account/cline-account-service.d.ts +1 -1
- package/dist/account/cline-account-service.d.ts.map +1 -1
- package/dist/account/index.d.ts +1 -1
- package/dist/account/index.d.ts.map +1 -1
- package/dist/account/types.d.ts +5 -0
- package/dist/account/types.d.ts.map +1 -1
- package/dist/auth/bounded-ttl-cache.d.ts +14 -0
- package/dist/auth/bounded-ttl-cache.d.ts.map +1 -0
- package/dist/auth/cline.d.ts +27 -2
- package/dist/auth/cline.d.ts.map +1 -1
- package/dist/auth/oca.d.ts.map +1 -1
- package/dist/chat/chat-schema.d.ts +11 -11
- package/dist/extensions/config/agent-config-loader.d.ts.map +1 -0
- package/dist/{agents → extensions/config}/agent-config-parser.d.ts +2 -2
- package/dist/extensions/config/agent-config-parser.d.ts.map +1 -0
- package/dist/{agents → extensions/config}/hooks-config-loader.d.ts +1 -1
- package/dist/extensions/config/hooks-config-loader.d.ts.map +1 -0
- package/dist/{agents → extensions/config}/index.d.ts +2 -4
- package/dist/extensions/config/index.d.ts.map +1 -0
- package/dist/{runtime/commands.d.ts → extensions/config/runtime-commands.d.ts} +2 -3
- package/dist/extensions/config/runtime-commands.d.ts.map +1 -0
- package/dist/extensions/config/unified-config-file-watcher.d.ts.map +1 -0
- package/dist/extensions/config/user-instruction-config-loader.d.ts.map +1 -0
- package/dist/extensions/context/agentic-compaction.d.ts +13 -0
- package/dist/extensions/context/agentic-compaction.d.ts.map +1 -0
- package/dist/extensions/context/basic-compaction.d.ts +9 -0
- package/dist/extensions/context/basic-compaction.d.ts.map +1 -0
- package/dist/extensions/context/compaction-shared.d.ts +60 -0
- package/dist/extensions/context/compaction-shared.d.ts.map +1 -0
- package/dist/extensions/context/compaction.d.ts +20 -0
- package/dist/extensions/context/compaction.d.ts.map +1 -0
- package/dist/extensions/index.d.ts +5 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/mcp/client.d.ts +3 -0
- package/dist/extensions/mcp/client.d.ts.map +1 -0
- package/dist/extensions/mcp/config-loader.d.ts.map +1 -0
- package/dist/extensions/mcp/index.d.ts +9 -0
- package/dist/extensions/mcp/index.d.ts.map +1 -0
- package/dist/{mcp → extensions/mcp}/manager.d.ts +1 -2
- package/dist/extensions/mcp/manager.d.ts.map +1 -0
- package/dist/extensions/mcp/name-transform.d.ts +3 -0
- package/dist/extensions/mcp/name-transform.d.ts.map +1 -0
- package/dist/extensions/mcp/policies.d.ts +15 -0
- package/dist/extensions/mcp/policies.d.ts.map +1 -0
- package/dist/extensions/mcp/tools.d.ts +4 -0
- package/dist/extensions/mcp/tools.d.ts.map +1 -0
- package/dist/{mcp → extensions/mcp}/types.d.ts +29 -1
- package/dist/extensions/mcp/types.d.ts.map +1 -0
- package/dist/{agents → extensions/plugin}/plugin-config-loader.d.ts +1 -1
- package/dist/extensions/plugin/plugin-config-loader.d.ts.map +1 -0
- package/dist/{agents → extensions/plugin}/plugin-loader.d.ts +1 -1
- package/dist/extensions/plugin/plugin-loader.d.ts.map +1 -0
- package/dist/extensions/plugin/plugin-module-import.d.ts +5 -0
- package/dist/extensions/plugin/plugin-module-import.d.ts.map +1 -0
- package/dist/{agents → extensions/plugin}/plugin-sandbox.d.ts +1 -1
- package/dist/extensions/plugin/plugin-sandbox.d.ts.map +1 -0
- package/dist/extensions/plugin-sandbox-bootstrap.js +485 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/persistent.d.ts +64 -0
- package/dist/hooks/persistent.d.ts.map +1 -0
- package/dist/hooks/subprocess-runner.d.ts +22 -0
- package/dist/hooks/subprocess-runner.d.ts.map +1 -0
- package/dist/hooks/subprocess.d.ts +189 -0
- package/dist/hooks/subprocess.d.ts.map +1 -0
- package/dist/index.d.ts +22 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +560 -447
- package/dist/prompt/default-system.d.ts +2 -0
- package/dist/prompt/default-system.d.ts.map +1 -0
- package/dist/providers/local-provider-service.d.ts +1 -1
- package/dist/providers/local-provider-service.d.ts.map +1 -1
- package/dist/runtime/checkpoint-hooks.d.ts +21 -0
- package/dist/runtime/checkpoint-hooks.d.ts.map +1 -0
- package/dist/runtime/hook-file-hooks.d.ts +1 -1
- package/dist/runtime/hook-file-hooks.d.ts.map +1 -1
- package/dist/runtime/rules.d.ts +1 -1
- package/dist/runtime/rules.d.ts.map +1 -1
- package/dist/runtime/runtime-builder.d.ts +1 -1
- package/dist/runtime/runtime-builder.d.ts.map +1 -1
- package/dist/runtime/session-runtime.d.ts +25 -5
- package/dist/runtime/session-runtime.d.ts.map +1 -1
- package/dist/runtime/subprocess-sandbox.d.ts.map +1 -0
- package/dist/runtime/team-runtime-registry.d.ts +1 -1
- package/dist/runtime/team-runtime-registry.d.ts.map +1 -1
- package/dist/runtime/tool-approval.d.ts +1 -1
- package/dist/session/default-session-manager.d.ts +4 -3
- package/dist/session/default-session-manager.d.ts.map +1 -1
- package/dist/session/file-session-service.d.ts +1 -1
- package/dist/session/file-session-service.d.ts.map +1 -1
- package/dist/session/{unified-session-persistence-service.d.ts → persistence-service.d.ts} +11 -42
- package/dist/session/persistence-service.d.ts.map +1 -0
- package/dist/session/rpc-session-service.d.ts +1 -1
- package/dist/session/rpc-session-service.d.ts.map +1 -1
- package/dist/session/session-agent-events.d.ts +1 -1
- package/dist/session/session-artifacts.d.ts.map +1 -1
- package/dist/session/session-config-builder.d.ts.map +1 -1
- package/dist/session/session-graph.d.ts +1 -1
- package/dist/session/session-graph.d.ts.map +1 -1
- package/dist/session/session-host.d.ts.map +1 -1
- package/dist/session/session-manager.d.ts +6 -5
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manifest.d.ts +1 -1
- package/dist/session/session-service.d.ts +3 -2
- package/dist/session/session-service.d.ts.map +1 -1
- package/dist/session/session-team-coordination.d.ts +2 -1
- package/dist/session/session-team-coordination.d.ts.map +1 -1
- package/dist/session/utils/helpers.d.ts +51 -3
- package/dist/session/utils/helpers.d.ts.map +1 -1
- package/dist/session/utils/types.d.ts +41 -7
- package/dist/session/utils/types.d.ts.map +1 -1
- package/dist/session/workspace-manager.d.ts +1 -2
- package/dist/session/workspace-manager.d.ts.map +1 -1
- package/dist/session/workspace-manifest.d.ts +1 -22
- package/dist/session/workspace-manifest.d.ts.map +1 -1
- package/dist/storage/file-team-store.d.ts +2 -1
- package/dist/storage/file-team-store.d.ts.map +1 -1
- package/dist/storage/sqlite-team-store.d.ts +4 -1
- package/dist/storage/sqlite-team-store.d.ts.map +1 -1
- package/dist/storage/team-store.d.ts.map +1 -1
- package/dist/team/delegated-agent.d.ts +44 -0
- package/dist/team/delegated-agent.d.ts.map +1 -0
- package/dist/team/index.d.ts +1 -0
- package/dist/team/index.d.ts.map +1 -1
- package/dist/team/multi-agent.d.ts +229 -0
- package/dist/team/multi-agent.d.ts.map +1 -0
- package/dist/team/projections.d.ts +2 -2
- package/dist/team/projections.d.ts.map +1 -1
- package/dist/team/runtime.d.ts +5 -0
- package/dist/team/runtime.d.ts.map +1 -0
- package/dist/team/spawn-agent-tool.d.ts +85 -0
- package/dist/team/spawn-agent-tool.d.ts.map +1 -0
- package/dist/team/subagent-prompts.d.ts +4 -0
- package/dist/team/subagent-prompts.d.ts.map +1 -0
- package/dist/team/team-tools.d.ts +35 -0
- package/dist/team/team-tools.d.ts.map +1 -0
- package/dist/telemetry/OpenTelemetryProvider.d.ts +11 -1
- package/dist/telemetry/OpenTelemetryProvider.d.ts.map +1 -1
- package/dist/telemetry/{LoggerTelemetryAdapter.d.ts → TelemetryLoggerSink.d.ts} +10 -4
- package/dist/telemetry/TelemetryLoggerSink.d.ts.map +1 -0
- package/dist/telemetry/TelemetryService.d.ts.map +1 -1
- package/dist/telemetry/index.js +15 -28
- package/dist/tools/definitions.d.ts +4 -3
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/index.d.ts +5 -5
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/model-tool-routing.d.ts.map +1 -1
- package/dist/tools/presets.d.ts +26 -0
- package/dist/tools/presets.d.ts.map +1 -1
- package/dist/tools/schemas.d.ts +8 -0
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/types.d.ts +23 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/types/config.d.ts +47 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/events.d.ts +1 -1
- package/dist/types/provider-settings.d.ts +1 -1
- package/dist/types/provider-settings.d.ts.map +1 -1
- package/dist/types/storage.d.ts +2 -1
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types.d.ts +7 -16
- package/dist/types.d.ts.map +1 -1
- package/package.json +15 -12
- package/src/ClineCore.test.ts +150 -0
- package/src/ClineCore.ts +114 -8
- package/src/account/cline-account-service.test.ts +84 -0
- package/src/account/cline-account-service.ts +2 -2
- package/src/account/index.ts +1 -0
- package/src/account/types.ts +6 -0
- package/src/auth/bounded-ttl-cache.test.ts +38 -0
- package/src/auth/bounded-ttl-cache.ts +53 -0
- package/src/auth/cline.test.ts +173 -36
- package/src/auth/cline.ts +395 -93
- package/src/auth/oca.test.ts +125 -0
- package/src/auth/oca.ts +17 -4
- package/src/{agents → extensions/config}/agent-config-loader.test.ts +1 -1
- package/src/{agents → extensions/config}/agent-config-parser.ts +2 -2
- package/src/{agents → extensions/config}/hooks-config-loader.ts +1 -1
- package/src/{agents → extensions/config}/index.ts +7 -11
- package/src/{runtime/commands.test.ts → extensions/config/runtime-commands.test.ts} +20 -3
- package/src/{runtime/commands.ts → extensions/config/runtime-commands.ts} +1 -8
- package/src/{agents → extensions/config}/unified-config-file-watcher.ts +15 -2
- package/src/{agents → extensions/config}/user-instruction-config-loader.test.ts +90 -2
- package/src/{agents → extensions/config}/user-instruction-config-loader.ts +126 -12
- package/src/extensions/context/agentic-compaction.ts +119 -0
- package/src/extensions/context/basic-compaction.ts +275 -0
- package/src/extensions/context/compaction-shared.ts +458 -0
- package/src/extensions/context/compaction.test.ts +477 -0
- package/src/extensions/context/compaction.ts +203 -0
- package/src/extensions/index.ts +12 -0
- package/src/extensions/mcp/client.ts +420 -0
- package/src/{mcp → extensions/mcp}/index.ts +16 -0
- package/src/{mcp → extensions/mcp}/manager.test.ts +1 -2
- package/src/{mcp → extensions/mcp}/manager.ts +3 -5
- package/src/extensions/mcp/name-transform.ts +33 -0
- package/src/extensions/mcp/policies.ts +47 -0
- package/src/extensions/mcp/tools.ts +47 -0
- package/src/{mcp → extensions/mcp}/types.ts +35 -7
- package/src/{agents → extensions/plugin}/plugin-config-loader.test.ts +18 -13
- package/src/{agents → extensions/plugin}/plugin-config-loader.ts +1 -1
- package/src/{agents → extensions/plugin}/plugin-loader.test.ts +41 -4
- package/src/extensions/plugin/plugin-loader.ts +106 -0
- package/src/extensions/plugin/plugin-module-import.ts +278 -0
- package/src/{agents → extensions/plugin}/plugin-sandbox-bootstrap.ts +30 -92
- package/src/{agents → extensions/plugin}/plugin-sandbox.test.ts +60 -3
- package/src/{agents → extensions/plugin}/plugin-sandbox.ts +146 -56
- package/src/hooks/index.ts +25 -0
- package/src/hooks/persistent.ts +661 -0
- package/src/hooks/subprocess-runner.ts +196 -0
- package/src/hooks/subprocess.ts +669 -0
- package/src/index.ts +200 -118
- package/src/prompt/default-system.ts +21 -0
- package/src/providers/local-provider-registry.ts +1 -1
- package/src/providers/local-provider-service.test.ts +23 -2
- package/src/providers/local-provider-service.ts +2 -2
- package/src/runtime/checkpoint-hooks.test.ts +167 -0
- package/src/runtime/checkpoint-hooks.ts +186 -0
- package/src/runtime/hook-file-hooks.test.ts +40 -1
- package/src/runtime/hook-file-hooks.ts +35 -16
- package/src/runtime/index.ts +4 -19
- package/src/runtime/rules.ts +4 -1
- package/src/runtime/runtime-builder.team-persistence.test.ts +3 -6
- package/src/runtime/runtime-builder.test.ts +266 -160
- package/src/runtime/runtime-builder.ts +120 -47
- package/src/runtime/runtime-parity.test.ts +22 -22
- package/src/runtime/session-runtime.ts +36 -6
- package/src/runtime/{sandbox/subprocess-sandbox.ts → subprocess-sandbox.ts} +24 -3
- package/src/runtime/team-runtime-registry.ts +1 -4
- package/src/runtime/tool-approval.ts +1 -1
- package/src/session/default-session-manager.e2e.test.ts +2 -2
- package/src/session/default-session-manager.test.ts +553 -9
- package/src/session/default-session-manager.ts +140 -46
- package/src/session/file-session-service.ts +3 -3
- package/src/session/index.ts +6 -6
- package/src/session/persistence-service.test.ts +212 -0
- package/src/session/{unified-session-persistence-service.ts → persistence-service.ts} +106 -172
- package/src/session/rpc-session-service.ts +3 -3
- package/src/session/runtime-oauth-token-manager.ts +1 -1
- package/src/session/session-agent-events.ts +1 -1
- package/src/session/session-artifacts.ts +32 -4
- package/src/session/session-config-builder.ts +22 -9
- package/src/session/session-graph.ts +1 -1
- package/src/session/session-host.ts +19 -11
- package/src/session/session-manager.ts +11 -6
- package/src/session/session-service.team-persistence.test.ts +1 -1
- package/src/session/session-service.ts +6 -9
- package/src/session/session-team-coordination.ts +7 -3
- package/src/session/session-telemetry.ts +1 -1
- package/src/session/utils/helpers.test.ts +160 -0
- package/src/session/utils/helpers.ts +289 -42
- package/src/session/utils/types.ts +47 -7
- package/src/session/workspace-manager.ts +5 -3
- package/src/session/workspace-manifest.ts +3 -49
- package/src/storage/file-team-store.ts +2 -5
- package/src/storage/provider-settings-legacy-migration.ts +2 -2
- package/src/storage/provider-settings-manager.test.ts +1 -1
- package/src/storage/sqlite-team-store.ts +212 -125
- package/src/storage/team-store.ts +1 -5
- package/src/team/delegated-agent.ts +131 -0
- package/src/team/index.ts +1 -0
- package/src/team/multi-agent.lifecycle.test.ts +201 -0
- package/src/team/multi-agent.ts +1666 -0
- package/src/team/projections.ts +2 -4
- package/src/team/runtime.ts +54 -0
- package/src/team/spawn-agent-tool.test.ts +387 -0
- package/src/team/spawn-agent-tool.ts +207 -0
- package/src/team/subagent-prompts.ts +41 -0
- package/src/team/team-tools.test.ts +802 -0
- package/src/team/team-tools.ts +792 -0
- package/src/telemetry/OpenTelemetryProvider.test.ts +25 -3
- package/src/telemetry/OpenTelemetryProvider.ts +108 -18
- package/src/telemetry/TelemetryLoggerSink.test.ts +42 -0
- package/src/telemetry/{LoggerTelemetryAdapter.ts → TelemetryLoggerSink.ts} +21 -14
- package/src/telemetry/TelemetryService.test.ts +7 -7
- package/src/telemetry/TelemetryService.ts +2 -4
- package/src/tools/definitions.test.ts +76 -0
- package/src/tools/definitions.ts +41 -2
- package/src/tools/executors/apply-patch.ts +1 -1
- package/src/tools/executors/editor.ts +1 -1
- package/src/tools/executors/file-read.ts +1 -1
- package/src/tools/executors/search.ts +1 -1
- package/src/tools/executors/web-fetch.ts +1 -1
- package/src/tools/index.ts +6 -1
- package/src/tools/model-tool-routing.ts +2 -0
- package/src/tools/presets.test.ts +8 -0
- package/src/tools/presets.ts +40 -2
- package/src/tools/schemas.ts +19 -0
- package/src/tools/types.ts +31 -2
- package/src/types/config.ts +61 -7
- package/src/types/events.ts +1 -1
- package/src/types/index.ts +0 -1
- package/src/types/provider-settings.ts +1 -1
- package/src/types/storage.ts +2 -5
- package/src/types.ts +32 -44
- package/dist/agents/agent-config-loader.d.ts.map +0 -1
- package/dist/agents/agent-config-parser.d.ts.map +0 -1
- package/dist/agents/hooks-config-loader.d.ts.map +0 -1
- package/dist/agents/index.d.ts.map +0 -1
- package/dist/agents/plugin-config-loader.d.ts.map +0 -1
- package/dist/agents/plugin-loader.d.ts.map +0 -1
- package/dist/agents/plugin-sandbox-bootstrap.js +0 -446
- package/dist/agents/plugin-sandbox.d.ts.map +0 -1
- package/dist/agents/unified-config-file-watcher.d.ts.map +0 -1
- package/dist/agents/user-instruction-config-loader.d.ts.map +0 -1
- package/dist/mcp/config-loader.d.ts.map +0 -1
- package/dist/mcp/index.d.ts +0 -5
- package/dist/mcp/index.d.ts.map +0 -1
- package/dist/mcp/manager.d.ts.map +0 -1
- package/dist/mcp/types.d.ts.map +0 -1
- package/dist/runtime/commands.d.ts.map +0 -1
- package/dist/runtime/sandbox/subprocess-sandbox.d.ts.map +0 -1
- package/dist/runtime/skills.d.ts +0 -14
- package/dist/runtime/skills.d.ts.map +0 -1
- package/dist/runtime/workflows.d.ts +0 -14
- package/dist/runtime/workflows.d.ts.map +0 -1
- package/dist/session/unified-session-persistence-service.d.ts.map +0 -1
- package/dist/telemetry/LoggerTelemetryAdapter.d.ts.map +0 -1
- package/dist/types/workspace.d.ts +0 -8
- package/dist/types/workspace.d.ts.map +0 -1
- package/src/agents/plugin-loader.ts +0 -175
- package/src/runtime/skills.ts +0 -44
- package/src/runtime/workflows.test.ts +0 -119
- package/src/runtime/workflows.ts +0 -45
- package/src/session/unified-session-persistence-service.test.ts +0 -85
- package/src/telemetry/LoggerTelemetryAdapter.test.ts +0 -42
- package/src/types/workspace.ts +0 -7
- /package/dist/{agents → extensions/config}/agent-config-loader.d.ts +0 -0
- /package/dist/{agents → extensions/config}/unified-config-file-watcher.d.ts +0 -0
- /package/dist/{agents → extensions/config}/user-instruction-config-loader.d.ts +0 -0
- /package/dist/{mcp → extensions/mcp}/config-loader.d.ts +0 -0
- /package/dist/runtime/{sandbox/subprocess-sandbox.d.ts → subprocess-sandbox.d.ts} +0 -0
- /package/src/{agents → extensions/config}/agent-config-loader.ts +0 -0
- /package/src/{agents → extensions/config}/hooks-config-loader.test.ts +0 -0
- /package/src/{agents → extensions/config}/unified-config-file-watcher.test.ts +0 -0
- /package/src/{mcp → extensions/mcp}/config-loader.test.ts +0 -0
- /package/src/{mcp → extensions/mcp}/config-loader.ts +0 -0
package/src/index.ts
CHANGED
|
@@ -4,24 +4,19 @@
|
|
|
4
4
|
* Core contracts, shared state utilities, and Node runtime services.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
export
|
|
8
|
-
type AgentConfig,
|
|
9
|
-
type CreateMcpToolsOptions,
|
|
10
|
-
createMcpTools,
|
|
11
|
-
createTool,
|
|
12
|
-
getClineDefaultSystemPrompt,
|
|
13
|
-
type Tool,
|
|
14
|
-
type ToolApprovalRequest,
|
|
15
|
-
type ToolApprovalResult,
|
|
16
|
-
type ToolContext,
|
|
17
|
-
} from "@clinebot/agents";
|
|
18
|
-
export * as LlmsModels from "@clinebot/llms/models";
|
|
19
|
-
export * as LlmsProviders from "@clinebot/llms/providers";
|
|
7
|
+
export * as Llms from "@clinebot/llms";
|
|
20
8
|
// Shared contracts and path helpers re-exported for app consumers.
|
|
21
9
|
export type {
|
|
10
|
+
AgentConfig,
|
|
11
|
+
AgentEvent,
|
|
12
|
+
AgentExtension,
|
|
13
|
+
AgentExtensionCommand,
|
|
14
|
+
AgentHooks,
|
|
22
15
|
AgentMode,
|
|
16
|
+
AgentResult,
|
|
23
17
|
BasicLogger,
|
|
24
18
|
ConnectorHookEvent,
|
|
19
|
+
emptyWorkspaceManifest,
|
|
25
20
|
HookSessionContext,
|
|
26
21
|
ITelemetryService,
|
|
27
22
|
RpcAddProviderActionRequest,
|
|
@@ -33,6 +28,12 @@ export type {
|
|
|
33
28
|
RpcChatStartSessionRequest,
|
|
34
29
|
RpcChatTurnResult,
|
|
35
30
|
RpcClineAccountActionRequest,
|
|
31
|
+
RpcEnterpriseAuthenticateRequest,
|
|
32
|
+
RpcEnterpriseAuthenticateResponse,
|
|
33
|
+
RpcEnterpriseStatusRequest,
|
|
34
|
+
RpcEnterpriseStatusResponse,
|
|
35
|
+
RpcEnterpriseSyncRequest,
|
|
36
|
+
RpcEnterpriseSyncResponse,
|
|
36
37
|
RpcOAuthProviderId,
|
|
37
38
|
RpcProviderActionRequest,
|
|
38
39
|
RpcProviderCapability,
|
|
@@ -49,9 +50,21 @@ export type {
|
|
|
49
50
|
TelemetryPrimitive,
|
|
50
51
|
TelemetryProperties,
|
|
51
52
|
TelemetryValue,
|
|
53
|
+
Tool,
|
|
54
|
+
ToolApprovalRequest,
|
|
55
|
+
ToolApprovalResult,
|
|
56
|
+
ToolContext,
|
|
52
57
|
ToolPolicy,
|
|
58
|
+
WorkspaceInfo,
|
|
59
|
+
WorkspaceInfoSchema,
|
|
60
|
+
WorkspaceManifest,
|
|
61
|
+
WorkspaceManifestSchema,
|
|
53
62
|
} from "@clinebot/shared";
|
|
54
63
|
export {
|
|
64
|
+
ContributionRegistry,
|
|
65
|
+
createContributionRegistry,
|
|
66
|
+
createTool,
|
|
67
|
+
noopBasicLogger,
|
|
55
68
|
normalizeUserInput,
|
|
56
69
|
RPC_TEAM_LIFECYCLE_EVENT_TYPE,
|
|
57
70
|
RPC_TEAM_PROGRESS_EVENT_TYPE,
|
|
@@ -75,84 +88,20 @@ export {
|
|
|
75
88
|
isRpcClineAccountActionRequest,
|
|
76
89
|
RpcClineAccountService,
|
|
77
90
|
type RpcProviderActionExecutor,
|
|
91
|
+
type UserRemoteConfigOrganization,
|
|
78
92
|
type UserRemoteConfigResponse,
|
|
79
93
|
} from "./account";
|
|
80
|
-
export type {
|
|
81
|
-
AgentConfigWatcher,
|
|
82
|
-
AgentConfigWatcherEvent,
|
|
83
|
-
AgentYamlConfig,
|
|
84
|
-
BuildAgentConfigOverridesOptions,
|
|
85
|
-
CreateAgentConfigWatcherOptions,
|
|
86
|
-
CreateInstructionWatcherOptions,
|
|
87
|
-
CreateRulesConfigDefinitionOptions,
|
|
88
|
-
CreateSkillsConfigDefinitionOptions,
|
|
89
|
-
CreateUserInstructionConfigWatcherOptions,
|
|
90
|
-
CreateWorkflowsConfigDefinitionOptions,
|
|
91
|
-
HookConfigFileEntry,
|
|
92
|
-
LoadAgentPluginFromPathOptions,
|
|
93
|
-
ParseMarkdownFrontmatterResult,
|
|
94
|
-
ParseYamlFrontmatterResult,
|
|
95
|
-
ResolveAgentPluginPathsOptions,
|
|
96
|
-
RuleConfig,
|
|
97
|
-
SkillConfig,
|
|
98
|
-
UnifiedConfigDefinition,
|
|
99
|
-
UnifiedConfigFileCandidate,
|
|
100
|
-
UnifiedConfigFileContext,
|
|
101
|
-
UnifiedConfigRecord,
|
|
102
|
-
UnifiedConfigWatcherEvent,
|
|
103
|
-
UnifiedConfigWatcherOptions,
|
|
104
|
-
UserInstructionConfig,
|
|
105
|
-
UserInstructionConfigType,
|
|
106
|
-
UserInstructionConfigWatcher,
|
|
107
|
-
UserInstructionConfigWatcherEvent,
|
|
108
|
-
WorkflowConfig,
|
|
109
|
-
} from "./agents";
|
|
110
|
-
export {
|
|
111
|
-
createAgentConfigDefinition,
|
|
112
|
-
createAgentConfigWatcher,
|
|
113
|
-
createRulesConfigDefinition,
|
|
114
|
-
createSkillsConfigDefinition,
|
|
115
|
-
createUserInstructionConfigWatcher,
|
|
116
|
-
createWorkflowsConfigDefinition,
|
|
117
|
-
discoverPluginModulePaths,
|
|
118
|
-
HOOK_CONFIG_FILE_EVENT_MAP,
|
|
119
|
-
HOOKS_CONFIG_DIRECTORY_NAME,
|
|
120
|
-
HookConfigFileName,
|
|
121
|
-
listHookConfigFiles,
|
|
122
|
-
loadAgentPluginFromPath,
|
|
123
|
-
loadAgentPluginsFromPaths,
|
|
124
|
-
parseAgentConfigFromYaml,
|
|
125
|
-
parsePartialAgentConfigFromYaml,
|
|
126
|
-
parseRuleConfigFromMarkdown,
|
|
127
|
-
parseSkillConfigFromMarkdown,
|
|
128
|
-
parseWorkflowConfigFromMarkdown,
|
|
129
|
-
RULES_CONFIG_DIRECTORY_NAME,
|
|
130
|
-
resolveAgentPluginPaths,
|
|
131
|
-
resolveAgentTools,
|
|
132
|
-
resolveAndLoadAgentPlugins,
|
|
133
|
-
resolveDocumentsHooksDirectoryPath,
|
|
134
|
-
resolveDocumentsRulesDirectoryPath,
|
|
135
|
-
resolveDocumentsWorkflowsDirectoryPath,
|
|
136
|
-
resolveHooksConfigSearchPaths,
|
|
137
|
-
resolvePluginConfigSearchPaths,
|
|
138
|
-
resolveRulesConfigSearchPaths,
|
|
139
|
-
resolveSkillsConfigSearchPaths,
|
|
140
|
-
resolveWorkflowsConfigSearchPaths,
|
|
141
|
-
SKILLS_CONFIG_DIRECTORY_NAME,
|
|
142
|
-
toHookConfigFileName,
|
|
143
|
-
toPartialAgentConfig,
|
|
144
|
-
UnifiedConfigFileWatcher,
|
|
145
|
-
WORKFLOWS_CONFIG_DIRECTORY_NAME,
|
|
146
|
-
} from "./agents";
|
|
147
94
|
export {
|
|
148
95
|
createOAuthClientCallbacks,
|
|
149
96
|
type OAuthClientCallbacksOptions,
|
|
150
97
|
} from "./auth/client";
|
|
151
98
|
export {
|
|
99
|
+
completeClineDeviceAuth,
|
|
152
100
|
createClineOAuthProvider,
|
|
153
101
|
getValidClineCredentials,
|
|
154
102
|
loginClineOAuth,
|
|
155
103
|
refreshClineToken,
|
|
104
|
+
startClineDeviceAuth,
|
|
156
105
|
} from "./auth/cline";
|
|
157
106
|
export {
|
|
158
107
|
getValidOpenAICodexCredentials,
|
|
@@ -213,16 +162,87 @@ export {
|
|
|
213
162
|
ChatViewStateSchema,
|
|
214
163
|
} from "./chat/chat-schema";
|
|
215
164
|
export type {
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
} from "./input";
|
|
165
|
+
LoadAgentPluginFromPathOptions,
|
|
166
|
+
ResolveAgentPluginPathsOptions,
|
|
167
|
+
} from "./extensions";
|
|
220
168
|
export {
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
169
|
+
discoverPluginModulePaths,
|
|
170
|
+
loadAgentPluginFromPath,
|
|
171
|
+
loadAgentPluginsFromPaths,
|
|
172
|
+
resolveAgentPluginPaths,
|
|
173
|
+
resolveAndLoadAgentPlugins,
|
|
174
|
+
resolvePluginConfigSearchPaths,
|
|
175
|
+
} from "./extensions";
|
|
176
|
+
export type {
|
|
177
|
+
AgentConfigWatcher,
|
|
178
|
+
AgentConfigWatcherEvent,
|
|
179
|
+
AgentYamlConfig,
|
|
180
|
+
AvailableRuntimeCommand,
|
|
181
|
+
BuildAgentConfigOverridesOptions,
|
|
182
|
+
CreateAgentConfigWatcherOptions,
|
|
183
|
+
CreateInstructionWatcherOptions,
|
|
184
|
+
CreateRulesConfigDefinitionOptions,
|
|
185
|
+
CreateSkillsConfigDefinitionOptions,
|
|
186
|
+
CreateUserInstructionConfigWatcherOptions,
|
|
187
|
+
CreateWorkflowsConfigDefinitionOptions,
|
|
188
|
+
HookConfigFileEntry,
|
|
189
|
+
ParseMarkdownFrontmatterResult,
|
|
190
|
+
ParseYamlFrontmatterResult,
|
|
191
|
+
RuleConfig,
|
|
192
|
+
SkillConfig,
|
|
193
|
+
UnifiedConfigDefinition,
|
|
194
|
+
UnifiedConfigFileCandidate,
|
|
195
|
+
UnifiedConfigFileContext,
|
|
196
|
+
UnifiedConfigRecord,
|
|
197
|
+
UnifiedConfigWatcherEvent,
|
|
198
|
+
UnifiedConfigWatcherOptions,
|
|
199
|
+
UserInstructionConfig,
|
|
200
|
+
UserInstructionConfigType,
|
|
201
|
+
UserInstructionConfigWatcher,
|
|
202
|
+
UserInstructionConfigWatcherEvent,
|
|
203
|
+
WorkflowConfig,
|
|
204
|
+
} from "./extensions/config";
|
|
205
|
+
export {
|
|
206
|
+
createAgentConfigDefinition,
|
|
207
|
+
createAgentConfigWatcher,
|
|
208
|
+
createRulesConfigDefinition,
|
|
209
|
+
createSkillsConfigDefinition,
|
|
210
|
+
createUserInstructionConfigWatcher,
|
|
211
|
+
createWorkflowsConfigDefinition,
|
|
212
|
+
HOOK_CONFIG_FILE_EVENT_MAP,
|
|
213
|
+
HOOKS_CONFIG_DIRECTORY_NAME,
|
|
214
|
+
HookConfigFileName,
|
|
215
|
+
listAvailableRuntimeCommandsFromWatcher,
|
|
216
|
+
listHookConfigFiles,
|
|
217
|
+
parseAgentConfigFromYaml,
|
|
218
|
+
parsePartialAgentConfigFromYaml,
|
|
219
|
+
parseRuleConfigFromMarkdown,
|
|
220
|
+
parseSkillConfigFromMarkdown,
|
|
221
|
+
parseWorkflowConfigFromMarkdown,
|
|
222
|
+
RULES_CONFIG_DIRECTORY_NAME,
|
|
223
|
+
resolveAgentTools,
|
|
224
|
+
resolveDocumentsHooksDirectoryPath,
|
|
225
|
+
resolveDocumentsRulesDirectoryPath,
|
|
226
|
+
resolveDocumentsWorkflowsDirectoryPath,
|
|
227
|
+
resolveHooksConfigSearchPaths,
|
|
228
|
+
resolveRulesConfigSearchPaths,
|
|
229
|
+
resolveRuntimeSlashCommandFromWatcher,
|
|
230
|
+
resolveSkillsConfigSearchPaths,
|
|
231
|
+
resolveWorkflowsConfigSearchPaths,
|
|
232
|
+
SKILLS_CONFIG_DIRECTORY_NAME,
|
|
233
|
+
toHookConfigFileName,
|
|
234
|
+
toPartialAgentConfig,
|
|
235
|
+
UnifiedConfigFileWatcher,
|
|
236
|
+
WORKFLOWS_CONFIG_DIRECTORY_NAME,
|
|
237
|
+
} from "./extensions/config";
|
|
225
238
|
export {
|
|
239
|
+
type CreateDisabledMcpToolPoliciesOptions,
|
|
240
|
+
type CreateDisabledMcpToolPolicyOptions,
|
|
241
|
+
type CreateMcpToolsOptions,
|
|
242
|
+
createDefaultMcpServerClientFactory,
|
|
243
|
+
createDisabledMcpToolPolicies,
|
|
244
|
+
createDisabledMcpToolPolicy,
|
|
245
|
+
createMcpTools,
|
|
226
246
|
hasMcpSettingsFile,
|
|
227
247
|
InMemoryMcpManager,
|
|
228
248
|
type LoadMcpSettingsOptions,
|
|
@@ -239,11 +259,48 @@ export {
|
|
|
239
259
|
type McpSseTransportConfig,
|
|
240
260
|
type McpStdioTransportConfig,
|
|
241
261
|
type McpStreamableHttpTransportConfig,
|
|
262
|
+
type McpToolCallRequest,
|
|
263
|
+
type McpToolCallResult,
|
|
264
|
+
type McpToolDescriptor,
|
|
265
|
+
type McpToolNameTransform,
|
|
266
|
+
type McpToolProvider,
|
|
242
267
|
type RegisterMcpServersFromSettingsOptions,
|
|
243
268
|
registerMcpServersFromSettingsFile,
|
|
244
269
|
resolveDefaultMcpSettingsPath,
|
|
245
270
|
resolveMcpServerRegistrations,
|
|
246
|
-
} from "./mcp";
|
|
271
|
+
} from "./extensions/mcp";
|
|
272
|
+
export {
|
|
273
|
+
createPersistentSubprocessHooks,
|
|
274
|
+
createSubprocessHooks,
|
|
275
|
+
type HookEventName,
|
|
276
|
+
HookEventNameSchema,
|
|
277
|
+
type HookEventPayload,
|
|
278
|
+
HookEventPayloadSchema,
|
|
279
|
+
PersistentHookClient,
|
|
280
|
+
type PersistentHookClientOptions,
|
|
281
|
+
type PersistentSubprocessHookControl,
|
|
282
|
+
type PersistentSubprocessHooksOptions,
|
|
283
|
+
parseHookEventPayload,
|
|
284
|
+
type RunHookOptions,
|
|
285
|
+
type RunHookResult,
|
|
286
|
+
type RunSubprocessEventOptions,
|
|
287
|
+
type RunSubprocessEventResult,
|
|
288
|
+
runHook,
|
|
289
|
+
runSubprocessEvent,
|
|
290
|
+
type SubprocessHookControl,
|
|
291
|
+
type SubprocessHooksOptions,
|
|
292
|
+
} from "./hooks";
|
|
293
|
+
export type {
|
|
294
|
+
FastFileIndexOptions,
|
|
295
|
+
MentionEnricherOptions,
|
|
296
|
+
MentionEnrichmentResult,
|
|
297
|
+
} from "./input";
|
|
298
|
+
export {
|
|
299
|
+
enrichPromptWithMentions,
|
|
300
|
+
getFileIndex,
|
|
301
|
+
prewarmFileIndex,
|
|
302
|
+
} from "./input";
|
|
303
|
+
export { getClineDefaultSystemPrompt } from "./prompt/default-system";
|
|
247
304
|
export {
|
|
248
305
|
addLocalProvider,
|
|
249
306
|
type DeleteLocalProviderRequest,
|
|
@@ -259,11 +316,10 @@ export {
|
|
|
259
316
|
type UpdateLocalProviderRequest,
|
|
260
317
|
updateLocalProvider,
|
|
261
318
|
} from "./providers/local-provider-service";
|
|
262
|
-
export type {
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
} from "./runtime/commands";
|
|
319
|
+
export type {
|
|
320
|
+
CheckpointEntry,
|
|
321
|
+
CheckpointMetadata,
|
|
322
|
+
} from "./runtime/checkpoint-hooks";
|
|
267
323
|
export {
|
|
268
324
|
formatRulesForSystemPrompt,
|
|
269
325
|
isRuleEnabled,
|
|
@@ -274,31 +330,24 @@ export {
|
|
|
274
330
|
createTeamName,
|
|
275
331
|
DefaultRuntimeBuilder,
|
|
276
332
|
} from "./runtime/runtime-builder";
|
|
277
|
-
export {
|
|
278
|
-
type SandboxCallOptions,
|
|
279
|
-
SubprocessSandbox,
|
|
280
|
-
type SubprocessSandboxOptions,
|
|
281
|
-
} from "./runtime/sandbox/subprocess-sandbox";
|
|
282
333
|
export type {
|
|
283
334
|
BuiltRuntime,
|
|
284
335
|
RuntimeBuilder,
|
|
285
336
|
RuntimeBuilderInput,
|
|
286
337
|
SessionRuntime,
|
|
338
|
+
TeamToolsFactory,
|
|
339
|
+
TeamToolsFactoryOptions,
|
|
340
|
+
TeamToolsFactoryResult,
|
|
287
341
|
} from "./runtime/session-runtime";
|
|
288
|
-
export type { AvailableSkill } from "./runtime/skills";
|
|
289
342
|
export {
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
343
|
+
type SandboxCallOptions,
|
|
344
|
+
SubprocessSandbox,
|
|
345
|
+
type SubprocessSandboxOptions,
|
|
346
|
+
} from "./runtime/subprocess-sandbox";
|
|
293
347
|
export {
|
|
294
348
|
type DesktopToolApprovalOptions,
|
|
295
349
|
requestDesktopToolApproval,
|
|
296
350
|
} from "./runtime/tool-approval";
|
|
297
|
-
export type { AvailableWorkflow } from "./runtime/workflows";
|
|
298
|
-
export {
|
|
299
|
-
listAvailableWorkflowsFromWatcher,
|
|
300
|
-
resolveWorkflowSlashCommandFromWatcher,
|
|
301
|
-
} from "./runtime/workflows";
|
|
302
351
|
export { DefaultSessionManager } from "./session/default-session-manager";
|
|
303
352
|
export {
|
|
304
353
|
clearRpcDiscoveryIfAddressMatches,
|
|
@@ -365,15 +414,10 @@ export type {
|
|
|
365
414
|
WorkspaceManagerEvent,
|
|
366
415
|
} from "./session/workspace-manager";
|
|
367
416
|
export { InMemoryWorkspaceManager } from "./session/workspace-manager";
|
|
368
|
-
export type { WorkspaceManifest } from "./session/workspace-manifest";
|
|
369
417
|
export {
|
|
370
418
|
buildWorkspaceMetadata,
|
|
371
|
-
emptyWorkspaceManifest,
|
|
372
419
|
generateWorkspaceInfo,
|
|
373
420
|
normalizeWorkspacePath,
|
|
374
|
-
upsertWorkspaceInfo,
|
|
375
|
-
WorkspaceInfoSchema,
|
|
376
|
-
WorkspaceManifestSchema,
|
|
377
421
|
} from "./session/workspace-manifest";
|
|
378
422
|
export {
|
|
379
423
|
type MigrateLegacyProviderSettingsOptions,
|
|
@@ -387,7 +431,33 @@ export {
|
|
|
387
431
|
type SqliteTeamStoreOptions,
|
|
388
432
|
} from "./storage/team-store";
|
|
389
433
|
export {
|
|
434
|
+
type AgentTask,
|
|
435
|
+
AgentTeam,
|
|
436
|
+
AgentTeamsRuntime,
|
|
437
|
+
type AgentTeamsRuntimeOptions,
|
|
438
|
+
type BootstrapAgentTeamsOptions,
|
|
439
|
+
type BootstrapAgentTeamsResult,
|
|
440
|
+
bootstrapAgentTeams,
|
|
441
|
+
buildDelegatedAgentConfig,
|
|
390
442
|
buildTeamProgressSummary,
|
|
443
|
+
type CreateAgentTeamsToolsOptions,
|
|
444
|
+
createAgentTeamsTools,
|
|
445
|
+
createDelegatedAgent,
|
|
446
|
+
createDelegatedAgentConfigProvider,
|
|
447
|
+
createSpawnAgentTool,
|
|
448
|
+
type DelegatedAgentConfigProvider,
|
|
449
|
+
type DelegatedAgentConnectionConfig,
|
|
450
|
+
type DelegatedAgentKind,
|
|
451
|
+
type DelegatedAgentRuntimeConfig,
|
|
452
|
+
reviveTeamStateDates,
|
|
453
|
+
type SpawnTeammateOptions,
|
|
454
|
+
type SubAgentEndContext,
|
|
455
|
+
type SubAgentStartContext,
|
|
456
|
+
sanitizeTeamName,
|
|
457
|
+
type TaskResult,
|
|
458
|
+
type TeamEvent,
|
|
459
|
+
type TeamMemberConfig,
|
|
460
|
+
type TeamTeammateRuntimeConfig,
|
|
391
461
|
toTeamProgressLifecycleEvent,
|
|
392
462
|
} from "./team";
|
|
393
463
|
export type {
|
|
@@ -421,13 +491,21 @@ export {
|
|
|
421
491
|
} from "./telemetry/core-events";
|
|
422
492
|
export type { ITelemetryAdapter } from "./telemetry/ITelemetryAdapter";
|
|
423
493
|
export {
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
494
|
+
type CreateOpenTelemetryTelemetryServiceOptions,
|
|
495
|
+
createConfiguredTelemetryService,
|
|
496
|
+
createOpenTelemetryTelemetryService,
|
|
497
|
+
OpenTelemetryProvider,
|
|
498
|
+
type OpenTelemetryProviderOptions,
|
|
499
|
+
} from "./telemetry/OpenTelemetryProvider";
|
|
500
|
+
export {
|
|
501
|
+
TelemetryLoggerSink,
|
|
502
|
+
type TelemetryLoggerSinkOptions,
|
|
503
|
+
} from "./telemetry/TelemetryLoggerSink";
|
|
427
504
|
export { CORE_BUILD_VERSION } from "./version";
|
|
428
505
|
export async function loadOpenTelemetryAdapter() {
|
|
429
506
|
return import("./telemetry/index.js");
|
|
430
507
|
}
|
|
508
|
+
export { createContextCompactionPrepareTurn } from "./extensions/context/compaction";
|
|
431
509
|
export {
|
|
432
510
|
TelemetryService,
|
|
433
511
|
type TelemetryServiceOptions,
|
|
@@ -452,11 +530,16 @@ export {
|
|
|
452
530
|
ToolPresets,
|
|
453
531
|
} from "./tools";
|
|
454
532
|
// Compatibility barrel (legacy imports).
|
|
455
|
-
export type { RuntimeEnvironment
|
|
533
|
+
export type { RuntimeEnvironment } from "./types";
|
|
456
534
|
export type { SessionStatus } from "./types/common";
|
|
457
535
|
export { SESSION_STATUSES, SessionSource } from "./types/common";
|
|
458
536
|
export type {
|
|
459
537
|
CoreAgentMode,
|
|
538
|
+
CoreCompactionConfig,
|
|
539
|
+
CoreCompactionContext,
|
|
540
|
+
CoreCompactionResult,
|
|
541
|
+
CoreCompactionStrategy,
|
|
542
|
+
CoreCompactionSummarizerConfig,
|
|
460
543
|
CoreModelConfig,
|
|
461
544
|
CoreRuntimeFeatures,
|
|
462
545
|
CoreSessionConfig,
|
|
@@ -480,4 +563,3 @@ export {
|
|
|
480
563
|
} from "./types/provider-settings";
|
|
481
564
|
export type { SessionRecord, SessionRef } from "./types/sessions";
|
|
482
565
|
export type { ArtifactStore, SessionStore, TeamStore } from "./types/storage";
|
|
483
|
-
export type { WorkspaceInfo } from "./types/workspace";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { basename, resolve } from "node:path";
|
|
2
|
+
import { buildClineSystemPrompt } from "@clinebot/shared";
|
|
3
|
+
|
|
4
|
+
export function getClineDefaultSystemPrompt(
|
|
5
|
+
ide: string,
|
|
6
|
+
cwd: string,
|
|
7
|
+
providerId: string,
|
|
8
|
+
metadata = "",
|
|
9
|
+
rules = "",
|
|
10
|
+
platform = (typeof process !== "undefined" && process?.platform) || "unknown",
|
|
11
|
+
): string {
|
|
12
|
+
return buildClineSystemPrompt({
|
|
13
|
+
ide,
|
|
14
|
+
platform,
|
|
15
|
+
workspaceRoot: resolve(cwd),
|
|
16
|
+
workspaceName: basename(cwd),
|
|
17
|
+
metadata,
|
|
18
|
+
rules,
|
|
19
|
+
providerId,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
|
-
import * as LlmsModels from "@clinebot/llms
|
|
4
|
+
import * as LlmsModels from "@clinebot/llms";
|
|
5
5
|
import type { RpcProviderCapability, RpcProviderModel } from "@clinebot/shared";
|
|
6
6
|
import type { ProviderSettingsManager } from "../storage/provider-settings-manager";
|
|
7
7
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { mkdtempSync, rmSync } from "node:fs";
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
|
-
import * as LlmsModels from "@clinebot/llms
|
|
4
|
+
import * as LlmsModels from "@clinebot/llms";
|
|
5
5
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
6
6
|
import { ProviderSettingsManager } from "../storage/provider-settings-manager";
|
|
7
7
|
import {
|
|
@@ -922,6 +922,27 @@ describe("listLocalProviders", () => {
|
|
|
922
922
|
).toBe(true);
|
|
923
923
|
});
|
|
924
924
|
|
|
925
|
+
it("uses the same built-in model list for cline as vercel-ai-gateway", async () => {
|
|
926
|
+
manager.saveProviderSettings(
|
|
927
|
+
{
|
|
928
|
+
provider: "cline",
|
|
929
|
+
apiKey: "test-key",
|
|
930
|
+
baseUrl: "https://api.cline.bot/api/v1",
|
|
931
|
+
model: "anthropic/claude-sonnet-4.6",
|
|
932
|
+
},
|
|
933
|
+
{ setLastUsed: false },
|
|
934
|
+
);
|
|
935
|
+
|
|
936
|
+
const { providers } = await listLocalProviders(manager);
|
|
937
|
+
const cline = providers.find((provider) => provider.id === "cline");
|
|
938
|
+
const gateway = providers.find(
|
|
939
|
+
(provider) => provider.id === "vercel-ai-gateway",
|
|
940
|
+
);
|
|
941
|
+
|
|
942
|
+
expect(cline?.modelList?.length).toBeGreaterThan(0);
|
|
943
|
+
expect(cline?.modelList).toEqual(gateway?.modelList);
|
|
944
|
+
});
|
|
945
|
+
|
|
925
946
|
it("does not eagerly fetch LiteLLM private models while listing providers", async () => {
|
|
926
947
|
manager.saveProviderSettings(
|
|
927
948
|
{
|
|
@@ -950,7 +971,7 @@ describe("listLocalProviders", () => {
|
|
|
950
971
|
const litellm = providers.find((provider) => provider.id === "litellm");
|
|
951
972
|
|
|
952
973
|
expect(fetchMock).not.toHaveBeenCalled();
|
|
953
|
-
expect(litellm?.modelList).
|
|
974
|
+
expect(litellm?.modelList?.length).toBeGreaterThan(0);
|
|
954
975
|
expect(
|
|
955
976
|
litellm?.modelList?.some((model) => model.id === "team/private-model"),
|
|
956
977
|
).toBe(false);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as LlmsModels from "@clinebot/llms
|
|
2
|
-
import * as LlmsProviders from "@clinebot/llms
|
|
1
|
+
import * as LlmsModels from "@clinebot/llms";
|
|
2
|
+
import * as LlmsProviders from "@clinebot/llms";
|
|
3
3
|
import type {
|
|
4
4
|
RpcAddProviderActionRequest,
|
|
5
5
|
RpcOAuthProviderId,
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { execFile as execFileCallback } from "node:child_process";
|
|
2
|
+
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { promisify } from "node:util";
|
|
6
|
+
import { describe, expect, it } from "vitest";
|
|
7
|
+
import {
|
|
8
|
+
type CheckpointEntry,
|
|
9
|
+
type CheckpointMetadata,
|
|
10
|
+
createCheckpointHooks,
|
|
11
|
+
} from "./checkpoint-hooks";
|
|
12
|
+
|
|
13
|
+
const execFile = promisify(execFileCallback);
|
|
14
|
+
|
|
15
|
+
async function runGit(cwd: string, ...args: string[]): Promise<string> {
|
|
16
|
+
const result = await execFile("git", ["-C", cwd, ...args], {
|
|
17
|
+
windowsHide: true,
|
|
18
|
+
});
|
|
19
|
+
return result.stdout.trim();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
async function createGitRepo(): Promise<string> {
|
|
23
|
+
const cwd = await mkdtemp(join(tmpdir(), "core-checkpoint-"));
|
|
24
|
+
await runGit(cwd, "init");
|
|
25
|
+
await runGit(cwd, "config", "user.name", "Codex Test");
|
|
26
|
+
await runGit(cwd, "config", "user.email", "codex@example.com");
|
|
27
|
+
await writeFile(join(cwd, "note.txt"), "base\n", "utf8");
|
|
28
|
+
await runGit(cwd, "add", "note.txt");
|
|
29
|
+
await runGit(cwd, "commit", "-m", "initial");
|
|
30
|
+
return cwd;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
describe("createCheckpointHooks", () => {
|
|
34
|
+
it("creates one checkpoint at the start of each root run and appends metadata", async () => {
|
|
35
|
+
const cwd = await createGitRepo();
|
|
36
|
+
let metadata: Record<string, unknown> | undefined;
|
|
37
|
+
try {
|
|
38
|
+
const hooks = createCheckpointHooks({
|
|
39
|
+
cwd,
|
|
40
|
+
sessionId: "sess_1",
|
|
41
|
+
readSessionMetadata: async () => metadata,
|
|
42
|
+
writeSessionMetadata: async (next) => {
|
|
43
|
+
metadata = next;
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
await writeFile(join(cwd, "note.txt"), "run-one\n", "utf8");
|
|
48
|
+
await hooks.onRunStart?.({
|
|
49
|
+
agentId: "agent_1",
|
|
50
|
+
conversationId: "conv_1",
|
|
51
|
+
parentAgentId: null,
|
|
52
|
+
userMessage: "first",
|
|
53
|
+
});
|
|
54
|
+
await hooks.onBeforeAgentStart?.({
|
|
55
|
+
agentId: "agent_1",
|
|
56
|
+
conversationId: "conv_1",
|
|
57
|
+
parentAgentId: null,
|
|
58
|
+
iteration: 1,
|
|
59
|
+
systemPrompt: "system",
|
|
60
|
+
messages: [],
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
const first = metadata?.checkpoint as CheckpointMetadata;
|
|
64
|
+
expect(first.history).toHaveLength(1);
|
|
65
|
+
expect(first.latest.runCount).toBe(1);
|
|
66
|
+
expect(first.latest.ref).toMatch(/^[0-9a-f]{40}$/);
|
|
67
|
+
|
|
68
|
+
await writeFile(join(cwd, "note.txt"), "run-two\n", "utf8");
|
|
69
|
+
await hooks.onRunStart?.({
|
|
70
|
+
agentId: "agent_1",
|
|
71
|
+
conversationId: "conv_1",
|
|
72
|
+
parentAgentId: null,
|
|
73
|
+
userMessage: "second",
|
|
74
|
+
});
|
|
75
|
+
await hooks.onBeforeAgentStart?.({
|
|
76
|
+
agentId: "agent_1",
|
|
77
|
+
conversationId: "conv_1",
|
|
78
|
+
parentAgentId: null,
|
|
79
|
+
iteration: 1,
|
|
80
|
+
systemPrompt: "system",
|
|
81
|
+
messages: [],
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
const checkpoint = metadata?.checkpoint as CheckpointMetadata;
|
|
85
|
+
expect(checkpoint.latest.runCount).toBe(2);
|
|
86
|
+
expect(checkpoint.history).toHaveLength(2);
|
|
87
|
+
expect(
|
|
88
|
+
checkpoint.history.map((entry: CheckpointEntry) => entry.runCount),
|
|
89
|
+
).toEqual([1, 2]);
|
|
90
|
+
expect(checkpoint.latest.kind).toBe("stash");
|
|
91
|
+
} finally {
|
|
92
|
+
await rm(cwd, { recursive: true, force: true });
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("falls back to a commit checkpoint when the worktree is clean", async () => {
|
|
97
|
+
const cwd = await createGitRepo();
|
|
98
|
+
let metadata: Record<string, unknown> | undefined;
|
|
99
|
+
try {
|
|
100
|
+
const hooks = createCheckpointHooks({
|
|
101
|
+
cwd,
|
|
102
|
+
sessionId: "sess_clean",
|
|
103
|
+
readSessionMetadata: async () => metadata,
|
|
104
|
+
writeSessionMetadata: async (next) => {
|
|
105
|
+
metadata = next;
|
|
106
|
+
},
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
await hooks.onRunStart?.({
|
|
110
|
+
agentId: "agent_1",
|
|
111
|
+
conversationId: "conv_1",
|
|
112
|
+
parentAgentId: null,
|
|
113
|
+
userMessage: "clean",
|
|
114
|
+
});
|
|
115
|
+
await hooks.onBeforeAgentStart?.({
|
|
116
|
+
agentId: "agent_1",
|
|
117
|
+
conversationId: "conv_1",
|
|
118
|
+
parentAgentId: null,
|
|
119
|
+
iteration: 1,
|
|
120
|
+
systemPrompt: "system",
|
|
121
|
+
messages: [],
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
const checkpoint = metadata?.checkpoint as CheckpointMetadata;
|
|
125
|
+
expect(checkpoint.history).toHaveLength(1);
|
|
126
|
+
expect(checkpoint.latest.kind).toBe("commit");
|
|
127
|
+
expect(checkpoint.latest.ref).toMatch(/^[0-9a-f]{40}$/);
|
|
128
|
+
} finally {
|
|
129
|
+
await rm(cwd, { recursive: true, force: true });
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
it("skips checkpoint creation for subagents", async () => {
|
|
134
|
+
const cwd = await createGitRepo();
|
|
135
|
+
let writes = 0;
|
|
136
|
+
try {
|
|
137
|
+
const hooks = createCheckpointHooks({
|
|
138
|
+
cwd,
|
|
139
|
+
sessionId: "sess_1",
|
|
140
|
+
readSessionMetadata: async () => undefined,
|
|
141
|
+
writeSessionMetadata: async () => {
|
|
142
|
+
writes += 1;
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
|
|
146
|
+
await writeFile(join(cwd, "note.txt"), "subagent-dirty\n", "utf8");
|
|
147
|
+
await hooks.onRunStart?.({
|
|
148
|
+
agentId: "agent_child",
|
|
149
|
+
conversationId: "conv_child",
|
|
150
|
+
parentAgentId: "agent_root",
|
|
151
|
+
userMessage: "child",
|
|
152
|
+
});
|
|
153
|
+
await hooks.onBeforeAgentStart?.({
|
|
154
|
+
agentId: "agent_child",
|
|
155
|
+
conversationId: "conv_child",
|
|
156
|
+
parentAgentId: "agent_root",
|
|
157
|
+
iteration: 1,
|
|
158
|
+
systemPrompt: "system",
|
|
159
|
+
messages: [],
|
|
160
|
+
});
|
|
161
|
+
|
|
162
|
+
expect(writes).toBe(0);
|
|
163
|
+
} finally {
|
|
164
|
+
await rm(cwd, { recursive: true, force: true });
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
});
|