3fa45a47c6
New :cli JVM module producing an `amy` binary that drives Amethyst functionality headlessly. Identity and relay configuration sit at the root (`amy init`, `amy whoami`, `amy relay …`); Marmot/MLS lives under `amy marmot …` so future verbs (dm, feed, profile) can slot in cleanly. Marmot surface covered: - key-package publish / check - group create / list / show / members / admins / add / rename / promote / demote / remove / leave - message send / list (kind:9 inner events) - await key-package / group / member / admin / message / rename / epoch (non-interactive polling with --timeout; exit 124 on timeout) Wiring: - NostrClient + BasicOkHttpWebSocket.Builder, reusing the existing publishAndConfirmDetailed and fetchFirst accessories - MarmotManager from :commons with file-backed MlsGroupStateStore, KeyPackageBundleStore, and MarmotMessageStore (unencrypted — scratch harness use only) - each invocation is one-shot: prepare → syncIncoming → run command → persist → disconnect All commands emit one JSON object on stdout; diagnostics on stderr. Designed so shell harnesses can pipe through jq without bespoke parsing. https://claude.ai/code/session_01M6dCKAF5Y1VyHGZPjzwDXq
41 lines
1.0 KiB
Groovy
41 lines
1.0 KiB
Groovy
pluginManagement {
|
|
repositories {
|
|
google {
|
|
content {
|
|
includeGroupByRegex("com\\.android.*")
|
|
includeGroupByRegex("com\\.google.*")
|
|
includeGroupByRegex("androidx.*")
|
|
}
|
|
}
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
maven {
|
|
url = "https://jitpack.io"
|
|
content {
|
|
includeModule 'com.github.UnifiedPush', 'android-connector'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencyResolutionManagement {
|
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
|
repositories {
|
|
mavenLocal()
|
|
google()
|
|
mavenCentral()
|
|
maven { url = "https://jitpack.io" }
|
|
maven { url = "https://raw.githubusercontent.com/guardianproject/gpmaven/master" }
|
|
maven { url = "https://mvn.0110.be/releases" }
|
|
}
|
|
}
|
|
|
|
rootProject.name = "Amethyst"
|
|
include ':amethyst'
|
|
include ':benchmark'
|
|
include ':quartz'
|
|
include ':commons'
|
|
include ':ammolite'
|
|
include ':desktopApp'
|
|
include ':cli'
|