Unified · Split
| @@ -149,6 +149,14 @@ export const OpenCodeDriver: ProviderDriver<OpenCodeSettings, OpenCodeDriverEnv> · 148 unmodified lines | ||
| 149 | 149 | Effect.provideService(OpenCodeServerOwner.OpenCodeServerOwner, serverOwner), |
| 150 | 150 | Effect.provideService(OpenCodeRuntime, openCodeRuntime), |
| 151 | 151 | ); |
| 152 | + // NOTE: the local branch intentionally uses the shared SDK server | |
| 153 | + // instead of `opencode debug skill` (loadSkillsFromCli). The CLI writes | |
| 154 | + // its full JSON inventory to stdout, but the Bun-compiled binary does | |
| 155 | + // not flush more than one 64KB pipe buffer to a non-TTY stdout, so the | |
| 156 | + // piped output arrives truncated and unparseable — which degrades to an | |
| 157 | + // empty skill list and poisons the workspace snapshot the `$` picker | |
| 158 | + // reads. The SDK `app.skills` endpoint honors the per-request directory | |
| 159 | + // and returns complete results regardless of size. | |
| 152 | 160 | const loadSkillsForCwd = (cwd: string) => |
| 153 | 161 | effectiveConfig.serverUrl.trim().length > 0 |
| 154 | 162 | ? Effect.scoped( |
| @@ -172,11 +180,17 @@ export const OpenCodeDriver: ProviderDriver<OpenCodeSettings, OpenCodeDriverEnv> · 17 unmodified lines | ||
| 172 | 180 | return yield* openCodeRuntime.loadOpenCodeSkills(client); |
| 173 | 181 | }), |
| 174 | 182 | ) |
| 175 | − : openCodeRuntime.loadSkillsFromCli({ | |
| 176 | − binaryPath: effectiveConfig.binaryPath, | |
| 177 | − cwd, | |
| 178 | − environment: processEnv, | |
| 179 | − }); | |
| 183 | + : serverOwner.withServer((server) => | |
| 184 | + openCodeRuntime.loadOpenCodeSkills( | |
| 185 | + openCodeRuntime.createOpenCodeSdkClient({ | |
| 186 | + baseUrl: server.url, | |
| 187 | + directory: cwd, | |
| 188 | + ...(server.serverPassword !== undefined | |
| 189 | + ? { serverPassword: server.serverPassword } | |
| 190 | + : {}), | |
| 191 | + }), | |
| 192 | + ), | |
| 193 | + ); | |
| 180 | 194 | |
| 181 | 195 | const snapshotSettings = makeProviderSnapshotSettingsSource(effectiveConfig, serverSettings); |
| 182 | 196 | const snapshot = yield* makeManagedServerProvider<ProviderSnapshotSettings<OpenCodeSettings>>( |