Ewald
e3afb1a0d3
feat: add Collect Files (context menu + sidebar) bundling asset, workflow, traced prompt text and media inputs into a zip
- New POST /mjr/am/collect-files route (CSRF, write token, rate limit, path allowlist)
- collect_service: extracts workflow media/model refs, resolves inputs within allowed roots, builds {stem}_collected.zip next to the asset with writable-dir fallback to output/_mjr_collected
- Zip contains asset, workflow.json, prompt_graph.json, prompt.json (positive/negative traced via geninfo parser), inputs/ and collected_files.txt manifest
- comfy_core adapter: get_model_full_path helper
- Frontend: 'Collect files' grid context menu item + sidebar (D) MButton, collectFiles() API client op
- Tests: tests/features/test_collect_service.py (10 tests)
2026-07-24 15:41:48 +02:00
..
2026-01-24 19:28:33 +01:00
2026-01-24 19:28:33 +01:00
2026-05-21 18:59:30 +02:00
2026-05-22 15:00:27 +02:00
2026-05-22 15:03:38 +02:00
2026-04-30 08:42:27 +02:00
2026-06-11 20:50:18 +02:00
2026-05-09 22:35:12 +02:00
2026-04-30 08:42:27 +02:00
2026-03-28 13:26:28 +01:00
2026-04-11 11:56:01 +02:00
2026-05-15 17:13:04 +02:00
2026-05-21 22:31:15 +02:00
2026-03-08 00:51:40 +01:00
2026-07-24 15:41:48 +02:00
2026-05-21 18:56:04 +02:00
2026-03-16 23:47:08 +01:00
2026-03-27 17:15:53 +01:00
2026-03-28 13:26:28 +01:00
2026-06-22 16:03:28 +02:00
2026-02-26 07:01:43 +01:00
2026-04-11 11:56:01 +02:00
2026-05-01 17:47:00 +02:00
2026-06-02 17:22:07 +02:00
2026-03-28 13:26:28 +01:00
2026-05-22 15:00:27 +02:00
2026-06-12 10:21:09 +02:00
2026-04-06 18:07:19 +02:00
2026-03-28 13:26:28 +01:00
2026-04-06 08:38:06 +02:00
2026-03-28 13:26:28 +01:00
2026-04-09 01:55:32 +02:00
2026-05-22 15:03:38 +02:00
2026-07-09 11:18:28 +02:00
2026-05-26 10:42:22 +02:00
2026-05-06 23:14:48 +02:00
2026-06-16 17:17:19 +02:00
2026-05-21 18:56:04 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-05-26 10:42:22 +02:00
2026-03-28 13:26:28 +01:00
2026-02-26 07:01:43 +01:00
2026-03-28 13:26:28 +01:00
2026-04-06 18:28:58 +02:00
2026-07-09 11:18:28 +02:00
2026-07-09 11:18:28 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-02-26 09:33:55 +01:00
2026-02-25 11:43:13 +01:00
2026-04-06 18:28:58 +02:00
2026-04-08 13:48:20 +02:00
2026-05-22 15:00:27 +02:00
2026-06-03 15:05:49 +02:00
2026-04-06 18:28:58 +02:00
2026-06-09 10:28:25 +02:00
2026-06-12 14:04:00 +02:00
2026-06-29 18:07:21 +02:00
2026-05-26 10:42:22 +02:00
2026-02-26 07:01:43 +01:00
2026-03-28 13:26:28 +01:00
2026-06-09 10:28:25 +02:00
2026-02-26 07:01:43 +01:00
2026-07-22 16:33:34 +02:00
2026-06-12 10:19:33 +02:00
2026-05-06 23:14:48 +02:00
2026-06-29 08:54:20 +02:00
2026-07-22 16:33:34 +02:00
2026-04-06 18:28:58 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-05-06 23:14:48 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-05-23 18:35:21 +02:00
2026-04-06 18:28:58 +02:00
2026-06-02 16:25:20 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-07-01 16:16:26 +02:00
2026-03-28 13:26:28 +01:00
2026-04-10 16:08:14 +02:00
2026-05-01 04:36:42 +02:00
2026-03-28 13:26:28 +01:00
2026-05-23 18:35:21 +02:00
2026-04-04 22:28:49 +02:00
2026-06-11 20:50:18 +02:00
2026-04-09 17:14:22 +02:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-06-12 10:19:33 +02:00
2026-05-22 15:00:27 +02:00
2026-05-22 15:00:27 +02:00
2026-05-21 23:15:55 +02:00
2026-02-26 22:34:59 +01:00
2026-03-04 08:27:17 +01:00
2026-04-25 12:12:04 +02:00
2026-05-23 18:35:21 +02:00
2026-03-05 02:21:13 +01:00
2026-04-15 10:22:27 +02:00
2026-03-28 13:26:28 +01:00
2026-03-03 07:33:50 +01:00
2026-03-28 13:26:28 +01:00
2026-03-28 13:26:28 +01:00
2026-06-12 10:19:33 +02:00
2026-07-10 11:43:00 +02:00
2026-03-28 13:26:28 +01:00
2026-06-30 22:58:41 +02:00
2026-06-30 22:58:41 +02:00
2026-07-09 11:18:28 +02:00