AI Decision System
Replayable, offline-verifiable records for AI-assisted go/no-go decisions: experiment promotions, typed model answers and human-approved actions.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗
LionWeb JVM is the JVM implementation of the LionWeb specification, providing libraries for Java and Kotlin.
The published libraries require Java 11 or higher (the Gradle plugin requires Java 17 or higher).
Building the project requires Java 17 or higher. We test on Java 17 and 25.
Take a look at the Documentation.
While new features are being added, and the project is evolving, the core features are solidly implemented. The library is mature and used in production.
The project is actively maintained. Feel free to open issues to ask questions or to request help or support.
For visibility on the future plans regarding this project refer to the Roadmap.
This library supports versions 2023.1 and 2024.1 of the specification. Known divergences from 2024.1 are tracked in #458, and support for 2026.1 in #450.
dependencies {
implementation("io.lionweb:lionweb-2024.1-core:$lionwebVersion")
}
Before opening in IDEA run:
./gradlew setup
This will generate necessary classes.
See CONTRIBUTING.md for how to build the project, the code conventions, and how to submit changes.
Contains LionCore (M2) and LionWeb (M1) implementations in Java, including (de-)serializers from/to JSON and Protocol Buffers.
Contains im/exporters to convert models between LionCore ↔ Ecore and LionWeb ↔ EMF.
Some of LionCore's built-in elements have no direct representation in Ecore.
This sub-project is an Eclipse project that defines an EPackage builtins to host the equivalent elements in Ecore.
The language's nsURI is http://lionweb.io/lionweb-java/emf/core/builtins/2023.1.
Functionalities to connect to the LionWeb Server. It also includes an in-memory server, paired with a Client exposing the same interface as the interface for connecting to the LionWeb Server.
Facilities to write functional tests against the LionWeb Server, started in Docker via Testcontainers, or against the in-memory server.
Serialization-related extensions that go beyond the core LionWeb specification:
.lwa) — a ZIP-based packaging format that bundles partitions, language definitions, and metadata into a single versioned fileKotlin-idiomatic bindings on top of core. Provides BaseNode and BaseAnnotation open classes, a ContainmentList that keeps parent/child links in sync, and extension functions for serialization.
dependencies {
implementation("io.lionweb:lionweb-2024.1-kotlin-core:$lionwebVersion")
}
Kotlin-idiomatic bindings on top of client for connecting to a LionWeb Server. Provides a high-level LionWebClient that works with any node, including typed BaseNode subclasses defined with kotlin-core.
dependencies {
implementation("io.lionweb:lionweb-2024.1-kotlin-client:$lionwebVersion")
}
A Gradle plugin (io.lionweb) that generates Java source code from LionWeb language definition files and packages language JSON files into your JAR. Apply it in your build:
plugins {
id("io.lionweb") version "$lionwebVersion"
}
The plugin exposes tasks generateLWLanguages and generateLWNodeClasses, and a lionweb { } extension block for configuring input/output directories, package names, primitive type mappings, and more.
A standalone LionWeb repository server backed by an in-memory store. It exposes two protocols simultaneously:
/bulk/store, /bulk/retrieve, /bulk/listPartitions, etc.) plus inspection endpoints (/inspection/nodesByClassifier, /inspection/nodesByLanguage). Accepts GZIP-compressed request bodies.An optional Svelte-based web UI (default port 9241) can be enabled for inspecting the repository in a browser.
Run via Gradle:
./gradlew :server:run # HTTP bulk + WebSocket delta
./gradlew :server:runServerWeb # also enable the web UI
Or build a fat JAR and run directly:
./gradlew :server:shadowJar
java -jar server/build/libs/server-*-all.jar [options]
Key CLI options:
| Option | Default | Description |
|---|---|---|
--http-port | 9239 | HTTP bulk API port |
--ws-port | 9240 | WebSocket delta protocol port |
--web-port | 9241 | Web UI port (requires --web-ui) |
--web-ui | false | Enable the browser-based dashboard |
--repository | repo | Name of the repository created on startup |
The Changelog is here.
The project uses unit, integration, functional and performance tests, plus JMH benchmarks. See TESTING.md for what each kind of test verifies and how to run it.
This project is part of the LionWeb initiative.
The project is currently maintained by Federico Tomassetti with contributions from:
Contributions include support in the design, code contributions, code reviews, and bug reports.