feat: enable Remote Control (BRIDGE_MODE) with stub completions

- Add BRIDGE_MODE to DEFAULT_FEATURES in dev.ts
- Implement peerSessions.ts: cross-session messaging via bridge API
- Implement webhookSanitizer.ts: redact secrets from webhook payloads
- Replace any stubs in controlTypes.ts with Zod schema-inferred types
- Fix tengu_bridge_system_init default to true for app "active" status

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
unraid
2026-04-03 03:50:36 +08:00
parent 1f0a2e44c8
commit 74e51e7e73
5 changed files with 164 additions and 22 deletions

View File

@@ -1,16 +1,34 @@
/**
* Stub: SDK Control Types (not yet published in open-source).
* Used by bridge/transport layer for the control protocol.
* SDK Control Types — inferred from Zod schemas in controlSchemas.ts / coreSchemas.ts.
*
* These types define the control protocol between the CLI bridge and the server.
* Used by bridge/transport layer, remote session manager, and CLI print/IO paths.
*/
export type SDKControlRequest = { type: string; [key: string]: unknown }
export type SDKControlResponse = { type: string; [key: string]: unknown }
export type StdoutMessage = any;
export type SDKControlInitializeRequest = any;
export type SDKControlInitializeResponse = any;
export type SDKControlMcpSetServersResponse = any;
export type SDKControlReloadPluginsResponse = any;
export type StdinMessage = any;
export type SDKPartialAssistantMessage = any;
export type SDKControlPermissionRequest = any;
export type SDKControlCancelRequest = any;
export type SDKControlRequestInner = any;
import type { z } from 'zod'
import type {
SDKControlRequestSchema,
SDKControlResponseSchema,
SDKControlInitializeRequestSchema,
SDKControlInitializeResponseSchema,
SDKControlMcpSetServersResponseSchema,
SDKControlReloadPluginsResponseSchema,
SDKControlPermissionRequestSchema,
SDKControlCancelRequestSchema,
SDKControlRequestInnerSchema,
StdoutMessageSchema,
StdinMessageSchema,
} from './controlSchemas.js'
import type { SDKPartialAssistantMessageSchema } from './coreSchemas.js'
export type SDKControlRequest = z.infer<ReturnType<typeof SDKControlRequestSchema>>
export type SDKControlResponse = z.infer<ReturnType<typeof SDKControlResponseSchema>>
export type StdoutMessage = z.infer<ReturnType<typeof StdoutMessageSchema>>
export type SDKControlInitializeRequest = z.infer<ReturnType<typeof SDKControlInitializeRequestSchema>>
export type SDKControlInitializeResponse = z.infer<ReturnType<typeof SDKControlInitializeResponseSchema>>
export type SDKControlMcpSetServersResponse = z.infer<ReturnType<typeof SDKControlMcpSetServersResponseSchema>>
export type SDKControlReloadPluginsResponse = z.infer<ReturnType<typeof SDKControlReloadPluginsResponseSchema>>
export type StdinMessage = z.infer<ReturnType<typeof StdinMessageSchema>>
export type SDKPartialAssistantMessage = z.infer<ReturnType<typeof SDKPartialAssistantMessageSchema>>
export type SDKControlPermissionRequest = z.infer<ReturnType<typeof SDKControlPermissionRequestSchema>>
export type SDKControlCancelRequest = z.infer<ReturnType<typeof SDKControlCancelRequestSchema>>
export type SDKControlRequestInner = z.infer<ReturnType<typeof SDKControlRequestInnerSchema>>