Skip to main content

Module environment

Module environment 

Source
Expand description

Environment - アクション実行環境の抽象化

すべてのアクション実行を Environment 経由で行うことで、 Actions/Env の組み合わせを外部から注入可能にする。

§設計

GenericWorker.execute_action()
    │
    └── Extensions.get::<EnvironmentBox>()
            │
            └── env.step(worker_id, action) → WorkResult

§重要

  • step() が唯一のアクション実行メソッド
  • WorkResult::Done で終了を通知
  • 観察が必要な場合は Action("Look") を送り、step() で処理する

§使用例

// デフォルト環境(Bash/Read/Write/Grep/Glob)
let orchestrator = OrchestratorBuilder::new()
    .environment(Box::new(DefaultEnvironment::new()))
    .build();

// カスタム環境(迷路)
let orchestrator = OrchestratorBuilder::new()
    .environment(Box::new(MazeEnvironment::from_map(map)))
    .build();

Structs§

DefaultEnvironment
デフォルト環境 - ファイル操作・シェルコマンド

Traits§

Environment
アクション実行環境トレイト

Type Aliases§

EnvironmentBox
Environment の Box 型エイリアス