Download packages/acp-server/src/marker.ts from SaylorTwift/kimi-code: direct link, hf CLI and curl.
- Browser
- Download file 1.62 kB
-
https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/acp-server/src/marker.ts
- Command line
-
hf download hf://SaylorTwift/kimi-code/packages/acp-server/src/marker.ts
-
curl -L -o marker.ts https://huggingface.co/SaylorTwift/kimi-code/resolve/main/packages/acp-server/src/marker.ts
1.62 kB
| /** | |
| * Sentinel object that a tool can attach to its result `output` to | |
| * signal the ACP adapter to suppress this tool's textual output. | |
| * | |
| * Motivation: a tool that emits its output via a dedicated ACP reverse-RPC | |
| * channel (e.g. `terminal/*`) must NOT also relay the textual stdout / stderr | |
| * through `tool_call_update` content or the client UI would render the same | |
| * bytes twice (once in the terminal pane, once in the tool card). The tool | |
| * implementation sets `output: [HideOutputMarker, ...]` (array of marker plus | |
| * possibly textual fallback) and the adapter's `toolResultToAcpContent` | |
| * short-circuits to `[]` whenever the marker is present. | |
| * | |
| * Detection is by reference equality OR by `__kind === 'acp-hide-output'` | |
| * on the value's shape — the latter is a defensive escape hatch in | |
| * case the marker travels through a structured clone, losing identity but | |
| * preserving the field. Both checks live in `isHideOutputMarker`. | |
| */ | |
| export const HideOutputMarker = Object.freeze({ | |
| __kind: 'acp-hide-output' as const, | |
| }); | |
| export type HideOutputMarker = typeof HideOutputMarker; | |
| /** | |
| * Type guard: detect whether `value` is the {@link HideOutputMarker} | |
| * sentinel. Returns `false` for any non-object value (in particular | |
| * strings whose text happens to contain `'acp-hide-output'` — only | |
| * structural identity counts). | |
| */ | |
| export function isHideOutputMarker(value: unknown): value is HideOutputMarker { | |
| if (value === HideOutputMarker) return true; | |
| return ( | |
| typeof value === 'object' && | |
| value !== null && | |
| (value as { __kind?: unknown }).__kind === 'acp-hide-output' | |
| ); | |
| } | |