tryx 0.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tryx-0.2.0/.github/ISSUE_TEMPLATE/bug_report.yml +74 -0
- tryx-0.2.0/.github/ISSUE_TEMPLATE/config.yml +5 -0
- tryx-0.2.0/.github/ISSUE_TEMPLATE/feature_request.yml +36 -0
- tryx-0.2.0/.github/PULL_REQUEST_TEMPLATE.md +29 -0
- tryx-0.2.0/.github/workflows/CI.yml +263 -0
- tryx-0.2.0/.github/workflows/commit-messages.yml +53 -0
- tryx-0.2.0/.github/workflows/docs.yml +57 -0
- tryx-0.2.0/.github/workflows/release.yml +109 -0
- tryx-0.2.0/.gitignore +78 -0
- tryx-0.2.0/.gitmodules +3 -0
- tryx-0.2.0/.pre-commit-config.yaml +39 -0
- tryx-0.2.0/CHANGELOG.md +308 -0
- tryx-0.2.0/CONTRIBUTING.md +126 -0
- tryx-0.2.0/Cargo.lock +3101 -0
- tryx-0.2.0/Cargo.toml +27 -0
- tryx-0.2.0/LICENSE +21 -0
- tryx-0.2.0/PKG-INFO +585 -0
- tryx-0.2.0/README.md +550 -0
- tryx-0.2.0/docs/api/blocking.md +60 -0
- tryx-0.2.0/docs/api/chat-actions.md +77 -0
- tryx-0.2.0/docs/api/chatstate.md +53 -0
- tryx-0.2.0/docs/api/client.md +134 -0
- tryx-0.2.0/docs/api/community.md +72 -0
- tryx-0.2.0/docs/api/contact.md +76 -0
- tryx-0.2.0/docs/api/events.md +133 -0
- tryx-0.2.0/docs/api/groups.md +86 -0
- tryx-0.2.0/docs/api/helpers.md +124 -0
- tryx-0.2.0/docs/api/newsletter.md +67 -0
- tryx-0.2.0/docs/api/polls.md +72 -0
- tryx-0.2.0/docs/api/presence.md +67 -0
- tryx-0.2.0/docs/api/privacy.md +78 -0
- tryx-0.2.0/docs/api/profile.md +62 -0
- tryx-0.2.0/docs/api/status.md +62 -0
- tryx-0.2.0/docs/api/types.md +79 -0
- tryx-0.2.0/docs/api/wacore.md +28 -0
- tryx-0.2.0/docs/assets/stylesheets/extra.css +145 -0
- tryx-0.2.0/docs/core-concepts/architecture.md +83 -0
- tryx-0.2.0/docs/core-concepts/event-model.md +68 -0
- tryx-0.2.0/docs/core-concepts/type-system.md +73 -0
- tryx-0.2.0/docs/faq/qna.md +105 -0
- tryx-0.2.0/docs/getting-started/authentication.md +68 -0
- tryx-0.2.0/docs/getting-started/contributing.md +80 -0
- tryx-0.2.0/docs/getting-started/installation.md +81 -0
- tryx-0.2.0/docs/getting-started/quickstart.md +86 -0
- tryx-0.2.0/docs/index.md +99 -0
- tryx-0.2.0/docs/operations/deployment.md +66 -0
- tryx-0.2.0/docs/operations/performance.md +59 -0
- tryx-0.2.0/docs/operations/reliability.md +56 -0
- tryx-0.2.0/docs/operations/security.md +58 -0
- tryx-0.2.0/docs/operations/troubleshooting.md +79 -0
- tryx-0.2.0/docs/reference/changelog.md +40 -0
- tryx-0.2.0/docs/reference/error-handling.md +68 -0
- tryx-0.2.0/docs/reference/glossary.md +31 -0
- tryx-0.2.0/docs/reference/roadmap.md +28 -0
- tryx-0.2.0/docs/tutorials/command-bot.md +124 -0
- tryx-0.2.0/docs/tutorials/group-automation.md +67 -0
- tryx-0.2.0/docs/tutorials/media-workflows.md +75 -0
- tryx-0.2.0/docs/tutorials/poll-survey.md +64 -0
- tryx-0.2.0/docs/tutorials/profile-privacy.md +83 -0
- tryx-0.2.0/examples/README.md +30 -0
- tryx-0.2.0/examples/command_bot.py +151 -0
- tryx-0.2.0/examples.py +48 -0
- tryx-0.2.0/libs/whatsapp-rust/.dockerignore +9 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/FUNDING.yml +1 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/dependabot.yml +11 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/benchmark.yml +95 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/claude-code-review.yml +45 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/claude.yml +50 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/copilot-setup-steps.yml +71 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/e2e.yml +66 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/main.yml +102 -0
- tryx-0.2.0/libs/whatsapp-rust/.github/workflows/release.yml +97 -0
- tryx-0.2.0/libs/whatsapp-rust/.gitignore +10 -0
- tryx-0.2.0/libs/whatsapp-rust/AGENTS.md +44 -0
- tryx-0.2.0/libs/whatsapp-rust/CLAUDE.md +1 -0
- tryx-0.2.0/libs/whatsapp-rust/Cargo.lock +3075 -0
- tryx-0.2.0/libs/whatsapp-rust/Cargo.toml +156 -0
- tryx-0.2.0/libs/whatsapp-rust/Dockerfile +36 -0
- tryx-0.2.0/libs/whatsapp-rust/LICENSE +21 -0
- tryx-0.2.0/libs/whatsapp-rust/README.md +92 -0
- tryx-0.2.0/libs/whatsapp-rust/agent_docs/debugging.md +65 -0
- tryx-0.2.0/libs/whatsapp-rust/agent_docs/e2e_testing.md +97 -0
- tryx-0.2.0/libs/whatsapp-rust/agent_docs/feature_implementation.md +59 -0
- tryx-0.2.0/libs/whatsapp-rust/agent_docs/protocol_architecture.md +127 -0
- tryx-0.2.0/libs/whatsapp-rust/examples/benchmark.rs +107 -0
- tryx-0.2.0/libs/whatsapp-rust/http_clients/ureq-client/Cargo.toml +23 -0
- tryx-0.2.0/libs/whatsapp-rust/http_clients/ureq-client/src/lib.rs +118 -0
- tryx-0.2.0/libs/whatsapp-rust/release.toml +15 -0
- tryx-0.2.0/libs/whatsapp-rust/rust-toolchain.toml +3 -0
- tryx-0.2.0/libs/whatsapp-rust/src/appstate_sync.rs +416 -0
- tryx-0.2.0/libs/whatsapp-rust/src/bot.rs +1079 -0
- tryx-0.2.0/libs/whatsapp-rust/src/cache.rs +17 -0
- tryx-0.2.0/libs/whatsapp-rust/src/cache_config.rs +263 -0
- tryx-0.2.0/libs/whatsapp-rust/src/cache_store.rs +242 -0
- tryx-0.2.0/libs/whatsapp-rust/src/client/context_impl.rs +51 -0
- tryx-0.2.0/libs/whatsapp-rust/src/client/device_registry.rs +1194 -0
- tryx-0.2.0/libs/whatsapp-rust/src/client/lid_pn.rs +238 -0
- tryx-0.2.0/libs/whatsapp-rust/src/client/sender_keys.rs +143 -0
- tryx-0.2.0/libs/whatsapp-rust/src/client/sessions.rs +657 -0
- tryx-0.2.0/libs/whatsapp-rust/src/client.rs +5560 -0
- tryx-0.2.0/libs/whatsapp-rust/src/download.rs +710 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/blocking.rs +64 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/chat_actions.rs +571 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/chatstate.rs +91 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/community.rs +403 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/contacts.rs +191 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/groups.rs +636 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/media_reupload.rs +120 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/mex.rs +235 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/mod.rs +52 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/newsletter.rs +637 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/polls.rs +251 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/presence.rs +481 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/profile.rs +172 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/status.rs +315 -0
- tryx-0.2.0/libs/whatsapp-rust/src/features/tctoken.rs +94 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/basic.rs +86 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/chatstate.rs +83 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/ib.rs +173 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/iq.rs +39 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/message.rs +95 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/mod.rs +11 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/notification.rs +1866 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/presence.rs +59 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/receipt.rs +27 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/router.rs +216 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/traits.rs +28 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handlers/unimplemented.rs +50 -0
- tryx-0.2.0/libs/whatsapp-rust/src/handshake.rs +114 -0
- tryx-0.2.0/libs/whatsapp-rust/src/history_sync.rs +281 -0
- tryx-0.2.0/libs/whatsapp-rust/src/http.rs +1 -0
- tryx-0.2.0/libs/whatsapp-rust/src/jid_utils.rs +12 -0
- tryx-0.2.0/libs/whatsapp-rust/src/keepalive.rs +259 -0
- tryx-0.2.0/libs/whatsapp-rust/src/lib.rs +84 -0
- tryx-0.2.0/libs/whatsapp-rust/src/lid_pn_cache.rs +364 -0
- tryx-0.2.0/libs/whatsapp-rust/src/main.rs +271 -0
- tryx-0.2.0/libs/whatsapp-rust/src/mediaconn.rs +79 -0
- tryx-0.2.0/libs/whatsapp-rust/src/message.rs +4935 -0
- tryx-0.2.0/libs/whatsapp-rust/src/pair.rs +379 -0
- tryx-0.2.0/libs/whatsapp-rust/src/pair_code.rs +373 -0
- tryx-0.2.0/libs/whatsapp-rust/src/pdo.rs +501 -0
- tryx-0.2.0/libs/whatsapp-rust/src/portable_cache.rs +689 -0
- tryx-0.2.0/libs/whatsapp-rust/src/prekeys.rs +343 -0
- tryx-0.2.0/libs/whatsapp-rust/src/receipt.rs +649 -0
- tryx-0.2.0/libs/whatsapp-rust/src/request.rs +237 -0
- tryx-0.2.0/libs/whatsapp-rust/src/retry.rs +1887 -0
- tryx-0.2.0/libs/whatsapp-rust/src/runtime_impl.rs +42 -0
- tryx-0.2.0/libs/whatsapp-rust/src/send.rs +2189 -0
- tryx-0.2.0/libs/whatsapp-rust/src/sender_key_device_cache.rs +96 -0
- tryx-0.2.0/libs/whatsapp-rust/src/session.rs +334 -0
- tryx-0.2.0/libs/whatsapp-rust/src/socket/error.rs +74 -0
- tryx-0.2.0/libs/whatsapp-rust/src/socket/mod.rs +5 -0
- tryx-0.2.0/libs/whatsapp-rust/src/socket/noise_socket.rs +442 -0
- tryx-0.2.0/libs/whatsapp-rust/src/spam_report.rs +133 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/commands.rs +7 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/error.rs +2 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/mod.rs +50 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/persistence_manager.rs +206 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/signal.rs +508 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/signal_adapter.rs +250 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/signal_cache.rs +2 -0
- tryx-0.2.0/libs/whatsapp-rust/src/store/traits.rs +1 -0
- tryx-0.2.0/libs/whatsapp-rust/src/sync_task.rs +14 -0
- tryx-0.2.0/libs/whatsapp-rust/src/test_utils.rs +126 -0
- tryx-0.2.0/libs/whatsapp-rust/src/transport.rs +50 -0
- tryx-0.2.0/libs/whatsapp-rust/src/types/enc_handler.rs +160 -0
- tryx-0.2.0/libs/whatsapp-rust/src/types/mod.rs +5 -0
- tryx-0.2.0/libs/whatsapp-rust/src/unified_session.rs +249 -0
- tryx-0.2.0/libs/whatsapp-rust/src/upload.rs +475 -0
- tryx-0.2.0/libs/whatsapp-rust/src/usync.rs +281 -0
- tryx-0.2.0/libs/whatsapp-rust/src/version.rs +118 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/Cargo.toml +33 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/diesel.toml +9 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/.keep +0 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-08-14-035031_initial/down.sql +13 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-08-14-035031_initial/up.sql +61 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-09-23-032232-0000_add_multi_account_support/down.sql +123 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-09-23-032232-0000_add_multi_account_support/up.sql +147 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-12-04-000000_add_skdm_recipients/down.sql +3 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-12-04-000000_add_skdm_recipients/up.sql +11 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-12-11-000000_add_lid_pn_mapping/down.sql +66 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-12-11-000000_add_lid_pn_mapping/up.sql +20 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-12-24-000000_add_whatsapp_web_alignment/down.sql +3 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2025-12-24-000000_add_whatsapp_web_alignment/up.sql +56 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-02-05-000000_add_props_hash/down.sql +35 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-02-05-000000_add_props_hash/up.sql +3 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-02-12-000000_add_tc_tokens/down.sql +1 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-02-12-000000_add_tc_tokens/up.sql +15 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-12-000000_add_next_pre_key_id/down.sql +36 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-12-000000_add_next_pre_key_id/up.sql +4 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-15-000000_add_sent_messages/down.sql +1 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-15-000000_add_sent_messages/up.sql +14 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-23-000000_add_nct_salt/down.sql +52 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-23-000000_add_nct_salt/up.sql +4 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-26-000000_unified_sender_key_devices/down.sql +30 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-26-000000_unified_sender_key_devices/up.sql +29 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-31-000000_add_device_registry_raw_id/down.sql +23 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/migrations/2026-03-31-000000_add_device_registry_raw_id/up.sql +4 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/src/lib.rs +9 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/src/schema.rs +175 -0
- tryx-0.2.0/libs/whatsapp-rust/storages/sqlite-storage/src/sqlite_store.rs +2760 -0
- tryx-0.2.0/libs/whatsapp-rust/transports/tokio-transport/Cargo.toml +43 -0
- tryx-0.2.0/libs/whatsapp-rust/transports/tokio-transport/src/lib.rs +303 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/Cargo.toml +63 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/Cargo.toml +33 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/decode.rs +333 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/encode.rs +135 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/errors.rs +37 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/hash.rs +349 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/keys.rs +47 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/lib.rs +19 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/lthash.rs +240 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/patch_decode.rs +196 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/appstate/src/processor.rs +824 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/benches/reporting_token_benchmark.rs +160 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/Cargo.toml +36 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/benches/binary_benchmark.rs +445 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/build.rs +78 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/attrs.rs +313 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/builder.rs +71 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/consts.rs +6 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/decoder.rs +829 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/encoder.rs +1427 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/error.rs +88 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/jid.rs +1240 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/lib.rs +21 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/marshal.rs +438 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/node.rs +528 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/token.rs +146 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/tokens.json +1274 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/binary/src/util.rs +26 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/derive/Cargo.toml +16 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/derive/src/lib.rs +854 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/Cargo.toml +43 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/benches/libsignal_benchmark.rs +1289 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/core/address.rs +350 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/core/curve/curve25519.rs +308 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/core/curve/utils.rs +82 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/core/curve.rs +684 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/core/mod.rs +24 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/crypto/aes_cbc.rs +256 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/crypto/aes_ctr.rs +218 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/crypto/aes_gcm.rs +511 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/crypto/error.rs +22 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/crypto/hash.rs +445 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/crypto/mod.rs +21 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/lib.rs +4 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/consts.rs +15 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/crypto.rs +14 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/error.rs +118 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/group_cipher.rs +341 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/identity_key.rs +210 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/mod.rs +71 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/protocol.rs +839 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/ratchet/keys.rs +543 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/ratchet/params.rs +168 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/ratchet.rs +172 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/sender_keys.rs +836 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/session.rs +223 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/session_cipher.rs +1282 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/state/bundle.rs +175 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/state/mod.rs +12 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/state/prekey.rs +93 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/state/session.rs +1254 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/state/signed_prekey.rs +195 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/storage/traits.rs +177 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/storage.rs +15 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/stores.rs +8 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/protocol/timestamp.rs +33 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/store/mod.rs +68 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/store/record_helpers.rs +186 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/libsignal/src/store/sender_key_name.rs +37 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/Cargo.toml +27 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/src/edge_routing.rs +136 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/src/error.rs +26 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/src/framing.rs +214 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/src/handshake.rs +348 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/src/lib.rs +50 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/noise/src/state.rs +495 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/adv.rs +226 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/appstate_sync.rs +484 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/client/context.rs +272 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/client.rs +31 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/download.rs +711 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/handshake/mod.rs +6 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/history_sync.rs +274 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/ib.rs +163 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/blocklist.rs +276 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/business.rs +212 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/chatstate.rs +381 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/community.rs +11 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/contacts.rs +496 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/devices.rs +76 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/dirty.rs +249 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/groups.rs +2870 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/keepalive.rs +88 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/mediaconn.rs +519 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/mex.rs +262 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/mod.rs +22 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/newsletter.rs +24 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/node.rs +80 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/passive.rs +119 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/prekeys.rs +1111 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/privacy.rs +779 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/profile.rs +62 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/props.rs +580 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/spam_report.rs +142 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/spec.rs +17 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/tctoken.rs +573 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/iq/usync.rs +1174 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/lib.rs +47 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/media_retry.rs +318 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/message_processing.rs +561 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/messages.rs +255 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/net.rs +119 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/pair.rs +357 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/pair_code.rs +752 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/poll.rs +255 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/prekeys.rs +337 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/proto_helpers.rs +1647 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/protocol/keepalive.rs +126 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/protocol/mod.rs +232 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/protocol/retry.rs +223 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/reporting_token.rs +1385 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/request.rs +228 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/runtime.rs +167 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/send.rs +2537 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/session.rs +221 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/business.rs +556 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/devices.rs +686 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/groups.rs +631 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/message.rs +56 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/mod.rs +15 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/notification.rs +122 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/stanza/receipt.rs +130 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/sticker_pack.rs +416 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/ab_props.rs +195 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/cache.rs +59 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/commands.rs +131 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/device.rs +412 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/error.rs +37 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/in_memory.rs +551 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/mod.rs +16 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/persistence.rs +209 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/signal_cache.rs +406 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/store/traits.rs +331 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/time.rs +97 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/call.rs +16 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/events.rs +1023 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/jid.rs +150 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/lid_pn.rs +163 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/message.rs +214 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/mod.rs +11 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/presence.rs +111 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/spam_report.rs +215 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/types/user.rs +60 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/upload.rs +433 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/usync.rs +418 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/version.rs +71 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/webp.rs +111 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/xml.rs +151 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/src/zip.rs +201 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/tests/appstate_external_mutations_test.rs +348 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/tests/appstate_mac_test.rs +127 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/tests/binary_protocol_test.rs +120 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/tests/jid_test.rs +147 -0
- tryx-0.2.0/libs/whatsapp-rust/wacore/tests/noise_handshake_test.rs +271 -0
- tryx-0.2.0/libs/whatsapp-rust/waproto/Cargo.toml +20 -0
- tryx-0.2.0/libs/whatsapp-rust/waproto/build.rs +113 -0
- tryx-0.2.0/libs/whatsapp-rust/waproto/src/lib.rs +10 -0
- tryx-0.2.0/libs/whatsapp-rust/waproto/src/whatsapp.proto +5896 -0
- tryx-0.2.0/libs/whatsapp-rust/waproto/src/whatsapp.rs +17888 -0
- tryx-0.2.0/mkdocs.yml +122 -0
- tryx-0.2.0/pyproject.toml +112 -0
- tryx-0.2.0/python/tryx/__init__.pyi +3 -0
- tryx-0.2.0/python/tryx/backend.py +8 -0
- tryx-0.2.0/python/tryx/backend.pyi +18 -0
- tryx-0.2.0/python/tryx/client.py +8 -0
- tryx-0.2.0/python/tryx/client.pyi +820 -0
- tryx-0.2.0/python/tryx/events.py +8 -0
- tryx-0.2.0/python/tryx/events.pyi +610 -0
- tryx-0.2.0/python/tryx/exceptions.py +27 -0
- tryx-0.2.0/python/tryx/exceptions.pyi +29 -0
- tryx-0.2.0/python/tryx/helpers.py +8 -0
- tryx-0.2.0/python/tryx/helpers.pyi +105 -0
- tryx-0.2.0/python/tryx/py.typed +0 -0
- tryx-0.2.0/python/tryx/tryx.pyi +3 -0
- tryx-0.2.0/python/tryx/types.py +25 -0
- tryx-0.2.0/python/tryx/types.pyi +129 -0
- tryx-0.2.0/python/tryx/wacore.py +8 -0
- tryx-0.2.0/python/tryx/wacore.pyi +113 -0
- tryx-0.2.0/python/tryx/waproto/whatsapp_pb2.py +1846 -0
- tryx-0.2.0/python/tryx/waproto/whatsapp_pb2.pyi +31151 -0
- tryx-0.2.0/scripts/check_commit_message.py +109 -0
- tryx-0.2.0/scripts/check_stub_parity.py +88 -0
- tryx-0.2.0/site/404.html +1873 -0
- tryx-0.2.0/site/api/blocking/index.html +2102 -0
- tryx-0.2.0/site/api/chat-actions/index.html +2185 -0
- tryx-0.2.0/site/api/chatstate/index.html +2108 -0
- tryx-0.2.0/site/api/client/index.html +2216 -0
- tryx-0.2.0/site/api/community/index.html +2128 -0
- tryx-0.2.0/site/api/contact/index.html +2151 -0
- tryx-0.2.0/site/api/events/index.html +2352 -0
- tryx-0.2.0/site/api/groups/index.html +2117 -0
- tryx-0.2.0/site/api/helpers/index.html +2298 -0
- tryx-0.2.0/site/api/newsletter/index.html +2147 -0
- tryx-0.2.0/site/api/polls/index.html +2128 -0
- tryx-0.2.0/site/api/presence/index.html +2127 -0
- tryx-0.2.0/site/api/privacy/index.html +2209 -0
- tryx-0.2.0/site/api/profile/index.html +2124 -0
- tryx-0.2.0/site/api/status/index.html +2123 -0
- tryx-0.2.0/site/api/types/index.html +2201 -0
- tryx-0.2.0/site/api/wacore/index.html +2046 -0
- tryx-0.2.0/site/assets/images/favicon.png +0 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
- tryx-0.2.0/site/assets/javascripts/lunr/tinyseg.js +206 -0
- tryx-0.2.0/site/assets/javascripts/lunr/wordcut.js +6708 -0
- tryx-0.2.0/site/assets/stylesheets/extra.css +145 -0
- tryx-0.2.0/site/core-concepts/architecture/index.html +2198 -0
- tryx-0.2.0/site/core-concepts/event-model/index.html +2174 -0
- tryx-0.2.0/site/core-concepts/type-system/index.html +2156 -0
- tryx-0.2.0/site/faq/qna/index.html +2683 -0
- tryx-0.2.0/site/getting-started/authentication/index.html +2181 -0
- tryx-0.2.0/site/getting-started/installation/index.html +2221 -0
- tryx-0.2.0/site/getting-started/quickstart/index.html +2147 -0
- tryx-0.2.0/site/index.html +2137 -0
- tryx-0.2.0/site/operations/deployment/index.html +2088 -0
- tryx-0.2.0/site/operations/performance/index.html +2126 -0
- tryx-0.2.0/site/operations/reliability/index.html +2108 -0
- tryx-0.2.0/site/operations/security/index.html +2170 -0
- tryx-0.2.0/site/operations/troubleshooting/index.html +2189 -0
- tryx-0.2.0/site/reference/changelog/index.html +2053 -0
- tryx-0.2.0/site/reference/error-handling/index.html +2139 -0
- tryx-0.2.0/site/reference/glossary/index.html +2151 -0
- tryx-0.2.0/site/reference/roadmap/index.html +2049 -0
- tryx-0.2.0/site/search/search_index.json +1 -0
- tryx-0.2.0/site/sitemap.xml +3 -0
- tryx-0.2.0/site/sitemap.xml.gz +0 -0
- tryx-0.2.0/site/tutorials/command-bot/index.html +2166 -0
- tryx-0.2.0/site/tutorials/group-automation/index.html +2116 -0
- tryx-0.2.0/site/tutorials/media-workflows/index.html +2130 -0
- tryx-0.2.0/site/tutorials/poll-survey/index.html +2109 -0
- tryx-0.2.0/site/tutorials/profile-privacy/index.html +2121 -0
- tryx-0.2.0/src/backend.rs +38 -0
- tryx-0.2.0/src/clients/blocking.rs +93 -0
- tryx-0.2.0/src/clients/chat_actions.rs +473 -0
- tryx-0.2.0/src/clients/chatstate.rs +92 -0
- tryx-0.2.0/src/clients/community.rs +283 -0
- tryx-0.2.0/src/clients/contacts.rs +188 -0
- tryx-0.2.0/src/clients/event_callbacks.rs +101 -0
- tryx-0.2.0/src/clients/groups.rs +610 -0
- tryx-0.2.0/src/clients/mod.rs +15 -0
- tryx-0.2.0/src/clients/newsletter.rs +279 -0
- tryx-0.2.0/src/clients/polls.rs +157 -0
- tryx-0.2.0/src/clients/presence.rs +103 -0
- tryx-0.2.0/src/clients/privacy.rs +112 -0
- tryx-0.2.0/src/clients/profile.rs +90 -0
- tryx-0.2.0/src/clients/status.rs +280 -0
- tryx-0.2.0/src/clients/tryx.rs +662 -0
- tryx-0.2.0/src/clients/tryx_client.rs +647 -0
- tryx-0.2.0/src/events/dispatcher.rs +721 -0
- tryx-0.2.0/src/events/mod.rs +3 -0
- tryx-0.2.0/src/events/proto_cache.rs +88 -0
- tryx-0.2.0/src/events/types/message_and_updates.rs +1111 -0
- tryx-0.2.0/src/events/types/profile_sync.rs +549 -0
- tryx-0.2.0/src/events/types.rs +594 -0
- tryx-0.2.0/src/exceptions/exceptions.rs +115 -0
- tryx-0.2.0/src/exceptions/mod.rs +10 -0
- tryx-0.2.0/src/helpers/blocking.rs +16 -0
- tryx-0.2.0/src/helpers/chatstate.rs +24 -0
- tryx-0.2.0/src/helpers/groups.rs +89 -0
- tryx-0.2.0/src/helpers/mod.rs +7 -0
- tryx-0.2.0/src/helpers/newsletter.rs +31 -0
- tryx-0.2.0/src/helpers/polls.rs +76 -0
- tryx-0.2.0/src/helpers/presence.rs +14 -0
- tryx-0.2.0/src/helpers/status.rs +23 -0
- tryx-0.2.0/src/lib.rs +362 -0
- tryx-0.2.0/src/log.rs +15 -0
- tryx-0.2.0/src/main.rs +41 -0
- tryx-0.2.0/src/mod.rs +5 -0
- tryx-0.2.0/src/types.rs +381 -0
- tryx-0.2.0/src/wacore/download.rs +46 -0
- tryx-0.2.0/src/wacore/iq/blocking.rs +21 -0
- tryx-0.2.0/src/wacore/iq/chatstate.rs +31 -0
- tryx-0.2.0/src/wacore/iq/community.rs +326 -0
- tryx-0.2.0/src/wacore/iq/groups.rs +323 -0
- tryx-0.2.0/src/wacore/iq/mod.rs +10 -0
- tryx-0.2.0/src/wacore/iq/newsletter.rs +191 -0
- tryx-0.2.0/src/wacore/iq/polls.rs +19 -0
- tryx-0.2.0/src/wacore/iq/presence.rs +28 -0
- tryx-0.2.0/src/wacore/iq/privacy.rs +215 -0
- tryx-0.2.0/src/wacore/iq/status.rs +57 -0
- tryx-0.2.0/src/wacore/iq/usync.rs +129 -0
- tryx-0.2.0/src/wacore/mod.rs +4 -0
- tryx-0.2.0/src/wacore/node.rs +238 -0
- tryx-0.2.0/src/wacore/stanza.rs +40 -0
- tryx-0.2.0/uv.lock +2707 -0
- tryx-0.2.0/waproto/whatsapp.proto +5546 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
name: Bug Report
|
|
2
|
+
description: Report a bug or regression in Tryx
|
|
3
|
+
labels: [bug]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
Thanks for filing a bug report. Please provide enough detail for reproducibility.
|
|
9
|
+
|
|
10
|
+
- type: textarea
|
|
11
|
+
id: summary
|
|
12
|
+
attributes:
|
|
13
|
+
label: Summary
|
|
14
|
+
description: What is the bug?
|
|
15
|
+
placeholder: Short and clear bug summary
|
|
16
|
+
validations:
|
|
17
|
+
required: true
|
|
18
|
+
|
|
19
|
+
- type: textarea
|
|
20
|
+
id: steps
|
|
21
|
+
attributes:
|
|
22
|
+
label: Steps to Reproduce
|
|
23
|
+
description: Include exact steps and sample code if possible.
|
|
24
|
+
placeholder: |
|
|
25
|
+
1. ...
|
|
26
|
+
2. ...
|
|
27
|
+
3. ...
|
|
28
|
+
validations:
|
|
29
|
+
required: true
|
|
30
|
+
|
|
31
|
+
- type: textarea
|
|
32
|
+
id: expected
|
|
33
|
+
attributes:
|
|
34
|
+
label: Expected Behavior
|
|
35
|
+
validations:
|
|
36
|
+
required: true
|
|
37
|
+
|
|
38
|
+
- type: textarea
|
|
39
|
+
id: actual
|
|
40
|
+
attributes:
|
|
41
|
+
label: Actual Behavior
|
|
42
|
+
validations:
|
|
43
|
+
required: true
|
|
44
|
+
|
|
45
|
+
- type: textarea
|
|
46
|
+
id: logs
|
|
47
|
+
attributes:
|
|
48
|
+
label: Logs / Traceback
|
|
49
|
+
description: Paste relevant logs or traceback.
|
|
50
|
+
render: shell
|
|
51
|
+
|
|
52
|
+
- type: input
|
|
53
|
+
id: version
|
|
54
|
+
attributes:
|
|
55
|
+
label: Tryx Version
|
|
56
|
+
placeholder: e.g. 0.2.1
|
|
57
|
+
validations:
|
|
58
|
+
required: true
|
|
59
|
+
|
|
60
|
+
- type: input
|
|
61
|
+
id: python
|
|
62
|
+
attributes:
|
|
63
|
+
label: Python Version
|
|
64
|
+
placeholder: e.g. 3.12.3
|
|
65
|
+
validations:
|
|
66
|
+
required: true
|
|
67
|
+
|
|
68
|
+
- type: input
|
|
69
|
+
id: os
|
|
70
|
+
attributes:
|
|
71
|
+
label: OS
|
|
72
|
+
placeholder: e.g. Ubuntu 24.04 / macOS 15 / Windows 11
|
|
73
|
+
validations:
|
|
74
|
+
required: true
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: Feature Request
|
|
2
|
+
description: Suggest an improvement for Tryx
|
|
3
|
+
labels: [enhancement]
|
|
4
|
+
body:
|
|
5
|
+
- type: markdown
|
|
6
|
+
attributes:
|
|
7
|
+
value: |
|
|
8
|
+
Thanks for the suggestion. Please describe the use case and expected API/behavior.
|
|
9
|
+
|
|
10
|
+
- type: textarea
|
|
11
|
+
id: problem
|
|
12
|
+
attributes:
|
|
13
|
+
label: Problem Statement
|
|
14
|
+
description: What problem are you trying to solve?
|
|
15
|
+
validations:
|
|
16
|
+
required: true
|
|
17
|
+
|
|
18
|
+
- type: textarea
|
|
19
|
+
id: proposal
|
|
20
|
+
attributes:
|
|
21
|
+
label: Proposed Solution
|
|
22
|
+
description: Describe the desired behavior or API.
|
|
23
|
+
validations:
|
|
24
|
+
required: true
|
|
25
|
+
|
|
26
|
+
- type: textarea
|
|
27
|
+
id: alternatives
|
|
28
|
+
attributes:
|
|
29
|
+
label: Alternatives Considered
|
|
30
|
+
description: Optional alternatives or workarounds.
|
|
31
|
+
|
|
32
|
+
- type: textarea
|
|
33
|
+
id: impact
|
|
34
|
+
attributes:
|
|
35
|
+
label: Impact
|
|
36
|
+
description: Who benefits and what areas are affected?
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
## Summary
|
|
2
|
+
|
|
3
|
+
<!-- What changed and why? -->
|
|
4
|
+
|
|
5
|
+
## Type of Change
|
|
6
|
+
|
|
7
|
+
- [ ] feat
|
|
8
|
+
- [ ] fix
|
|
9
|
+
- [ ] docs
|
|
10
|
+
- [ ] refactor
|
|
11
|
+
- [ ] chore
|
|
12
|
+
- [ ] ci/build
|
|
13
|
+
- [ ] breaking change
|
|
14
|
+
|
|
15
|
+
## Checklist
|
|
16
|
+
|
|
17
|
+
- [ ] PR title follows Conventional Commits (`type(scope): summary`)
|
|
18
|
+
- [ ] Local checks pass (`ruff`, formatting, stub parity)
|
|
19
|
+
- [ ] Docs updated if behavior/API changed
|
|
20
|
+
- [ ] Relevant tests added/updated
|
|
21
|
+
- [ ] No secrets or generated build artifacts committed
|
|
22
|
+
|
|
23
|
+
## Linked Issues
|
|
24
|
+
|
|
25
|
+
<!-- e.g. Closes #123 -->
|
|
26
|
+
|
|
27
|
+
## Notes for Reviewer
|
|
28
|
+
|
|
29
|
+
<!-- Optional: focus areas, trade-offs, migration notes -->
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- "v*"
|
|
7
|
+
pull_request:
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
|
|
13
|
+
env:
|
|
14
|
+
CARGO_TERM_COLOR: always
|
|
15
|
+
|
|
16
|
+
jobs:
|
|
17
|
+
quality:
|
|
18
|
+
name: Quality Checks
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
with:
|
|
23
|
+
submodules: recursive
|
|
24
|
+
- uses: actions/setup-python@v5
|
|
25
|
+
with:
|
|
26
|
+
python-version: "3.12"
|
|
27
|
+
- uses: astral-sh/setup-uv@v5
|
|
28
|
+
- name: Install dev dependencies
|
|
29
|
+
run: uv sync --group dev --no-install-project
|
|
30
|
+
- name: Ruff lint
|
|
31
|
+
run: uv run --no-project --with ruff==0.11.4 ruff check .
|
|
32
|
+
- name: Ruff format check
|
|
33
|
+
run: uv run --no-project --with ruff==0.11.4 ruff format --check .
|
|
34
|
+
- name: Validate stub parity
|
|
35
|
+
run: uv run python scripts/check_stub_parity.py
|
|
36
|
+
|
|
37
|
+
# linux:
|
|
38
|
+
# name: Linux manylinux wheels
|
|
39
|
+
# needs: quality
|
|
40
|
+
# runs-on: ${{ matrix.platform.runner }}
|
|
41
|
+
# strategy:
|
|
42
|
+
# fail-fast: false
|
|
43
|
+
# matrix:
|
|
44
|
+
# platform:
|
|
45
|
+
# - runner: ubuntu-22.04
|
|
46
|
+
# target: x86_64
|
|
47
|
+
# - runner: ubuntu-22.04
|
|
48
|
+
# target: x86
|
|
49
|
+
# - runner: ubuntu-22.04
|
|
50
|
+
# target: aarch64
|
|
51
|
+
# - runner: ubuntu-22.04
|
|
52
|
+
# target: armv7
|
|
53
|
+
# steps:
|
|
54
|
+
# - uses: actions/checkout@v4
|
|
55
|
+
# with:
|
|
56
|
+
# submodules: recursive
|
|
57
|
+
# - uses: actions/setup-python@v5
|
|
58
|
+
# with:
|
|
59
|
+
# python-version: "3.12"
|
|
60
|
+
# - name: Workaround ring ARM asm macro in cross builds
|
|
61
|
+
# if: matrix.platform.target == 'aarch64' || matrix.platform.target == 'armv7'
|
|
62
|
+
# run: |
|
|
63
|
+
# if [ "${{ matrix.platform.target }}" = "aarch64" ]; then
|
|
64
|
+
# echo "CFLAGS_aarch64_unknown_linux_gnu=-D__ARM_ARCH=8" >> "$GITHUB_ENV"
|
|
65
|
+
# else
|
|
66
|
+
# echo "CFLAGS_armv7_unknown_linux_gnueabihf=-D__ARM_ARCH=7" >> "$GITHUB_ENV"
|
|
67
|
+
# fi
|
|
68
|
+
# - name: Build wheels
|
|
69
|
+
# uses: PyO3/maturin-action@v1
|
|
70
|
+
# with:
|
|
71
|
+
# target: ${{ matrix.platform.target }}
|
|
72
|
+
# args: --release --out dist --find-interpreter
|
|
73
|
+
# sccache: ${{ !startsWith(github.ref, 'refs/tags/') && matrix.platform.target != 'aarch64' && matrix.platform.target != 'armv7' }}
|
|
74
|
+
# manylinux: auto
|
|
75
|
+
# - name: Upload wheels
|
|
76
|
+
# uses: actions/upload-artifact@v4
|
|
77
|
+
# with:
|
|
78
|
+
# name: wheels-linux-${{ matrix.platform.target }}
|
|
79
|
+
# path: dist
|
|
80
|
+
|
|
81
|
+
musllinux:
|
|
82
|
+
name: Linux musllinux wheels
|
|
83
|
+
needs: quality
|
|
84
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
85
|
+
strategy:
|
|
86
|
+
fail-fast: false
|
|
87
|
+
matrix:
|
|
88
|
+
platform:
|
|
89
|
+
- runner: ubuntu-22.04
|
|
90
|
+
target: x86_64
|
|
91
|
+
# - runner: ubuntu-22.04
|
|
92
|
+
# target: x86
|
|
93
|
+
# - runner: ubuntu-22.04
|
|
94
|
+
# target: aarch64
|
|
95
|
+
# - runner: ubuntu-22.04
|
|
96
|
+
# target: armv7
|
|
97
|
+
steps:
|
|
98
|
+
- uses: actions/checkout@v4
|
|
99
|
+
with:
|
|
100
|
+
submodules: recursive
|
|
101
|
+
- uses: actions/setup-python@v5
|
|
102
|
+
with:
|
|
103
|
+
python-version: "3.12"
|
|
104
|
+
- name: Workaround ring ARM asm macro in cross builds
|
|
105
|
+
if: matrix.platform.target == 'aarch64' || matrix.platform.target == 'armv7'
|
|
106
|
+
run: |
|
|
107
|
+
if [ "${{ matrix.platform.target }}" = "aarch64" ]; then
|
|
108
|
+
echo "CFLAGS_aarch64_unknown_linux_musl=-D__ARM_ARCH=8" >> "$GITHUB_ENV"
|
|
109
|
+
else
|
|
110
|
+
echo "CFLAGS_armv7_unknown_linux_musleabihf=-D__ARM_ARCH=7" >> "$GITHUB_ENV"
|
|
111
|
+
fi
|
|
112
|
+
- name: Build wheels
|
|
113
|
+
uses: PyO3/maturin-action@v1
|
|
114
|
+
with:
|
|
115
|
+
target: ${{ matrix.platform.target }}
|
|
116
|
+
args: --release --out dist --find-interpreter
|
|
117
|
+
sccache: ${{ !startsWith(github.ref, 'refs/tags/') && matrix.platform.target != 'aarch64' && matrix.platform.target != 'armv7' }}
|
|
118
|
+
manylinux: musllinux_1_2
|
|
119
|
+
- name: Upload wheels
|
|
120
|
+
uses: actions/upload-artifact@v4
|
|
121
|
+
with:
|
|
122
|
+
name: wheels-musllinux-${{ matrix.platform.target }}
|
|
123
|
+
path: dist
|
|
124
|
+
|
|
125
|
+
# windows:
|
|
126
|
+
# name: Windows wheels
|
|
127
|
+
# needs: quality
|
|
128
|
+
# runs-on: ${{ matrix.platform.runner }}
|
|
129
|
+
# strategy:
|
|
130
|
+
# fail-fast: false
|
|
131
|
+
# matrix:
|
|
132
|
+
# platform:
|
|
133
|
+
# - runner: windows-latest
|
|
134
|
+
# target: x64
|
|
135
|
+
# python_arch: x64
|
|
136
|
+
# - runner: windows-latest
|
|
137
|
+
# target: x86
|
|
138
|
+
# python_arch: x86
|
|
139
|
+
# - runner: windows-11-arm
|
|
140
|
+
# target: aarch64
|
|
141
|
+
# python_arch: arm64
|
|
142
|
+
# steps:
|
|
143
|
+
# - uses: actions/checkout@v4
|
|
144
|
+
# with:
|
|
145
|
+
# submodules: recursive
|
|
146
|
+
# - uses: actions/setup-python@v5
|
|
147
|
+
# with:
|
|
148
|
+
# python-version: "3.12"
|
|
149
|
+
# architecture: ${{ matrix.platform.python_arch }}
|
|
150
|
+
# - name: Build wheels
|
|
151
|
+
# uses: PyO3/maturin-action@v1
|
|
152
|
+
# with:
|
|
153
|
+
# target: ${{ matrix.platform.target }}
|
|
154
|
+
# args: --release --out dist --find-interpreter
|
|
155
|
+
# sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
156
|
+
# - name: Upload wheels
|
|
157
|
+
# uses: actions/upload-artifact@v4
|
|
158
|
+
# with:
|
|
159
|
+
# name: wheels-windows-${{ matrix.platform.target }}
|
|
160
|
+
# path: dist
|
|
161
|
+
|
|
162
|
+
# macos:
|
|
163
|
+
# name: macOS wheels
|
|
164
|
+
# needs: quality
|
|
165
|
+
# runs-on: ${{ matrix.platform.runner }}
|
|
166
|
+
# strategy:
|
|
167
|
+
# fail-fast: false
|
|
168
|
+
# matrix:
|
|
169
|
+
# platform:
|
|
170
|
+
# - runner: macos-15-intel
|
|
171
|
+
# target: x86_64
|
|
172
|
+
# - runner: macos-latest
|
|
173
|
+
# target: aarch64
|
|
174
|
+
# steps:
|
|
175
|
+
# - uses: actions/checkout@v4
|
|
176
|
+
# with:
|
|
177
|
+
# submodules: recursive
|
|
178
|
+
# - uses: actions/setup-python@v5
|
|
179
|
+
# with:
|
|
180
|
+
# python-version: "3.12"
|
|
181
|
+
# - name: Build wheels
|
|
182
|
+
# uses: PyO3/maturin-action@v1
|
|
183
|
+
# with:
|
|
184
|
+
# target: ${{ matrix.platform.target }}
|
|
185
|
+
# args: --release --out dist --find-interpreter
|
|
186
|
+
# sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
|
|
187
|
+
# - name: Upload wheels
|
|
188
|
+
# uses: actions/upload-artifact@v4
|
|
189
|
+
# with:
|
|
190
|
+
# name: wheels-macos-${{ matrix.platform.target }}
|
|
191
|
+
# path: dist
|
|
192
|
+
|
|
193
|
+
sdist:
|
|
194
|
+
name: Source distribution
|
|
195
|
+
needs: quality
|
|
196
|
+
runs-on: ubuntu-latest
|
|
197
|
+
steps:
|
|
198
|
+
- uses: actions/checkout@v4
|
|
199
|
+
with:
|
|
200
|
+
submodules: recursive
|
|
201
|
+
- name: Build sdist
|
|
202
|
+
uses: PyO3/maturin-action@v1
|
|
203
|
+
with:
|
|
204
|
+
command: sdist
|
|
205
|
+
args: --out dist
|
|
206
|
+
- name: Upload sdist
|
|
207
|
+
uses: actions/upload-artifact@v4
|
|
208
|
+
with:
|
|
209
|
+
name: wheels-sdist
|
|
210
|
+
path: dist
|
|
211
|
+
|
|
212
|
+
release:
|
|
213
|
+
name: Publish to PyPI
|
|
214
|
+
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
|
|
215
|
+
needs: [musllinux, sdist]
|
|
216
|
+
runs-on: ubuntu-latest
|
|
217
|
+
permissions:
|
|
218
|
+
id-token: write
|
|
219
|
+
contents: read
|
|
220
|
+
steps:
|
|
221
|
+
- name: Log release context
|
|
222
|
+
run: |
|
|
223
|
+
echo "event=${GITHUB_EVENT_NAME}"
|
|
224
|
+
echo "ref=${GITHUB_REF}"
|
|
225
|
+
echo "sha=${GITHUB_SHA}"
|
|
226
|
+
|
|
227
|
+
- name: Download wheel artifacts
|
|
228
|
+
uses: actions/download-artifact@v4
|
|
229
|
+
with:
|
|
230
|
+
pattern: wheels-*
|
|
231
|
+
merge-multiple: true
|
|
232
|
+
path: dist
|
|
233
|
+
|
|
234
|
+
- name: Ensure PyPI token exists
|
|
235
|
+
env:
|
|
236
|
+
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
237
|
+
run: |
|
|
238
|
+
if [ -z "${UV_PUBLISH_TOKEN}" ]; then
|
|
239
|
+
echo "::error::Missing PYPI_API_TOKEN secret."
|
|
240
|
+
exit 1
|
|
241
|
+
fi
|
|
242
|
+
|
|
243
|
+
- name: Validate release artifacts
|
|
244
|
+
run: |
|
|
245
|
+
set -euo pipefail
|
|
246
|
+
shopt -s nullglob
|
|
247
|
+
files=(dist/*)
|
|
248
|
+
if [ ${#files[@]} -eq 0 ]; then
|
|
249
|
+
echo "::error::No artifacts found in dist/."
|
|
250
|
+
exit 1
|
|
251
|
+
fi
|
|
252
|
+
printf '%s\n' "${files[@]}"
|
|
253
|
+
|
|
254
|
+
- uses: actions/setup-python@v5
|
|
255
|
+
with:
|
|
256
|
+
python-version: "3.12"
|
|
257
|
+
|
|
258
|
+
- uses: astral-sh/setup-uv@v5
|
|
259
|
+
|
|
260
|
+
- name: Publish artifacts
|
|
261
|
+
run: uv publish dist/*
|
|
262
|
+
env:
|
|
263
|
+
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Conventional Commits
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags-ignore:
|
|
6
|
+
- "v*"
|
|
7
|
+
pull_request:
|
|
8
|
+
types: [opened, synchronize, reopened]
|
|
9
|
+
|
|
10
|
+
permissions:
|
|
11
|
+
contents: read
|
|
12
|
+
pull-requests: read
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
commit-subjects:
|
|
16
|
+
name: Validate commit messages
|
|
17
|
+
runs-on: ubuntu-latest
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v4
|
|
20
|
+
with:
|
|
21
|
+
fetch-depth: 0
|
|
22
|
+
submodules: recursive
|
|
23
|
+
- uses: actions/setup-python@v5
|
|
24
|
+
with:
|
|
25
|
+
python-version: "3.12"
|
|
26
|
+
- name: Resolve commit range
|
|
27
|
+
id: commit_range
|
|
28
|
+
run: |
|
|
29
|
+
set -euo pipefail
|
|
30
|
+
|
|
31
|
+
if [ "${GITHUB_EVENT_NAME}" = "pull_request" ]; then
|
|
32
|
+
range="${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }}"
|
|
33
|
+
else
|
|
34
|
+
before_sha="${{ github.event.before }}"
|
|
35
|
+
after_sha="${GITHUB_SHA}"
|
|
36
|
+
|
|
37
|
+
if [ "${before_sha}" = "0000000000000000000000000000000000000000" ]; then
|
|
38
|
+
if git rev-parse "${after_sha}^" >/dev/null 2>&1; then
|
|
39
|
+
range="${after_sha}^..${after_sha}"
|
|
40
|
+
else
|
|
41
|
+
range="${after_sha}..${after_sha}"
|
|
42
|
+
fi
|
|
43
|
+
else
|
|
44
|
+
range="${before_sha}..${after_sha}"
|
|
45
|
+
fi
|
|
46
|
+
fi
|
|
47
|
+
|
|
48
|
+
echo "range=${range}" >> "$GITHUB_OUTPUT"
|
|
49
|
+
echo "Using commit range: ${range}"
|
|
50
|
+
|
|
51
|
+
- name: Check commit subjects in range
|
|
52
|
+
run: |
|
|
53
|
+
python scripts/check_commit_message.py --range "${{ steps.commit_range.outputs.range }}"
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: Documentation
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths:
|
|
8
|
+
- "docs/**"
|
|
9
|
+
- "mkdocs.yml"
|
|
10
|
+
- ".github/workflows/docs.yml"
|
|
11
|
+
pull_request:
|
|
12
|
+
paths:
|
|
13
|
+
- "docs/**"
|
|
14
|
+
- "mkdocs.yml"
|
|
15
|
+
- ".github/workflows/docs.yml"
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
|
|
18
|
+
permissions:
|
|
19
|
+
contents: read
|
|
20
|
+
pages: write
|
|
21
|
+
id-token: write
|
|
22
|
+
|
|
23
|
+
concurrency:
|
|
24
|
+
group: pages
|
|
25
|
+
cancel-in-progress: false
|
|
26
|
+
|
|
27
|
+
jobs:
|
|
28
|
+
build:
|
|
29
|
+
name: Build docs
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
with:
|
|
34
|
+
submodules: recursive
|
|
35
|
+
- uses: actions/setup-python@v5
|
|
36
|
+
with:
|
|
37
|
+
python-version: "3.12"
|
|
38
|
+
- uses: astral-sh/setup-uv@v5
|
|
39
|
+
- name: Build MkDocs site (strict)
|
|
40
|
+
run: uv run --no-project --with mkdocs==1.6.0 --with mkdocs-material==9.6.0 mkdocs build --strict
|
|
41
|
+
- name: Upload pages artifact
|
|
42
|
+
uses: actions/upload-pages-artifact@v3
|
|
43
|
+
with:
|
|
44
|
+
path: site
|
|
45
|
+
|
|
46
|
+
deploy:
|
|
47
|
+
name: Deploy docs
|
|
48
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
49
|
+
needs: build
|
|
50
|
+
runs-on: ubuntu-latest
|
|
51
|
+
environment:
|
|
52
|
+
name: github-pages
|
|
53
|
+
url: ${{ steps.deployment.outputs.page_url }}
|
|
54
|
+
steps:
|
|
55
|
+
- name: Deploy to GitHub Pages
|
|
56
|
+
id: deployment
|
|
57
|
+
uses: actions/deploy-pages@v4
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
name: Semantic Release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
|
|
6
|
+
permissions:
|
|
7
|
+
contents: write
|
|
8
|
+
actions: write
|
|
9
|
+
|
|
10
|
+
concurrency:
|
|
11
|
+
group: semantic-release
|
|
12
|
+
cancel-in-progress: false
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
release:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
steps:
|
|
18
|
+
- name: Log trigger context
|
|
19
|
+
run: |
|
|
20
|
+
echo "event=${GITHUB_EVENT_NAME}"
|
|
21
|
+
echo "ref=${GITHUB_REF}"
|
|
22
|
+
echo "actor=${GITHUB_ACTOR}"
|
|
23
|
+
echo "default_branch=${{ github.event.repository.default_branch }}"
|
|
24
|
+
|
|
25
|
+
- uses: actions/checkout@v4
|
|
26
|
+
with:
|
|
27
|
+
ref: ${{ github.event.repository.default_branch }}
|
|
28
|
+
fetch-depth: 0
|
|
29
|
+
submodules: recursive
|
|
30
|
+
|
|
31
|
+
- uses: actions/setup-python@v5
|
|
32
|
+
with:
|
|
33
|
+
python-version: "3.12"
|
|
34
|
+
|
|
35
|
+
- uses: astral-sh/setup-uv@v5
|
|
36
|
+
|
|
37
|
+
- name: Configure git identity
|
|
38
|
+
run: |
|
|
39
|
+
git config user.name "github-actions[bot]"
|
|
40
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
41
|
+
|
|
42
|
+
- name: Capture release baseline
|
|
43
|
+
id: baseline
|
|
44
|
+
run: |
|
|
45
|
+
echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
|
|
46
|
+
echo "tag=$(git describe --tags --abbrev=0 2>/dev/null || true)" >> "$GITHUB_OUTPUT"
|
|
47
|
+
|
|
48
|
+
- name: Run semantic release
|
|
49
|
+
env:
|
|
50
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
51
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
52
|
+
run: uv run --no-project --with python-semantic-release==9.21.1 semantic-release version
|
|
53
|
+
|
|
54
|
+
- name: Push release commit and tags
|
|
55
|
+
run: git push --follow-tags origin HEAD:${{ github.event.repository.default_branch }}
|
|
56
|
+
|
|
57
|
+
- name: Capture release result
|
|
58
|
+
id: release_result
|
|
59
|
+
run: |
|
|
60
|
+
set -euo pipefail
|
|
61
|
+
after_sha=$(git rev-parse HEAD)
|
|
62
|
+
after_tag=$(git describe --tags --abbrev=0 2>/dev/null || true)
|
|
63
|
+
|
|
64
|
+
echo "after_sha=${after_sha}" >> "$GITHUB_OUTPUT"
|
|
65
|
+
echo "after_tag=${after_tag}" >> "$GITHUB_OUTPUT"
|
|
66
|
+
|
|
67
|
+
echo "before_sha=${{ steps.baseline.outputs.sha }}"
|
|
68
|
+
echo "after_sha=${after_sha}"
|
|
69
|
+
echo "before_tag=${{ steps.baseline.outputs.tag }}"
|
|
70
|
+
echo "after_tag=${after_tag}"
|
|
71
|
+
|
|
72
|
+
if [ "${after_sha}" = "${{ steps.baseline.outputs.sha }}" ] && [ "${after_tag}" = "${{ steps.baseline.outputs.tag }}" ]; then
|
|
73
|
+
echo "released=false" >> "$GITHUB_OUTPUT"
|
|
74
|
+
echo "No new release generated in this run."
|
|
75
|
+
else
|
|
76
|
+
echo "released=true" >> "$GITHUB_OUTPUT"
|
|
77
|
+
echo "Release generated. Latest tag: ${after_tag:-none}"
|
|
78
|
+
fi
|
|
79
|
+
|
|
80
|
+
- name: Create GitHub release
|
|
81
|
+
if: ${{ steps.release_result.outputs.released == 'true' && startsWith(steps.release_result.outputs.after_tag, 'v') }}
|
|
82
|
+
uses: softprops/action-gh-release@v2
|
|
83
|
+
with:
|
|
84
|
+
tag_name: ${{ steps.release_result.outputs.after_tag }}
|
|
85
|
+
generate_release_notes: true
|
|
86
|
+
|
|
87
|
+
- name: Trigger CI release build on new tag
|
|
88
|
+
if: ${{ steps.release_result.outputs.released == 'true' && startsWith(steps.release_result.outputs.after_tag, 'v') }}
|
|
89
|
+
env:
|
|
90
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
91
|
+
run: |
|
|
92
|
+
set -euo pipefail
|
|
93
|
+
status=$(curl -sS -o /tmp/ci_dispatch_response.json -w "%{http_code}" -X POST \
|
|
94
|
+
-H "Authorization: Bearer ${GITHUB_TOKEN}" \
|
|
95
|
+
-H "Accept: application/vnd.github+json" \
|
|
96
|
+
"https://api.github.com/repos/${GITHUB_REPOSITORY}/actions/workflows/CI.yml/dispatches" \
|
|
97
|
+
-d "{\"ref\":\"${{ steps.release_result.outputs.after_tag }}\"}")
|
|
98
|
+
|
|
99
|
+
if [ "${status}" != "204" ]; then
|
|
100
|
+
echo "::error::Failed to trigger CI.yml via workflow_dispatch (HTTP ${status})."
|
|
101
|
+
cat /tmp/ci_dispatch_response.json
|
|
102
|
+
exit 1
|
|
103
|
+
fi
|
|
104
|
+
|
|
105
|
+
echo "Triggered CI.yml on tag ${{ steps.release_result.outputs.after_tag }}"
|
|
106
|
+
|
|
107
|
+
- name: Skip CI trigger when no release
|
|
108
|
+
if: ${{ steps.release_result.outputs.released != 'true' }}
|
|
109
|
+
run: echo "Skip CI dispatch because semantic-release produced no new tag."
|
tryx-0.2.0/.gitignore
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/target
|
|
2
|
+
|
|
3
|
+
# Byte-compiled / optimized / DLL files
|
|
4
|
+
__pycache__/
|
|
5
|
+
.pytest_cache/
|
|
6
|
+
*.py[cod]
|
|
7
|
+
#db
|
|
8
|
+
*.db
|
|
9
|
+
*.db-shm
|
|
10
|
+
*.db-wal
|
|
11
|
+
# C extensions
|
|
12
|
+
*.so
|
|
13
|
+
|
|
14
|
+
# Distribution / packaging
|
|
15
|
+
.Python
|
|
16
|
+
.venv/
|
|
17
|
+
env/
|
|
18
|
+
bin/
|
|
19
|
+
build/
|
|
20
|
+
develop-eggs/
|
|
21
|
+
dist/
|
|
22
|
+
eggs/
|
|
23
|
+
lib/
|
|
24
|
+
lib64/
|
|
25
|
+
parts/
|
|
26
|
+
sdist/
|
|
27
|
+
var/
|
|
28
|
+
include/
|
|
29
|
+
man/
|
|
30
|
+
venv/
|
|
31
|
+
*.egg-info/
|
|
32
|
+
.installed.cfg
|
|
33
|
+
*.egg
|
|
34
|
+
|
|
35
|
+
# Installer logs
|
|
36
|
+
pip-log.txt
|
|
37
|
+
pip-delete-this-directory.txt
|
|
38
|
+
pip-selfcheck.json
|
|
39
|
+
|
|
40
|
+
# Unit test / coverage reports
|
|
41
|
+
htmlcov/
|
|
42
|
+
.tox/
|
|
43
|
+
.coverage
|
|
44
|
+
.cache
|
|
45
|
+
nosetests.xml
|
|
46
|
+
coverage.xml
|
|
47
|
+
|
|
48
|
+
# Translations
|
|
49
|
+
*.mo
|
|
50
|
+
|
|
51
|
+
# Mr Developer
|
|
52
|
+
.mr.developer.cfg
|
|
53
|
+
.project
|
|
54
|
+
.pydevproject
|
|
55
|
+
|
|
56
|
+
# Rope
|
|
57
|
+
.ropeproject
|
|
58
|
+
|
|
59
|
+
# Django stuff:
|
|
60
|
+
*.log
|
|
61
|
+
*.pot
|
|
62
|
+
|
|
63
|
+
.DS_Store
|
|
64
|
+
|
|
65
|
+
# Sphinx documentation
|
|
66
|
+
docs/_build/
|
|
67
|
+
|
|
68
|
+
# MkDocs generated output
|
|
69
|
+
site/
|
|
70
|
+
|
|
71
|
+
# PyCharm
|
|
72
|
+
.idea/
|
|
73
|
+
|
|
74
|
+
# VSCode
|
|
75
|
+
.vscode/
|
|
76
|
+
|
|
77
|
+
# Pyenv
|
|
78
|
+
.python-version
|