Teknium
11310068c6
feat(plugins): pre_command observer hook + capability-gated ctx.call_mcp ( #64204 )
...
Part A — pre_command observer hook (observer-first per #64182 ground rule 3):
- New VALID_HOOKS event `pre_command`: fires when a recognized slash command
is about to be dispatched, BEFORE the handler runs, on both surfaces:
- CLI: cli.py process_command (right after alias resolution)
- Gateway: gateway/run.py _handle_message cold-path canonical dispatch
- Payload: surface ('cli'|'gateway'), command (canonical), alias_used,
args_raw, session_key, platform. Return values IGNORED in v1; a plugin
returning a directive-shaped dict gets a debug log so future
block/rewrite adopters are discoverable (#64231 taxonomy).
- Deliberately NOT fired on the gateway running-agent intercept path
(/stop, /approve, busy_policy dispatch during an active run): those are
control-plane escape hatches on an in-flight run and must stay outside
plugin observation/veto reach.
- fire_pre_command_hook() helper never raises, so broken plugin infra can
never break command dispatch.
Part B — ctx.call_mcp (capability-gated, default-off, ground rule 4):
- PluginContext.call_mcp(server, tool, arguments, timeout=30): synchronous,
callable from plugin hooks/tools, routes through the EXISTING native MCP
client machinery (tools.mcp_tool._make_tool_handler: background loop,
trust-tier gates, circuit breaker, reconnect) — never a parallel client.
- Gate: plugins.entries.<id>.mcp_allowlist (list of server names).
Absent key / unreadable config / non-list value => default-deny.
Unlisted server raises PermissionError naming the exact config key.
TODO seam left for the #64228 declared-capability model.
- Bounded: timeout clamped to 1-600s and forwarded to the MCP loop call;
results capped at 64KB with truncation marker; stable
{ok, result|error, structuredContent?, truncated?} envelope.
Tests (transport mocked, no live MCP servers):
- tests/hermes_cli/test_pre_command_hook.py: both surfaces fire, canonical
alias reporting (/exit->quit, /q->queue), hook-before-handler ordering,
control-plane exclusion, hook failure non-fatal, observer-only directive
handling.
- tests/hermes_cli/test_plugin_call_mcp.py: default-deny (absent entry,
unreadable config, non-list, '*'), allowlist enforced per-server,
denied calls never touch transport, timeout forwarding/clamping,
result truncation, error/structuredContent envelopes.
Docs: hooks.md shipped-catalog row for pre_command; plugins.md
"Calling MCP servers from plugins" section with the security note.
Closes #64204
2026-08-12 19:16:59 -07:00
..
2026-08-12 16:25:29 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-05 14:08:32 -07:00
2026-08-10 11:07:22 -07:00
2026-08-02 14:55:32 +05:30
2026-08-08 23:56:46 -07:00
2026-07-29 19:48:37 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-20 02:25:44 -07:00
2026-07-29 13:10:23 -07:00
2026-08-04 12:28:39 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-12 16:26:55 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-07 08:57:39 -07:00
2026-07-29 19:48:37 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-08 12:32:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-31 22:34:52 -07:00
2026-08-08 12:32:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-11 23:36:47 -05:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-03 23:48:55 +05:30
2026-08-12 16:59:37 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-10 10:40:19 -07:00
2026-07-29 23:16:18 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-22 03:20:09 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-08 16:07:03 -04:00
2026-07-31 22:36:15 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 21:30:53 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:10:23 -07:00
2026-07-28 12:11:52 -05:00
2026-07-23 17:57:33 +05:30
2026-07-18 14:01:56 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:39:40 -07:00
2026-08-09 23:19:39 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 10:53:29 -07:00
2026-07-29 10:53:29 -07:00
2026-08-12 16:42:07 -07:00
2026-08-12 01:15:25 -07:00
2026-07-29 13:10:23 -07:00
2026-08-08 13:36:08 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-03 17:19:49 -07:00
2026-08-03 21:16:09 +05:30
2026-07-29 13:39:40 -07:00
2026-08-03 13:47:03 +05:30
2026-07-23 08:26:57 -07:00
2026-07-23 08:26:57 -07:00
2026-08-01 14:29:04 -07:00
2026-07-29 13:39:40 -07:00
2026-08-07 17:45:06 +05:30
2026-08-12 17:04:44 +10:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-31 23:33:12 -07:00
2026-07-31 17:26:42 +05:30
2026-07-31 17:26:42 +05:30
2026-07-29 15:28:15 -07:00
2026-07-29 13:39:40 -07:00
2026-08-10 18:04:59 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-11 16:00:55 -04:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-03 18:46:58 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-04 11:53:32 -06:00
2026-07-29 13:10:23 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:10:23 -07:00
2026-08-09 22:09:49 -04:00
2026-07-21 10:09:31 -04:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-08 14:56:38 +05:30
2026-08-07 09:07:48 -07:00
2026-08-01 10:48:11 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-02 18:21:58 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-12 16:59:37 -07:00
2026-07-17 15:01:54 -04:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-08 12:32:23 -07:00
2026-07-24 16:02:08 -07:00
2026-07-29 13:10:23 -07:00
2026-07-31 22:35:26 -07:00
2026-08-07 20:56:29 +00:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-09 22:09:49 -04:00
2026-08-09 22:09:49 -04:00
2026-08-09 21:40:23 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-10 17:02:56 -07:00
2026-08-09 22:09:49 -04:00
2026-08-09 22:09:49 -04:00
2026-08-02 23:18:27 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-01 16:42:51 -07:00
2026-08-04 17:33:36 -07:00
2026-07-29 19:48:37 -07:00
2026-08-08 12:34:46 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-09 22:09:49 -04:00
2026-08-12 17:19:12 -07:00
2026-08-05 11:47:05 -04:00
2026-08-05 22:32:55 -07:00
2026-08-02 15:01:11 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-18 02:31:20 -07:00
2026-07-01 16:25:48 -05:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-30 07:18:08 -05:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-12 13:20:38 +05:30
2026-07-30 07:18:08 -05:00
2026-07-29 13:39:40 -07:00
2026-08-03 20:40:28 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-06-21 12:43:41 -07:00
2026-07-29 13:39:40 -07:00
2026-08-10 12:43:46 -07:00
2026-08-10 12:43:46 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-06-21 12:49:07 -07:00
2026-08-10 12:43:46 -07:00
2026-08-10 12:43:46 -07:00
2026-08-10 12:43:46 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-10 12:43:46 -07:00
2026-07-29 13:39:40 -07:00
2026-07-31 14:03:32 -05:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 18:55:10 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-27 21:10:51 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-12 03:08:08 -07:00
2026-07-22 16:51:01 -04:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:39:40 -07:00
2026-08-03 22:55:36 +05:30
2026-08-08 03:57:00 -07:00
2026-07-29 13:39:40 -07:00
2026-08-01 12:27:31 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-07 09:44:21 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-29 13:10:23 -07:00
2026-07-29 18:55:10 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-06 05:00:17 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-07 23:00:28 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-04 19:35:57 +00:00
2026-07-29 13:10:23 -07:00
2026-07-22 21:17:21 -07:00
2026-08-08 19:17:05 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-31 22:39:34 -07:00
2026-07-29 13:10:23 -07:00
2026-08-08 16:07:03 -04:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-08 14:47:11 +05:30
2026-07-29 13:39:40 -07:00
2026-08-02 11:03:41 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-07 19:47:40 +05:30
2026-06-21 22:43:48 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-02 22:13:12 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-01 16:40:50 -07:00
2026-07-31 21:31:56 -07:00
2026-08-08 18:35:31 -07:00
2026-07-29 13:39:40 -07:00
2026-08-08 12:31:19 -07:00
2026-07-29 13:10:23 -07:00
2026-07-31 21:31:56 -07:00
2026-07-31 21:31:56 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-06-27 21:23:25 -07:00
2026-08-10 17:02:56 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 17:49:33 -05:00
2026-07-29 13:39:40 -07:00
2026-08-09 10:33:58 -07:00
2026-07-29 13:39:40 -07:00
2026-08-07 21:02:40 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-12 16:25:29 -07:00
2026-07-29 13:39:40 -07:00
2026-08-12 19:16:59 -07:00
2026-08-12 18:05:21 -07:00
2026-07-29 13:10:23 -07:00
2026-08-12 16:26:43 -07:00
2026-08-12 16:27:07 -07:00
2026-08-12 18:57:51 -07:00
2026-08-12 18:52:08 -07:00
2026-08-12 16:27:30 -07:00
2026-08-12 18:39:22 -07:00
2026-08-12 18:25:33 -07:00
2026-08-12 19:13:32 -07:00
2026-08-12 16:34:58 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-08 12:33:19 -07:00
2026-08-03 18:44:38 +05:30
2026-08-12 19:13:32 -07:00
2026-07-29 13:39:40 -07:00
2026-08-12 19:16:59 -07:00
2026-07-29 13:39:40 -07:00
2026-08-06 05:00:17 +05:30
2026-08-10 16:21:17 -05:00
2026-07-24 17:10:39 -07:00
2026-07-29 13:10:23 -07:00
2026-08-10 03:13:08 -05:00
2026-08-10 22:48:24 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 15:28:15 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-06-27 15:59:00 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-08-04 15:10:41 -07:00
2026-07-31 07:43:11 -07:00
2026-07-29 13:39:40 -07:00
2026-08-08 14:01:57 -05:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-02 22:13:12 +05:30
2026-08-08 04:03:41 -07:00
2026-07-29 13:10:23 -07:00
2026-07-31 22:35:31 -07:00
2026-07-31 21:31:56 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 04:33:58 -05:00
2026-08-08 18:58:06 -07:00
2026-07-29 13:39:40 -07:00
2026-08-12 16:25:10 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-01 10:47:20 -07:00
2026-08-08 12:32:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-10 19:16:59 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-09 19:54:02 -07:00
2026-07-09 16:46:07 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-31 22:36:55 -07:00
2026-07-29 13:39:40 -07:00
2026-08-03 20:37:17 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-31 23:33:12 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-01 15:34:23 -07:00
2026-07-27 21:10:51 -07:00
2026-07-28 11:54:01 -07:00
2026-07-29 19:48:37 -07:00
2026-07-29 21:30:53 -07:00
2026-08-08 15:10:35 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-05 11:59:33 +05:30
2026-07-29 13:39:40 -07:00
2026-07-21 16:36:57 -05:00
2026-07-29 13:39:40 -07:00
2026-08-10 18:04:59 -07:00
2026-07-29 13:39:40 -07:00
2026-07-24 16:00:03 -07:00
2026-07-16 14:43:14 +02:00
2026-08-01 14:30:16 -07:00
2026-08-02 21:13:12 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-08-02 16:16:36 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 19:48:37 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-03 16:07:16 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-07 05:12:24 -07:00
2026-07-29 13:39:40 -07:00
2026-08-06 05:00:17 +05:30
2026-07-29 13:39:40 -07:00
2026-08-08 21:18:09 -07:00
2026-07-29 13:39:40 -07:00
2026-07-31 22:34:28 -07:00
2026-07-29 13:10:23 -07:00
2026-08-02 09:58:49 -07:00
2026-07-29 13:10:23 -07:00
2026-08-09 22:09:49 -04:00
2026-08-05 10:34:18 -06:00
2026-08-01 16:09:27 +05:30
2026-07-29 13:39:40 -07:00
2026-07-31 22:28:46 -07:00
2026-07-29 10:59:54 -07:00
2026-08-08 20:01:03 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-08-08 19:46:35 -07:00
2026-08-09 23:19:39 -07:00
2026-07-29 13:10:23 -07:00
2026-08-01 17:25:08 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-07 21:02:40 +05:30
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-07-23 16:55:41 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-08-08 22:54:20 +05:30
2026-07-31 03:35:08 -03:00
2026-08-06 05:00:17 +05:30
2026-07-29 13:39:40 -07:00
2026-08-08 13:28:28 +05:30
2026-07-29 13:10:23 -07:00
2026-08-07 17:45:06 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-08-03 17:50:58 +05:30
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-10 22:37:16 -05:00
2026-08-03 17:18:31 +05:30
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:39:40 -07:00
2026-08-09 22:09:49 -04:00
2026-08-12 02:56:33 -07:00
2026-06-17 09:49:46 -07:00
2026-07-02 13:17:41 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:39:40 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 13:10:23 -07:00
2026-07-29 19:48:37 -07:00
2026-07-29 13:10:23 -07:00