zhayujie and cowagent
dc60baa60d
refactor(web): move WebChannel into channel/web/channel.py
...
The channel and the request handlers were in one module because they shared
helpers; with those in _common there was one thing left holding them together,
a WebChannel method reading ConfigHandler.PROVIDER_MODELS, and that table is
now in providers. WebChannel needs nothing else from the handler module.
The URL table moves with the handlers rather than with the channel, to module
scope as URLS next to the build_app() that feeds it to web.py -- the names in
it are resolved out of the namespace they are defined in, so the table has to
live where the handlers do. WebChannel now asks for the app instead of
assembling one, and imports build_app inside startup(): web_channel.py imports
this module, and by the time startup() runs it is always already imported,
since channel_factory only ever reaches the class through it.
web_channel.py keeps re-exporting WebChannel and SERVING, which app.py and
channel_factory resolve by name through this module.
Two tests imported helpers straight out of web_channel and now take them from
_common, where they live.
Co-authored-by: cowagent <cow@cowagent.ai >
2026-09-17 15:31:20 +08:00
..
2026-09-17 15:16:55 +08:00
2026-09-03 10:22:23 +08:00
2026-09-13 21:21:26 +08:00
2026-08-02 17:33:06 +08:00
2026-08-27 15:31:22 +08:00
2026-09-16 12:33:53 +08:00
2026-09-01 19:38:39 +08:00
2026-09-01 19:38:39 +08:00
2026-08-24 20:47:42 +08:00
2026-08-16 14:57:39 +08:00
2026-08-17 12:13:35 +08:00
2026-09-17 15:16:55 +08:00
2026-09-12 22:19:35 +08:00
2026-09-12 17:05:10 +08:00
2026-09-12 14:22:10 +08:00
2026-07-27 20:01:09 +08:00
2026-07-27 20:01:09 +08:00
2026-07-28 12:12:28 +08:00
2026-07-07 16:45:37 +08:00
2026-07-27 20:01:09 +08:00
2026-08-20 10:34:00 +08:00
2026-07-29 09:49:18 +08:00
2026-09-07 18:20:41 +08:00
2026-09-08 15:41:00 +00:00
2026-09-08 15:41:00 +00:00
2026-09-08 15:41:00 +00:00
2026-09-08 15:41:00 +00:00
2026-08-20 14:33:33 +08:00
2026-07-28 12:36:31 +08:00
2026-09-04 18:25:04 +00:00
2026-09-05 01:23:13 +00:00
2026-08-26 16:23:13 +08:00
2026-09-10 13:18:11 +08:00
2026-09-01 19:38:39 +08:00
2026-09-01 19:38:39 +08:00
2026-09-17 15:16:55 +08:00
2026-09-11 08:31:45 +00:00
2026-09-07 20:49:59 +08:00
2026-09-08 16:04:06 +08:00
2026-07-17 17:06:08 +08:00
2026-08-10 16:03:04 +08:00
2026-09-11 15:21:20 +00:00
2026-08-16 02:35:34 +08:00
2026-09-10 13:18:14 +08:00
2026-09-16 12:33:53 +08:00
2026-09-17 15:31:20 +08:00
2026-09-16 18:07:25 +08:00
2026-07-08 11:13:30 +08:00
2026-09-07 20:44:48 +08:00
2026-08-09 18:19:01 +08:00
2026-08-05 16:49:52 +08:00
2026-06-08 20:06:01 +08:00
2026-09-11 15:21:20 +00:00
2026-08-20 16:07:35 +08:00
2026-07-28 12:02:28 +08:00
2026-07-17 17:15:37 +08:00
2026-07-19 18:14:31 +08:00
2026-07-19 13:15:47 +08:00
2026-07-17 17:09:48 +08:00
2026-07-17 12:54:26 +08:00
2026-07-19 13:15:47 +08:00
2026-08-10 16:03:04 +08:00
2026-09-10 11:32:54 +08:00
2026-09-11 15:32:03 +08:00
2026-06-05 11:36:22 +05:30
2026-08-18 15:21:15 +08:00
2026-07-30 12:39:06 +08:00
2026-09-09 15:07:04 +08:00
2026-09-13 10:45:02 +08:00
2026-09-13 12:44:05 +08:00
2026-08-04 13:15:32 +08:00
2026-09-13 22:08:44 +08:00
2026-09-01 20:48:42 +08:00
2026-09-04 15:37:23 -07:00
2026-08-27 15:35:01 +08:00
2026-08-02 17:33:06 +08:00
2026-06-01 21:30:38 +08:00
2026-09-13 11:46:55 +08:00
2026-08-26 16:43:10 +08:00
2026-08-26 16:23:13 +08:00
2026-08-27 15:31:22 +08:00
2026-09-07 20:49:59 +08:00
2026-08-20 14:33:33 +08:00
2026-08-17 19:45:20 +08:00
2026-08-08 20:14:44 +08:00
2026-08-04 21:04:31 +08:00
2026-09-17 15:16:55 +08:00
2026-09-12 14:41:47 +08:00
2026-07-27 17:26:01 +08:00
2026-07-27 17:26:01 +08:00
2026-09-16 12:33:53 +08:00
2026-06-12 11:03:04 +08:00
2026-08-26 16:19:12 +08:00
2026-08-24 20:47:42 +08:00
2026-09-08 15:26:54 +08:00
2026-09-07 18:21:32 +08:00
2026-09-08 15:21:36 +08:00
2026-09-08 16:04:06 +08:00
2026-07-17 10:53:29 +08:00
2026-09-08 15:26:54 +08:00
2026-09-07 18:20:41 +08:00
2026-09-17 15:16:55 +08:00
2026-07-27 18:40:20 +08:00
2026-07-27 16:26:28 +08:00
2026-07-06 15:30:13 +08:00
2026-06-19 20:15:27 +08:00
2026-08-03 21:56:02 +08:00
2026-06-24 19:40:55 +08:00
2026-08-20 11:19:52 +08:00
2026-07-28 17:03:32 +08:00
2026-08-26 16:48:32 +08:00
2026-08-18 15:21:15 +08:00
2026-07-28 17:03:32 +08:00
2026-08-11 10:27:43 +08:00
2026-09-08 15:41:00 +00:00
2026-08-05 17:04:17 +08:00
2026-08-26 12:20:36 +08:00
2026-08-26 16:35:40 +08:00
2026-07-27 18:40:20 +08:00
2026-08-18 15:21:15 +08:00
2026-09-01 19:38:48 +08:00
2026-09-01 19:38:39 +08:00
2026-08-09 08:32:42 +08:00
2026-07-28 11:50:34 +08:00
2026-09-09 15:07:04 +08:00
2026-09-10 20:23:54 +08:00
2026-07-28 12:12:28 +08:00
2026-09-03 17:06:04 +08:00
2026-08-10 15:51:47 +08:00
2026-09-17 15:31:20 +08:00
2026-09-08 20:50:41 +08:00
2026-09-04 04:41:32 +00:00
2026-09-17 11:25:11 +08:00
2026-09-17 15:31:20 +08:00
2026-09-17 15:16:55 +08:00
2026-09-13 22:40:05 +08:00
2026-08-06 18:41:11 +08:00
2026-08-06 18:41:11 +08:00
2026-09-01 20:22:43 +08:00
2026-09-09 15:07:04 +08:00
2026-09-12 14:41:47 +08:00
2026-05-05 23:58:32 +08:00
2026-08-20 11:51:03 +08:00
2026-09-03 17:06:04 +08:00