Add Claude Code provider integration with provider-aware auth and rich-content support #563
MacroscopeApp / Macroscope - Correctness Check
completed
Mar 8, 2026 in 7m 22s
4 issues identified (147 code objects reviewed).
• Merge Base:
c97c6b7
• Head:8f28836
Details
| ✅ | File Path | Comments Posted |
|---|---|---|
| ✅ | apps/web/src/providerAuthGuidance.ts |
0 |
| ➖ | packages/contracts/src/model.test.ts |
|
| ➖ | README.md |
|
| ➖ | apps/web/src/routes/_chat.settings.test.ts |
|
| ❌ | apps/server/src/claudeCodeServerManager.ts |
2 |
| ➖ | apps/server/src/claudeCodeServerManager.test.ts |
|
| ✅ | apps/web/src/components/ChatView.providerOptions.ts |
0 |
| ✅ | apps/server/src/provider/Services/ClaudeCodeAdapter.ts |
0 |
| ❌ | apps/server/src/provider/Layers/ClaudeCodeAdapter.ts |
2 |
| ➖ | apps/web/src/components/ChatView.providerOptions.test.ts |
|
| ➖ | apps/server/src/provider/Layers/ClaudeCodeAdapter.test.ts |
|
| ✅ | packages/contracts/src/provider.ts |
0 |
| ✅ | apps/server/src/orchestration/decider.ts |
0 |
| ✅ | apps/server/src/serverLayers.ts |
0 |
| ✅ | packages/contracts/src/providerRuntime.ts |
0 |
| ✅ | apps/web/src/appSettings.ts |
0 |
| ➖ | packages/contracts/src/provider.test.ts |
|
| ➖ | apps/web/src/appSettings.test.ts |
|
| ➖ | packages/contracts/src/orchestration.test.ts |
|
| ➖ | packages/shared/src/model.test.ts |
|
| ✅ | packages/shared/src/model.ts |
0 |
| ✅ | packages/contracts/src/model.ts |
0 |
| ➖ | apps/server/src/provider/Layers/ProviderService.test.ts |
|
| ➖ | apps/server/src/provider/Layers/ProviderSessionDirectory.test.ts |
|
| ➖ | apps/web/src/store.test.ts |
|
| ✅ | packages/contracts/src/orchestration.ts |
0 |
| ✅ | apps/server/src/provider/Layers/ProviderAdapterRegistry.ts |
0 |
| ✅ | apps/server/src/provider/Layers/ProviderService.ts |
0 |
| ➖ | apps/server/src/provider/Layers/ProviderHealth.test.ts |
|
| ✅ | apps/server/src/provider/Layers/ProviderSessionDirectory.ts |
0 |
| ✅ | apps/web/src/composerDraftStore.ts |
0 |
| ✅ | apps/web/src/store.ts |
0 |
| ➖ | apps/web/src/session-logic.test.ts |
|
| ➖ | apps/server/src/orchestration/Layers/ProviderRuntimeIngestion.test.ts |
|
| ✅ | apps/web/src/components/ChatMarkdown.tsx |
0 |
| ➖ | apps/server/src/orchestration/Layers/ProviderCommandReactor.test.ts |
|
| ✅ | apps/web/src/components/ChatView.browser.tsx |
0 |
| ➖ | apps/web/src/composerDraftStore.test.ts |
|
| ✅ | apps/web/src/session-logic.ts |
0 |
| ➖ | apps/server/src/provider/Layers/ProviderAdapterRegistry.test.ts |
|
| ✅ | apps/server/src/orchestration/Layers/ProviderCommandReactor.ts |
0 |
| ✅ | apps/web/src/routes/_chat.settings.tsx |
0 |
| ✅ | apps/server/src/provider/Layers/ProviderHealth.ts |
0 |
| ✅ | apps/web/src/components/ChatView.tsx |
0 |
Filtered Issues Details
apps/server/src/provider/Layers/ClaudeCodeAdapter.ts
- line 175: The
mapItemLifecyclefunction incorrectly maps the tool payload data. It assigns the rawevent.payloadtodata, butevent.payloadis a wrapper object containing anitemproperty (as evidenced byconst item = asObject(payload?.item)). Canonical item types likecommand_execution(mapped fromBash) typically expect a flat data object with properties likecommandorcwd, not a nested{ item: { ... } }structure. This mismatch will likely cause UI components to fail to render tool details because they will be looking for properties on the wrong object level. [ Out of scope (triage) ]
apps/web/src/session-logic.ts
- line 21: Enabling
claudeCodeby settingavailable: truewill cause a runtime crash in theProviderModelPickercomponent. The type definitionProviderPickerKind(line 13) explicitly adds"claudeCode"toProviderKind, implyingclaudeCodeis not part of theProviderKindunion. The component'smodelOptionsByProviderprop is typed asRecord<ProviderKind, ...>, meaning it is not guaranteed (and likely not constructed) to contain an entry forclaudeCode. When the UI iterates over available options, accessingprops.modelOptionsByProvider["claudeCode"]will returnundefined, and the subsequent call to.map(...)will throw an exception. [ Out of scope (triage) ]
Loading