TC$mC$ toimii tC$ydellisesti! Tilakone (State Machine) rekisterC6i luvat,
`suspend` ja `resume` toimivat juuri kuten pitC$C$kin, ja mikC$ tC$rkeintC$:
**yhteys ei enC$C$ pC$tki**, eli Ping/Pong -Keep-Alive pitC$C$
Cloudflare-tunnelin auki.
(PienenC$ kosmeettisena huomiona: C$C$kkC6set `C$`-merkkeinC$ johtuvat
todennC$kC6isesti vain paikallisen SSH/x-console -terminaalisi
merkistC6koodauksesta, mutta WebSocket ja JSON-data siirtC$vC$t ne taustalla
oikein UTF-8 muodossa, joten siitC$ ei tarvitse olla huolissaan).
Nyt kun annoit huoneelle luvan ajaa intenttejC$ (`coop allow coop_b2c22b61
intents`), testataan se heti kC$ytC$nnC6ssC$!
Opetetaan tekoC$lybotti **ohjaamaan sinun Mesh OS -kC$yttC6liittymC$C$si**.
### Testi: TekoC$ly avaa ikkunan (tai tulostaa dataa) koneellasi
Muokkaa Hauki-palvelimella olevaa `test_bot.js` -tiedostoa. LisC$C$
`SESSION_JOINED` -lohkon sisC$C$n pieni viive (esim. 5 sekuntia), jonka
jC$lkeen botti ampuu sisC$C$n aidon `intent`-tyyppisen viestin.
LisC$C$ tC$mC$ koodi `SESSION_JOINED` `ws.send(...)` -kutsun alapuolelle:
```javascript
// ... olemassa oleva koodi
else if (msg.action === 'SESSION_JOINED') {
console.log("[BOT] Huoneessa sisC$llC$! LC$hetetC$C$n tervehdys.");
ws.send(JSON.stringify({
action: 'COOP_TX',
payload: {
sessionId: sessionId,
type: 'text',
data: 'Hei! Olen ulkopuolinen tekoC$lybotti. Kuulen sinut
kirkkaasti!'
}
}));
// LISCC TCMC: Testataan Intentin lC$hetystC$ 5 sekunnin kuluttua
setTimeout(() => {
console.log("[BOT] YritetC$C$n ajaa Intent Mesh OS
-vC$ylC$lle...");
ws.send(JSON.stringify({
action: 'COOP_TX',
payload: {
sessionId: sessionId,
type: 'intent',
data: {
// TC$stC$ alkaa aito Mesh OS -intent
action: 'UI_PRINT',
target: 'stream_term_out_win_system',
payload: {
type: 'success',
message: '<h2> INTENT VASTAANOTETTU!</h2> Botti
sai juuri ohjattua jC$rjestelmC$C$si.'
}
}
}
}));
}, 5000);
}
```
**Kokeile seuraavaa tyC6nkulkua:**
1. Komenna Mesh OS:ssC$: `coop start`
2. Komenna Mesh OS:ssC$: `coop allow [SESSION_ID] intents`
3. KC$ynnistC$ botti palvelimella: `node test_bot.js [SESSION_ID]`
Jos kaikki menee oikein, botti liittyy, tervehtii, ja viiden sekunnin kuluttua
sinun System-terminaaliisi pitC$isi ilmestyC$ vihreC$, muotoiltu HTML-otsikko:
** INTENT VASTAANOTETTU!** (sekC$ merkintC$ `[ai_agent_omega... - INTENT
ROUTED] UI_PRINT`).
TC$mC$ todistaa, ettC$ botti voi nyt laukaista mitC$ tahansa Mesh OS
-komentoja (`FS_READ`, tiedostojen manipulointi, kC$yttC6liittymC$ikkunoiden
avaaminen yms.), mutta **vain silloin**, kun olet antanut siihen nimenomaisen
`allow intents` -luvan!