#elixir#agent#ai#artificial_intelligence#elixir#event_driven_architecture#functional_programming#orchestration#workflow
Jido is a pure functional framework for Elixir to build autonomous multi-agent workflows. Agents are immutable data with a simple `cmd/2` function that transforms state purely and outputs directives for effects like signals or spawning, handled by OTP runtime. It formalizes patterns like standard signals, reusable actions, and hierarchies over raw GenServer, adding AI tools, strategies (ReAct, FSM), and supervision. You benefit by creating scalable, testable, fault-tolerant agent systems easily for production AI apps, saving reinvented code.
https://github.com/agentjido/jido
🚀 Вышел стабильный JavaScript движок от Google для Android
Новая стабильная библиотека Jetpack JavaScript Engine позволит разработчикам выполнять JS код в изолированной и ограниченной среде.
class MainActivity : ComponentActivity() {
// Теперь nullable, без lateinit
private var jsSandbox: JavaScriptSandbox? = null
private var jsIsolate: JavaScriptIsolate? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
if (!JavaScriptSandbox.isSupported()) {
Log.e("JS", "JavaScriptSandbox не поддерживается")
return
}
lifecycleScope.launch {
// Создаём и сохраняем в nullable-поле
jsSandbox = JavaScriptSandbox
.createConnectedInstanceAsync(applicationContext)
.await()
jsIsolate = jsSandbox?.createIsolate()
// При выполнении гарантируем, что jsIsolate != null
val result: String = jsIsolate
?.evaluateJavaScriptAsync(JS_SCRIPT_SCRING)
?.await()
?: "Ошибка: isolate не инициализирован"
Log.d("JS", "Результат выполнения: $result")
}
}
override fun onDestroy() {
super.onDestroy()
// Закрываем только если не null
jsIsolate?.close()
jsSandbox?.close()
}
}
#jetpack#js