Stream: endive

Topic: Component Model support


view this post on Zulip andreaTP (Jun 01 2026 at 16:59):

Since the announcement of Endive, several people have reached out expressing interest in contributing Component Model support.

I’ve opened this repo to help facilitate the conversation and give the community a place to quickly iterate on a prototype: https://github.com/roastedroot/endive-cm

Anyone interested is very welcome to join and contribute!

view this post on Zulip Zachary Whitley (Jun 01 2026 at 22:06):

@andreaTP Congratulations on Endive! I have a project that I'm working on that will have a interesting use for Endive especially if it supports components.

view this post on Zulip Zachary Whitley (Jun 01 2026 at 22:08):

I noticed you gave a shutout on the endive-cm page. Thanks

view this post on Zulip Shusek (Jun 03 2026 at 16:25):

I've been testing chicory/endive recently to create a plugin system for a player similar to Kodi, only based on security, and so far it looks really promising. Component Model looks really promising, i could harden the SDK on WIT bindings.

view this post on Zulip andreaTP (Jun 03 2026 at 16:31):

CM support is barely started, all the help is welcome!

view this post on Zulip Jeremy Grelle (Jun 10 2026 at 15:17):

@andreaTP Thanks for setting up this initial repo, it's a great jumpstart for getting things moving. The development phases you've outlined are really helpful.

If nobody else already has it in progress, I'd like to go ahead and get started on the type model, parser, and some supporting parts of the wasm-tools component commands (I think validation in particular). I've already got a version of all of these in progress in a private experimental repo that takes a slightly different approach, and it should be a fairly straightforward task to port the code over to fulfill the patterns that you've outlined and transform it to a more "endive native" approach. I would try to do this in somewhat of an incremental manner in order to keep PR sizes reasonable.

To facilitate this development, I think it would also be useful to go ahead and set up some spec testing infrastructure, incorporating wast tests from https://github.com/WebAssembly/component-model/tree/main/test - I'll take a deeper look at the spec testing infrastructure in the main endive project and see what can be re-used and what patterns can be replicated.

view this post on Zulip andreaTP (Jun 11 2026 at 09:38):

Hi @Jeremy Grelle sorry for the delay, great to see you around!

The development phases

Feel free to iterate on the document, it's just an initial plan.

If nobody else already has it in progress

Please go ahead, and thanks a lot!

incorporating wast tests

That's a great idea! Feel free to add it very very early to the plan.
In endive we are generating unit tests and assertions out of the wast files, feel free to replicate/re-use as much as possible the infrastructure.

view this post on Zulip Jeremy Grelle (Jun 19 2026 at 14:39):

Very much still a work-in-progress, but I've gone ahead and pushed the beginnings of this work to a branch in my personal endive-cm fork:
https://github.com/jeremyg484/endive-cm/tree/types-and-parser

I've basically set up just enough plumbing and infrastructure to make progress on the type model and parser, and have thus far implemented component validation (via wasm-tools) and the parsing for a decent chunk of the <core:type> section.

@andreaTP I see two different ways of proceeding and wonder if you have a preference?

  1. Pause at this current point and do enough cleanup to turn it into a formal PR as it's already a decent but fairly manageable size
  2. Just continue iterating from the current state, pushing changes to this branch as I go in case anyone wants to keep an eye on the progress, but resulting in a larger PR later

view this post on Zulip andreaTP (Jun 19 2026 at 14:45):

Hey @Jeremy Grelle ! Thanks for the help, I skimmed through and I like it!
I think the size is great for a first PR

view this post on Zulip Shusek (Jun 19 2026 at 19:21):

andreaTP napisał:

CM support is barely started, all the help is welcome!

I'm currently processing the entire runtime, as you can see. Unfortunately, I needed cross-platform support, so Maven and Java were no longer an option.
https://github.com/Shusek/kotlin-runtime-web-assembly

view this post on Zulip andreaTP (Jun 19 2026 at 19:27):

Chasm is an interpreter focusing on kotlin multi-platform support: https://github.com/CharlieTap/chasm

view this post on Zulip Zachary Whitley (Tegmentum) (Jul 15 2026 at 19:56):

Were you planning on adding CM support directly to Endive or layering it on top? I might be able to spare some cycles for that effort.

I'm still not quite ready to release it yet but I successfully got my JDK running under webassembly with wasmtime4j and Endive. It's a Java running in Wasm running in Java using Endive. I was able to sandbox log4j with facade jar and demonstrate that it successfully protects against the log4shell cve. In addition it's able to log any attempt to access denied capabilities that provide a signal of attempted compromise. Initial testing shows a modest 16% overhead.

It runs with a full JIT but doing it is a little rough without the CM.

view this post on Zulip andreaTP (Jul 15 2026 at 20:01):

CM support started here:
https://github.com/roastedroot/endive-cm
It will eventually move to the main repo, so the plan is to add direct support in endive.
Looking forward for a blog about this exploration!


Last updated: Jul 29 2026 at 05:03 UTC