From a69d6070f83b0f8b9459b2bc7faeb2046f20a74e Mon Sep 17 00:00:00 2001 From: ciregenz Date: Fri, 19 Jun 2026 17:18:44 -0700 Subject: [PATCH] [eric] onboarding: stop auto-typing+sending canned prompts (no forced pdf app); steps 5/6/8 guide and let the user send their own task --- .../Onboarding/steps/step05_agentUseBrowser.ts | 15 +++++++++------ .../steps/step06_agentControlAgents.ts | 17 +++++++---------- .../Onboarding/steps/step08_makeApp.ts | 16 ++++++---------- 3 files changed, 22 insertions(+), 26 deletions(-) diff --git a/frontend/src/app/components/Onboarding/steps/step05_agentUseBrowser.ts b/frontend/src/app/components/Onboarding/steps/step05_agentUseBrowser.ts index 4ca5b53e..47a4cd20 100644 --- a/frontend/src/app/components/Onboarding/steps/step05_agentUseBrowser.ts +++ b/frontend/src/app/components/Onboarding/steps/step05_agentUseBrowser.ts @@ -39,15 +39,18 @@ export const step05: OnboardingStep = { condition: { kind: 'event_bus', event: 'agent:attached_to_browser' }, timeoutMs: 90000, }, + // Guide, don't commandeer: invite the user to ask for any web task in their + // own words instead of typing + sending a canned prompt for them. { kind: 'move_to', target: S.chatInput }, { - kind: 'type_into', - target: S.chatInput, - text: 'Pull up the open swarm website (openswarm.com) and find the docs', - speedMs: 12, + kind: 'popup', + text: 'Now ask it to do something on the web in your own words, then send.', + }, + { + kind: 'wait_user', + condition: { kind: 'event_bus', event: 'chat:message_sent' }, + timeoutMs: 180000, }, - { kind: 'move_to', target: S.chatSendButton }, - { kind: 'click', target: S.chatSendButton, simulate: true }, // Inline canvas-controls tour (hover + popup, no waits/clicks expected). { kind: 'move_to', target: S.canvasFitToView }, { kind: 'popup', text: 'Heads up! This snaps everything back into view.' }, diff --git a/frontend/src/app/components/Onboarding/steps/step06_agentControlAgents.ts b/frontend/src/app/components/Onboarding/steps/step06_agentControlAgents.ts index 15425989..d80f0d83 100644 --- a/frontend/src/app/components/Onboarding/steps/step06_agentControlAgents.ts +++ b/frontend/src/app/components/Onboarding/steps/step06_agentControlAgents.ts @@ -44,25 +44,22 @@ export const step06: OnboardingStep = { condition: { kind: 'event_bus', event: 'agent:attached_to_browser' }, timeoutMs: 90000, }, + // Guide, don't commandeer: let the user tell the boss chat what to do with + // the helper, in their own words, instead of auto-typing + sending for them. { kind: 'move_to', target: S.chatInput }, { - kind: 'type_into', - target: S.chatInput, - // Source-agnostic; works for either step 3 prompt. - text: 'Turn what it dug up into a PDF report and save it to my downloads.', - speedMs: 12, + kind: 'popup', + text: 'Tell the boss chat what to have its helper do, your words, then send.', }, - { kind: 'move_to', target: S.chatSendButton }, - { kind: 'click', target: S.chatSendButton, simulate: true }, - // Confirm message went out; don't wait for the orchestrator to finish (legitimately runs minutes). + // Confirm a message went out; don't wait for the orchestrator to finish (legitimately runs minutes). { kind: 'wait_user', condition: { kind: 'event_bus', event: 'chat:message_sent' }, - timeoutMs: 30000, + timeoutMs: 180000, }, { kind: 'popup', - text: "On it! Your PDF will pop into Downloads when everyone's done. Go poke around in the meantime.", + text: "On it! The helper gets to work and reports back to the boss. Go poke around in the meantime.", }, { kind: 'delay', ms: 4000 }, { kind: 'outro' }, diff --git a/frontend/src/app/components/Onboarding/steps/step08_makeApp.ts b/frontend/src/app/components/Onboarding/steps/step08_makeApp.ts index 53e16075..f95b1210 100644 --- a/frontend/src/app/components/Onboarding/steps/step08_makeApp.ts +++ b/frontend/src/app/components/Onboarding/steps/step08_makeApp.ts @@ -33,22 +33,18 @@ export const step08: OnboardingStep = { timeoutMs: 60000, }, { kind: 'delay', ms: 350 }, + // Guide, don't commandeer: point at the chat input and let the user describe + // their OWN app. We never type a canned prompt or auto-send, so the tour + // doesn't spend a run building something the user didn't choose. { kind: 'move_to', target: S.chatInput }, { - kind: 'type_into', - target: S.chatInput, - text: 'Make me a pdf previewer app', - speedMs: 12, + kind: 'popup', + text: 'Describe any app you want, a tracker, a viewer, a game, type it here and send.', }, - // 120ms pause lets onInput's draft-state commit before clicking; send-button is disabled-while-empty. - { kind: 'delay', ms: 120 }, - { kind: 'move_to', target: S.chatSendButton }, - { kind: 'click', target: S.chatSendButton, simulate: true }, - // chat:message_sent only; app:generation_done has too many legitimate completion shapes. { kind: 'wait_user', condition: { kind: 'event_bus', event: 'chat:message_sent' }, - timeoutMs: 30000, + timeoutMs: 180000, }, { kind: 'popup',