eleven / ocho Public

infinity-v1

.agents/skills/amadan/SKILL.md +301 −0
.agents/skills/amadan/SKILL.md

Loading diff…

.agents/skills/building-carlos-apps/SKILL.md +235 −0
.agents/skills/building-carlos-apps/SKILL.md

Loading diff…

.agents/skills/building-carlos-apps/references/blueprint.md +267 −0
.agents/skills/building-carlos-apps/references/blueprint.md

Loading diff…

.agents/skills/building-carlos-apps/references/decisions.md +211 −0
.agents/skills/building-carlos-apps/references/decisions.md

Loading diff…

.agents/skills/building-carlos-apps/references/platform.md +459 −0
.agents/skills/building-carlos-apps/references/platform.md

Loading diff…

.agents/skills/building-carlos-apps/references/process.md +190 −0
.agents/skills/building-carlos-apps/references/process.md

Loading diff…

.agents/skills/building-carlos-apps/references/rastrillo.md +156 −0
.agents/skills/building-carlos-apps/references/rastrillo.md

Loading diff…

.claude/settings.json +28 −8
.claude/settings.json

Loading diff…

.github/workflows/infinity.yml +23 −0
.github/workflows/infinity.yml

Loading diff…

.gitignore +15 −0
.gitignore

Loading diff…

AGENTS.md +30 −0
AGENTS.md

Loading diff…

DESIGN.md +25 −0
DESIGN.md

Loading diff…

PLAN.md +10 −0
PLAN.md

Loading diff…

README.md +20 −364
README.md

Loading diff…

android/README.md +28 −0
android/README.md

Loading diff…

android/app/build.gradle.kts +34 −0
android/app/build.gradle.kts

Loading diff…

android/app/src/androidTest/java/chat/ocho/app/NativeChatTest.kt +55 −0
android/app/src/androidTest/java/chat/ocho/app/NativeChatTest.kt

Loading diff…

android/app/src/main/AndroidManifest.xml +15 −0
android/app/src/main/AndroidManifest.xml

Loading diff…

android/app/src/main/java/chat/ocho/app/AccountDialogs.kt +62 −0
android/app/src/main/java/chat/ocho/app/AccountDialogs.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/AccountModel.kt +94 −0
android/app/src/main/java/chat/ocho/app/AccountModel.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/ActivityNotifications.kt +61 −0
android/app/src/main/java/chat/ocho/app/ActivityNotifications.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/MainActivity.kt +46 −0
android/app/src/main/java/chat/ocho/app/MainActivity.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/OchoMessagingService.kt +27 −0
android/app/src/main/java/chat/ocho/app/OchoMessagingService.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/OchoScreen.kt +148 −0
android/app/src/main/java/chat/ocho/app/OchoScreen.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/Passkeys.kt +72 −0
android/app/src/main/java/chat/ocho/app/Passkeys.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/ProfileAvatar.kt +46 −0
android/app/src/main/java/chat/ocho/app/ProfileAvatar.kt

Loading diff…

android/app/src/main/java/chat/ocho/app/SecureStore.kt +38 −0
android/app/src/main/java/chat/ocho/app/SecureStore.kt

Loading diff…

android/app/src/main/res/drawable/ocho_icon.png binary
android/app/src/main/res/drawable/ocho_icon.png

Loading diff…

android/app/src/main/res/values/styles.xml +1 −0
android/app/src/main/res/values/styles.xml

Loading diff…

android/app/src/main/res/xml/data_extraction_rules.xml +17 −0
android/app/src/main/res/xml/data_extraction_rules.xml

Loading diff…

android/build.gradle.kts +5 −0
android/build.gradle.kts

Loading diff…

android/gradle.properties +3 −0
android/gradle.properties

Loading diff…

android/gradle/wrapper/gradle-wrapper.jar binary
android/gradle/wrapper/gradle-wrapper.jar

Loading diff…

android/gradle/wrapper/gradle-wrapper.properties +8 −0
android/gradle/wrapper/gradle-wrapper.properties

Loading diff…

android/gradlew +252 −0
android/gradlew

Loading diff…

android/settings.gradle.kts +5 −0
android/settings.gradle.kts

Loading diff…

apple/.gitignore +3 −0
apple/.gitignore

Loading diff…

apple/Infinity/AccountSheets.swift +32 −0
apple/Infinity/AccountSheets.swift

Loading diff…

apple/Infinity/AccountStore.swift +182 −0
apple/Infinity/AccountStore.swift

Loading diff…

apple/Infinity/Assets.xcassets/AppIcon.appiconset/Contents.json +14 −0
apple/Infinity/Assets.xcassets/AppIcon.appiconset/Contents.json

Loading diff…

apple/Infinity/Assets.xcassets/AppIcon.appiconset/icon_1024.png binary
apple/Infinity/Assets.xcassets/AppIcon.appiconset/icon_1024.png

Loading diff…

apple/Infinity/AttachmentDocument.swift +10 −0
apple/Infinity/AttachmentDocument.swift

Loading diff…

apple/Infinity/ConversationStorage.swift +27 −0
apple/Infinity/ConversationStorage.swift

Loading diff…

apple/Infinity/Infinity.entitlements +12 −0
apple/Infinity/Infinity.entitlements

Loading diff…

apple/Infinity/InfinityApp.swift +22 −0
apple/Infinity/InfinityApp.swift

Loading diff…

apple/Infinity/MacMessageField.swift +73 −0
apple/Infinity/MacMessageField.swift

Loading diff…

apple/Infinity/NativeConversationView.swift +125 −0
apple/Infinity/NativeConversationView.swift

Loading diff…

apple/Infinity/NativeNotifications.swift +152 −0
apple/Infinity/NativeNotifications.swift

Loading diff…

apple/Infinity/NativePasskeys.swift +89 −0
apple/Infinity/NativePasskeys.swift

Loading diff…

apple/Infinity/OchoRootView.swift +117 −0
apple/Infinity/OchoRootView.swift

Loading diff…

apple/Infinity/OutgoingMessages.swift +99 −0
apple/Infinity/OutgoingMessages.swift

Loading diff…

apple/Infinity/ProfileSheet.swift +43 −0
apple/Infinity/ProfileSheet.swift

Loading diff…

apple/Infinity/SetupProgressView.swift +29 −0
apple/Infinity/SetupProgressView.swift

Loading diff…

apple/Infinity/WelcomeView.swift +33 −0
apple/Infinity/WelcomeView.swift

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/Contents.json +68 −0
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/Contents.json

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_1024.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_1024.png

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_128.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_128.png

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_16.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_16.png

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_256.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_256.png

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_32.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_32.png

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_512.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_512.png

Loading diff…

apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_64.png binary
apple/InfinityMac/Assets.xcassets/AppIcon.appiconset/icon_64.png

Loading diff…

apple/InfinityMac/InfinityMac.entitlements +18 −0
apple/InfinityMac/InfinityMac.entitlements

Loading diff…

apple/InfinityMacUITests/NativeChatTests.swift +70 −0
apple/InfinityMacUITests/NativeChatTests.swift

Loading diff…

apple/InfinityUITests/NativeChatTests.swift +48 −0
apple/InfinityUITests/NativeChatTests.swift

Loading diff…

apple/OchoCore/Package.swift +4 −0
apple/OchoCore/Package.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/API.swift +31 −0
apple/OchoCore/Sources/OchoCore/API.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/Attachment.swift +6 −0
apple/OchoCore/Sources/OchoCore/Attachment.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/Client.swift +34 −0
apple/OchoCore/Sources/OchoCore/Client.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/ConversationCache.swift +33 −0
apple/OchoCore/Sources/OchoCore/ConversationCache.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/Crypto.swift +75 −0
apple/OchoCore/Sources/OchoCore/Crypto.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/Engine.swift +11 −0
apple/OchoCore/Sources/OchoCore/Engine.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/LegacyIdentity.swift +42 −0
apple/OchoCore/Sources/OchoCore/LegacyIdentity.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/MessageLinks.swift +12 −0
apple/OchoCore/Sources/OchoCore/MessageLinks.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/Models.swift +41 −0
apple/OchoCore/Sources/OchoCore/Models.swift

Loading diff…

apple/OchoCore/Sources/OchoCore/Registration.swift +16 −0
apple/OchoCore/Sources/OchoCore/Registration.swift

Loading diff…

apple/OchoCore/Tests/OchoCoreTests/ClientTests.swift +61 −0
apple/OchoCore/Tests/OchoCoreTests/ClientTests.swift

Loading diff…

apple/OchoCore/Tests/OchoCoreTests/ConversationCacheTests.swift +33 −0
apple/OchoCore/Tests/OchoCoreTests/ConversationCacheTests.swift

Loading diff…

apple/OchoCore/Tests/OchoCoreTests/CryptoTests.swift +39 −0
apple/OchoCore/Tests/OchoCoreTests/CryptoTests.swift

Loading diff…

apple/OchoCore/Tests/OchoCoreTests/LegacyTests.swift +24 −0
apple/OchoCore/Tests/OchoCoreTests/LegacyTests.swift

Loading diff…

apple/OchoCore/Tests/OchoCoreTests/ProjectionTests.swift +34 −0
apple/OchoCore/Tests/OchoCoreTests/ProjectionTests.swift

Loading diff…

apple/README.md +37 −0
apple/README.md

Loading diff…

apple/project.yml +119 −0
apple/project.yml

Loading diff…

cmd/infinity-home/main.go +59 −0
cmd/infinity-home/main.go

Loading diff…

cmd/infinity/main.go +46 −0
cmd/infinity/main.go

Loading diff…

docs/infinity/android-handoff.md +34 −0
docs/infinity/android-handoff.md

Loading diff…

CLAUDE.md => docs/infinity/eleven-upstream-instructions.md +0 −0
CLAUDE.md => docs/infinity/eleven-upstream-instructions.md

Loading diff…

docs/infinity/eleven-upstream-readme.md +382 −0
docs/infinity/eleven-upstream-readme.md

Loading diff…

docs/infinity/local-sending.md +13 −0
docs/infinity/local-sending.md

Loading diff…

docs/infinity/native-passkeys.md +23 −0
docs/infinity/native-passkeys.md

Loading diff…

docs/infinity/prompts.md +29 −0
docs/infinity/prompts.md

Loading diff…

docs/infinity/push.md +47 −0
docs/infinity/push.md

Loading diff…

docs/infinity/rastrillo-authoring.md +422 −0
docs/infinity/rastrillo-authoring.md

Loading diff…

docs/infinity/release-completion.md +91 −0
docs/infinity/release-completion.md

Loading diff…

docs/infinity/simple-onboarding.md +19 −0
docs/infinity/simple-onboarding.md

Loading diff…

docs/infinity/status.md +202 −0
docs/infinity/status.md

Loading diff…

docs/infinity/tester-release.md +104 −0
docs/infinity/tester-release.md

Loading diff…

go.mod +8 −4
go.mod

Loading diff…

go.sum +34 −18
go.sum

Loading diff…

internal/apns/apns.go +12 −1
internal/apns/apns.go

Loading diff…

internal/apns/apns_test.go +24 −0
internal/apns/apns_test.go

Loading diff…

internal/infinity/app.go +259 −0
internal/infinity/app.go

Loading diff…

internal/infinity/app_test.go +234 −0
internal/infinity/app_test.go

Loading diff…

internal/infinity/blobs.go +139 −0
internal/infinity/blobs.go

Loading diff…

internal/infinity/blobs_test.go +72 −0
internal/infinity/blobs_test.go

Loading diff…

internal/infinity/client_test.go +38 −0
internal/infinity/client_test.go

Loading diff…

internal/infinity/envelope.go +58 −0
internal/infinity/envelope.go

Loading diff…

internal/infinity/inbox.go +146 −0
internal/infinity/inbox.go

Loading diff…

internal/infinity/migrations/0001_init.sql +6 −0
internal/infinity/migrations/0001_init.sql

Loading diff…

internal/infinity/migrations/0002_push.sql +6 −0
internal/infinity/migrations/0002_push.sql

Loading diff…

internal/infinity/migrations/0003_invite_consent.sql +4 −0
internal/infinity/migrations/0003_invite_consent.sql

Loading diff…

internal/infinity/migrations/0004_vault_format.sql +2 −0
internal/infinity/migrations/0004_vault_format.sql

Loading diff…

internal/infinity/migrations/0005_attachments.sql +3 −0
internal/infinity/migrations/0005_attachments.sql

Loading diff…

internal/infinity/network.go +71 −0
internal/infinity/network.go

Loading diff…

internal/infinity/outbox.go +235 −0
internal/infinity/outbox.go

Loading diff…

internal/infinity/push.go +109 −0
internal/infinity/push.go

Loading diff…

internal/infinity/push_test.go +88 −0
internal/infinity/push_test.go

Loading diff…

internal/infinity/simple_test.go +53 −0
internal/infinity/simple_test.go

Loading diff…

internal/infinity/static/api.js +34 −0
internal/infinity/static/api.js

Loading diff…

internal/infinity/static/app.js +53 −0
internal/infinity/static/app.js

Loading diff…

internal/infinity/static/attachments.js +32 −0
internal/infinity/static/attachments.js

Loading diff…

internal/infinity/static/avatars.js +23 −0
internal/infinity/static/avatars.js

Loading diff…

internal/infinity/static/chat.js +98 −0
internal/infinity/static/chat.js

Loading diff…

internal/infinity/static/client.js +168 −0
internal/infinity/static/client.js

Loading diff…

internal/infinity/static/crypto.js +75 −0
internal/infinity/static/crypto.js

Loading diff…

internal/infinity/static/dialogs.js +57 −0
internal/infinity/static/dialogs.js

Loading diff…

internal/infinity/static/dom.js +28 −0
internal/infinity/static/dom.js

Loading diff…

internal/infinity/static/index.html +1 −0
internal/infinity/static/index.html

Loading diff…

internal/infinity/static/invitations.js +64 −0
internal/infinity/static/invitations.js

Loading diff…

internal/infinity/static/link-cards.js +18 −0
internal/infinity/static/link-cards.js

Loading diff…

internal/infinity/static/mark.svg +1 −0
internal/infinity/static/mark.svg

Loading diff…

internal/infinity/static/onboarding.js +114 −0
internal/infinity/static/onboarding.js

Loading diff…

internal/infinity/static/outgoing.js +78 −0
internal/infinity/static/outgoing.js

Loading diff…

internal/infinity/static/passkeys.js +52 −0
internal/infinity/static/passkeys.js

Loading diff…

internal/infinity/static/profile.js +20 −0
internal/infinity/static/profile.js

Loading diff…

internal/infinity/static/protocol.js +67 −0
internal/infinity/static/protocol.js

Loading diff…

internal/infinity/static/registration.js +20 −0
internal/infinity/static/registration.js

Loading diff…

internal/infinity/static/setup-progress.js +53 −0
internal/infinity/static/setup-progress.js

Loading diff…

internal/infinity/static/style.css +33 −0
internal/infinity/static/style.css

Loading diff…

internal/infinity/vault.go +97 −0
internal/infinity/vault.go

Loading diff…

internal/infinitydiag/storage.go +30 −0
internal/infinitydiag/storage.go

Loading diff…

internal/infinitydiag/storage_other.go +8 −0
internal/infinitydiag/storage_other.go

Loading diff…

internal/infinitydiag/storage_unix.go +21 −0
internal/infinitydiag/storage_unix.go

Loading diff…

internal/infinityhome/android.go +42 −0
internal/infinityhome/android.go

Loading diff…

internal/infinityhome/apple.go +12 −0
internal/infinityhome/apple.go

Loading diff…

internal/infinityhome/browser_test.go +85 −0
internal/infinityhome/browser_test.go

Loading diff…

internal/infinityhome/fcm.go +144 −0
internal/infinityhome/fcm.go

Loading diff…

internal/infinityhome/fcm_test.go +88 −0
internal/infinityhome/fcm_test.go

Loading diff…

internal/infinityhome/home.go +263 −0
internal/infinityhome/home.go

Loading diff…

internal/infinityhome/home_test.go +169 −0
internal/infinityhome/home_test.go

Loading diff…

internal/infinityhome/invites.go +133 −0
internal/infinityhome/invites.go

Loading diff…

internal/infinityhome/migrations/0001_init.sql +3 −0
internal/infinityhome/migrations/0001_init.sql

Loading diff…

internal/infinityhome/migrations/0002_provisioned.sql +2 −0
internal/infinityhome/migrations/0002_provisioned.sql

Loading diff…

internal/infinityhome/migrations/0003_passkeys.sql +20 −0
internal/infinityhome/migrations/0003_passkeys.sql

Loading diff…

internal/infinityhome/migrations/0004_push.sql +7 −0
internal/infinityhome/migrations/0004_push.sql

Loading diff…

internal/infinityhome/migrations/0005_simple_signup.sql +8 −0
internal/infinityhome/migrations/0005_simple_signup.sql

Loading diff…

internal/infinityhome/passkeys.go +229 −0
internal/infinityhome/passkeys.go

Loading diff…

internal/infinityhome/passkeys_test.go +119 −0
internal/infinityhome/passkeys_test.go

Loading diff…

internal/infinityhome/proof.go +48 −0
internal/infinityhome/proof.go

Loading diff…

internal/infinityhome/proof_test.go +86 −0
internal/infinityhome/proof_test.go

Loading diff…

internal/infinityhome/push.go +155 −0
internal/infinityhome/push.go

Loading diff…

internal/infinityhome/push_test.go +93 −0
internal/infinityhome/push_test.go

Loading diff…

internal/infinityhome/relay.go +87 −0
internal/infinityhome/relay.go

Loading diff…

internal/infinityhome/relay_test.go +89 −0
internal/infinityhome/relay_test.go

Loading diff…

internal/infinityhome/signup.go +103 −0
internal/infinityhome/signup.go

Loading diff…

internal/infinityhome/simple_test.go +139 −0
internal/infinityhome/simple_test.go

Loading diff…

internal/infinityinvite/claim.go +43 −0
internal/infinityinvite/claim.go

Loading diff…

mobile/attachments.go +113 −0
mobile/attachments.go

Loading diff…

mobile/attachments_test.go +103 −0
mobile/attachments_test.go

Loading diff…

mobile/client.go +219 −0
mobile/client.go

Loading diff…

mobile/consent.go +71 −0
mobile/consent.go

Loading diff…

mobile/consent_test.go +94 −0
mobile/consent_test.go

Loading diff…

mobile/conversations.go +209 −0
mobile/conversations.go

Loading diff…

mobile/crypto.go +187 −0
mobile/crypto.go

Loading diff…

mobile/crypto_test.go +124 −0
mobile/crypto_test.go

Loading diff…

mobile/go.mod +15 −0
mobile/go.mod

Loading diff…

mobile/go.sum +14 −0
mobile/go.sum

Loading diff…

mobile/handshake_test.go +69 −0
mobile/handshake_test.go

Loading diff…

mobile/identity.go +130 −0
mobile/identity.go

Loading diff…

mobile/invite.go +83 −0
mobile/invite.go

Loading diff…

mobile/network.go +102 −0
mobile/network.go

Loading diff…

mobile/network_test.go +55 −0
mobile/network_test.go

Loading diff…

mobile/outgoing.go +80 −0
mobile/outgoing.go

Loading diff…

mobile/outgoing_test.go +92 −0
mobile/outgoing_test.go

Loading diff…

mobile/profile.go +114 −0
mobile/profile.go

Loading diff…

mobile/projection.go +279 −0
mobile/projection.go

Loading diff…

mobile/recovery.go +117 −0
mobile/recovery.go

Loading diff…

mobile/registration.go +103 −0
mobile/registration.go

Loading diff…

mobile/short_invite.go +213 −0
mobile/short_invite.go

Loading diff…

test/infinity/attachments.test.mjs +18 −0
test/infinity/attachments.test.mjs

Loading diff…

test/infinity/browser.mjs +73 −0
test/infinity/browser.mjs

Loading diff…

test/infinity/composer-layout.mjs +39 −0
test/infinity/composer-layout.mjs

Loading diff…

test/infinity/crypto.test.mjs +30 −0
test/infinity/crypto.test.mjs

Loading diff…

test/infinity/handshake.test.mjs +14 −0
test/infinity/handshake.test.mjs

Loading diff…

test/infinity/home-browser.mjs +45 −0
test/infinity/home-browser.mjs

Loading diff…

test/infinity/live.mjs +58 −0
test/infinity/live.mjs

Loading diff…

test/infinity/native-send-proxy.py +48 −0
test/infinity/native-send-proxy.py

Loading diff…

test/infinity/outgoing-browser.mjs +35 −0
test/infinity/outgoing-browser.mjs

Loading diff…

test/infinity/outgoing.test.mjs +22 −0
test/infinity/outgoing.test.mjs

Loading diff…

test/infinity/package-lock.json +42 −0
test/infinity/package-lock.json

Loading diff…

test/infinity/package.json +8 −0
test/infinity/package.json

Loading diff…

test/infinity/protocol.test.mjs +36 −0
test/infinity/protocol.test.mjs

Loading diff…

test/infinity/registration.mjs +20 −0
test/infinity/registration.mjs

Loading diff…

tools/infinity/archive-apple +15 −0
tools/infinity/archive-apple

Loading diff…

tools/infinity/build-mobile +15 −0
tools/infinity/build-mobile

Loading diff…

tools/infinity/check +37 −0
tools/infinity/check

Loading diff…

tools/infinity/check-android +20 −0
tools/infinity/check-android

Loading diff…

tools/infinity/check-home-browser +7 −0
tools/infinity/check-home-browser

Loading diff…

tools/infinity/check-native +13 −0
tools/infinity/check-native

Loading diff…

tools/infinity/check-native-crypto +41 −0
tools/infinity/check-native-crypto

Loading diff…

tools/infinity/check-native-mac-ui +17 −0
tools/infinity/check-native-mac-ui

Loading diff…

tools/infinity/check-native-ui +16 −0
tools/infinity/check-native-ui

Loading diff…

tools/infinity/deploy +18 −0
tools/infinity/deploy

Loading diff…

tools/infinity/make-mark.swift +30 −0
tools/infinity/make-mark.swift

Loading diff…

tools/infinity/render-icons.mjs +17 −0
tools/infinity/render-icons.mjs

Loading diff…