mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 22:35:51 +00:00
Fix/coderabbit nits (#1259)
* fix: eliminate 8 as any in MCP handlers, structured output, and stream events - Group A: Add : () => AnyObjectSchema type annotations to MCP notification schema constants (useIdeSelection, useIdeLogging, usePrompts, channelNotification) - Group B: Add isStructuredOutputAttachmentMessage type guard for structured output attachment payloads (execAgentHook) - Group C: Add isMessageDeltaStreamEvent type guard for message_delta stream event usage extraction (forkedAgent) These as any casts also exist in the upstream CCB source — this fix provides real type safety without changing any runtime behavior. * feat: wire mode persona injection — Claude Soul Document distilled into system prompt - prompts.ts: add getModePersonaSection() → injects current mode's systemPrompt as 'mode_persona' dynamic section (first in order, before operational instructions). Previously modes had systemPrompt fields but they were never sent to the model. - modes/personas/claude.ts: 3KB distilled Claude persona from Anthropic's leaked Claude 4.5 Opus Soul Document (70KB → operational extract): core traits, 7 honesty principles, helpfulness/caution balance, collaboration stance, identity stability. - With custom mode YAML (~/.claude/modes/claude.yaml), 7 modes total including the new Claude persona — fully operational at /mode claude. Co-Authored-By: James Feng <47167674+GhostDragon124@users.noreply.github.com> * fix: import path convention + reword persona source comment - prompts.ts: use 'src/modes/store.js' alias instead of relative '../modes/store.js' to match the file's existing import convention - claude.ts: reword JSDoc to say 'based on publicly available reference document' instead of 'leaked', addressing CodeRabbit review concern
This commit is contained in:
@@ -3,9 +3,10 @@ import { logEvent } from 'src/services/analytics/index.js'
|
||||
import { z } from 'zod/v4'
|
||||
import type { MCPServerConnection } from '../services/mcp/types.js'
|
||||
import { getConnectedIdeClient } from '../utils/ide.js'
|
||||
import type { AnyObjectSchema } from '@modelcontextprotocol/sdk/server/zod-compat.js'
|
||||
import { lazySchema } from '../utils/lazySchema.js'
|
||||
|
||||
const LogEventSchema = lazySchema(() =>
|
||||
const LogEventSchema: () => AnyObjectSchema = lazySchema(() =>
|
||||
z.object({
|
||||
method: z.literal('log_event'),
|
||||
params: z.object({
|
||||
@@ -27,7 +28,7 @@ export function useIdeLogging(mcpClients: MCPServerConnection[]): void {
|
||||
if (ideClient) {
|
||||
// Register the log event handler
|
||||
ideClient.client.setNotificationHandler(
|
||||
LogEventSchema() as any,
|
||||
LogEventSchema(),
|
||||
notification => {
|
||||
const { eventName, eventData } = notification.params
|
||||
logEvent(
|
||||
|
||||
Reference in New Issue
Block a user