MCPcopy Create free account
hub / github.com/antirez/ds4 / agent_tool_viz_render_read

Function agent_tool_viz_render_read

ds4_agent.c:2827–2860  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2825 if (r->md_pending == AGENT_MD_PENDING_STAR) {
2826 c = '*';
2827 } else if (r->md_pending == AGENT_MD_PENDING_BACKTICK) {
2828 c = '`';
2829 } else {
2830 return;
2831 }
2832 size_t count = r->md_pending_len;
2833 renderer_markdown_clear_pending(r);
2834 if (r->md_code_block) {
2835 if (c == '`') renderer_code_emit_backtick_literals(r, count);
2836 else for (size_t i = 0; i < count; i++) renderer_code_byte(r, c);
2837 return;
2838 }
2839 for (size_t i = 0; i < count; i++) renderer_write_char_raw(r, c);
2840}
2841
2842static void renderer_markdown_commit_backticks(agent_token_renderer *r) {
2843 size_t count = r->md_pending_len;
2844 renderer_markdown_clear_pending(r);
2845 if (count >= 3) {
2846 for (size_t i = 0; i < count; i++) renderer_write_plain_byte(r, '`');
2847 if (r->md_code_block) renderer_code_end(r);
2848 else renderer_code_begin(r);
2849 return;
2850 }
2851 if (r->md_code_block) {
2852 renderer_code_emit_backtick_literals(r, count);
2853 return;
2854 }
2855 /* Support both `code` and ``code``. The latter is uncommon in model
2856 * replies, but accepting it costs nothing and avoids leaking delimiters. */
2857 r->md_inline_code = !r->md_inline_code;
2858}
2859
2860static bool renderer_space_byte(char c) {
2861 return c == ' ' || c == '\t' || c == '\r' || c == '\n';
2862}
2863

Callers 2

agent_tool_viz_finishFunction · 0.85
agent_stream_tool_eventsFunction · 0.85

Calls 4

renderer_colorFunction · 0.85
agent_tool_viz_putsFunction · 0.85
agent_parse_bool_defaultFunction · 0.85

Tested by

no test coverage detected