@clinebot/core 0.0.34 → 0.0.35
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 +12 -8
- package/dist/ClineCore.d.ts +48 -29
- package/dist/ClineCore.d.ts.map +1 -1
- package/dist/extensions/config/agent-config-loader.d.ts +2 -2
- package/dist/extensions/config/agent-config-loader.d.ts.map +1 -1
- package/dist/extensions/config/agent-config-parser.d.ts +1 -1
- package/dist/extensions/config/agent-config-parser.d.ts.map +1 -1
- package/dist/extensions/config/hooks-config-loader.d.ts +2 -2
- package/dist/extensions/config/hooks-config-loader.d.ts.map +1 -1
- package/dist/extensions/config/index.d.ts +3 -3
- package/dist/extensions/config/index.d.ts.map +1 -1
- package/dist/extensions/config/user-instruction-config-loader.d.ts +2 -2
- package/dist/extensions/config/user-instruction-config-loader.d.ts.map +1 -1
- package/dist/extensions/plugin-sandbox-bootstrap.js +248 -248
- package/dist/extensions/tools/constants.d.ts.map +1 -0
- package/dist/extensions/tools/definitions.d.ts.map +1 -0
- package/dist/extensions/tools/executors/apply-patch-parser.d.ts.map +1 -0
- package/dist/extensions/tools/executors/apply-patch.d.ts.map +1 -0
- package/dist/extensions/tools/executors/bash.d.ts.map +1 -0
- package/dist/extensions/tools/executors/editor.d.ts.map +1 -0
- package/dist/extensions/tools/executors/file-read.d.ts.map +1 -0
- package/dist/extensions/tools/executors/index.d.ts.map +1 -0
- package/dist/extensions/tools/executors/search.d.ts.map +1 -0
- package/dist/extensions/tools/executors/web-fetch.d.ts.map +1 -0
- package/dist/extensions/tools/helpers.d.ts.map +1 -0
- package/dist/extensions/tools/index.d.ts.map +1 -0
- package/dist/{tools → extensions/tools}/model-tool-routing.d.ts +1 -1
- package/dist/extensions/tools/model-tool-routing.d.ts.map +1 -0
- package/dist/{tools → extensions/tools}/presets.d.ts +1 -2
- package/dist/extensions/tools/presets.d.ts.map +1 -0
- package/dist/extensions/tools/schemas.d.ts.map +1 -0
- package/dist/extensions/tools/team/delegated-agent.d.ts.map +1 -0
- package/dist/extensions/tools/team/index.d.ts.map +1 -0
- package/dist/{team → extensions/tools/team}/multi-agent.d.ts +1 -3
- package/dist/extensions/tools/team/multi-agent.d.ts.map +1 -0
- package/dist/extensions/tools/team/projections.d.ts.map +1 -0
- package/dist/extensions/tools/team/runtime.d.ts.map +1 -0
- package/dist/{team → extensions/tools/team}/spawn-agent-tool.d.ts +0 -1
- package/dist/extensions/tools/team/spawn-agent-tool.d.ts.map +1 -0
- package/dist/extensions/tools/team/subagent-prompts.d.ts.map +1 -0
- package/dist/extensions/tools/team/team-tools.d.ts.map +1 -0
- package/dist/{tools → extensions/tools}/types.d.ts +4 -3
- package/dist/extensions/tools/types.d.ts.map +1 -0
- package/dist/{runtime → hooks}/checkpoint-hooks.d.ts +7 -0
- package/dist/hooks/checkpoint-hooks.d.ts.map +1 -0
- package/dist/{runtime → hooks}/hook-file-hooks.d.ts +0 -2
- package/dist/hooks/hook-file-hooks.d.ts.map +1 -0
- package/dist/hooks/subprocess.d.ts +3 -130
- package/dist/hooks/subprocess.d.ts.map +1 -1
- package/dist/index.d.ts +35 -33
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +381 -379
- package/dist/runtime/history.d.ts +4 -0
- package/dist/runtime/history.d.ts.map +1 -0
- package/dist/runtime/host.d.ts +9 -0
- package/dist/runtime/host.d.ts.map +1 -0
- package/dist/{session → runtime}/rpc-runtime-ensure.d.ts +13 -1
- package/dist/{session → runtime}/rpc-runtime-ensure.d.ts.map +1 -1
- package/dist/{session → runtime}/rpc-spawn-lease.d.ts.map +1 -1
- package/dist/runtime/runtime-builder.d.ts.map +1 -1
- package/dist/{session/session-manager.d.ts → runtime/runtime-host.d.ts} +55 -12
- package/dist/runtime/runtime-host.d.ts.map +1 -0
- package/dist/{session → runtime}/runtime-oauth-token-manager.d.ts +1 -1
- package/dist/{session → runtime}/runtime-oauth-token-manager.d.ts.map +1 -1
- package/dist/runtime/session-runtime.d.ts +2 -2
- package/dist/runtime/session-runtime.d.ts.map +1 -1
- package/dist/{session/session-agent-events.d.ts → services/agent-events.d.ts} +4 -4
- package/dist/services/agent-events.d.ts.map +1 -0
- package/dist/services/config.d.ts +3 -0
- package/dist/services/config.d.ts.map +1 -0
- package/dist/services/local-runtime-bootstrap.d.ts +41 -0
- package/dist/services/local-runtime-bootstrap.d.ts.map +1 -0
- package/dist/services/providers/local-provider-registry.d.ts.map +1 -0
- package/dist/services/providers/local-provider-service.d.ts.map +1 -0
- package/dist/{session → services}/session-artifacts.d.ts +0 -4
- package/dist/services/session-artifacts.d.ts.map +1 -0
- package/dist/{session/utils/helpers.d.ts → services/session-data.d.ts} +19 -27
- package/dist/services/session-data.d.ts.map +1 -0
- package/dist/{session → services}/session-telemetry.d.ts +2 -2
- package/dist/services/session-telemetry.d.ts.map +1 -0
- package/dist/{storage → services/storage}/file-team-store.d.ts +2 -2
- package/dist/services/storage/file-team-store.d.ts.map +1 -0
- package/dist/{storage → services/storage}/provider-settings-legacy-migration.d.ts +1 -1
- package/dist/services/storage/provider-settings-legacy-migration.d.ts.map +1 -0
- package/dist/{storage → services/storage}/provider-settings-manager.d.ts +1 -1
- package/dist/services/storage/provider-settings-manager.d.ts.map +1 -0
- package/dist/{storage → services/storage}/sqlite-session-store.d.ts +3 -3
- package/dist/services/storage/sqlite-session-store.d.ts.map +1 -0
- package/dist/{storage → services/storage}/sqlite-team-store.d.ts +2 -2
- package/dist/services/storage/sqlite-team-store.d.ts.map +1 -0
- package/dist/{storage → services/storage}/team-store.d.ts +1 -1
- package/dist/services/storage/team-store.d.ts.map +1 -0
- package/dist/services/telemetry/ITelemetryAdapter.d.ts.map +1 -0
- package/dist/services/telemetry/OpenTelemetryAdapter.d.ts.map +1 -0
- package/dist/services/telemetry/OpenTelemetryProvider.d.ts.map +1 -0
- package/dist/services/telemetry/TelemetryLoggerSink.d.ts.map +1 -0
- package/dist/services/telemetry/TelemetryService.d.ts.map +1 -0
- package/dist/services/telemetry/core-events.d.ts.map +1 -0
- package/dist/services/telemetry/distinct-id.d.ts.map +1 -0
- package/dist/services/telemetry/index.d.ts.map +1 -0
- package/dist/{telemetry → services/telemetry}/index.js +6 -6
- package/dist/{session/utils → services}/usage.d.ts +1 -1
- package/dist/services/usage.d.ts.map +1 -0
- package/dist/services/workspace/file-indexer.d.ts.map +1 -0
- package/dist/services/workspace/index.d.ts.map +1 -0
- package/dist/services/workspace/mention-enricher.d.ts.map +1 -0
- package/dist/services/workspace-manifest.d.ts.map +1 -0
- package/dist/session/file-session-service.d.ts +4 -1
- package/dist/session/file-session-service.d.ts.map +1 -1
- package/dist/session/persistence-service.d.ts +8 -6
- package/dist/session/persistence-service.d.ts.map +1 -1
- package/dist/session/rpc-session-service.d.ts +3 -0
- package/dist/session/rpc-session-service.d.ts.map +1 -1
- package/dist/session/session-service.d.ts +8 -9
- package/dist/session/session-service.d.ts.map +1 -1
- package/dist/session/session-team-coordination.d.ts +4 -4
- package/dist/session/session-team-coordination.d.ts.map +1 -1
- package/dist/session/sqlite-rpc-session-backend.d.ts.map +1 -1
- package/dist/{session/default-session-manager.d.ts → transports/local.d.ts} +24 -14
- package/dist/transports/local.d.ts.map +1 -0
- package/dist/transports/rpc.d.ts +51 -0
- package/dist/transports/rpc.d.ts.map +1 -0
- package/dist/transports/runtime-host-support.d.ts +21 -0
- package/dist/transports/runtime-host-support.d.ts.map +1 -0
- package/dist/types/chat-schema.d.ts.map +1 -0
- package/dist/types/config.d.ts +2 -2
- package/dist/types/config.d.ts.map +1 -1
- package/dist/{session/utils/types.d.ts → types/session.d.ts} +15 -6
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/sessions.d.ts +19 -0
- package/dist/types/sessions.d.ts.map +1 -1
- package/dist/types/storage.d.ts +1 -3
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types.d.ts +7 -6
- package/dist/types.d.ts.map +1 -1
- package/package.json +7 -12
- package/src/ClineCore.test.ts +95 -19
- package/src/ClineCore.ts +120 -50
- package/src/auth/cline.ts +1 -1
- package/src/auth/codex.ts +1 -1
- package/src/auth/oca.ts +1 -1
- package/src/extensions/config/agent-config-loader.test.ts +3 -3
- package/src/extensions/config/agent-config-loader.ts +1 -5
- package/src/extensions/config/agent-config-parser.ts +1 -1
- package/src/extensions/config/hooks-config-loader.ts +1 -2
- package/src/extensions/config/index.ts +0 -4
- package/src/extensions/config/user-instruction-config-loader.ts +0 -4
- package/src/extensions/plugin/plugin-config-loader.test.ts +6 -4
- package/src/{tools → extensions/tools}/definitions.ts +1 -1
- package/src/extensions/tools/executors/file-read.test.ts +125 -0
- package/src/{tools → extensions/tools}/executors/file-read.ts +29 -4
- package/src/{tools → extensions/tools}/executors/search.ts +1 -1
- package/src/{tools → extensions/tools}/model-tool-routing.ts +1 -1
- package/src/{tools → extensions/tools}/presets.ts +2 -3
- package/src/extensions/tools/team/multi-agent.lifecycle.test.ts +455 -0
- package/src/{team → extensions/tools/team}/multi-agent.ts +80 -17
- package/src/{team → extensions/tools/team}/spawn-agent-tool.test.ts +0 -6
- package/src/{team → extensions/tools/team}/spawn-agent-tool.ts +1 -7
- package/src/{team → extensions/tools/team}/subagent-prompts.ts +2 -2
- package/src/{team → extensions/tools/team}/team-tools.test.ts +43 -31
- package/src/{team → extensions/tools/team}/team-tools.ts +63 -53
- package/src/{tools → extensions/tools}/types.ts +5 -3
- package/src/{runtime → hooks}/checkpoint-hooks.ts +27 -0
- package/src/{runtime → hooks}/hook-file-hooks.ts +6 -11
- package/src/hooks/subprocess.ts +48 -257
- package/src/index.ts +167 -158
- package/src/runtime/history.test.ts +114 -0
- package/src/runtime/history.ts +237 -0
- package/src/runtime/host.test.ts +230 -0
- package/src/runtime/host.ts +362 -0
- package/src/runtime/rpc-runtime-ensure.test.ts +123 -0
- package/src/{session → runtime}/rpc-runtime-ensure.ts +165 -27
- package/src/{session → runtime}/rpc-spawn-lease.test.ts +33 -1
- package/src/{session → runtime}/rpc-spawn-lease.ts +54 -20
- package/src/runtime/runtime-builder.team-persistence.test.ts +6 -3
- package/src/runtime/runtime-builder.test.ts +3 -4
- package/src/runtime/runtime-builder.ts +13 -21
- package/src/runtime/runtime-host.ts +178 -0
- package/src/{session → runtime}/runtime-oauth-token-manager.ts +1 -1
- package/src/runtime/runtime-parity.test.ts +1 -1
- package/src/runtime/session-runtime.ts +2 -2
- package/src/{session/session-agent-events.ts → services/agent-events.ts} +7 -7
- package/src/services/config.ts +5 -0
- package/src/services/local-runtime-bootstrap.ts +280 -0
- package/src/{providers → services/providers}/local-provider-service.ts +4 -4
- package/src/{session → services}/session-artifacts.ts +7 -19
- package/src/{session/utils/helpers.test.ts → services/session-data.test.ts} +1 -1
- package/src/{session/utils/helpers.ts → services/session-data.ts} +76 -72
- package/src/{session → services}/session-telemetry.ts +7 -9
- package/src/services/storage/artifact-store.ts +1 -0
- package/src/{storage → services/storage}/file-team-store.ts +2 -2
- package/src/{storage → services/storage}/provider-settings-legacy-migration.test.ts +1 -1
- package/src/{storage → services/storage}/provider-settings-legacy-migration.ts +2 -2
- package/src/{storage → services/storage}/provider-settings-manager.ts +2 -2
- package/src/services/storage/session-store.ts +1 -0
- package/src/{storage → services/storage}/sqlite-session-store.ts +7 -12
- package/src/{storage → services/storage}/sqlite-team-store.ts +4 -4
- package/src/{storage → services/storage}/team-store.ts +1 -1
- package/src/{session/utils → services}/usage.ts +1 -1
- package/src/{input → services/workspace}/file-indexer.test.ts +30 -1
- package/src/{input → services/workspace}/file-indexer.ts +26 -2
- package/src/{input → services/workspace}/mention-enricher.test.ts +21 -0
- package/src/{input → services/workspace}/mention-enricher.ts +1 -1
- package/src/session/file-session-service.ts +9 -7
- package/src/session/index.ts +25 -17
- package/src/session/persistence-service.test.ts +86 -27
- package/src/session/persistence-service.ts +104 -103
- package/src/session/rpc-session-service.ts +9 -2
- package/src/session/session-service.team-persistence.test.ts +1 -1
- package/src/session/session-service.ts +32 -19
- package/src/session/session-team-coordination.ts +13 -6
- package/src/session/sqlite-rpc-session-backend.ts +4 -6
- package/src/session/workspace-manager.ts +1 -1
- package/src/{session/default-session-manager.e2e.test.ts → transports/local.e2e.test.ts} +13 -17
- package/src/{session/default-session-manager.test.ts → transports/local.test.ts} +316 -230
- package/src/{session/default-session-manager.ts → transports/local.ts} +137 -169
- package/src/transports/rpc.test.ts +82 -0
- package/src/transports/rpc.ts +665 -0
- package/src/transports/runtime-host-support.ts +86 -0
- package/src/types/config.ts +2 -2
- package/src/{session/utils/types.ts → types/session.ts} +18 -5
- package/src/types/sessions.ts +21 -0
- package/src/types/storage.ts +1 -6
- package/src/types.ts +25 -18
- package/dist/chat/chat-schema.d.ts.map +0 -1
- package/dist/input/file-indexer.d.ts.map +0 -1
- package/dist/input/index.d.ts.map +0 -1
- package/dist/input/mention-enricher.d.ts.map +0 -1
- package/dist/prompt/default-system.d.ts +0 -2
- package/dist/prompt/default-system.d.ts.map +0 -1
- package/dist/providers/local-provider-registry.d.ts.map +0 -1
- package/dist/providers/local-provider-service.d.ts.map +0 -1
- package/dist/runtime/checkpoint-hooks.d.ts.map +0 -1
- package/dist/runtime/hook-file-hooks.d.ts.map +0 -1
- package/dist/session/default-session-manager.d.ts.map +0 -1
- package/dist/session/session-agent-events.d.ts.map +0 -1
- package/dist/session/session-artifacts.d.ts.map +0 -1
- package/dist/session/session-config-builder.d.ts +0 -16
- package/dist/session/session-config-builder.d.ts.map +0 -1
- package/dist/session/session-host.d.ts +0 -15
- package/dist/session/session-host.d.ts.map +0 -1
- package/dist/session/session-manager.d.ts.map +0 -1
- package/dist/session/session-telemetry.d.ts.map +0 -1
- package/dist/session/utils/helpers.d.ts.map +0 -1
- package/dist/session/utils/types.d.ts.map +0 -1
- package/dist/session/utils/usage.d.ts.map +0 -1
- package/dist/session/workspace-manifest.d.ts.map +0 -1
- package/dist/storage/file-team-store.d.ts.map +0 -1
- package/dist/storage/provider-settings-legacy-migration.d.ts.map +0 -1
- package/dist/storage/provider-settings-manager.d.ts.map +0 -1
- package/dist/storage/sqlite-session-store.d.ts.map +0 -1
- package/dist/storage/sqlite-team-store.d.ts.map +0 -1
- package/dist/storage/team-store.d.ts.map +0 -1
- package/dist/team/delegated-agent.d.ts.map +0 -1
- package/dist/team/index.d.ts.map +0 -1
- package/dist/team/multi-agent.d.ts.map +0 -1
- package/dist/team/projections.d.ts.map +0 -1
- package/dist/team/runtime.d.ts.map +0 -1
- package/dist/team/spawn-agent-tool.d.ts.map +0 -1
- package/dist/team/subagent-prompts.d.ts.map +0 -1
- package/dist/team/team-tools.d.ts.map +0 -1
- package/dist/telemetry/ITelemetryAdapter.d.ts.map +0 -1
- package/dist/telemetry/OpenTelemetryAdapter.d.ts.map +0 -1
- package/dist/telemetry/OpenTelemetryProvider.d.ts.map +0 -1
- package/dist/telemetry/TelemetryLoggerSink.d.ts.map +0 -1
- package/dist/telemetry/TelemetryService.d.ts.map +0 -1
- package/dist/telemetry/core-events.d.ts.map +0 -1
- package/dist/telemetry/distinct-id.d.ts.map +0 -1
- package/dist/telemetry/index.d.ts.map +0 -1
- package/dist/tools/constants.d.ts.map +0 -1
- package/dist/tools/definitions.d.ts.map +0 -1
- package/dist/tools/executors/apply-patch-parser.d.ts.map +0 -1
- package/dist/tools/executors/apply-patch.d.ts.map +0 -1
- package/dist/tools/executors/bash.d.ts.map +0 -1
- package/dist/tools/executors/editor.d.ts.map +0 -1
- package/dist/tools/executors/file-read.d.ts.map +0 -1
- package/dist/tools/executors/index.d.ts.map +0 -1
- package/dist/tools/executors/search.d.ts.map +0 -1
- package/dist/tools/executors/web-fetch.d.ts.map +0 -1
- package/dist/tools/helpers.d.ts.map +0 -1
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/model-tool-routing.d.ts.map +0 -1
- package/dist/tools/presets.d.ts.map +0 -1
- package/dist/tools/schemas.d.ts.map +0 -1
- package/dist/tools/types.d.ts.map +0 -1
- package/src/prompt/default-system.ts +0 -21
- package/src/session/session-config-builder.ts +0 -172
- package/src/session/session-host.test.ts +0 -89
- package/src/session/session-host.ts +0 -213
- package/src/session/session-manager.ts +0 -74
- package/src/storage/artifact-store.ts +0 -1
- package/src/storage/session-store.ts +0 -1
- package/src/team/multi-agent.lifecycle.test.ts +0 -201
- package/src/tools/executors/file-read.test.ts +0 -49
- /package/dist/{tools → extensions/tools}/constants.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/definitions.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/apply-patch-parser.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/apply-patch.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/bash.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/editor.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/file-read.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/index.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/search.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/executors/web-fetch.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/helpers.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/index.d.ts +0 -0
- /package/dist/{tools → extensions/tools}/schemas.d.ts +0 -0
- /package/dist/{team → extensions/tools/team}/delegated-agent.d.ts +0 -0
- /package/dist/{team → extensions/tools/team}/index.d.ts +0 -0
- /package/dist/{team → extensions/tools/team}/projections.d.ts +0 -0
- /package/dist/{team → extensions/tools/team}/runtime.d.ts +0 -0
- /package/dist/{team → extensions/tools/team}/subagent-prompts.d.ts +0 -0
- /package/dist/{team → extensions/tools/team}/team-tools.d.ts +0 -0
- /package/dist/{session → runtime}/rpc-spawn-lease.d.ts +0 -0
- /package/dist/{providers → services/providers}/local-provider-registry.d.ts +0 -0
- /package/dist/{providers → services/providers}/local-provider-service.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/ITelemetryAdapter.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/OpenTelemetryAdapter.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/OpenTelemetryProvider.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/TelemetryLoggerSink.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/TelemetryService.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/core-events.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/distinct-id.d.ts +0 -0
- /package/dist/{telemetry → services/telemetry}/index.d.ts +0 -0
- /package/dist/{input → services/workspace}/file-indexer.d.ts +0 -0
- /package/dist/{input → services/workspace}/index.d.ts +0 -0
- /package/dist/{input → services/workspace}/mention-enricher.d.ts +0 -0
- /package/dist/{session → services}/workspace-manifest.d.ts +0 -0
- /package/dist/{chat → types}/chat-schema.d.ts +0 -0
- /package/src/{tools → extensions/tools}/constants.ts +0 -0
- /package/src/{tools → extensions/tools}/definitions.test.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/apply-patch-parser.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/apply-patch.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/bash.test.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/bash.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/editor.test.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/editor.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/index.ts +0 -0
- /package/src/{tools → extensions/tools}/executors/web-fetch.ts +0 -0
- /package/src/{tools → extensions/tools}/helpers.ts +0 -0
- /package/src/{tools → extensions/tools}/index.ts +0 -0
- /package/src/{tools → extensions/tools}/model-tool-routing.test.ts +0 -0
- /package/src/{tools → extensions/tools}/presets.test.ts +0 -0
- /package/src/{tools → extensions/tools}/schemas.ts +0 -0
- /package/src/{team → extensions/tools/team}/delegated-agent.ts +0 -0
- /package/src/{team → extensions/tools/team}/index.ts +0 -0
- /package/src/{team → extensions/tools/team}/projections.ts +0 -0
- /package/src/{team → extensions/tools/team}/runtime.ts +0 -0
- /package/src/{runtime → hooks}/checkpoint-hooks.test.ts +0 -0
- /package/src/{runtime → hooks}/hook-file-hooks.test.ts +0 -0
- /package/src/{session → runtime}/runtime-oauth-token-manager.test.ts +0 -0
- /package/src/{providers → services/providers}/local-provider-registry.ts +0 -0
- /package/src/{providers → services/providers}/local-provider-service.test.ts +0 -0
- /package/src/{storage → services/storage}/index.ts +0 -0
- /package/src/{storage → services/storage}/provider-settings-manager.test.ts +0 -0
- /package/src/{telemetry → services/telemetry}/ITelemetryAdapter.ts +0 -0
- /package/src/{telemetry → services/telemetry}/OpenTelemetryAdapter.test.ts +0 -0
- /package/src/{telemetry → services/telemetry}/OpenTelemetryAdapter.ts +0 -0
- /package/src/{telemetry → services/telemetry}/OpenTelemetryProvider.test.ts +0 -0
- /package/src/{telemetry → services/telemetry}/OpenTelemetryProvider.ts +0 -0
- /package/src/{telemetry → services/telemetry}/TelemetryLoggerSink.test.ts +0 -0
- /package/src/{telemetry → services/telemetry}/TelemetryLoggerSink.ts +0 -0
- /package/src/{telemetry → services/telemetry}/TelemetryService.test.ts +0 -0
- /package/src/{telemetry → services/telemetry}/TelemetryService.ts +0 -0
- /package/src/{telemetry → services/telemetry}/core-events.ts +0 -0
- /package/src/{telemetry → services/telemetry}/distinct-id.test.ts +0 -0
- /package/src/{telemetry → services/telemetry}/distinct-id.ts +0 -0
- /package/src/{telemetry → services/telemetry}/index.ts +0 -0
- /package/src/{input → services/workspace}/file-indexer.d.ts +0 -0
- /package/src/{input → services/workspace}/index.ts +0 -0
- /package/src/{session → services}/workspace-manifest.ts +0 -0
- /package/src/{chat → types}/chat-schema.ts +0 -0
|
@@ -9,16 +9,20 @@ import {
|
|
|
9
9
|
} from "node:fs";
|
|
10
10
|
import { join } from "node:path";
|
|
11
11
|
import type { TeamTeammateSpec } from "@clinebot/shared";
|
|
12
|
-
import {
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
import {
|
|
13
|
+
resolveSessionDataDir,
|
|
14
|
+
resolveTeamDataDir,
|
|
15
|
+
} from "@clinebot/shared/storage";
|
|
16
|
+
import type { AgentTeamsRuntime, TeamEvent } from "../extensions/tools/team";
|
|
17
|
+
import { nowIso } from "../services/session-artifacts";
|
|
18
|
+
import type { SqliteSessionStore } from "../services/storage/sqlite-session-store";
|
|
15
19
|
import type { SessionSource, SessionStatus } from "../types/common";
|
|
20
|
+
import type { SessionMessagesArtifactUploader } from "../types/session";
|
|
16
21
|
import type {
|
|
17
22
|
PersistedSessionUpdateInput,
|
|
18
23
|
SessionPersistenceAdapter,
|
|
19
24
|
} from "./persistence-service";
|
|
20
25
|
import { UnifiedSessionPersistenceService } from "./persistence-service";
|
|
21
|
-
import { nowIso } from "./session-artifacts";
|
|
22
26
|
import type { SessionManifest } from "./session-manifest";
|
|
23
27
|
|
|
24
28
|
export interface SessionRow {
|
|
@@ -46,8 +50,7 @@ export interface SessionRow {
|
|
|
46
50
|
isSubagent: boolean;
|
|
47
51
|
prompt?: string | null;
|
|
48
52
|
metadata?: Record<string, unknown> | null;
|
|
49
|
-
|
|
50
|
-
hookPath: string;
|
|
53
|
+
hookPath?: string;
|
|
51
54
|
messagesPath?: string | null;
|
|
52
55
|
updatedAt: string;
|
|
53
56
|
}
|
|
@@ -68,8 +71,6 @@ export interface CreateRootSessionInput {
|
|
|
68
71
|
enableTeams: boolean;
|
|
69
72
|
prompt?: string;
|
|
70
73
|
metadata?: Record<string, unknown>;
|
|
71
|
-
transcriptPath: string;
|
|
72
|
-
hookPath: string;
|
|
73
74
|
messagesPath: string;
|
|
74
75
|
}
|
|
75
76
|
|
|
@@ -93,8 +94,6 @@ export interface CreateRootSessionWithArtifactsInput {
|
|
|
93
94
|
|
|
94
95
|
export interface RootSessionArtifacts {
|
|
95
96
|
manifestPath: string;
|
|
96
|
-
transcriptPath: string;
|
|
97
|
-
hookPath: string;
|
|
98
97
|
messagesPath: string;
|
|
99
98
|
manifest: SessionManifest;
|
|
100
99
|
}
|
|
@@ -135,7 +134,6 @@ const SESSION_SELECT_COLUMNS = `
|
|
|
135
134
|
is_subagent AS isSubagent,
|
|
136
135
|
prompt,
|
|
137
136
|
metadata_json AS metadata,
|
|
138
|
-
transcript_path AS transcriptPath,
|
|
139
137
|
hook_path AS hookPath,
|
|
140
138
|
messages_path AS messagesPath,
|
|
141
139
|
updated_at AS updatedAt`;
|
|
@@ -386,10 +384,16 @@ export class FileTeamPersistenceStore {
|
|
|
386
384
|
}
|
|
387
385
|
|
|
388
386
|
class LocalSessionPersistenceAdapter implements SessionPersistenceAdapter {
|
|
389
|
-
constructor(
|
|
387
|
+
constructor(
|
|
388
|
+
private readonly store: SqliteSessionStore,
|
|
389
|
+
private readonly sessionsDirPath: string = resolveSessionDataDir(),
|
|
390
|
+
) {}
|
|
390
391
|
|
|
391
392
|
ensureSessionsDir(): string {
|
|
392
|
-
|
|
393
|
+
if (!existsSync(this.sessionsDirPath)) {
|
|
394
|
+
mkdirSync(this.sessionsDirPath, { recursive: true });
|
|
395
|
+
}
|
|
396
|
+
return this.sessionsDirPath;
|
|
393
397
|
}
|
|
394
398
|
|
|
395
399
|
async upsertSession(row: SessionRow): Promise<void> {
|
|
@@ -425,8 +429,8 @@ class LocalSessionPersistenceAdapter implements SessionPersistenceAdapter {
|
|
|
425
429
|
row.isSubagent ? 1 : 0,
|
|
426
430
|
row.prompt ?? null,
|
|
427
431
|
stringifyMetadata(row.metadata),
|
|
428
|
-
|
|
429
|
-
row.hookPath,
|
|
432
|
+
"",
|
|
433
|
+
row.hookPath ?? "",
|
|
430
434
|
row.messagesPath ?? null,
|
|
431
435
|
row.updatedAt,
|
|
432
436
|
],
|
|
@@ -623,8 +627,17 @@ class LocalSessionPersistenceAdapter implements SessionPersistenceAdapter {
|
|
|
623
627
|
}
|
|
624
628
|
|
|
625
629
|
export class CoreSessionService extends UnifiedSessionPersistenceService {
|
|
626
|
-
constructor(
|
|
627
|
-
|
|
630
|
+
constructor(
|
|
631
|
+
private readonly store: SqliteSessionStore,
|
|
632
|
+
options: {
|
|
633
|
+
sessionArtifactsDir?: string;
|
|
634
|
+
messagesArtifactUploader?: SessionMessagesArtifactUploader;
|
|
635
|
+
} = {},
|
|
636
|
+
) {
|
|
637
|
+
super(
|
|
638
|
+
new LocalSessionPersistenceAdapter(store, options.sessionArtifactsDir),
|
|
639
|
+
options,
|
|
640
|
+
);
|
|
628
641
|
}
|
|
629
642
|
|
|
630
643
|
createRootSession(input: CreateRootSessionInput): void {
|
|
@@ -660,8 +673,8 @@ export class CoreSessionService extends UnifiedSessionPersistenceService {
|
|
|
660
673
|
0,
|
|
661
674
|
input.prompt ?? null,
|
|
662
675
|
input.metadata ? JSON.stringify(input.metadata) : null,
|
|
663
|
-
|
|
664
|
-
|
|
676
|
+
"",
|
|
677
|
+
"",
|
|
665
678
|
input.messagesPath,
|
|
666
679
|
nowIso(),
|
|
667
680
|
],
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import {
|
|
2
|
+
type AgentMode,
|
|
3
|
+
type AgentResult,
|
|
4
|
+
formatUserInputBlock,
|
|
5
|
+
} from "@clinebot/shared";
|
|
6
|
+
import type { TeamEvent } from "../extensions/tools/team";
|
|
3
7
|
import {
|
|
4
8
|
buildTeamProgressSummary,
|
|
5
9
|
toTeamProgressLifecycleEvent,
|
|
6
|
-
} from "../team";
|
|
10
|
+
} from "../extensions/tools/team";
|
|
7
11
|
import type { CoreSessionEvent } from "../types/events";
|
|
8
|
-
import type { ActiveSession, TeamRunUpdate } from "
|
|
12
|
+
import type { ActiveSession, TeamRunUpdate } from "../types/session";
|
|
9
13
|
|
|
10
14
|
export function trackTeamRunState(
|
|
11
15
|
session: ActiveSession,
|
|
@@ -227,7 +231,10 @@ export function buildTeamRunContinuationPrompt(
|
|
|
227
231
|
|
|
228
232
|
export function formatModePrompt(
|
|
229
233
|
prompt: string,
|
|
230
|
-
mode:
|
|
234
|
+
mode: AgentMode | undefined,
|
|
231
235
|
): string {
|
|
232
|
-
return formatUserInputBlock(
|
|
236
|
+
return formatUserInputBlock(
|
|
237
|
+
prompt,
|
|
238
|
+
mode === "plan" ? "plan" : mode === "yolo" ? "yolo" : "act",
|
|
239
|
+
);
|
|
233
240
|
}
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
nowIso,
|
|
13
13
|
toBoolInt,
|
|
14
14
|
} from "@clinebot/shared/db";
|
|
15
|
-
import { SqliteSessionStore } from "../storage/sqlite-session-store";
|
|
15
|
+
import { SqliteSessionStore } from "../services/storage/sqlite-session-store";
|
|
16
16
|
|
|
17
17
|
export interface SqliteRpcSessionBackendOptions {
|
|
18
18
|
sessionsDir?: string;
|
|
@@ -62,8 +62,8 @@ export class SqliteRpcSessionBackend implements RpcSessionBackend {
|
|
|
62
62
|
toBoolInt(row.isSubagent),
|
|
63
63
|
row.prompt ?? null,
|
|
64
64
|
row.metadata ? JSON.stringify(row.metadata) : null,
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
"",
|
|
66
|
+
"",
|
|
67
67
|
row.messagesPath ?? null,
|
|
68
68
|
row.updatedAt || nowIso(),
|
|
69
69
|
],
|
|
@@ -75,7 +75,7 @@ export class SqliteRpcSessionBackend implements RpcSessionBackend {
|
|
|
75
75
|
`SELECT session_id, source, pid, started_at, ended_at, exit_code, status, status_lock, interactive,
|
|
76
76
|
provider, model, cwd, workspace_root, team_name, enable_tools, enable_spawn, enable_teams,
|
|
77
77
|
parent_session_id, parent_agent_id, agent_id, conversation_id, is_subagent, prompt,
|
|
78
|
-
metadata_json,
|
|
78
|
+
metadata_json, hook_path, messages_path, updated_at
|
|
79
79
|
FROM sessions WHERE session_id = ?`,
|
|
80
80
|
[sessionId],
|
|
81
81
|
);
|
|
@@ -121,8 +121,6 @@ export class SqliteRpcSessionBackend implements RpcSessionBackend {
|
|
|
121
121
|
}
|
|
122
122
|
return undefined;
|
|
123
123
|
})(),
|
|
124
|
-
transcriptPath: asString(row.transcript_path),
|
|
125
|
-
hookPath: asString(row.hook_path),
|
|
126
124
|
messagesPath: asOptionalString(row.messages_path),
|
|
127
125
|
updatedAt: asString(row.updated_at) || nowIso(),
|
|
128
126
|
};
|
|
@@ -14,10 +14,14 @@ import type { AgentResult } from "@clinebot/shared";
|
|
|
14
14
|
import { setClineDir, setHomeDir } from "@clinebot/shared/storage";
|
|
15
15
|
import { nanoid } from "nanoid";
|
|
16
16
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
17
|
+
import { splitCoreSessionConfig } from "../runtime/runtime-host";
|
|
18
|
+
import type { SessionManifest } from "../session/session-manifest";
|
|
19
|
+
import type {
|
|
20
|
+
RootSessionArtifacts,
|
|
21
|
+
SessionRow,
|
|
22
|
+
} from "../session/session-service";
|
|
17
23
|
import type { SessionSource, SessionStatus } from "../types/common";
|
|
18
|
-
import {
|
|
19
|
-
import type { SessionManifest } from "./session-manifest";
|
|
20
|
-
import type { RootSessionArtifacts, SessionRow } from "./session-service";
|
|
24
|
+
import { LocalRuntimeHost as RuntimeHostUnderTest } from "./local";
|
|
21
25
|
|
|
22
26
|
function nowIso(): string {
|
|
23
27
|
return new Date().toISOString();
|
|
@@ -78,8 +82,6 @@ class LocalFileSessionService {
|
|
|
78
82
|
mkdirSync(sessionPath, { recursive: true });
|
|
79
83
|
|
|
80
84
|
const manifestPath = join(sessionPath, `${sessionId}.json`);
|
|
81
|
-
const transcriptPath = join(sessionPath, `${sessionId}.log`);
|
|
82
|
-
const hookPath = join(sessionPath, `${sessionId}.hooks.jsonl`);
|
|
83
85
|
const messagesPath = join(sessionPath, `${sessionId}.messages.json`);
|
|
84
86
|
const prompt = input.prompt?.trim() || undefined;
|
|
85
87
|
const manifest: SessionManifest = {
|
|
@@ -106,8 +108,6 @@ class LocalFileSessionService {
|
|
|
106
108
|
`${JSON.stringify(manifest, null, 2)}\n`,
|
|
107
109
|
"utf8",
|
|
108
110
|
);
|
|
109
|
-
writeFileSync(transcriptPath, "", "utf8");
|
|
110
|
-
writeFileSync(hookPath, "", "utf8");
|
|
111
111
|
writeFileSync(
|
|
112
112
|
messagesPath,
|
|
113
113
|
`${JSON.stringify({ version: 1, updated_at: startedAt, messages: [] }, null, 2)}\n`,
|
|
@@ -138,16 +138,13 @@ class LocalFileSessionService {
|
|
|
138
138
|
conversationId: null,
|
|
139
139
|
isSubagent: false,
|
|
140
140
|
prompt: prompt ?? null,
|
|
141
|
-
|
|
142
|
-
hookPath,
|
|
141
|
+
hookPath: "",
|
|
143
142
|
messagesPath,
|
|
144
143
|
updatedAt: startedAt,
|
|
145
144
|
});
|
|
146
145
|
|
|
147
146
|
return {
|
|
148
147
|
manifestPath,
|
|
149
|
-
transcriptPath,
|
|
150
|
-
hookPath,
|
|
151
148
|
messagesPath,
|
|
152
149
|
manifest,
|
|
153
150
|
};
|
|
@@ -214,15 +211,13 @@ class LocalFileSessionService {
|
|
|
214
211
|
return { deleted: false };
|
|
215
212
|
}
|
|
216
213
|
this.rows.delete(sessionId);
|
|
217
|
-
unlinkSync(row.transcriptPath);
|
|
218
|
-
unlinkSync(row.hookPath);
|
|
219
214
|
unlinkSync(row.messagesPath ?? "");
|
|
220
215
|
unlinkSync(join(this.sessionsDir, sessionId, `${sessionId}.json`));
|
|
221
216
|
return { deleted: true };
|
|
222
217
|
}
|
|
223
218
|
}
|
|
224
219
|
|
|
225
|
-
describe("
|
|
220
|
+
describe("LocalRuntimeHost e2e", () => {
|
|
226
221
|
const envSnapshot = {
|
|
227
222
|
HOME: process.env.HOME,
|
|
228
223
|
CLINE_DIR: process.env.CLINE_DIR,
|
|
@@ -302,7 +297,7 @@ describe("DefaultSessionManager e2e", () => {
|
|
|
302
297
|
});
|
|
303
298
|
const agentShutdown = vi.fn().mockResolvedValue(undefined);
|
|
304
299
|
|
|
305
|
-
const manager = new
|
|
300
|
+
const manager = new RuntimeHostUnderTest({
|
|
306
301
|
distinctId: `test-${nanoid(5)}`,
|
|
307
302
|
sessionService: sessionService as never,
|
|
308
303
|
runtimeBuilder: runtimeBuilder as never,
|
|
@@ -323,16 +318,17 @@ describe("DefaultSessionManager e2e", () => {
|
|
|
323
318
|
|
|
324
319
|
const started = await manager.start({
|
|
325
320
|
interactive: true,
|
|
326
|
-
|
|
321
|
+
...splitCoreSessionConfig({
|
|
327
322
|
providerId: "anthropic",
|
|
328
323
|
modelId: "claude-sonnet-4-6",
|
|
329
324
|
apiKey: "test-key",
|
|
330
325
|
cwd: sessionsDir,
|
|
331
326
|
systemPrompt: "You are a test agent",
|
|
327
|
+
mode: "act",
|
|
332
328
|
enableTools: false,
|
|
333
329
|
enableSpawnAgent: false,
|
|
334
330
|
enableAgentTeams: false,
|
|
335
|
-
},
|
|
331
|
+
}),
|
|
336
332
|
});
|
|
337
333
|
|
|
338
334
|
expect(started.sessionId.length).toBeGreaterThan(0);
|