apps/mobile/src/features/threads/ThreadComposer.tsx | 1 + apps/mobile/src/features/threads/ThreadSettingsSheet.tsx | 44 +- apps/mobile/src/features/threads/provider-catalog-refresh.test.ts | 46 + apps/mobile/src/features/threads/provider-catalog-refresh.ts | 34 + apps/server/src/provider/Drivers/OpenCodeDriver.ts | 21 +- apps/server/src/provider/Layers/OpenCodeAdapter.test.ts | 3754 +++++++++++++++++++++++++++++++- apps/server/src/provider/Layers/OpenCodeAdapter.ts | 1913 +++++++++++++--- apps/server/src/provider/Layers/OpenCodeProvider.test.ts | 171 +- apps/server/src/provider/Layers/OpenCodeProvider.ts | 86 +- apps/server/src/provider/Layers/ProviderRegistry.test.ts | 237 +- apps/server/src/provider/Layers/ProviderRegistry.ts | 14 + apps/server/src/provider/Layers/ProviderService.test.ts | 63 + apps/server/src/provider/OpenCodeServerOwner.test.ts | 285 +++ apps/server/src/provider/OpenCodeServerOwner.ts | 184 ++ apps/server/src/provider/makeManagedServerProvider.test.ts | 69 + apps/server/src/provider/makeManagedServerProvider.ts | 21 +- apps/server/src/provider/opencodeRuntime.environment.test.ts | 131 +- apps/server/src/provider/opencodeRuntime.inventory.test.ts | 28 + apps/server/src/provider/opencodeRuntime.permissions.test.ts | 1 + apps/server/src/provider/opencodeRuntime.ts | 157 +- apps/server/src/server.test.ts | 46 + apps/server/src/textGeneration/OpenCodeTextGeneration.test.ts | 132 +- apps/server/src/textGeneration/OpenCodeTextGeneration.ts | 224 +- apps/web/src/components/chat/ChatComposer.tsx | 14 +- apps/web/src/components/chat/ModelListRow.tsx | 7 + apps/web/src/components/chat/ModelPickerContent.test.ts | 67 + apps/web/src/components/chat/ModelPickerContent.tsx | 64 +- apps/web/src/components/chat/ModelPickerSidebar.tsx | 9 +- apps/web/src/components/chat/ProviderModelPicker.test.tsx | 102 + apps/web/src/components/chat/ProviderModelPicker.tsx | 18 +- apps/web/src/components/chat/TraitsPicker.test.ts | 35 +- apps/web/src/components/chat/TraitsPicker.tsx | 86 +- apps/web/src/components/chat/composerProviderState.test.tsx | 88 + apps/web/src/components/chat/composerProviderState.tsx | 16 + apps/web/src/components/chat/providerIconUtils.ts | 1 + apps/web/src/components/settings/ProjectSettingsPanel.tsx | 11 +- apps/web/src/composerDraftStore.ts | 6 + apps/web/src/modelSelection.test.ts | 293 +++ apps/web/src/modelSelection.ts | 79 +- docs/README.md | 2 +- docs/internals/providers.md | 45 + docs/user/providers-opencode.md | 53 + 42 files changed, 7983 insertions(+), 675 deletions(-)