234 Commits fdb9544161 ... 36b53a9eef

Author SHA1 Message Date
  Paul Klumpp 36b53a9eef Add acknowledgements 1 week ago
  Paul Klumpp fdb9544161 Credit the plugin's origins and fix the dead chattolib link 1 week ago
  Paul Klumpp cf76c34436 Codify the commit-message rule: why over what 1 week ago
  Paul Klumpp 122b2cbb61 Correct stale docs: no resume cursor, no home-channel fallback 1 week ago
  Paul Klumpp 338566df5e Deliver the room roster on every channel turn, cap it at 20 members 1 week ago
  Paul Klumpp 8af1cef5c3 Render the room roster from a cached projection, presence patched live 1 week ago
  Paul Klumpp 87eb501e31 Drop getattr masking of the base-class _reaction_handler 1 week ago
  Paul Klumpp a9ca076292 Refresh room roster on presence change instead of freezing at thread start 1 week ago
  Paul Klumpp 12fcf87059 Ignore local trial.py scratch file 1 week ago
  Paul Klumpp 257069b2c1 Add debug logging around roster dispatch and thread anchoring 1 week ago
  Paul Klumpp 2438b07217 Announce the channel member roster when a thread opens 1 week ago
  Paul Klumpp 11388b5909 Apply code-review findings across adapter, tests and docs 1 week ago
  Paul Klumpp 7bb6eacc1d Ignore thread/room bookkeeping events in the realtime stream 1 week ago
  Paul Klumpp f0ed4e967e Name DM partners and quote room names in the joined-rooms summary 1 week ago
  Paul Klumpp 23a829572d Acknowledge user_joined_room/user_left_room in the known-event path 1 week ago
  Paul Klumpp 20d422c862 Tag joined-rooms summary with policy and DM kind 1 week ago
  Paul Klumpp b468b0b884 Vendor websockets: build chattolib with the [realtime] extra 1 week ago
  Paul Klumpp aa7f8a6c01 Review leftovers: room-kind helper, rename, except merge 1 week ago
  Paul Klumpp ac0acf59eb Split long messages in the standalone sender, unify the 9900 threshold 1 week ago
  Paul Klumpp 8aa5368c35 Seed extra only from env vars that are actually set 1 week ago
  Paul Klumpp 36d8d5316a Thread attachment sends like text sends 1 week ago
  Paul Klumpp 1ae4f77bf4 Replace require_mention with opt-in mention room lists 1 week ago
  Paul Klumpp bb37265ea1 Align mention detection with the Chatto web frontend (FDR-006) 1 week ago
  Paul Klumpp 3db0dc9efc Apply the locals rule: inline single-use aliases and no-op guards 1 week ago
  Paul Klumpp f2dfc62d84 Inline the single-purpose asset_id local; codify when locals earn their line 1 week ago
  Paul Klumpp 8c65c8153f Review cleanup: typed access, dead state, markers, honest docs 1 week ago
  Paul Klumpp 15494b03d1 Extend the sweep: module-level orphans and job-level duplication 1 week ago
  Paul Klumpp cb7e78480a Unify send_image on _materialise_image; rename the shared sender 1 week ago
  Paul Klumpp b822df221d send_document: drop the redundant failure log 1 week ago
  Paul Klumpp 509d20be4e Drop the redundant JoinRoom in _refresh_rooms 1 week ago
  Paul Klumpp 1b92c4ea39 Drop the login assert; validate credentials in _open_client 1 week ago
  Paul Klumpp ece89021f2 Codify the if-for-states/try-for-faults split under Readability 1 week ago
  Paul Klumpp 749f4ceab5 Rename _require_client to _require_chatto_client 1 week ago
  Paul Klumpp 172087260a Replace client-fetch try/except ceremony with guard clauses 1 week ago
  Paul Klumpp 803d8253b8 Process inbound message edits as corrections 1 week ago
  Paul Klumpp 456a677fd7 Give the dead-field sweep a real trigger and command 1 week ago
  Paul Klumpp cb6e6b55e3 Rewrite the Shell Scripts rules in house style 1 week ago
  Paul Klumpp b40c528ba2 Guard the vendoring script against an unset VENDOR_DIR 1 week ago
  Paul Klumpp 00c5322653 Right-size the adapter's log levels 1 week ago
  Paul Klumpp 5f9f406104 Rename the watch list to joined rooms 1 week ago
  Paul Klumpp 69169fed98 Add basedpyright gate and sweep dead instance state 1 week ago
  Paul Klumpp fa1a586deb Add CHATTO_RESPOND_ROOMS as a positive list of answer rooms 1 week ago
  Paul Klumpp 4a9192b87f State env var defaults in plugin.yaml install prompts 1 week ago
  Paul Klumpp aeba153a74 Rework after-install.md around the installer's prompts 1 week ago
  Paul Klumpp bc2804309a Adopt Ruff across the plugin 1 week ago
  Paul Klumpp 88529331cc Import chattolib absolutely in hermes_check_fn 1 week ago
  Paul Klumpp 59ccb5ae28 Keep chattolib Messages out of SendResult.raw_response 1 week ago
  Paul Klumpp 9577104a37 React with 🚫 when processing is cancelled 1 week ago
  Paul Klumpp e089fa8e23 Point Troubleshooting at hermes logs first 1 week ago
  Paul Klumpp b270123058 Let admins manage room membership over DM (/join, /leave) 1 week ago
  Paul Klumpp ebfd986954 Use a grinning cat as the platform badge 1 week ago
  Paul Klumpp 49aa05721c Document installing the plugin from its Git URL 1 week ago
  Paul Klumpp a7ab16a41f Remove the inert CHATTO_CHANNELS option 1 week ago
  Paul Klumpp 04b8ef7341 Make the docs match the adapter's actual behavior 1 week ago
  Paul Klumpp 23a10d27c4 Spell out the working rules in AGENTS.md 1 week ago
  Paul Klumpp 65bf4e5b86 Consolidate user docs into README.md 1 week ago
  Paul Klumpp b4a946c969 Ignore a local .hermes-agent checkout 1 week ago
  Paul Klumpp 09a60d6a1c Align the emoji shortcode map with names Chatto accepts 1 week ago
  Paul Klumpp b2e0e13f82 Bring adapter.py back to PEP 8 1 week ago
  Paul Klumpp fc982e8a8d Carry inbound replies as MessageEvent.in_reply_to 1 week ago
  Paul Klumpp c0a7ce164d Refresh vendored wheels: protobuf, httpx and idna rebuilds 1 week ago
  Paul Klumpp 0e5fce4f2e Cover messages that name several people 1 week ago
  Paul Klumpp 8fa6bf306b Confirm an @-token is a real handle before falling silent 1 week ago
  Paul Klumpp bed4a924b8 Stay out of conversations aimed at someone else 1 week ago
  Paul Klumpp 385bbf37f4 Stop warning about turns that have nothing to react to 1 week ago
  Paul Klumpp d580836650 Test the hint's substance, not its exact wording 1 week ago
  Paul Klumpp 44a0a70501 Stop inviting markdown image syntax for local files 1 week ago
  Paul Klumpp e97a504487 Stop inviting markdown image syntax for local files 1 week ago
  Paul Klumpp 7dc763d88c Ask for typed access over dynamic lookups 1 week ago
  Paul Klumpp 0cee0c91cd Read the upload ID from the field chattolib actually returns 1 week ago
  Paul Klumpp 40bdb3d76d Drop the _list_functions debug dump 1 week ago
  Paul Klumpp fafe9efb09 Put AGENTS.md back into one language 1 week ago
  Paul Klumpp 569fdb45a8 Require the capability banner to be kept current 1 week ago
  Paul Klumpp e9893c5031 Announce what the plugin can do at registration 1 week ago
  Paul Klumpp d1dc821e8b Tell the model that Chatto can carry files 1 week ago
  Paul Klumpp daeb72a7c1 Drop the unused _relogin helper 1 week ago
  Paul Klumpp 2191cd6729 Keep refreshing presence so the bot stays online 1 week ago
  Paul Klumpp 71545fa56c Say out loud that require_mention gates channels only 1 week ago
  Paul Klumpp 7090905557 Note that the tests need the Hermes Agent checked out 1 week ago
  Paul Klumpp dd6701b474 Document what group vs channel actually changes in the gateway 1 week ago
  Paul Klumpp d7dfb5ed6b Map RoomKind onto the gateway's chat_type vocabulary 1 week ago
  Paul Klumpp bdf935e5c6 Bundle image batches into a single Chatto message 1 week ago
  Paul Klumpp aa150d0cd0 Send files, video and audio natively — and fix send_image_file's signature 1 week ago
  Paul Klumpp 84a0a900a6 Implement edit_message, delete_message, create_handoff_thread, format_message 1 week ago
  Paul Klumpp 161803b829 Forward Chatto reactions to the gateway's reaction hook surface 1 week ago
  Paul Klumpp 558d5de451 Deliver inbound attachments to the agent instead of dropping them 1 week ago
  Paul Klumpp 204a53aed9 Add a plan for the missing BasePlatformAdapter overrides 1 week ago
  Paul Klumpp e45491c898 Fix the drifted tests, and the bug one of them was pointing at 1 week ago
  Paul Klumpp 4f8479ff12 Make the test suite collectable 1 week ago
  Paul Klumpp 3024739749 Stop shadowing the host's pinned dependencies 1 week ago
  Paul Klumpp e508c638bd Rebuild vendor/ for linux-x86_64, linux-aarch64 and macos-arm64 1 week ago
  Paul Klumpp 2ce3dca698 Vendor dependencies per platform instead of Linux-x86_64 only 1 week ago
  Paul Klumpp eac4297b4e Add uv.lock and ignore local venv/test artifacts 1 week ago
  Paul Klumpp c2a11a77df Remove the YAML -> env config bridge 1 week ago
  Paul Klumpp 9e015aa29b Seed PlatformConfig.extra under the keys the config actually reads 1 week ago
  Paul Klumpp 2956e83816 Resolve config fields declaratively, per instance 1 week ago
  Paul Klumpp 5ce19e727e Fix credential check in the standalone sender 1 week ago
  Paul Klumpp 8112a645b6 Detect DMs in get_chat_info() via RoomKind 1 week ago
  Paul Klumpp ef916be66f Report send() failures instead of a phantom success 1 week ago
  Paul Klumpp 5a48b14ccc Drop duplicate sleep from the realtime reconnect loop 1 week ago
  Paul Klumpp be4837a724 Broadcast OFFLINE presence on disconnect 1 week ago
  Paul Klumpp c15d85d6de Initialize self.me so early events cannot crash the adapter 1 week ago
  Paul Klumpp 0b6f3c5e51 Fix auth bypass: every user was authorized 1 week ago
  Paul Klumpp b4ce25ff92 Import vendored chattolib absolutely and fail loudly 1 week ago
  Paul Klumpp 0b9cebae5a Make dispatch robust: room-kind cache, unified dedup, explicit config defaults 2 weeks ago
  Paul Klumpp a3eaea7bac Adapt the adapter to chattolib 0.4.20 and slim its connect path 1 week ago
  Paul Klumpp c64d50f884 Refresh vendored chattolib to 0.4.20 1 week ago
  Paul Klumpp 0b4fadb9ae Run off the vendored tree and complete the hermes_* hook surface 1 week ago
  Paul Klumpp 034573260d Vendor the full chattolib dependency tree under vendor/ 1 week ago
  Paul Klumpp b902b9fb5b Add agent guidelines and align docs and dev dependencies 1 week ago
  Paul Klumpp ac84f6b5b2 Slim the adapter down to platform work 1 week ago
  Paul Klumpp dca2e4d68d Restructure config and registration around ChattoConfiguration 1 week ago
  Paul Klumpp 8712ab72cf Import vendored chattolib directly, drop lazy_import and SingletonSlot 1 week ago
  Paul Klumpp 4e7b1d4d96 Vendor chattolib 0.4.19.post1 with generated protobuf bindings 1 week ago
  Paul Klumpp b7d87e8c6d Use SingletonSlot for thread-safe chattolib client 4 weeks ago
  Paul Klumpp 8ab2d1aec8 Use lazy_deps for chattolib imports (Hermes plugin requirement) 4 weeks ago
  Paul Klumpp b7df6d4266 Call the outbound API ConnectRPC, not REST 1 month ago
  Paul Klumpp d497293e8a Update documentation to reflect chattolib usage 1 month ago
  Paul Klumpp 3389a3de8c Codify the commit-message rule: why over what 1 week ago
  Paul Klumpp 287fc485d6 Correct stale docs: no resume cursor, no home-channel fallback 1 week ago
  Paul Klumpp 72964936ed Deliver the room roster on every channel turn, cap it at 20 members 1 week ago
  Paul Klumpp 50cb5163a7 Render the room roster from a cached projection, presence patched live 1 week ago
  Paul Klumpp 8d23a9a3c6 Drop getattr masking of the base-class _reaction_handler 1 week ago
  Paul Klumpp 17dbe74458 Refresh room roster on presence change instead of freezing at thread start 1 week ago
  Paul Klumpp 5fdf9d3e43 Ignore local trial.py scratch file 1 week ago
  Paul Klumpp 674bc753e0 Add debug logging around roster dispatch and thread anchoring 1 week ago
  Paul Klumpp 1e9614613c Announce the channel member roster when a thread opens 1 week ago
  Paul Klumpp e3bd0376f3 Apply code-review findings across adapter, tests and docs 1 week ago
  Paul Klumpp a8215505b5 Ignore thread/room bookkeeping events in the realtime stream 1 week ago
  Paul Klumpp f464408798 Name DM partners and quote room names in the joined-rooms summary 1 week ago
  Paul Klumpp bcb30b7e0d Acknowledge user_joined_room/user_left_room in the known-event path 1 week ago
  Paul Klumpp 7ed9d96318 Tag joined-rooms summary with policy and DM kind 1 week ago
  Paul Klumpp b15214b8e8 Vendor websockets: build chattolib with the [realtime] extra 1 week ago
  Paul Klumpp 63df31ada3 Review leftovers: room-kind helper, rename, except merge 1 week ago
  Paul Klumpp 8f55cd2346 Split long messages in the standalone sender, unify the 9900 threshold 1 week ago
  Paul Klumpp e9ae336caf Seed extra only from env vars that are actually set 1 week ago
  Paul Klumpp 3ce84be76b Thread attachment sends like text sends 1 week ago
  Paul Klumpp 28e5d901e6 Replace require_mention with opt-in mention room lists 1 week ago
  Paul Klumpp 9720ec92ef Align mention detection with the Chatto web frontend (FDR-006) 1 week ago
  Paul Klumpp 6220e79fdc Apply the locals rule: inline single-use aliases and no-op guards 1 week ago
  Paul Klumpp 83d2330ba2 Inline the single-purpose asset_id local; codify when locals earn their line 1 week ago
  Paul Klumpp b6a8d7fb95 Review cleanup: typed access, dead state, markers, honest docs 1 week ago
  Paul Klumpp d18c7cfe6c Extend the sweep: module-level orphans and job-level duplication 1 week ago
  Paul Klumpp 13955570a2 Unify send_image on _materialise_image; rename the shared sender 1 week ago
  Paul Klumpp 4d0a385b49 send_document: drop the redundant failure log 1 week ago
  Paul Klumpp bd9a97733a Drop the redundant JoinRoom in _refresh_rooms 1 week ago
  Paul Klumpp 3de85aaa8d Drop the login assert; validate credentials in _open_client 1 week ago
  Paul Klumpp ccf80b9525 Codify the if-for-states/try-for-faults split under Readability 1 week ago
  Paul Klumpp 88f0fd6fbf Rename _require_client to _require_chatto_client 1 week ago
  Paul Klumpp bb1785c9b8 Replace client-fetch try/except ceremony with guard clauses 1 week ago
  Paul Klumpp 9d51c57448 Process inbound message edits as corrections 1 week ago
  Paul Klumpp 976185d32b Give the dead-field sweep a real trigger and command 1 week ago
  Paul Klumpp dc64b1f2a8 Rewrite the Shell Scripts rules in house style 1 week ago
  Paul Klumpp 4c0f1325fd Guard the vendoring script against an unset VENDOR_DIR 1 week ago
  Paul Klumpp 684bd872af Right-size the adapter's log levels 1 week ago
  Paul Klumpp 082c3a5995 Rename the watch list to joined rooms 1 week ago
  Paul Klumpp 2f1008eaff Add basedpyright gate and sweep dead instance state 1 week ago
  Paul Klumpp 5c2349bdf2 Add CHATTO_RESPOND_ROOMS as a positive list of answer rooms 1 week ago
  Paul Klumpp fe87fdb4fc State env var defaults in plugin.yaml install prompts 1 week ago
  Paul Klumpp 97acaddc1d Rework after-install.md around the installer's prompts 1 week ago
  Paul Klumpp 84f49b35ed Adopt Ruff across the plugin 1 week ago
  Paul Klumpp a247729209 Import chattolib absolutely in hermes_check_fn 1 week ago
  Paul Klumpp c68ff54050 Keep chattolib Messages out of SendResult.raw_response 1 week ago
  Paul Klumpp 4a4ee2848b React with 🚫 when processing is cancelled 1 week ago
  Paul Klumpp 1af39feb5d Point Troubleshooting at hermes logs first 1 week ago
  Paul Klumpp c55d82634d Let admins manage room membership over DM (/join, /leave) 1 week ago
  Paul Klumpp 84438cc7ce Use a grinning cat as the platform badge 1 week ago
  Paul Klumpp 8d32f0c892 Document installing the plugin from its Git URL 1 week ago
  Paul Klumpp 4cf4bf6d5f Remove the inert CHATTO_CHANNELS option 1 week ago
  Paul Klumpp 3a38ce089f Make the docs match the adapter's actual behavior 1 week ago
  Paul Klumpp 8cb804b41f Spell out the working rules in AGENTS.md 1 week ago
  Paul Klumpp f9b9d1ce92 Consolidate user docs into README.md 1 week ago
  Paul Klumpp ea66d97e87 Ignore a local .hermes-agent checkout 1 week ago
  Paul Klumpp e01f0c204e Align the emoji shortcode map with names Chatto accepts 1 week ago
  Paul Klumpp acb2cc7408 Bring adapter.py back to PEP 8 1 week ago
  Paul Klumpp 3f0f69fe03 Carry inbound replies as MessageEvent.in_reply_to 1 week ago
  Paul Klumpp d0478772ee Refresh vendored wheels: protobuf, httpx and idna rebuilds 1 week ago
  Paul Klumpp 9c4cc5a136 Cover messages that name several people 1 week ago
  Paul Klumpp 15ca965456 Confirm an @-token is a real handle before falling silent 1 week ago
  Paul Klumpp 90faffead6 Stay out of conversations aimed at someone else 1 week ago
  Paul Klumpp 6535ab6b8c Stop warning about turns that have nothing to react to 1 week ago
  Paul Klumpp fb94202061 Test the hint's substance, not its exact wording 1 week ago
  Paul Klumpp 4599e4d7f0 Stop inviting markdown image syntax for local files 1 week ago
  Paul Klumpp 24537cc5c6 Stop inviting markdown image syntax for local files 1 week ago
  Paul Klumpp 2fbe8ccca6 Ask for typed access over dynamic lookups 1 week ago
  Paul Klumpp acfeb58643 Read the upload ID from the field chattolib actually returns 1 week ago
  Paul Klumpp 3f882be51a Drop the _list_functions debug dump 1 week ago
  Paul Klumpp 9be601e873 Put AGENTS.md back into one language 1 week ago
  Paul Klumpp ecb8a086a8 Require the capability banner to be kept current 1 week ago
  Paul Klumpp 9de706ad5e Announce what the plugin can do at registration 1 week ago
  Paul Klumpp 31fd1549ce Tell the model that Chatto can carry files 1 week ago
  Paul Klumpp eaa40933fb Drop the unused _relogin helper 1 week ago
  Paul Klumpp 9007723a33 Keep refreshing presence so the bot stays online 1 week ago
  Paul Klumpp 37772f42c9 Say out loud that require_mention gates channels only 1 week ago
  Paul Klumpp 3591878b17 Note that the tests need the Hermes Agent checked out 1 week ago
  Paul Klumpp 9fbdafc370 Document what group vs channel actually changes in the gateway 1 week ago
  Paul Klumpp 941bc4a86b Map RoomKind onto the gateway's chat_type vocabulary 1 week ago
  Paul Klumpp 490d4e55e2 Bundle image batches into a single Chatto message 1 week ago
  Paul Klumpp d190d7fef6 Send files, video and audio natively — and fix send_image_file's signature 1 week ago
  Paul Klumpp 9ade552cdb Implement edit_message, delete_message, create_handoff_thread, format_message 1 week ago
  Paul Klumpp 363b865f77 Forward Chatto reactions to the gateway's reaction hook surface 1 week ago
  Paul Klumpp 7a4db6660b Deliver inbound attachments to the agent instead of dropping them 1 week ago
  Paul Klumpp b561ab7c71 Add a plan for the missing BasePlatformAdapter overrides 1 week ago
  Paul Klumpp 3fc1e43abb Fix the drifted tests, and the bug one of them was pointing at 1 week ago
  Paul Klumpp 59af37cf57 Make the test suite collectable 1 week ago
  Paul Klumpp 7f5c36cab3 Stop shadowing the host's pinned dependencies 1 week ago
  Paul Klumpp 40041259d7 Rebuild vendor/ for linux-x86_64, linux-aarch64 and macos-arm64 1 week ago
  Paul Klumpp e89d9a5d99 Vendor dependencies per platform instead of Linux-x86_64 only 1 week ago
  Paul Klumpp 23a141c5c8 Add uv.lock and ignore local venv/test artifacts 1 week ago
  Paul Klumpp 09b1d46b51 Remove the YAML -> env config bridge 1 week ago
  Paul Klumpp b08d52d928 Seed PlatformConfig.extra under the keys the config actually reads 1 week ago
  Paul Klumpp dd13ba9723 Resolve config fields declaratively, per instance 1 week ago
  Paul Klumpp c476fbcfba Fix credential check in the standalone sender 1 week ago
  Paul Klumpp 12136ff2e7 Detect DMs in get_chat_info() via RoomKind 1 week ago
  Paul Klumpp 5974790b4f Report send() failures instead of a phantom success 1 week ago
  Paul Klumpp 744e730b95 Drop duplicate sleep from the realtime reconnect loop 1 week ago
  Paul Klumpp 9a934da733 Broadcast OFFLINE presence on disconnect 1 week ago
  Paul Klumpp 528bdb0bfb Initialize self.me so early events cannot crash the adapter 1 week ago
  Paul Klumpp 7dcd7a5d4f Fix auth bypass: every user was authorized 1 week ago
  Paul Klumpp 03caa3f017 Import vendored chattolib absolutely and fail loudly 1 week ago
  Paul Klumpp 3e10f86bd8 Make dispatch robust: room-kind cache, unified dedup, explicit config defaults 2 weeks ago
  Paul Klumpp 6f80449046 Adapt the adapter to chattolib 0.4.20 and slim its connect path 1 week ago
  Paul Klumpp f987443c1b Refresh vendored chattolib to 0.4.20 1 week ago
  Paul Klumpp 9e4bf7315c Run off the vendored tree and complete the hermes_* hook surface 1 week ago
  Paul Klumpp fa84af16cf Vendor the full chattolib dependency tree under vendor/ 1 week ago
  Paul Klumpp 624ff4f230 Add agent guidelines and align docs and dev dependencies 1 week ago
  Paul Klumpp 897cd8c968 Slim the adapter down to platform work 1 week ago
  Paul Klumpp 4e51d430cb Restructure config and registration around ChattoConfiguration 1 week ago
  Paul Klumpp e182d8c001 Import vendored chattolib directly, drop lazy_import and SingletonSlot 1 week ago
  Paul Klumpp f2765d1781 Vendor chattolib 0.4.19.post1 with generated protobuf bindings 1 week ago
  Paul Klumpp b24817b17e Use SingletonSlot for thread-safe chattolib client 4 weeks ago
  Paul Klumpp 2b71213a80 Use lazy_deps for chattolib imports (Hermes plugin requirement) 4 weeks ago
  Paul Klumpp d3d5125c8a Call the outbound API ConnectRPC, not REST 1 month ago
  Paul Klumpp de7a424b9c Update documentation to reflect chattolib usage 1 month ago

Diff Data Not Available.