Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
135 changes: 135 additions & 0 deletions a2as.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
manifest:
version: "0.1.3"
schema: https://a2as.org/cert/schema
subject:
name: bhancockio/deploy-adk-agent-engine
source: https://github.com/bhancockio/deploy-adk-agent-engine
branch: main
commit: "b5ffcd4a"
scope: [adk_short_bot/agent.py, adk_short_bot/prompt.py, adk_short_bot/tools/__init__.py, deployment/local.py, deployment/remote.py]
issued:
by: A2AS.org
at: '2026-02-11T16:33:39Z'
url: https://a2as.org/certified/agents/bhancockio/deploy-adk-agent-engine
signatures:
digest: sha256:3XzyAPItgBBXgo_t2z6creUtxS9ytee3ogMc9baRMsI
key: ed25519:RKMTnrVgz5w5xu4WA22Eh1CFJJlEBxlwOvxLa_j1hok
sig: ed25519:spI1Wm70OMGejBucKdDQkXnv3TDPBW94VO93mTxeyzvrnF1MGZT4izxXnOpjxhQwpsRYODNq_NLyriYi81RGDQ

agents:
root_agent:
type: instance
models: [gemini-2.0-flash]
tools: [count_characters]
params:
name: adk_short_bot
description: A bot that shortens messages while maintaining their core meaning
instruction: [You are a message shortening assistant. Your task is to take any input message and return a more concise
version while maintaining the core meaning and important details., 'For each message you process, you should:',
1. Count the original characters, 2. Create a shortened version that is more concise, 3. Count the new characters,
'4. Return the results in this exact format:', 'Original Character Count: [number]', 'New Character Count: [number]',
'New message: [shortened message]', 'Rules for shortening:', '- Remove unnecessary words and phrases', '- Use shorter
synonyms where possible', '- Maintain proper grammar and readability', '- Keep all essential information', '- Don''t
change the meaning of the message', '- Don''t use abbreviations unless they''re commonly understood']

models:
gemini-2.0-flash:
type: literal
agents: [root_agent]

tools:
count_characters:
type: function
agents: [root_agent]
params:
description: |-
Count the number of characters in a message.

Args:
message (str): The message to count characters for

Returns:
int: The number of characters in the message

imports:
Agent: google.adk.agents.Agent
agent: agent
agent_engines: vertexai.agent_engines
app: absl.app
count_characters: character_counter.count_characters
flags: absl.flags
load_dotenv: dotenv.load_dotenv
os: os
reasoning_engines: vertexai.preview.reasoning_engines
root_agent: adk_short_bot.agent.root_agent
ROOT_AGENT_INSTRUCTION: adk_short_bot.prompt.ROOT_AGENT_INSTRUCTION
sys: sys
vertexai: vertexai

functions:
count_characters:
type: sync
module: adk_short_bot.tools.character_counter
args: [message]
params:
returns: int
create:
type: sync
module: deployment.remote
params:
returns: None
create_session:
type: sync
module: deployment.remote
args: [resource_id, user_id]
params:
returns: None
delete:
type: sync
module: deployment.remote
args: [resource_id]
params:
returns: None
get_session:
type: sync
module: deployment.remote
args: [resource_id, user_id, session_id]
params:
returns: None
list_deployments:
type: sync
module: deployment.remote
params:
returns: None
list_sessions:
type: sync
module: deployment.remote
args: [resource_id, user_id]
params:
returns: None
main:
type: sync
module: deployment.local
send_message:
type: sync
module: deployment.remote
args: [resource_id, user_id, session_id, message]
params:
returns: None

variables:
GOOGLE_CLOUD_LOCATION:
type: env
params:
caller: [os.getenv]
path: [deployment.remote, deployment.local]
GOOGLE_CLOUD_PROJECT:
type: env
params:
caller: [os.getenv]
path: [deployment.remote, deployment.local]
GOOGLE_CLOUD_STAGING_BUCKET:
type: env
params:
caller: [os.getenv]
path: [deployment.remote]