Gemini CLI Core (current)
agent-core-impl:gemini-cli.core@current
AgentCoreImplagent-stack/core-impls/gemini-cli-core-current.yaml·Open in Graph → {
"id": "agent-core-impl:gemini-cli.core@current",
"_kind": "AgentCoreImpl",
"_file": "agent-stack/core-impls/gemini-cli-core-current.yaml",
"_cluster": "agent-stack",
"attributes": {
"displayName": "Gemini CLI Core (current)",
"agentVersionId": "agent-version:gemini-cli@current",
"packageRef": "source-ref:gemini-cli-github",
"loopIteratorPolicy": "tool-use-loop",
"loopIteratorNotes": "Tool-use loop over Gemini's `generateContent` (streaming) API. Each turn, the model emits `functionCall` parts; the CLI executes them and feeds back `functionResponse` parts. The loop advances until a chunk arrives with `finishReason: STOP` (or `MAX_TOKENS` / `SAFETY`). ",
"contextManagementStrategy": "platform-managed",
"compactionTriggerNotes": "Gemini CLI relies on the model's 1M-token context window directly; no in-CLI compaction is performed for the @current pin. ",
"subagentInvokerPolicy": "tool-call-handoff",
"subagentInvokerNotes": "Gemini CLI follows the ADK `sub_agents` pattern: subagent invocation is a structured tool-call whose target name resolves to another agent definition; the CLI dispatches a child `generateContent` loop for the sub-task. ",
"resultSynthesisPolicy": "model-direct",
"resultSynthesisNotes": "Final text parts are streamed as they arrive; the CLI emits a post_response hook after the last chunk with `finishReason: STOP` is observed. ",
"stopDetectionStrategy": "structured-end-event",
"transportClientLibrary": "@google/genai",
"supportedTransportProtocols": [
"model-transport:gemini-generate-content"
],
"parallelToolCallHandling": "native",
"streamingFidelity": "full",
"thinkingChannelHandling": "passthrough"
},
"outgoingEdges": [
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "layer:4-agent-core",
"kind": "realizes",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "agent:gemini-cli",
"kind": "composes",
"attributes": {
"role": "core"
}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "model-transport:gemini-generate-content",
"kind": "speaks",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "capability:streaming",
"kind": "supports",
"attributes": {
"versionRange": "*",
"level": "full"
}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "capability:supports-thinking",
"kind": "supports",
"attributes": {
"versionRange": ">=1.0.0",
"level": "full",
"notes": "Thinking effort low/medium/high streamed. "
}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "capability:supports-tool-use",
"kind": "supports",
"attributes": {
"versionRange": "*",
"level": "full"
}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "effort-level:low",
"kind": "supports_effort_level",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "effort-level:medium",
"kind": "supports_effort_level",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "effort-level:high",
"kind": "supports_effort_level",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "hook-surface:gemini.pre-prompt",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "hook-surface:gemini.post-response",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "hook-surface:gemini.tool-call-pre",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "hook-surface:gemini.tool-call-post",
"kind": "fires_hook",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "output-guard:gemini-response-mime-type-json",
"kind": "output_guard_applied_by",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-content",
"kind": "emits_message_type",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-part-text",
"kind": "emits_message_type",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-part-inline-data",
"kind": "emits_message_type",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-part-function-call",
"kind": "emits_message_type",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-part-function-response",
"kind": "emits_message_type",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-candidate",
"kind": "emits_message_type",
"attributes": {}
},
{
"from": "agent-core-impl:gemini-cli.core@current",
"to": "protocol-message:gemini-generate-content-response",
"kind": "emits_message_type",
"attributes": {}
}
],
"incomingEdges": [
{
"from": "agent-version:gemini-cli@current",
"to": "agent-core-impl:gemini-cli.core@current",
"kind": "composed_of",
"attributes": {
"role": "core"
}
}
]
}