Commit 110ca6f
committed
fix(showcase/google-adk): bring final 5 demos to D5 green
Five distinct root causes were keeping google-adk from full D5 parity
with langgraph-python. Fixing them takes the integration to 38/38 D5
green under aimock locally (verified end-to-end with --live writing
to PocketBase).
- readonly-state-context: page.tsx asked for agent slug
readonly_state_agent_context (underscore) but the registry mounts
it kebab-case as readonly-state-agent-context. useAgent threw,
the demo layout never mounted, and the ctx-name input never rendered.
Align with the registry (and with langgraph-python).
- multimodal: the secondary failure was a backend Pydantic
ValidationError on HttpOptions.api_endpoint. google-genai 1.75
renamed the field to base_url; all three direct genai client
constructors (main.py, beautiful_chat_agent.py, subagents_agent.py)
needed the rename so the secondary A2UI / sub-agent LLM calls stop
crashing. (The pre-existing LFS-pointer issue on the bundled
sample.png/pdf was a worktree hydration problem, not a tracked
code change — git lfs pull handles it.)
- gen-ui-declarative (two bugs stacked):
1. The same api_endpoint -> base_url rename above. The secondary
generate_a2ui planner LLM was failing every request.
2. The D5 fixture emitted components in {id, type, props: {...}}
shape, but sanitize_a2ui_components requires component, so
every entry was dropped and the renderer received an empty
surface. Rewrite both the per-demo fixture and the d5-all.json
aggregate to the flat {id, component, ...props} shape that
langgraph-python's _design_a2ui_surface fixture already uses,
wrapping multi-child layouts in a basic-catalog Column (the
custom Card schema has a single child slot). Add
_design_a2ui_surface variants so LGP gets per-pill payloads too.
- shared-state-streaming: ADK's write_document took content and
the PredictStateMapping read tool_argument="content", but the
shared D5 fixture (and the LGP function signature) names the
argument document. Rename both sides so the fixture's tool_call
args plumb into the function and into PredictStateMapping's
state-key emission. STATE_DELTA now propagates and DocumentView
streams live.
- tool-rendering-reasoning-chain: in thinking mode
(include_thoughts=True), Gemini emits a turn as two separate
non-partial chunks — a text-only chunk with finish_reason=None
and a function-call-only chunk with finish_reason=FUNCTION_CALL.
stop_on_terminal_text fired on the first (text-only) chunk and
set end_invocation=True before the function-call chunk arrived,
which broke AAPL->MSFT chaining. Gate termination on
finish_reason=STOP; FUNCTION_CALL and None both mean "more
chunks inbound — defer". Applies to every agent that uses the
shared callback, so chain-aware behavior is uniform.
Local verification: bin/showcase test google-adk --d5 --live
finishes green for all 38 cells (~140s), dashboard reflects the
results from PocketBase. Manual real-Gemini click-through of the
five fixed demos also passes end-to-end via GOOGLE_GEMINI_BASE_URL=
(empty) recreate.1 parent 4d4bd19 commit 110ca6f
8 files changed
Lines changed: 378 additions & 199 deletions
File tree
- showcase
- aimock
- harness/fixtures/d5
- integrations/google-adk/src
- agents
- app/demos/readonly-state-agent-context
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2435 | 2435 | | |
2436 | 2436 | | |
2437 | 2437 | | |
2438 | | - | |
| 2438 | + | |
2439 | 2439 | | |
2440 | 2440 | | |
2441 | 2441 | | |
| |||
2450 | 2450 | | |
2451 | 2451 | | |
2452 | 2452 | | |
2453 | | - | |
2454 | | - | |
2455 | | - | |
2456 | | - | |
2457 | | - | |
2458 | | - | |
| 2453 | + | |
| 2454 | + | |
| 2455 | + | |
| 2456 | + | |
| 2457 | + | |
| 2458 | + | |
| 2459 | + | |
| 2460 | + | |
| 2461 | + | |
| 2462 | + | |
2459 | 2463 | | |
2460 | 2464 | | |
2461 | 2465 | | |
2462 | | - | |
2463 | | - | |
2464 | | - | |
2465 | | - | |
2466 | | - | |
2467 | | - | |
| 2466 | + | |
| 2467 | + | |
| 2468 | + | |
| 2469 | + | |
2468 | 2470 | | |
2469 | 2471 | | |
2470 | 2472 | | |
2471 | | - | |
2472 | | - | |
2473 | | - | |
2474 | | - | |
2475 | | - | |
2476 | | - | |
| 2473 | + | |
| 2474 | + | |
| 2475 | + | |
| 2476 | + | |
2477 | 2477 | | |
2478 | 2478 | | |
2479 | 2479 | | |
2480 | | - | |
2481 | | - | |
2482 | | - | |
2483 | | - | |
2484 | | - | |
2485 | | - | |
| 2480 | + | |
| 2481 | + | |
| 2482 | + | |
| 2483 | + | |
2486 | 2484 | | |
2487 | 2485 | | |
2488 | 2486 | | |
| |||
2492 | 2490 | | |
2493 | 2491 | | |
2494 | 2492 | | |
2495 | | - | |
| 2493 | + | |
2496 | 2494 | | |
2497 | 2495 | | |
2498 | 2496 | | |
| |||
2507 | 2505 | | |
2508 | 2506 | | |
2509 | 2507 | | |
2510 | | - | |
2511 | | - | |
2512 | | - | |
2513 | | - | |
2514 | | - | |
2515 | | - | |
2516 | | - | |
2517 | | - | |
2518 | | - | |
2519 | | - | |
2520 | | - | |
2521 | | - | |
2522 | | - | |
2523 | | - | |
2524 | | - | |
2525 | | - | |
2526 | | - | |
2527 | | - | |
2528 | | - | |
2529 | | - | |
2530 | | - | |
2531 | | - | |
2532 | | - | |
| 2508 | + | |
| 2509 | + | |
| 2510 | + | |
| 2511 | + | |
| 2512 | + | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
2533 | 2517 | | |
2534 | 2518 | | |
2535 | 2519 | | |
| |||
2539 | 2523 | | |
2540 | 2524 | | |
2541 | 2525 | | |
2542 | | - | |
| 2526 | + | |
2543 | 2527 | | |
2544 | 2528 | | |
2545 | 2529 | | |
| |||
2554 | 2538 | | |
2555 | 2539 | | |
2556 | 2540 | | |
2557 | | - | |
2558 | | - | |
2559 | | - | |
2560 | | - | |
2561 | | - | |
2562 | | - | |
2563 | | - | |
2564 | | - | |
2565 | | - | |
2566 | | - | |
2567 | | - | |
2568 | | - | |
2569 | | - | |
2570 | | - | |
2571 | | - | |
2572 | | - | |
2573 | | - | |
2574 | | - | |
2575 | | - | |
2576 | | - | |
2577 | | - | |
2578 | | - | |
2579 | | - | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
2580 | 2550 | | |
2581 | 2551 | | |
2582 | 2552 | | |
| |||
2586 | 2556 | | |
2587 | 2557 | | |
2588 | 2558 | | |
2589 | | - | |
| 2559 | + | |
2590 | 2560 | | |
2591 | 2561 | | |
2592 | 2562 | | |
| |||
2601 | 2571 | | |
2602 | 2572 | | |
2603 | 2573 | | |
2604 | | - | |
2605 | | - | |
2606 | | - | |
2607 | | - | |
2608 | | - | |
2609 | | - | |
| 2574 | + | |
| 2575 | + | |
| 2576 | + | |
| 2577 | + | |
| 2578 | + | |
| 2579 | + | |
| 2580 | + | |
| 2581 | + | |
| 2582 | + | |
| 2583 | + | |
2610 | 2584 | | |
2611 | 2585 | | |
2612 | 2586 | | |
2613 | | - | |
2614 | | - | |
2615 | | - | |
2616 | | - | |
2617 | | - | |
| 2587 | + | |
| 2588 | + | |
| 2589 | + | |
2618 | 2590 | | |
2619 | 2591 | | |
2620 | 2592 | | |
2621 | | - | |
2622 | | - | |
2623 | | - | |
2624 | | - | |
2625 | | - | |
| 2593 | + | |
| 2594 | + | |
| 2595 | + | |
2626 | 2596 | | |
2627 | 2597 | | |
2628 | 2598 | | |
2629 | | - | |
2630 | | - | |
2631 | | - | |
2632 | | - | |
2633 | | - | |
| 2599 | + | |
| 2600 | + | |
| 2601 | + | |
2634 | 2602 | | |
2635 | 2603 | | |
2636 | 2604 | | |
| |||
2640 | 2608 | | |
2641 | 2609 | | |
2642 | 2610 | | |
2643 | | - | |
| 2611 | + | |
2644 | 2612 | | |
2645 | 2613 | | |
2646 | 2614 | | |
| |||
2654 | 2622 | | |
2655 | 2623 | | |
2656 | 2624 | | |
2657 | | - | |
2658 | | - | |
2659 | | - | |
2660 | | - | |
2661 | | - | |
2662 | | - | |
| 2625 | + | |
| 2626 | + | |
| 2627 | + | |
| 2628 | + | |
2663 | 2629 | | |
2664 | 2630 | | |
2665 | 2631 | | |
2666 | | - | |
2667 | | - | |
2668 | | - | |
2669 | | - | |
2670 | | - | |
2671 | | - | |
| 2632 | + | |
| 2633 | + | |
| 2634 | + | |
| 2635 | + | |
2672 | 2636 | | |
2673 | 2637 | | |
2674 | 2638 | | |
| |||
0 commit comments