pluginlab 0.6.0

Command-line interface host for Terminal REPL with plugin system (using WebAssembly Component Model)
Documentation
package repl:api;

interface host-state {
  use transport.{readline-response};
  use transport.{repl-var};

  get-plugins-names: func() -> list<string>;
  get-repl-vars: func() -> list<repl-var>;
  set-repl-var: func(var: repl-var);
}

interface guest-state {
  get-reserved-commands: func() -> list<string>;
}

interface repl-logic {
  use transport.{readline-response};
  readline: func(line: string) -> readline-response;
}

world host-api {
  import host-state;
  export guest-state;
  export repl-logic;
}