Storm
3f7a076972
feat(channels): Feishu interactive clarification cards ( #6670 )
...
* feat(channels): render Feishu option clarifications as button cards
When the agent's ask_clarification carries options, the Feishu channel
now renders the question as an interactive card with one button per
option instead of plain text. This is the outbound half: card
construction plus a process-local pending registry that a later
card-action callback handler will validate clicks against.
- New feishu_card_interaction module owns request extraction, button
card rendering, and the pending registry (30-minute TTL, matching the
typed-reply clarification window)
- Manager attaches the clarification's structured human_input payload to
the final outbound's metadata so channels can render richer
affordances without touching the Gateway protocol
- Feishu channel renders the button card only when
card_interaction_enabled is set (default off); free-text, form, and
over-four-option clarifications keep the plain-text path
- Button cards bypass the markdown wrapper via a raw_card_content flag
on the card send/patch helpers; plain-text call signatures unchanged
* feat(channels): close the Feishu button-card click loop
The inbound half of interactive clarification cards: a click on an
option button validates, resolves the clarification, and marks the
card in place.
- Register the card-action callback only when card_interaction_enabled
is set; clicks arrive as WS EVENT frames through the SDK's callback
processor map, and the synchronous return value becomes the toast ack
- consume_if_originator atomically validates operator identity against
the pending entry: non-originators get a refusal toast and the entry
survives; unknown or expired requests are toast-only and dropped
- A validated click consumes once, updates the card to a terminal
resolved state, and injects a hidden inbound carrying the
human_input_response so the run resumes on the originating thread
with Web-card parity
- Manager translates the inbound's human_input_response metadata into
the human message's additional_kwargs with hide_from_ui set
* docs(channels): document Feishu interactive clarification cards
- README / README_zh: optional card_interaction_enabled setup, calling
out that card.action.trigger lives under the console's callback
configuration tab (separate from event subscriptions) and requires
publishing a new app version
- config.example.yaml: commented flag with the same console caveat
- backend/AGENTS.md: module ownership note for feishu_card_interaction
* fix(channels): close Feishu card-click routing and ack gaps from review
Address review on #6670 :
- Carry the routing identity (topic_id, connection_id, owner_user_id)
on the pending entry and the synthetic inbound, so clicks resolve to
the clarified thread in topic-scoped chats and pass bound-identity
admission instead of opening a new thread or being rejected
- Validate option_value against the registered options at consume time:
an unknown value is treated like a stale card and the entry is kept
- Return a warning toast when a click cannot be dispatched, and flip
the card to its resolved state only after the inbound is durably in
the bus — never display a choice that was not recorded
- Drop the dead mark_sent/consume registry APIs and pass the payload's
own option ids through to the buttons
- Add an end-to-end test through the manager's thread resolution
pinning that a card answer reuses the clarified thread
* fix(channels): carry workspace_id on the Feishu card-click inbound
The connections-enabled admission path re-reads the binding with the
message's workspace_id, and Feishu connections are bound with
workspace_id = chat_id. The synthetic inbound set connection_id and
owner_user_id but never workspace_id, so the re-read missed and every
click was rejected as unbound after the entry was consumed.
- Set inbound.workspace_id from the entry's chat_id (Feishu's
chat-as-workspace binding convention)
- Extend the card-click e2e to require_bound_identity=True, driven
through the channel's real _resolve_card_click production
* fix(channels): stabilize Feishu clarification delivery and routing
Option cards could fail through the real reply SDK, resume another conversation,
or leave a stale text hint after the answer was accepted.
Unify raw-card delivery and persist trusted thread aliases before showing buttons.
Keep protocol request IDs separate from bounded, one-time callback tokens; validate
originators and option pairs, and retire only the accepted card's text/button state.
Treat valid hidden human answers as turn boundaries so old replies and artifacts
do not leak into the next answer. Cover consecutive clarifications and /new routing
through real SDK request models, stores, and the run journal.
Validation: 147 focused tests and 29,421 offline tests passed (405 skipped);
strict blocking-I/O passed 245 tests (1 skipped). Ruff and guidance checks passed.
* fix(channels): preserve clarification context in Feishu cards
Button cards replaced the full clarification text but omitted its background,
leaving users without the context needed to choose an option.
Carry optional context from request metadata and render its original Markdown
before the question. Keep question-only cards for absent, blank, or invalid context.
Cover rendering and all real SDK delivery paths, and update both user guides.
Validation: 156 focused tests, 245 strict blocking-I/O tests, Ruff, and guidance
checks passed. The offline run recorded 29,381 passed, 49 failed, and 405 skipped;
48 import failures reproduced before the fix. All 49 cases passed on both versions
in isolated environments, and the Feishu-to-export order check passed 13 tests.
2026-10-11 23:58:54 +08:00
..
2026-10-10 20:51:09 +08:00
2026-09-27 11:09:41 +08:00
2026-07-19 18:26:26 +08:00
2026-10-07 18:37:31 +08:00
2026-10-08 09:55:54 +08:00
2026-09-14 11:10:41 +08:00
2026-10-07 10:22:15 +08:00
2026-07-26 14:43:08 +08:00
2026-09-29 16:53:18 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 17:16:48 +08:00
2026-09-15 07:26:08 +08:00
2026-10-11 17:46:29 +08:00
2026-09-01 16:49:39 +08:00
2026-07-21 11:46:33 +08:00
2026-09-22 10:38:16 +08:00
2026-10-08 19:55:26 +08:00
2026-07-22 14:47:08 +08:00
2026-08-30 10:30:34 +08:00
2026-10-09 16:09:17 +08:00
2026-07-17 15:11:15 +08:00
2026-10-10 16:43:04 +08:00
2026-09-27 08:06:03 +08:00
2026-09-12 11:09:41 +08:00
2026-10-10 16:56:42 +08:00
2026-09-20 16:31:35 +08:00
2026-09-14 18:17:54 +08:00
2026-10-07 09:39:26 +08:00
2026-09-20 16:31:35 +08:00
2026-10-05 19:45:54 +08:00
2026-09-19 12:14:24 +08:00
2026-10-06 10:20:38 +08:00
2026-10-10 07:56:09 +08:00
2026-09-04 23:46:57 +08:00
2026-10-10 07:56:09 +08:00
2026-09-04 23:46:57 +08:00
2026-09-22 19:49:00 +08:00
2026-10-10 07:56:09 +08:00
2026-10-03 14:29:41 +08:00
2026-10-07 09:39:26 +08:00
2026-09-12 07:12:37 +08:00
2026-09-27 11:09:41 +08:00
2026-10-10 10:07:50 +08:00
2026-10-10 21:23:27 +08:00
2026-09-27 11:09:41 +08:00
2026-09-27 11:09:41 +08:00
2026-09-27 11:09:41 +08:00
2026-10-04 19:39:50 +08:00
2026-09-12 07:41:24 +08:00
2026-09-17 22:13:53 +08:00
2026-10-10 20:51:09 +08:00
2026-09-23 15:37:26 +08:00
2026-10-10 16:43:04 +08:00
2026-10-07 14:59:16 +08:00
2026-10-09 17:22:45 +08:00
2026-10-01 18:26:58 +08:00
2026-08-23 09:57:12 +08:00
2026-07-17 14:49:51 +08:00
2026-07-17 14:49:51 +08:00
2026-09-23 15:37:26 +08:00
2026-07-23 22:51:35 +08:00
2026-07-23 22:51:35 +08:00
2026-10-10 08:53:51 +08:00
2026-09-23 08:33:20 +08:00
2026-09-28 15:13:34 +08:00
2026-10-01 18:26:58 +08:00
2026-10-07 18:37:31 +08:00
2026-10-07 18:43:31 +08:00
2026-09-25 21:40:41 +08:00
2026-09-01 22:36:31 +08:00
2026-09-12 21:09:05 +08:00
2026-09-03 08:17:26 +08:00
2026-09-12 16:20:31 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-08-29 14:36:38 +08:00
2026-09-20 20:01:28 +08:00
2026-09-27 10:43:19 +08:00
2026-10-10 00:20:45 +08:00
2026-10-04 06:46:13 +08:00
2026-09-08 19:21:57 +08:00
2026-09-03 08:17:26 +08:00
2026-10-09 18:22:06 +08:00
2026-09-22 11:18:57 +08:00
2026-10-04 09:09:15 +08:00
2026-10-05 13:38:17 +08:00
2026-07-26 08:00:48 +08:00
2026-10-10 09:52:40 +08:00
2026-09-28 14:35:42 +08:00
2026-10-04 19:27:54 +08:00
2026-10-04 16:36:01 +08:00
2026-09-15 08:14:42 +08:00
2026-10-07 07:07:53 +08:00
2026-10-05 12:15:21 +08:00
2026-10-03 10:05:47 +08:00
2026-10-10 18:45:58 +08:00
2026-10-10 14:05:35 +08:00
2026-09-19 12:14:24 +08:00
2026-10-10 14:00:00 +08:00
2026-08-05 08:29:22 +08:00
2026-08-31 23:18:34 +08:00
2026-09-24 15:16:08 +08:00
2026-08-02 22:25:02 +08:00
2026-07-14 07:37:59 +08:00
2026-10-11 11:45:28 +08:00
2026-09-19 12:14:24 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 08:26:53 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-10 20:51:09 +08:00
2026-10-10 20:52:17 +08:00
2026-10-11 23:58:54 +08:00
2026-10-10 14:00:00 +08:00
2026-09-24 15:11:49 +08:00
2026-10-08 22:29:49 +08:00
2026-10-10 07:43:05 +08:00
2026-09-19 10:29:02 +08:00
2026-10-10 14:00:00 +08:00
2026-10-10 14:00:00 +08:00
2026-09-30 14:56:03 +08:00
2026-10-11 23:58:54 +08:00
2026-10-08 17:44:10 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-08-02 22:25:02 +08:00
2026-10-09 20:30:19 +08:00
2026-08-23 09:57:12 +08:00
2026-07-26 10:44:50 +08:00
2026-09-08 19:21:57 +08:00
2026-09-18 16:46:19 +08:00
2026-09-14 18:17:54 +08:00
2026-07-12 08:15:32 +08:00
2026-09-30 09:40:02 +08:00
2026-08-13 23:55:30 +08:00
2026-08-24 07:37:35 +08:00
2026-09-20 18:57:49 +08:00
2026-10-05 20:21:31 +08:00
2026-10-05 15:39:32 +08:00
2026-10-06 09:05:55 +08:00
2026-10-08 18:16:21 +08:00
2026-10-08 10:24:16 +08:00
2026-09-28 16:16:15 +08:00
2026-10-11 11:45:28 +08:00
2026-09-27 08:06:03 +08:00
2026-09-02 11:54:40 +08:00
2026-07-29 22:16:48 +08:00
2026-10-11 11:45:28 +08:00
2026-10-04 12:44:05 +08:00
2026-10-06 08:11:05 +08:00
2026-10-06 16:53:45 +08:00
2026-08-30 15:37:38 +08:00
2026-10-09 17:22:45 +08:00
2026-10-10 20:51:09 +08:00
2026-10-07 07:28:29 +08:00
2026-10-06 11:21:51 +08:00
2026-08-23 15:08:39 +08:00
2026-09-27 07:36:35 +08:00
2026-09-29 22:10:29 +08:00
2026-09-12 11:24:46 +08:00
2026-10-04 06:46:13 +08:00
2026-08-23 09:57:12 +08:00
2026-09-14 18:17:54 +08:00
2026-09-15 08:25:08 +08:00
2026-10-04 06:46:13 +08:00
2026-09-15 08:25:08 +08:00
2026-09-14 10:51:01 +08:00
2026-09-16 15:37:57 +08:00
2026-10-10 18:45:58 +08:00
2026-10-10 21:23:27 +08:00
2026-10-05 14:47:14 +08:00
2026-09-28 16:16:15 +08:00
2026-10-10 20:51:09 +08:00
2026-09-30 17:41:11 +08:00
2026-10-06 10:20:38 +08:00
2026-08-12 09:25:05 +08:00
2026-08-08 21:07:55 +08:00
2026-10-08 20:29:15 +08:00
2026-09-25 21:43:48 +08:00
2026-09-23 18:29:12 +08:00
2026-10-11 16:10:26 +08:00
2026-07-13 17:57:34 +08:00
2026-10-11 11:48:57 +08:00
2026-07-12 00:17:11 +08:00
2026-07-04 23:09:29 +08:00
2026-09-27 09:50:30 +08:00
2026-09-24 15:16:08 +08:00
2026-07-28 23:21:23 +08:00
2026-10-10 20:51:09 +08:00
2026-10-10 20:51:09 +08:00
2026-09-14 06:55:57 +08:00
2026-10-07 18:22:15 +08:00
2026-07-29 22:33:45 +08:00
2026-10-01 10:51:37 +08:00
2026-07-29 22:33:45 +08:00
2026-09-14 06:55:57 +08:00
2026-10-10 21:26:01 +08:00
2026-10-10 14:00:00 +08:00
2026-10-03 17:14:19 +08:00
2026-10-06 07:56:10 +08:00
2026-10-06 15:49:27 +08:00
2026-10-10 20:51:09 +08:00
2026-08-18 23:14:17 +08:00
2026-10-10 18:45:58 +08:00
2026-09-27 13:38:32 +08:00
2026-09-28 15:21:01 +08:00
2026-08-11 21:52:12 +08:00
2026-10-10 10:15:46 +08:00
2026-09-23 09:53:49 +08:00
2026-10-10 20:48:39 +08:00
2026-09-25 09:08:21 +08:00
2026-09-12 10:59:31 +08:00
2026-10-08 10:21:18 +08:00
2026-10-03 21:16:01 +08:00
2026-10-03 21:16:01 +08:00
2026-08-04 22:33:26 +08:00
2026-09-22 11:18:57 +08:00
2026-09-01 16:49:39 +08:00
2026-08-11 16:33:22 +08:00
2026-09-27 10:43:19 +08:00
2026-09-16 21:18:05 +08:00
2026-08-04 22:33:26 +08:00
2026-08-04 22:33:26 +08:00
2026-08-23 09:57:12 +08:00
2026-10-02 21:35:56 +08:00
2026-09-25 15:24:09 +08:00
2026-10-06 20:35:54 +08:00
2026-09-27 11:09:41 +08:00
2026-10-01 18:26:58 +08:00
2026-08-13 23:55:30 +08:00
2026-09-23 15:25:45 +08:00
2026-09-23 15:25:45 +08:00
2026-10-06 20:12:39 +08:00
2026-09-30 16:10:29 +08:00
2026-10-01 18:26:58 +08:00
2026-08-11 16:33:22 +08:00
2026-10-08 10:22:48 +08:00
2026-10-01 18:26:58 +08:00
2026-08-23 15:08:39 +08:00
2026-10-07 09:39:26 +08:00
2026-09-28 15:25:06 +08:00
2026-10-07 18:28:48 +08:00
2026-09-22 10:38:16 +08:00
2026-10-06 09:06:33 +08:00
2026-10-10 18:45:58 +08:00
2026-10-07 10:22:15 +08:00
2026-09-18 18:32:42 +08:00
2026-10-11 23:58:54 +08:00
2026-10-11 23:58:54 +08:00
2026-10-10 14:00:00 +08:00
2026-10-04 07:24:55 +08:00
2026-09-25 14:22:34 +08:00
2026-09-16 18:46:18 +08:00
2026-09-12 12:50:22 +08:00
2026-09-19 10:08:09 +08:00
2026-10-08 10:10:07 +08:00
2026-10-04 14:54:08 +08:00
2026-10-05 13:20:00 +08:00
2026-09-12 14:28:15 +08:00
2026-09-08 17:06:28 +08:00
2026-09-29 21:01:18 +08:00
2026-10-10 18:45:58 +08:00
2026-07-31 21:57:22 +08:00
2026-09-25 14:58:06 +08:00
2026-09-24 15:56:38 +08:00
2026-09-19 11:23:12 +08:00
2026-10-08 06:56:33 +08:00
2026-10-10 21:27:35 +08:00
2026-09-18 16:59:31 +08:00
2026-10-07 10:22:15 +08:00
2026-09-18 17:19:10 +08:00
2026-09-14 11:01:31 +08:00
2026-08-13 23:55:30 +08:00
2026-09-17 21:26:52 +08:00
2026-10-10 19:59:55 +08:00
2026-08-14 23:50:40 +08:00
2026-08-13 23:55:30 +08:00
2026-10-10 16:43:04 +08:00
2026-09-12 14:32:05 +08:00
2026-10-07 07:28:29 +08:00
2026-09-30 17:41:11 +08:00
2026-10-02 22:32:21 +08:00
2026-07-04 22:56:24 +08:00
2026-07-04 22:56:24 +08:00
2026-07-04 22:56:24 +08:00
2026-10-10 14:00:00 +08:00
2026-07-04 22:56:24 +08:00
2026-07-14 22:56:50 +08:00
2026-07-04 22:56:24 +08:00
2026-10-10 14:00:00 +08:00
2026-07-16 09:12:29 +08:00
2026-09-30 17:41:11 +08:00
2026-10-11 18:39:54 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-04 06:46:13 +08:00
2026-10-11 18:39:54 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 00:20:45 +08:00
2026-10-10 16:56:42 +08:00
2026-09-28 14:35:42 +08:00
2026-08-23 09:57:12 +08:00
2026-08-23 15:46:10 +08:00
2026-10-10 20:51:09 +08:00
2026-08-23 15:08:39 +08:00
2026-10-08 21:20:45 +08:00
2026-10-06 11:21:51 +08:00
2026-10-07 07:10:05 +08:00
2026-09-30 09:16:00 +08:00
2026-10-09 18:26:23 +08:00
2026-09-13 20:28:32 +08:00
2026-09-27 11:18:03 +08:00
2026-07-27 14:05:31 +08:00
2026-09-26 15:21:47 +08:00
2026-10-05 22:34:57 +08:00
2026-09-25 20:58:17 +08:00
2026-09-28 15:50:42 +08:00
2026-09-25 20:58:17 +08:00
2026-09-24 16:30:36 +08:00
2026-10-08 19:44:52 +08:00
2026-10-11 08:25:53 +08:00
2026-09-27 13:38:32 +08:00
2026-09-20 18:57:49 +08:00
2026-07-04 13:54:04 +08:00
2026-10-11 18:40:31 +08:00
2026-09-24 16:36:30 +08:00
2026-09-24 20:02:36 +08:00
2026-09-25 19:58:36 +08:00
2026-09-25 21:27:25 +08:00
2026-09-25 14:38:59 +08:00
2026-10-09 19:23:51 +08:00
2026-10-11 08:41:22 +08:00
2026-10-09 21:55:42 +08:00
2026-10-10 20:48:39 +08:00
2026-10-09 21:55:42 +08:00
2026-09-28 15:13:34 +08:00
2026-10-07 14:34:24 +08:00
2026-09-18 18:32:42 +08:00
2026-10-10 08:00:47 +08:00
2026-09-16 15:18:29 +08:00
2026-10-10 08:00:47 +08:00
2026-10-10 00:02:23 +08:00
2026-09-14 18:24:51 +08:00
2026-09-19 07:44:05 +08:00
2026-09-18 16:59:31 +08:00
2026-09-18 16:59:31 +08:00
2026-09-18 16:59:31 +08:00
2026-09-30 17:41:11 +08:00
2026-08-15 21:20:34 +08:00
2026-08-16 23:54:06 +08:00
2026-10-02 22:45:26 +08:00
2026-10-03 15:58:01 +08:00
2026-10-11 15:16:52 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 14:28:10 +08:00
2026-10-07 17:02:23 +08:00
2026-10-11 08:17:14 +08:00
2026-10-11 17:46:29 +08:00
2026-10-01 18:26:58 +08:00
2026-09-30 16:10:29 +08:00
2026-10-07 07:47:32 +08:00
2026-07-28 23:21:23 +08:00
2026-09-30 17:54:42 +08:00
2026-10-04 21:14:35 +08:00
2026-09-06 10:21:58 +08:00
2026-09-18 16:59:31 +08:00
2026-10-03 14:51:05 +08:00
2026-10-04 14:52:04 +08:00
2026-10-11 17:45:06 +08:00
2026-09-24 09:08:32 +08:00
2026-10-11 12:53:30 +08:00
2026-07-20 23:33:09 +08:00
2026-09-18 11:30:11 +08:00
2026-10-09 17:25:35 +08:00
2026-09-14 07:30:34 +08:00
2026-09-25 21:27:25 +08:00
2026-09-25 21:27:25 +08:00
2026-09-14 11:01:31 +08:00
2026-09-26 15:06:48 +08:00
2026-10-08 22:35:19 +08:00
2026-10-08 22:35:19 +08:00
2026-10-02 07:30:10 +08:00
2026-09-28 22:37:30 +08:00
2026-07-26 14:43:08 +08:00
2026-10-06 15:32:46 +08:00
2026-09-23 17:58:00 +08:00
2026-10-05 21:28:08 +08:00
2026-08-29 14:54:02 +08:00
2026-09-22 17:53:21 +08:00
2026-09-22 17:53:21 +08:00
2026-10-10 20:51:09 +08:00
2026-08-24 11:04:23 +08:00
2026-08-24 11:04:23 +08:00
2026-10-11 11:45:28 +08:00
2026-10-11 11:45:28 +08:00
2026-09-24 17:19:01 +08:00
2026-10-11 11:45:28 +08:00
2026-09-22 11:15:06 +08:00
2026-10-10 11:03:26 +08:00
2026-09-01 23:24:49 +08:00
2026-10-11 11:45:28 +08:00
2026-09-23 08:33:20 +08:00
2026-10-10 21:23:27 +08:00
2026-08-31 15:07:30 +08:00
2026-10-11 11:45:28 +08:00
2026-10-11 11:45:28 +08:00
2026-10-11 11:45:28 +08:00
2026-10-08 10:44:10 +08:00
2026-09-14 18:07:21 +08:00
2026-07-09 16:26:31 +08:00
2026-07-09 16:26:31 +08:00
2026-07-28 22:59:14 +08:00
2026-09-29 16:53:18 +08:00
2026-10-06 09:08:25 +08:00
2026-10-11 11:45:28 +08:00
2026-08-05 08:56:18 +08:00
2026-10-07 18:43:31 +08:00
2026-08-15 14:26:38 +08:00
2026-09-23 08:33:20 +08:00
2026-10-06 10:27:44 +08:00
2026-09-28 16:02:34 +08:00
2026-09-26 15:37:52 +08:00
2026-09-23 08:33:20 +08:00
2026-09-30 09:12:11 +08:00
2026-09-24 17:19:01 +08:00
2026-09-30 09:12:11 +08:00
2026-10-06 09:08:25 +08:00
2026-10-08 14:24:51 +08:00
2026-08-15 14:26:38 +08:00
2026-10-10 08:53:51 +08:00
2026-10-10 08:53:51 +08:00
2026-10-06 09:08:25 +08:00
2026-07-14 09:49:43 +08:00
2026-09-01 23:24:49 +08:00
2026-09-30 16:50:07 +08:00
2026-09-03 08:00:25 +08:00
2026-08-01 08:39:28 +08:00
2026-08-17 08:20:42 +08:00
2026-09-14 07:22:38 +08:00
2026-10-08 09:25:12 +08:00
2026-09-18 11:32:04 +08:00
2026-07-26 21:16:36 +08:00
2026-07-22 07:46:03 +08:00
2026-09-01 16:49:39 +08:00
2026-09-23 18:29:12 +08:00
2026-09-25 20:05:36 +08:00
2026-09-27 20:28:05 +08:00
2026-09-27 20:28:05 +08:00
2026-09-23 18:29:12 +08:00
2026-10-11 17:16:25 +08:00
2026-10-11 17:16:25 +08:00
2026-10-11 17:16:25 +08:00
2026-10-07 06:58:59 +08:00
2026-09-18 11:32:04 +08:00
2026-09-24 15:38:52 +08:00
2026-10-08 21:20:45 +08:00
2026-10-02 21:41:50 +08:00
2026-08-01 08:39:28 +08:00
2026-07-15 11:21:04 +08:00
2026-08-17 08:20:42 +08:00
2026-10-04 12:37:33 +08:00
2026-07-22 07:46:03 +08:00
2026-10-04 07:29:56 +08:00
2026-09-09 15:52:09 +08:00
2026-10-06 20:43:27 +08:00
2026-10-07 07:23:56 +08:00
2026-10-08 09:25:12 +08:00
2026-07-15 11:21:04 +08:00
2026-09-23 18:29:12 +08:00
2026-09-01 15:26:33 +08:00
2026-10-08 20:22:28 +08:00
2026-07-26 21:16:36 +08:00
2026-08-17 08:20:42 +08:00
2026-09-22 10:38:16 +08:00
2026-10-01 18:26:58 +08:00
2026-09-06 22:50:58 +08:00
2026-09-27 11:09:41 +08:00
2026-09-09 15:52:09 +08:00
2026-09-09 15:52:09 +08:00
2026-07-27 23:07:40 +08:00
2026-09-09 15:52:09 +08:00
2026-08-29 23:50:45 +08:00
2026-09-03 08:17:26 +08:00
2026-09-08 17:00:26 +08:00
2026-09-09 15:52:09 +08:00
2026-09-12 07:35:07 +08:00
2026-10-04 06:46:13 +08:00
2026-10-04 06:46:13 +08:00
2026-10-10 07:11:02 +08:00
2026-10-08 22:35:19 +08:00
2026-10-01 17:59:30 +08:00
2026-10-10 16:43:04 +08:00
2026-10-10 16:43:04 +08:00
2026-10-07 10:22:15 +08:00
2026-10-10 16:43:04 +08:00
2026-10-07 18:37:31 +08:00
2026-10-10 16:43:04 +08:00
2026-10-10 16:43:04 +08:00
2026-10-09 17:11:00 +08:00
2026-10-10 16:43:04 +08:00
2026-10-10 16:43:04 +08:00
2026-10-08 10:27:10 +08:00
2026-10-08 19:30:44 +08:00
2026-07-31 21:57:22 +08:00
2026-10-10 21:23:27 +08:00
2026-09-27 20:52:13 +08:00
2026-09-20 19:28:21 +08:00
2026-07-26 14:43:08 +08:00
2026-09-16 22:07:42 +08:00
2026-10-09 21:55:42 +08:00
2026-10-11 17:45:06 +08:00
2026-10-10 09:45:17 +08:00
2026-09-24 20:39:30 +08:00
2026-07-31 17:55:24 +08:00
2026-10-10 14:00:00 +08:00
2026-10-10 20:51:09 +08:00
2026-10-11 18:30:09 +08:00
2026-08-01 22:19:59 +08:00
2026-09-27 10:58:54 +08:00
2026-10-10 15:47:30 +08:00
2026-09-27 10:58:54 +08:00
2026-10-04 10:43:05 +08:00
2026-10-07 10:22:15 +08:00
2026-10-08 09:26:31 +08:00
2026-10-07 17:10:45 +08:00
2026-10-07 21:16:46 +08:00
2026-09-30 17:21:43 +08:00
2026-10-01 07:43:16 +08:00
2026-09-01 15:51:37 +08:00
2026-10-11 17:50:04 +08:00
2026-08-11 13:56:02 +08:00
2026-10-07 07:23:56 +08:00
2026-07-11 16:05:30 +08:00
2026-09-17 11:35:13 +08:00
2026-09-16 18:46:18 +08:00
2026-09-18 07:29:34 +08:00
2026-10-09 16:00:32 +08:00
2026-09-27 10:13:05 +08:00
2026-09-22 22:17:11 +08:00
2026-10-05 15:33:29 +08:00
2026-09-09 15:52:09 +08:00
2026-07-30 13:51:17 +08:00
2026-09-09 15:52:09 +08:00
2026-09-23 10:14:35 +08:00
2026-09-20 19:19:29 +08:00
2026-09-28 22:46:39 +08:00
2026-09-12 07:35:07 +08:00
2026-08-23 09:57:12 +08:00
2026-10-06 11:33:58 +08:00
2026-09-22 10:59:41 +08:00
2026-09-23 15:37:26 +08:00
2026-10-07 14:59:16 +08:00
2026-10-03 10:29:56 +08:00
2026-10-08 14:24:51 +08:00
2026-07-30 13:51:17 +08:00
2026-10-06 12:16:18 +08:00
2026-09-25 14:46:12 +08:00
2026-09-22 11:18:57 +08:00
2026-09-25 14:46:12 +08:00
2026-09-25 14:46:12 +08:00
2026-10-03 21:16:01 +08:00
2026-10-10 15:47:30 +08:00
2026-09-22 10:38:16 +08:00
2026-10-07 17:26:57 +08:00
2026-09-28 09:04:26 +08:00
2026-08-05 07:43:54 +08:00
2026-08-05 07:43:54 +08:00
2026-09-16 18:46:18 +08:00
2026-10-06 08:09:15 +08:00
2026-10-10 07:11:02 +08:00
2026-10-05 18:38:22 +08:00
2026-10-05 13:34:19 +08:00
2026-09-16 18:46:18 +08:00
2026-10-10 07:11:02 +08:00
2026-10-10 07:11:02 +08:00
2026-09-18 09:05:26 +08:00
2026-09-16 18:46:18 +08:00
2026-10-10 07:11:02 +08:00
2026-09-16 18:46:18 +08:00
2026-09-08 17:00:26 +08:00
2026-09-16 18:46:18 +08:00
2026-07-20 07:24:34 +08:00
2026-09-25 09:51:11 +08:00
2026-10-11 11:09:49 +08:00
2026-08-31 14:35:08 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 14:00:00 +08:00
2026-10-03 14:32:44 +08:00
2026-10-03 14:32:44 +08:00
2026-10-10 14:00:00 +08:00
2026-09-18 16:59:31 +08:00
2026-09-19 15:09:36 +08:00
2026-09-25 14:46:12 +08:00
2026-10-09 17:46:35 +08:00
2026-10-09 17:46:35 +08:00
2026-10-07 07:07:53 +08:00
2026-09-15 08:25:08 +08:00
2026-10-01 14:40:04 +08:00
2026-10-01 14:40:04 +08:00
2026-09-16 23:57:38 +08:00
2026-10-07 07:07:53 +08:00
2026-09-24 09:43:16 +08:00
2026-10-11 10:53:00 +08:00
2026-09-24 20:39:30 +08:00
2026-08-29 16:56:56 +08:00
2026-10-10 16:32:00 +08:00
2026-10-10 22:28:47 +08:00
2026-09-01 16:49:39 +08:00
2026-09-22 10:56:49 +08:00
2026-10-10 07:51:46 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 14:29:57 +08:00
2026-09-20 19:07:48 +08:00
2026-10-10 21:23:27 +08:00
2026-09-14 11:10:41 +08:00
2026-10-10 20:52:17 +08:00
2026-10-04 06:46:13 +08:00
2026-08-27 14:59:31 +08:00
2026-08-25 08:22:57 +08:00
2026-10-01 20:11:10 +08:00
2026-10-08 20:29:15 +08:00
2026-10-10 08:04:01 +08:00
2026-10-05 10:23:55 +08:00
2026-09-23 15:25:45 +08:00
2026-09-24 17:49:52 +08:00
2026-10-07 17:20:11 +08:00
2026-10-09 22:08:59 +08:00
2026-09-17 07:38:38 +08:00
2026-09-01 16:49:39 +08:00
2026-10-10 14:00:00 +08:00
2026-10-09 17:11:00 +08:00
2026-07-27 22:27:16 +08:00
2026-08-05 08:56:18 +08:00
2026-09-14 18:17:54 +08:00
2026-08-22 16:53:32 +08:00
2026-10-09 20:57:43 +08:00
2026-09-22 11:02:16 +08:00
2026-08-01 19:42:44 +08:00
2026-09-24 08:11:47 +08:00
2026-09-24 17:34:06 +08:00
2026-09-12 07:41:24 +08:00
2026-09-22 10:38:16 +08:00
2026-07-19 22:12:30 +08:00
2026-09-21 22:06:41 +08:00
2026-07-23 22:56:12 +08:00
2026-09-15 22:22:12 +08:00
2026-10-11 23:27:06 +08:00
2026-10-10 07:56:09 +08:00
2026-10-06 11:22:46 +08:00
2026-10-11 17:50:04 +08:00
2026-09-29 21:50:59 +08:00
2026-08-30 10:30:34 +08:00
2026-09-17 22:33:18 +08:00
2026-10-10 07:56:09 +08:00
2026-10-06 09:45:47 +08:00
2026-10-10 07:56:09 +08:00
2026-09-04 23:46:57 +08:00
2026-09-27 07:58:15 +08:00
2026-09-04 23:46:57 +08:00
2026-09-27 11:16:38 +08:00
2026-09-24 18:11:35 +08:00
2026-09-14 14:05:21 +08:00
2026-10-10 07:56:09 +08:00
2026-09-23 09:53:49 +08:00
2026-10-06 11:22:46 +08:00
2026-10-09 17:04:22 +08:00
2026-09-20 14:34:37 +08:00
2026-09-12 10:54:39 +08:00
2026-10-08 10:31:06 +08:00
2026-07-04 13:54:04 +08:00
2026-10-08 21:30:07 +08:00
2026-10-08 09:10:30 +08:00
2026-10-07 10:22:15 +08:00
2026-10-04 06:46:13 +08:00
2026-09-12 07:35:07 +08:00
2026-07-04 21:51:57 +08:00
2026-10-07 07:47:32 +08:00
2026-09-27 21:00:09 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 10:22:15 +08:00
2026-07-04 21:51:57 +08:00
2026-08-24 15:38:32 +08:00
2026-10-11 19:18:32 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 07:47:32 +08:00
2026-07-04 21:51:57 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 07:47:32 +08:00
2026-09-30 09:50:39 +08:00
2026-10-07 10:22:15 +08:00
2026-10-04 06:46:13 +08:00
2026-10-07 07:47:32 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 07:47:32 +08:00
2026-09-12 07:35:07 +08:00
2026-09-12 07:35:07 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 10:22:15 +08:00
2026-10-07 07:47:32 +08:00
2026-10-04 06:46:13 +08:00
2026-10-07 07:47:32 +08:00
2026-10-08 23:34:32 +08:00
2026-10-08 23:34:32 +08:00
2026-10-07 14:46:23 +08:00
2026-10-07 07:47:32 +08:00
2026-10-11 11:56:32 +08:00
2026-09-28 14:35:42 +08:00
2026-10-10 20:51:09 +08:00
2026-08-24 21:27:43 +08:00
2026-10-03 21:58:50 +08:00
2026-10-08 21:08:03 +08:00
2026-10-10 10:10:28 +08:00
2026-10-08 21:08:03 +08:00
2026-09-28 14:35:42 +08:00
2026-08-28 10:44:30 +08:00
2026-10-10 15:47:30 +08:00
2026-09-14 06:55:57 +08:00
2026-09-25 22:49:12 +08:00
2026-07-07 23:09:06 +08:00
2026-07-23 08:03:21 +08:00
2026-10-11 14:49:41 +08:00
2026-09-24 15:10:25 +08:00
2026-09-24 20:39:30 +08:00
2026-10-10 20:52:17 +08:00
2026-10-03 14:35:09 +08:00
2026-09-17 07:59:58 +08:00
2026-07-04 11:27:19 +08:00
2026-09-24 15:47:33 +08:00
2026-09-02 17:05:36 +08:00
2026-09-22 17:27:01 +08:00
2026-09-27 09:25:00 +08:00
2026-09-12 14:32:05 +08:00
2026-10-10 17:33:55 +08:00
2026-10-11 12:52:48 +08:00
2026-09-26 18:14:34 +08:00
2026-07-13 10:40:22 +08:00
2026-10-06 07:17:22 +08:00
2026-09-08 09:21:38 +08:00
2026-09-05 14:03:00 +08:00
2026-08-31 14:35:08 +08:00
2026-10-08 22:50:45 +08:00
2026-10-05 21:28:08 +08:00
2026-09-14 11:01:31 +08:00
2026-07-11 15:58:07 +08:00
2026-09-26 11:44:48 +08:00
2026-08-25 19:46:04 +08:00
2026-10-08 10:31:06 +08:00
2026-09-30 23:09:05 +08:00
2026-09-24 17:49:52 +08:00
2026-10-09 16:09:17 +08:00
2026-09-22 22:39:49 +08:00
2026-10-08 19:43:04 +08:00
2026-10-10 10:32:31 +08:00
2026-10-10 10:32:31 +08:00
2026-10-06 07:17:22 +08:00
2026-09-19 12:14:24 +08:00
2026-08-28 08:58:59 +08:00
2026-09-24 15:47:33 +08:00
2026-10-08 19:43:04 +08:00
2026-09-18 08:02:52 +08:00
2026-09-24 15:47:33 +08:00
2026-10-06 21:18:53 +08:00
2026-10-11 17:47:20 +08:00
2026-10-08 09:57:13 +08:00
2026-10-11 23:27:06 +08:00
2026-10-07 21:16:46 +08:00
2026-10-04 21:15:18 +08:00
2026-10-05 12:25:41 +08:00
2026-10-01 10:00:53 +08:00
2026-07-08 21:58:33 +08:00
2026-10-08 19:44:52 +08:00
2026-09-28 14:35:42 +08:00
2026-09-25 09:51:11 +08:00
2026-10-07 10:22:15 +08:00
2026-09-28 16:00:52 +08:00
2026-10-07 10:22:15 +08:00
2026-10-04 07:46:59 +08:00
2026-07-31 17:25:07 +08:00
2026-10-07 07:47:32 +08:00
2026-07-22 09:20:54 +08:00
2026-10-08 06:56:33 +08:00
2026-09-25 12:43:04 +08:00
2026-09-01 15:51:37 +08:00
2026-09-08 16:11:49 +08:00
2026-10-07 17:24:12 +08:00
2026-10-09 15:33:58 +08:00
2026-10-09 15:33:58 +08:00
2026-08-25 07:49:38 +08:00
2026-09-30 16:10:29 +08:00
2026-09-16 22:05:20 +08:00
2026-10-01 18:26:58 +08:00
2026-10-11 17:45:06 +08:00
2026-07-14 08:14:21 +08:00
2026-10-01 10:05:39 +08:00
2026-09-02 11:54:40 +08:00
2026-10-05 21:55:01 +08:00
2026-09-15 22:22:12 +08:00
2026-08-24 11:04:23 +08:00
2026-08-30 11:39:25 +08:00
2026-07-30 07:21:55 +08:00
2026-09-18 14:27:33 +08:00
2026-09-01 16:13:41 +08:00
2026-07-11 15:41:57 +08:00
2026-07-13 19:26:07 +08:00
2026-09-17 09:05:25 +08:00
2026-10-04 12:41:13 +08:00
2026-10-01 20:13:57 +08:00
2026-09-24 16:11:46 +08:00
2026-09-24 16:11:46 +08:00
2026-09-30 10:38:19 +08:00
2026-10-05 22:04:36 +08:00
2026-09-08 16:00:45 +08:00
2026-07-27 11:47:49 +08:00
2026-07-27 11:47:49 +08:00
2026-10-10 20:02:39 +08:00
2026-10-07 07:28:29 +08:00
2026-10-07 18:37:31 +08:00
2026-09-14 06:55:57 +08:00
2026-09-14 11:01:31 +08:00
2026-08-23 09:57:12 +08:00
2026-10-10 21:24:21 +08:00
2026-09-30 20:03:35 +08:00
2026-09-29 17:24:29 +08:00
2026-10-11 15:53:01 +08:00
2026-09-26 11:43:32 +08:00
2026-10-06 07:00:09 +08:00
2026-10-02 22:31:40 +08:00
2026-08-27 18:12:05 +08:00
2026-10-03 08:19:14 +08:00
2026-09-18 07:29:34 +08:00
2026-10-08 20:59:50 +08:00
2026-10-07 10:22:15 +08:00
2026-09-06 22:30:26 +08:00
2026-09-25 14:18:09 +08:00
2026-10-10 00:20:45 +08:00
2026-09-16 18:46:18 +08:00
2026-08-01 19:42:44 +08:00
2026-07-27 22:46:51 +08:00
2026-08-11 22:00:57 +08:00
2026-10-07 14:34:24 +08:00
2026-10-07 10:22:15 +08:00
2026-10-10 00:20:45 +08:00
2026-10-11 11:55:20 +08:00
2026-10-05 10:23:55 +08:00
2026-10-05 10:23:55 +08:00
2026-10-04 07:46:59 +08:00
2026-10-05 10:23:55 +08:00
2026-09-09 14:56:31 +08:00
2026-09-27 11:09:41 +08:00
2026-09-18 09:39:14 +08:00
2026-07-28 23:21:23 +08:00
2026-10-10 00:20:45 +08:00
2026-10-06 10:03:56 +08:00
2026-07-15 11:21:04 +08:00
2026-10-02 19:25:14 +08:00
2026-09-12 09:22:27 +08:00
2026-09-22 17:45:01 +08:00
2026-10-01 10:37:09 +08:00
2026-09-16 15:52:17 +08:00
2026-07-04 23:14:46 +08:00
2026-10-05 12:21:39 +08:00
2026-07-28 23:21:23 +08:00
2026-09-24 20:30:45 +08:00
2026-09-13 18:04:51 +08:00
2026-09-15 22:22:12 +08:00
2026-08-22 16:53:32 +08:00
2026-10-10 21:23:27 +08:00
2026-07-04 11:27:19 +08:00
2026-10-06 20:44:49 +08:00
2026-10-03 16:38:00 +08:00
2026-10-06 09:06:33 +08:00
2026-10-07 17:07:59 +08:00
2026-09-16 23:57:38 +08:00
2026-09-16 15:52:17 +08:00
2026-09-15 08:45:08 +08:00
2026-09-25 14:46:12 +08:00
2026-08-29 16:56:56 +08:00
2026-08-29 16:56:56 +08:00
2026-09-15 08:45:08 +08:00
2026-09-01 09:49:32 +08:00
2026-07-14 09:49:43 +08:00
2026-08-23 09:57:12 +08:00
2026-09-01 16:49:39 +08:00
2026-10-10 14:00:00 +08:00
2026-09-01 16:49:39 +08:00
2026-07-14 08:58:06 +08:00
2026-07-14 08:58:06 +08:00
2026-07-03 08:01:46 +08:00
2026-10-08 10:21:18 +08:00
2026-10-11 14:44:27 +08:00
2026-09-30 19:48:32 +08:00
2026-10-11 12:52:11 +08:00
2026-09-18 07:48:24 +08:00
2026-10-03 08:29:29 +08:00
2026-10-04 17:04:58 +08:00
2026-10-11 14:44:27 +08:00
2026-10-11 14:44:27 +08:00
2026-07-15 22:27:00 +08:00
2026-10-07 17:16:48 +08:00
2026-10-04 19:28:32 +08:00
2026-08-05 08:15:28 +08:00
2026-07-20 23:56:37 +08:00
2026-09-27 20:28:05 +08:00
2026-09-27 20:28:05 +08:00
2026-09-27 20:28:05 +08:00
2026-10-02 22:56:24 +08:00
2026-09-28 15:08:49 +08:00
2026-09-12 11:09:41 +08:00
2026-07-26 21:16:36 +08:00
2026-07-26 21:16:36 +08:00
2026-10-06 07:10:55 +08:00
2026-10-02 22:50:30 +08:00
2026-10-09 20:56:26 +08:00
2026-10-01 20:36:35 +08:00
2026-10-10 07:56:09 +08:00
2026-10-10 18:45:58 +08:00
2026-07-28 22:59:14 +08:00
2026-09-03 08:17:26 +08:00
2026-10-07 10:22:15 +08:00
2026-09-26 15:56:54 +08:00
2026-10-11 08:25:53 +08:00
2026-09-19 10:56:21 +08:00
2026-08-13 23:55:30 +08:00
2026-08-23 15:43:37 +08:00
2026-10-10 14:05:35 +08:00
2026-10-10 20:52:17 +08:00
2026-09-10 15:48:55 +08:00
2026-09-24 20:38:12 +08:00
2026-09-24 20:38:12 +08:00
2026-09-10 15:48:55 +08:00
2026-10-05 19:06:16 +08:00
2026-10-08 20:41:40 +08:00
2026-10-11 18:30:09 +08:00
2026-10-04 07:01:13 +08:00
2026-10-10 18:45:58 +08:00
2026-10-10 18:45:58 +08:00
2026-09-08 10:50:03 +08:00
2026-10-10 18:49:59 +08:00
2026-10-06 21:17:11 +08:00
2026-10-07 08:18:55 +08:00
2026-10-06 07:45:18 +08:00
2026-09-20 17:21:49 +08:00
2026-09-12 09:59:58 +08:00
2026-07-12 07:52:45 +08:00
2026-09-27 08:06:03 +08:00
2026-10-01 18:26:58 +08:00
2026-09-27 21:04:39 +08:00
2026-07-12 11:51:31 +08:00
2026-09-14 18:17:54 +08:00
2026-10-05 10:23:55 +08:00
2026-10-09 07:10:54 +08:00
2026-10-11 11:56:32 +08:00