Brooklyn Nicholson
59b1c40cdf
feat(desktop): plugins can render inline components in assistant messages via ::name{...} directives
...
The transcript becomes a contribution area (transcript.directives). A plugin
registers a named directive and the model addresses it by emitting
::name{key="value"} as its own paragraph; that leaf renders as the plugin's
component, wrapped in the contribution error boundary. Unclaimed or malformed
directives stay plain prose, so nothing changes for text that merely looks
like a directive (std::vector) or for users with the plugin disabled.
Core ships ::preview{file="..."} as the reference consumer (the existing
preview-attachment card), the desktop platform hint teaches the model the
syntax, and the SDK exports the area + types so runtime plugin.js files get
the surface through the normal plugins API.
2026-08-17 15:12:53 -05:00
..
2026-08-01 21:17:51 -04:00
2026-08-08 18:11:02 -07:00
2026-08-15 00:33:01 -07:00
2026-07-24 11:45:57 -07:00
2026-08-15 13:28:14 -07:00
2026-08-17 12:58:51 -07:00
2026-08-07 10:11:05 -07:00
2026-07-22 10:58:22 -07:00
2026-08-17 12:58:51 -07:00
2026-08-17 03:25:07 -07:00
2026-08-17 02:56:17 -07:00
2026-07-18 20:01:55 +05:30
2026-07-16 04:23:12 -07:00
2026-08-15 03:16:21 -07:00
2026-08-02 10:02:33 -07:00
2026-07-26 23:41:54 -07:00
2026-08-16 10:27:52 -07:00
2026-07-21 13:54:11 -05:00
2026-08-15 12:47:27 +05:30
2026-07-22 18:08:59 -05:00
2026-07-29 11:53:39 -07:00
2026-07-29 11:53:39 -07:00
2026-07-05 14:00:20 -07:00
2026-08-10 10:45:44 -07:00
2026-08-12 19:13:32 -07:00
2026-08-16 01:55:00 -07:00
2026-08-14 10:39:25 -07:00
2026-08-15 01:04:19 -07:00
2026-07-29 15:28:15 -07:00
2026-08-15 03:16:21 -07:00
2026-07-26 18:06:21 -07:00
2026-08-16 02:01:41 -07:00
2026-08-08 23:09:45 +05:30
2026-08-12 18:41:59 -07:00
2026-08-17 18:15:46 +05:30
2026-08-16 22:06:08 -07:00
2026-08-16 06:31:46 -07:00
2026-07-02 13:17:41 -07:00
2026-08-14 21:54:56 -07:00
2026-08-08 12:32:23 -07:00
2026-07-28 21:36:23 +00:00
2026-08-16 22:06:41 -07:00
2026-08-16 22:06:41 -07:00
2026-08-13 13:53:39 +05:30
2026-08-06 03:16:26 +05:30
2026-08-13 09:34:36 -07:00
2026-08-16 22:06:08 -07:00
2026-08-16 22:07:25 -07:00
2026-07-17 13:49:12 -07:00
2026-08-08 05:21:09 -07:00
2026-08-12 11:04:45 -07:00
2026-08-16 22:07:52 -07:00
2026-07-26 20:59:16 -07:00
2026-07-29 15:28:15 -07:00
2026-08-08 14:49:28 -07:00
2026-08-12 19:13:32 -07:00
2026-08-14 03:31:22 +05:30
2026-08-14 02:04:24 +05:30
2026-08-02 22:15:20 +05:30
2026-07-26 12:54:45 -07:00
2026-07-14 16:47:33 +05:30
2026-08-08 05:09:43 -07:00
2026-07-29 11:53:39 -07:00
2026-07-01 16:25:48 -05:00
2026-06-30 15:16:21 -05:00
2026-07-16 07:57:51 -07:00
2026-07-23 08:19:14 -07:00
2026-08-13 23:43:15 +05:30
2026-08-13 23:15:25 +05:30
2026-08-15 01:04:19 -07:00
2026-08-15 01:04:19 -07:00
2026-08-13 23:10:16 +05:30
2026-08-13 23:10:16 +05:30
2026-08-16 18:31:54 -07:00
2026-08-14 03:31:22 +05:30
2026-07-20 11:05:52 -07:00
2026-08-13 03:04:45 -07:00
2026-07-24 17:10:39 -07:00
2026-07-22 12:10:58 -05:00
2026-06-23 08:01:50 +00:00
2026-08-02 15:01:11 -07:00
2026-08-12 16:25:20 -07:00
2026-08-12 18:38:25 -07:00
2026-07-16 01:13:43 -07:00
2026-07-05 03:14:55 -07:00
2026-08-17 15:12:53 -05:00
2026-08-09 15:25:12 +05:30
2026-08-15 11:09:56 +05:30
2026-08-13 15:24:47 +05:30
2026-07-10 05:41:59 -05:00
2026-08-06 22:02:37 -05:00
2026-08-12 13:37:04 -04:00
2026-08-13 23:10:16 +05:30
2026-08-15 00:33:01 -07:00
2026-08-15 00:33:01 -07:00
2026-08-08 23:46:17 -07:00
2026-08-16 01:55:51 -07:00
2026-07-19 08:25:35 +05:30
2026-07-29 10:13:50 -07:00
2026-07-16 04:32:23 -07:00
2026-08-02 09:59:52 -07:00
2026-08-02 16:16:36 -07:00
2026-08-15 23:03:52 -07:00
2026-07-29 12:20:34 -07:00
2026-08-17 11:39:13 -07:00
2026-07-29 15:28:15 -07:00
2026-08-17 11:39:13 -07:00
2026-08-08 15:10:24 +05:30
2026-07-02 04:51:56 +05:30
2026-07-17 18:31:09 +00:00
2026-08-02 22:15:20 +05:30
2026-08-16 22:07:43 -07:00
2026-07-22 08:11:09 +05:30
2026-08-16 18:30:53 -07:00
2026-07-16 01:07:29 +05:30
2026-06-25 19:00:48 -07:00
2026-08-15 00:33:01 -07:00
2026-08-16 22:10:02 -07:00
2026-08-15 01:04:19 -07:00
2026-08-16 11:32:02 -07:00
2026-08-13 09:34:36 -07:00
2026-07-11 05:41:58 -07:00
2026-08-14 21:41:26 -07:00
2026-08-12 19:01:30 -07:00
2026-08-12 19:13:32 -07:00
2026-08-12 19:13:32 -07:00
2026-08-15 01:04:19 -07:00
2026-08-16 10:34:23 -07:00
2026-08-08 11:24:45 -07:00
2026-07-26 17:47:51 -07:00
2026-08-14 22:04:16 -07:00
2026-08-16 00:14:58 -07:00
2026-08-12 01:15:25 -07:00
2026-06-30 00:59:29 -05:00
2026-07-02 06:07:56 +05:30
2026-08-08 14:49:28 -07:00
2026-08-12 19:13:32 -07:00
2026-07-06 02:42:24 -07:00
2026-08-12 19:13:32 -07:00