| ... | ... | @@ -57,6 +57,7 @@ import { |
| 57 | 57 | type ProviderSnapshotSettings, |
| 58 | 58 | } from "../providerUpdateSettings.ts"; |
| 59 | 59 | import { makeClaudeCapabilitiesCacheKey, makeClaudeContinuationGroupKey } from "./ClaudeHome.ts"; |
| 60 | import { discoverClaudeSkills } from "./ClaudeSkills.ts"; |
| 60 | 61 | const decodeClaudeSettings = Schema.decodeSync(ClaudeSettings); |
| 61 | 62 | |
| 62 | 63 | const DRIVER_KIND = ProviderDriverKind.make("claudeAgent"); |
| ... | ... | @@ -212,6 +213,17 @@ export const ClaudeDriver: ProviderDriver<ClaudeSettings, ClaudeDriverEnv> = { |
| 212 | 213 | }), |
| 213 | 214 | ), |
| 214 | 215 | ); |
| 216 | const snapshotForCwd = (cwd: string) => |
| 217 | !effectiveConfig.enabled |
| 218 | ? snapshot.getSnapshot |
| 219 | : Effect.all([ |
| 220 | snapshot.getSnapshot, |
| 221 | discoverClaudeSkills(effectiveConfig, cwd, processEnv), |
| 222 | ]).pipe( |
| 223 | Effect.map(([machineSnapshot, skills]) => ({ ...machineSnapshot, skills })), |
| 224 | Effect.provideService(FileSystem.FileSystem, fileSystem), |
| 225 | Effect.provideService(Path.Path, path), |
| 226 | ); |
| 215 | 227 | |
| 216 | 228 | return { |
| 217 | 229 | instanceId, |
| ... | ... | @@ -224,6 +236,7 @@ export const ClaudeDriver: ProviderDriver<ClaudeSettings, ClaudeDriverEnv> = { |
| 224 | 236 | accentColor, |
| 225 | 237 | enabled, |
| 226 | 238 | snapshot, |
| 239 | snapshotForCwd, |
| 227 | 240 | adapter, |
| 228 | 241 | textGeneration, |
| 229 | 242 | } satisfies ProviderInstance; |