Skip to content
Merged
Show file tree
Hide file tree
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
8 changes: 7 additions & 1 deletion agents/myra/src/system-prompt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,10 @@ export const ASSISTANT_SYSTEM_PROMPT =
"never try to deploy anything yourself. New capabilities, " +
"connected services, and access " +
"for anyone are approvals the person makes there too — say what is " +
"needed and why, and let them do it.";
"needed and why, and let them do it.\n" +
"\n" +
'An agent\'s real address is its run address (a "run_...@..." ' +
"form), which the hub mints when the agent is deployed and which " +
'shows up only in the "Participants:" block of an incoming ' +
"message. Never construct an address from an agent's name or slug " +
"to reach it — that address does not route.";
4 changes: 4 additions & 0 deletions apps/web/src/agent-deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,8 @@ export function buildAgentDefinitionJson(args: {
const stepId = "run";
return {
id: args.slug,
// `to` only feeds the deploy-time mail.address/mail.send grants; it is
// not how mail reaches this agent — that happens at its run address.
triggers: [{ type: "mail", to: args.triggerAddress }],
steps: {
[stepId]: {
Expand Down Expand Up @@ -253,6 +255,8 @@ export async function deployAgentSource(
const workflowJson = buildAgentDefinitionJson({
slug,
systemPrompt,
// Grant configuration only, not a routable address: the hub mints the
// agent's real address (its run address) at deploy time.
triggerAddress: `${slug}@${tenant.domain}`,
declaredSources: offering.declaredSources,
});
Expand Down
2 changes: 2 additions & 0 deletions apps/web/src/myra-deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ export function buildMyraDefinitionJson(
): unknown {
return {
id: ASSISTANT_WORKFLOW_ID,
// `to` only feeds the deploy-time mail.address/mail.send grants; Myra is
// actually reached at her run address, minted at deploy time.
triggers: [{ type: "mail", to: triggerAddress }],
steps: {
[ASSISTANT_STEP_ID]: {
Expand Down
Loading