Command-line application for testing and debugging Kalium flows.
The CLI can:
- Log in
- Create a group conversation
- Add and remove group members
- Receive and send text messages in real time
- Remove another client from your account remotely
- Refill MLS key packages
- Mark conversations as read
- Update supported protocols
- JDK 21
- Native libraries under
native/libs
Build native libraries from the repository root:
makeWhen running JVM tasks, pass the native library path:
-Djava.library.path=./native/libs./gradlew :sample:cli:jvmJar -Djava.library.path=./native/libsThe fat jar is written under:
sample/cli/build/libs/
Use the jar produced in sample/cli/build/libs/:
java -Djava.library.path=./native/libs -jar sample/cli/build/libs/<cli-jar>.jar login --email <email> --password <password> listen-groupYou can also use the Gradle run task:
./gradlew :sample:cli:jvmRun --console=plain --quiet --args="login --email <email> --password <password> listen-group"./gradlew :sample:cli:macosArm64Binaries
./sample/cli/build/bin/macosArm64/debugExecutable/cli.kexe loginRun help from the built CLI to see the current command list:
java -Djava.library.path=./native/libs -jar sample/cli/build/libs/<cli-jar>.jar login --helpCurrent command set:
create-group
listen-group
delete-client
add-member
remove-member
console
refill-key-packages
mark-as-read
update-supported-protocols