plutonium 0.62.1 → 0.63.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. checksums.yaml +4 -4
  2. data/.claude/skills/plutonium/SKILL.md +44 -0
  3. data/.claude/skills/plutonium-app/SKILL.md +3 -3
  4. data/.claude/skills/plutonium-async-interactions/SKILL.md +191 -0
  5. data/.claude/skills/plutonium-auth/SKILL.md +36 -0
  6. data/.claude/skills/plutonium-behavior/SKILL.md +121 -24
  7. data/.claude/skills/plutonium-kanban/SKILL.md +17 -3
  8. data/.claude/skills/plutonium-resource/SKILL.md +259 -12
  9. data/.claude/skills/plutonium-tenancy/SKILL.md +32 -3
  10. data/.claude/skills/plutonium-ui/SKILL.md +115 -14
  11. data/.claude/skills/plutonium-wizard/SKILL.md +73 -4
  12. data/CHANGELOG.md +85 -10
  13. data/CLAUDE.md +87 -0
  14. data/Rakefile +34 -0
  15. data/SECURITY.md +1 -1
  16. data/app/assets/plutonium.css +1 -1
  17. data/app/assets/plutonium.js +685 -102
  18. data/app/assets/plutonium.js.map +4 -4
  19. data/app/assets/plutonium.min.js +53 -53
  20. data/app/assets/plutonium.min.js.map +4 -4
  21. data/app/views/rodauth/_login_form.html.erb +13 -0
  22. data/db/migrate/async_interactions/20260817000001_create_plutonium_async_runs.rb +170 -0
  23. data/docs/.vitepress/config.ts +81 -3
  24. data/docs/.vitepress/theme/blog.data.ts +44 -0
  25. data/docs/.vitepress/theme/components/BlogIndex.vue +87 -0
  26. data/docs/.vitepress/theme/components/BlogMeta.vue +47 -0
  27. data/docs/.vitepress/theme/components/HomeFeatureTour.vue +293 -0
  28. data/docs/.vitepress/theme/components/HomeHero.vue +3 -3
  29. data/docs/.vitepress/theme/components/HomeInTheBox.vue +8 -0
  30. data/docs/.vitepress/theme/components/HomeStopWriting.vue +1 -0
  31. data/docs/.vitepress/theme/components/HomeWhyPlutonium.vue +84 -0
  32. data/docs/.vitepress/theme/index.ts +8 -4
  33. data/docs/blog/association-inputs-post-signed-ids.md +70 -0
  34. data/docs/blog/fix-the-model-not-the-policy.md +122 -0
  35. data/docs/blog/fractional-ordering-runs-out-of-room.md +67 -0
  36. data/docs/blog/half-finished-forms-are-pii.md +76 -0
  37. data/docs/blog/index.md +13 -0
  38. data/docs/blog/interactions-are-presentation-objects.md +152 -0
  39. data/docs/blog/introducing-plutonium.md +253 -0
  40. data/docs/blog/jobs-are-not-permission-snapshots.md +100 -0
  41. data/docs/blog/plutonium-and-ai-agents.md +48 -0
  42. data/docs/blog/realtime-is-one-line-and-four-dependencies.md +70 -0
  43. data/docs/blog/two-forms-one-dom-id.md +69 -0
  44. data/docs/blog/whats-new-async-kanban-wizards.md +130 -0
  45. data/docs/getting-started/tutorial/04-authorization.md +12 -3
  46. data/docs/getting-started/tutorial/06-nested-resources.md +3 -1
  47. data/docs/getting-started/tutorial/07-author-portal.md +2 -2
  48. data/docs/guides/authentication.md +73 -0
  49. data/docs/guides/authorization.md +2 -0
  50. data/docs/guides/creating-packages.md +5 -3
  51. data/docs/guides/custom-actions.md +74 -12
  52. data/docs/guides/customizing-ui.md +9 -2
  53. data/docs/guides/index.md +1 -0
  54. data/docs/guides/kanban.md +7 -5
  55. data/docs/guides/nested-resources.md +11 -1
  56. data/docs/guides/performance.md +104 -0
  57. data/docs/guides/user-invites.md +1 -1
  58. data/docs/guides/wizards.md +9 -1
  59. data/docs/index.md +3 -3
  60. data/docs/public/images/home/tour-actions.png +0 -0
  61. data/docs/public/images/home/tour-async.png +0 -0
  62. data/docs/public/images/home/tour-kanban.png +0 -0
  63. data/docs/public/images/home/tour-tenancy.png +0 -0
  64. data/docs/public/images/home/tour-wizard.png +0 -0
  65. data/docs/public/images/reference/async-progress-page.png +0 -0
  66. data/docs/public/images/reference/async-running-banner.png +0 -0
  67. data/docs/public/templates/experimental.rb +34 -0
  68. data/docs/public/templates/pluton8.rb +14 -0
  69. data/docs/reference/app/portals.md +15 -3
  70. data/docs/reference/auth/accounts.md +19 -0
  71. data/docs/reference/behavior/async-interactions.md +295 -0
  72. data/docs/reference/behavior/controllers.md +17 -4
  73. data/docs/reference/behavior/index.md +7 -1
  74. data/docs/reference/behavior/interactions.md +152 -22
  75. data/docs/reference/configuration.md +5 -0
  76. data/docs/reference/index.md +1 -0
  77. data/docs/reference/kanban/dsl.md +7 -4
  78. data/docs/reference/kanban/index.md +1 -1
  79. data/docs/reference/kanban/positioning.md +26 -4
  80. data/docs/reference/positioning.md +568 -0
  81. data/docs/reference/resource/actions.md +97 -4
  82. data/docs/reference/resource/definition.md +181 -9
  83. data/docs/reference/tenancy/invites.md +1 -1
  84. data/docs/reference/tenancy/nested-resources.md +60 -2
  85. data/docs/reference/ui/assets.md +4 -0
  86. data/docs/reference/ui/components.md +57 -4
  87. data/docs/reference/ui/displays.md +20 -10
  88. data/docs/reference/ui/index.md +1 -1
  89. data/docs/reference/wizard/dsl.md +33 -0
  90. data/docs/reference/wizard/storage-config.md +1 -0
  91. data/docs/superpowers/plans/2026-07-16-homepage-depth-upgrade.md +624 -0
  92. data/docs/superpowers/plans/2026-07-16-homepage-depth-upgrade.md.tasks.json +32 -0
  93. data/docs/superpowers/plans/2026-07-31-positioned-drag-and-drop.md +1787 -0
  94. data/docs/superpowers/plans/2026-07-31-positioned-drag-and-drop.md.tasks.json +91 -0
  95. data/docs/superpowers/plans/2026-08-17-async-interactions.md +1414 -0
  96. data/docs/superpowers/plans/2026-08-17-async-interactions.md.tasks.json +66 -0
  97. data/docs/superpowers/specs/2026-07-16-homepage-depth-upgrade-design.md +111 -0
  98. data/docs/superpowers/specs/2026-07-17-action-html-attributes-design.md +124 -0
  99. data/docs/superpowers/specs/2026-07-31-positioned-drag-and-drop-design.md +506 -0
  100. data/docs/superpowers/specs/2026-08-17-async-interactions-design.md +185 -0
  101. data/gemfiles/postgres.gemfile.lock +85 -85
  102. data/gemfiles/rails_7.gemfile.lock +337 -142
  103. data/gemfiles/rails_8.0.gemfile.lock +139 -116
  104. data/gemfiles/rails_8.1.gemfile.lock +128 -118
  105. data/lib/generators/pu/async_interactions/install_generator.rb +111 -0
  106. data/lib/generators/pu/async_interactions/templates/app/controllers/async_runs_controller.rb.tt +15 -0
  107. data/lib/generators/pu/core/typespec/typespec_generator.rb +7 -4
  108. data/lib/generators/pu/invites/install_generator.rb +3 -3
  109. data/lib/generators/pu/invites/templates/packages/invites/app/views/layouts/invites/invitation.html.erb.tt +2 -2
  110. data/lib/generators/pu/lib/plutonium_generators/concerns/mounts_engines.rb +47 -2
  111. data/lib/generators/pu/lib/plutonium_generators/concerns/resource_registration.rb +41 -0
  112. data/lib/generators/pu/lite/litestream/litestream_generator.rb +1 -1
  113. data/lib/generators/pu/lite/solid_queue/solid_queue_generator.rb +1 -1
  114. data/lib/generators/pu/res/conn/conn_generator.rb +19 -39
  115. data/lib/generators/pu/res/conn/templates/app/controllers/resource_controller.rb.tt +4 -0
  116. data/lib/generators/pu/rodauth/templates/app/rodauth/account_rodauth_plugin.rb.tt +15 -6
  117. data/lib/generators/pu/rodauth/templates/app/rodauth/rodauth_plugin.rb.tt +7 -0
  118. data/lib/generators/pu/saas/welcome/templates/app/views/layouts/welcome.html.erb.tt +2 -2
  119. data/lib/generators/pu/wizards/install_generator.rb +78 -0
  120. data/lib/plutonium/action/base.rb +71 -9
  121. data/lib/plutonium/action/interactive.rb +9 -0
  122. data/lib/plutonium/attachments.rb +254 -0
  123. data/lib/plutonium/configuration.rb +82 -1
  124. data/lib/plutonium/core/controller.rb +50 -7
  125. data/lib/plutonium/core/controllers/authorizable.rb +16 -0
  126. data/lib/plutonium/core/controllers/entity_scoping.rb +12 -2
  127. data/lib/plutonium/definition/base.rb +51 -0
  128. data/lib/plutonium/definition/display_layout.rb +112 -0
  129. data/lib/plutonium/definition/index_views.rb +8 -7
  130. data/lib/plutonium/definition/input_aliases.rb +38 -0
  131. data/lib/plutonium/definition/page_widths.rb +65 -0
  132. data/lib/plutonium/definition/positioning.rb +126 -0
  133. data/lib/plutonium/definition/sorting.rb +17 -2
  134. data/lib/plutonium/helpers/turbo_helper.rb +7 -0
  135. data/lib/plutonium/interaction/README.md +61 -24
  136. data/lib/plutonium/interaction/async/configuration.rb +38 -0
  137. data/lib/plutonium/interaction/async/context.rb +419 -0
  138. data/lib/plutonium/interaction/async/executor.rb +422 -0
  139. data/lib/plutonium/interaction/async/job.rb +80 -0
  140. data/lib/plutonium/interaction/async/reap_job.rb +81 -0
  141. data/lib/plutonium/interaction/async/run.rb +394 -0
  142. data/lib/plutonium/interaction/async/run_definition.rb +155 -0
  143. data/lib/plutonium/interaction/async/run_policy.rb +86 -0
  144. data/lib/plutonium/interaction/base.rb +34 -7
  145. data/lib/plutonium/interaction/concerns/dispatchable.rb +518 -0
  146. data/lib/plutonium/interaction/concerns/scoping.rb +70 -9
  147. data/lib/plutonium/interaction/response/redirect.rb +11 -3
  148. data/lib/plutonium/kanban/board.rb +14 -0
  149. data/lib/plutonium/kanban/column.rb +4 -2
  150. data/lib/plutonium/kanban/dsl.rb +4 -1
  151. data/lib/plutonium/kanban/grouping.rb +9 -22
  152. data/lib/plutonium/kanban/positioning.rb +5 -65
  153. data/lib/plutonium/positioning/config.rb +94 -0
  154. data/lib/plutonium/positioning/model.rb +128 -0
  155. data/lib/plutonium/positioning.rb +25 -86
  156. data/lib/plutonium/railtie.rb +1 -0
  157. data/lib/plutonium/resource/controller.rb +118 -38
  158. data/lib/plutonium/resource/controllers/crud_actions/index_action.rb +32 -2
  159. data/lib/plutonium/resource/controllers/crud_actions.rb +42 -9
  160. data/lib/plutonium/resource/controllers/eager_loading.rb +87 -0
  161. data/lib/plutonium/resource/controllers/export_csv.rb +10 -1
  162. data/lib/plutonium/resource/controllers/kanban_actions.rb +53 -14
  163. data/lib/plutonium/resource/controllers/position_actions.rb +390 -0
  164. data/lib/plutonium/resource/controllers/presentable.rb +19 -13
  165. data/lib/plutonium/resource/controllers/queryable.rb +5 -1
  166. data/lib/plutonium/resource/controllers/wizard_actions.rb +21 -0
  167. data/lib/plutonium/resource/policy.rb +33 -0
  168. data/lib/plutonium/resource/query_object.rb +36 -0
  169. data/lib/plutonium/routing/mapper_extensions.rb +100 -8
  170. data/lib/plutonium/routing/route_set_extensions.rb +15 -1
  171. data/lib/plutonium/routing/wizard_registration.rb +4 -0
  172. data/lib/plutonium/testing/resource_policy.rb +6 -2
  173. data/lib/plutonium/ui/action_button.rb +12 -7
  174. data/lib/plutonium/ui/actions_dropdown.rb +1 -1
  175. data/lib/plutonium/ui/block.rb +21 -1
  176. data/lib/plutonium/ui/breadcrumbs.rb +187 -55
  177. data/lib/plutonium/ui/component/methods.rb +5 -0
  178. data/lib/plutonium/ui/component/positionable.rb +112 -0
  179. data/lib/plutonium/ui/component/resolves_tags.rb +57 -0
  180. data/lib/plutonium/ui/component/section.rb +185 -0
  181. data/lib/plutonium/ui/display/base.rb +13 -1
  182. data/lib/plutonium/ui/display/components/formatted_value.rb +26 -0
  183. data/lib/plutonium/ui/display/components/section.rb +18 -0
  184. data/lib/plutonium/ui/display/resource.rb +141 -22
  185. data/lib/plutonium/ui/display/theme.rb +20 -1
  186. data/lib/plutonium/ui/export_button.rb +1 -1
  187. data/lib/plutonium/ui/form/base.rb +8 -7
  188. data/lib/plutonium/ui/form/components/intl_tel_input.rb +1 -1
  189. data/lib/plutonium/ui/form/components/section.rb +7 -62
  190. data/lib/plutonium/ui/form/components/uppy.rb +12 -1
  191. data/lib/plutonium/ui/form/concerns/renders_nested_resource_fields.rb +16 -3
  192. data/lib/plutonium/ui/form/concerns/renders_structured_inputs.rb +5 -1
  193. data/lib/plutonium/ui/form/query.rb +2 -4
  194. data/lib/plutonium/ui/form/resource.rb +92 -15
  195. data/lib/plutonium/ui/form/theme.rb +17 -0
  196. data/lib/plutonium/ui/form/wizard.rb +25 -1
  197. data/lib/plutonium/ui/grid/card.rb +79 -11
  198. data/lib/plutonium/ui/grid/resource.rb +47 -5
  199. data/lib/plutonium/ui/interaction/async/run_progress.rb +227 -0
  200. data/lib/plutonium/ui/interaction/async/running_banner.rb +65 -0
  201. data/lib/plutonium/ui/kanban/card.rb +2 -1
  202. data/lib/plutonium/ui/kanban/column.rb +12 -6
  203. data/lib/plutonium/ui/kanban/resource.rb +6 -7
  204. data/lib/plutonium/ui/layout/base.rb +10 -3
  205. data/lib/plutonium/ui/nav_grid_menu.rb +1 -0
  206. data/lib/plutonium/ui/page/base.rb +19 -0
  207. data/lib/plutonium/ui/page/edit.rb +4 -1
  208. data/lib/plutonium/ui/page/index.rb +69 -18
  209. data/lib/plutonium/ui/page/interactive_action.rb +5 -1
  210. data/lib/plutonium/ui/page/new.rb +4 -1
  211. data/lib/plutonium/ui/page/show.rb +27 -10
  212. data/lib/plutonium/ui/page/wizard.rb +10 -1
  213. data/lib/plutonium/ui/page/wizard_chooser.rb +36 -11
  214. data/lib/plutonium/ui/page_width.rb +58 -0
  215. data/lib/plutonium/ui/table/base.rb +34 -1
  216. data/lib/plutonium/ui/table/components/attachment.rb +1 -1
  217. data/lib/plutonium/ui/table/components/bulk_actions_toolbar.rb +32 -8
  218. data/lib/plutonium/ui/table/components/drag_handle.rb +120 -0
  219. data/lib/plutonium/ui/table/components/filter_form.rb +1 -4
  220. data/lib/plutonium/ui/table/components/filter_pills.rb +1 -1
  221. data/lib/plutonium/ui/table/components/row_actions_dropdown.rb +1 -1
  222. data/lib/plutonium/ui/table/resource.rb +50 -5
  223. data/lib/plutonium/ui/table/theme.rb +59 -2
  224. data/lib/plutonium/ui/wizard/review.rb +4 -2
  225. data/lib/plutonium/ui/wizard/summary_display.rb +42 -14
  226. data/lib/plutonium/version.rb +1 -1
  227. data/lib/plutonium/wizard/attachments.rb +32 -197
  228. data/lib/plutonium/wizard/base.rb +6 -1
  229. data/lib/plutonium/wizard/configuration.rb +12 -0
  230. data/lib/plutonium/wizard/controller.rb +14 -0
  231. data/lib/plutonium/wizard/driving.rb +99 -15
  232. data/lib/plutonium/wizard/dsl.rb +23 -0
  233. data/lib/plutonium/wizard/resume.rb +127 -49
  234. data/lib/plutonium/wizard/runner.rb +46 -2
  235. data/lib/plutonium/wizard/step_adapter.rb +1 -1
  236. data/lib/plutonium/wizard/sweep_job.rb +16 -0
  237. data/lib/plutonium.rb +21 -0
  238. data/lib/rodauth/features/session_isolation.rb +92 -0
  239. data/lib/rodauth/plugins.rb +1 -0
  240. data/package.json +2 -1
  241. data/plutonium.gemspec +30 -12
  242. data/src/css/components.css +89 -1
  243. data/src/css/slim_select.css +20 -0
  244. data/src/js/controllers/breadcrumbs_controller.js +112 -0
  245. data/src/js/controllers/bulk_actions_controller.js +10 -2
  246. data/src/js/controllers/kanban_controller.js +30 -21
  247. data/src/js/controllers/positioned_controller.js +452 -0
  248. data/src/js/controllers/register_controllers.js +6 -0
  249. data/src/js/controllers/resource_drop_down_controller.js +5 -0
  250. data/src/js/controllers/run_progress_controller.js +73 -0
  251. data/src/js/drag/sortable.js +186 -0
  252. data/yarn.lock +108 -63
  253. metadata +105 -18
  254. data/docs/.vitepress/theme/components/HomeAudienceSplit.vue +0 -53
  255. data/docs/.vitepress/theme/components/HomePillars.vue +0 -42
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: ..
3
3
  specs:
4
- plutonium (0.60.4)
4
+ plutonium (0.62.2)
5
5
  action_policy (~> 0.7.0)
6
6
  csv
7
7
  listen (~> 3.8)
@@ -12,11 +12,11 @@ PATH
12
12
  phlex-tabler_icons
13
13
  phlexi-display (>= 0.2.0)
14
14
  phlexi-field (>= 0.2.0)
15
- phlexi-form (>= 0.14.2)
15
+ phlexi-form (>= 0.14.3)
16
16
  phlexi-menu (>= 0.4.1)
17
17
  phlexi-table (>= 0.2.0)
18
18
  rabl (~> 0.17.0)
19
- rails (>= 7.2)
19
+ rails (>= 7.2.3.1)
20
20
  redcarpet
21
21
  semantic_range (~> 3.0)
22
22
  tailwind_merge
@@ -28,29 +28,29 @@ GEM
28
28
  specs:
29
29
  action_policy (0.7.6)
30
30
  ruby-next-core (>= 1.0)
31
- actioncable (7.2.3)
32
- actionpack (= 7.2.3)
33
- activesupport (= 7.2.3)
31
+ actioncable (7.2.3.2)
32
+ actionpack (= 7.2.3.2)
33
+ activesupport (= 7.2.3.2)
34
34
  nio4r (~> 2.0)
35
35
  websocket-driver (>= 0.6.1)
36
36
  zeitwerk (~> 2.6)
37
- actionmailbox (7.2.3)
38
- actionpack (= 7.2.3)
39
- activejob (= 7.2.3)
40
- activerecord (= 7.2.3)
41
- activestorage (= 7.2.3)
42
- activesupport (= 7.2.3)
37
+ actionmailbox (7.2.3.2)
38
+ actionpack (= 7.2.3.2)
39
+ activejob (= 7.2.3.2)
40
+ activerecord (= 7.2.3.2)
41
+ activestorage (= 7.2.3.2)
42
+ activesupport (= 7.2.3.2)
43
43
  mail (>= 2.8.0)
44
- actionmailer (7.2.3)
45
- actionpack (= 7.2.3)
46
- actionview (= 7.2.3)
47
- activejob (= 7.2.3)
48
- activesupport (= 7.2.3)
44
+ actionmailer (7.2.3.2)
45
+ actionpack (= 7.2.3.2)
46
+ actionview (= 7.2.3.2)
47
+ activejob (= 7.2.3.2)
48
+ activesupport (= 7.2.3.2)
49
49
  mail (>= 2.8.0)
50
50
  rails-dom-testing (~> 2.2)
51
- actionpack (7.2.3)
52
- actionview (= 7.2.3)
53
- activesupport (= 7.2.3)
51
+ actionpack (7.2.3.2)
52
+ actionview (= 7.2.3.2)
53
+ activesupport (= 7.2.3.2)
54
54
  cgi
55
55
  nokogiri (>= 1.8.5)
56
56
  racc
@@ -60,36 +60,41 @@ GEM
60
60
  rails-dom-testing (~> 2.2)
61
61
  rails-html-sanitizer (~> 1.6)
62
62
  useragent (~> 0.16)
63
- actiontext (7.2.3)
64
- actionpack (= 7.2.3)
65
- activerecord (= 7.2.3)
66
- activestorage (= 7.2.3)
67
- activesupport (= 7.2.3)
63
+ actiontext (7.2.3.2)
64
+ actionpack (= 7.2.3.2)
65
+ activerecord (= 7.2.3.2)
66
+ activestorage (= 7.2.3.2)
67
+ activesupport (= 7.2.3.2)
68
68
  globalid (>= 0.6.0)
69
69
  nokogiri (>= 1.8.5)
70
- actionview (7.2.3)
71
- activesupport (= 7.2.3)
70
+ actionview (7.2.3.2)
71
+ activesupport (= 7.2.3.2)
72
72
  builder (~> 3.1)
73
73
  cgi
74
74
  erubi (~> 1.11)
75
75
  rails-dom-testing (~> 2.2)
76
76
  rails-html-sanitizer (~> 1.6)
77
- activejob (7.2.3)
78
- activesupport (= 7.2.3)
77
+ active_shrine (0.7.1)
78
+ activestorage
79
+ activesupport
80
+ railties
81
+ shrine
82
+ activejob (7.2.3.2)
83
+ activesupport (= 7.2.3.2)
79
84
  globalid (>= 0.3.6)
80
- activemodel (7.2.3)
81
- activesupport (= 7.2.3)
82
- activerecord (7.2.3)
83
- activemodel (= 7.2.3)
84
- activesupport (= 7.2.3)
85
+ activemodel (7.2.3.2)
86
+ activesupport (= 7.2.3.2)
87
+ activerecord (7.2.3.2)
88
+ activemodel (= 7.2.3.2)
89
+ activesupport (= 7.2.3.2)
85
90
  timeout (>= 0.4.0)
86
- activestorage (7.2.3)
87
- actionpack (= 7.2.3)
88
- activejob (= 7.2.3)
89
- activerecord (= 7.2.3)
90
- activesupport (= 7.2.3)
91
+ activestorage (7.2.3.2)
92
+ actionpack (= 7.2.3.2)
93
+ activejob (= 7.2.3.2)
94
+ activerecord (= 7.2.3.2)
95
+ activesupport (= 7.2.3.2)
91
96
  marcel (~> 1.0)
92
- activesupport (7.2.3)
97
+ activesupport (7.2.3.2)
93
98
  base64
94
99
  benchmark (>= 0.3)
95
100
  bigdecimal
@@ -98,22 +103,25 @@ GEM
98
103
  drb
99
104
  i18n (>= 1.6, < 2)
100
105
  logger (>= 1.4.2)
101
- minitest (>= 5.1)
106
+ minitest (>= 5.1, < 6)
102
107
  securerandom (>= 0.3)
103
108
  tzinfo (~> 2.0, >= 2.0.5)
109
+ acts_as_list (1.2.6)
110
+ activerecord (>= 6.1)
111
+ activesupport (>= 6.1)
104
112
  addressable (2.9.0)
105
113
  public_suffix (>= 2.0.2, < 8.0)
106
- ansi (1.5.0)
114
+ ansi (1.6.0)
107
115
  appraisal (2.5.0)
108
116
  bundler
109
117
  rake
110
118
  thor (>= 0.14.0)
111
119
  ast (2.4.3)
112
120
  base64 (0.3.0)
113
- bcrypt (3.1.21)
121
+ bcrypt (3.1.22)
114
122
  benchmark (0.5.0)
115
- bigdecimal (4.0.1)
116
- brakeman (8.0.4)
123
+ bigdecimal (4.1.2)
124
+ brakeman (8.0.5)
117
125
  racc
118
126
  builder (3.3.0)
119
127
  bundle-audit (0.2.0)
@@ -130,74 +138,76 @@ GEM
130
138
  rack-test (>= 0.6.3)
131
139
  regexp_parser (>= 1.5, < 3.0)
132
140
  xpath (~> 3.2)
133
- cgi (0.5.1)
141
+ cgi (0.5.2)
134
142
  chunky_png (1.4.0)
135
143
  combustion (1.5.0)
136
144
  activesupport (>= 3.0.0)
137
145
  railties (>= 3.0.0)
138
146
  thor (>= 0.14.6)
139
- concurrent-ruby (1.3.6)
147
+ concurrent-ruby (1.3.8)
140
148
  connection_pool (3.0.2)
141
- crass (1.0.6)
142
- csv (3.3.5)
149
+ content_disposition (1.0.0)
150
+ crass (1.0.7)
151
+ csv (3.3.6)
143
152
  date (3.5.1)
153
+ down (5.6.0)
154
+ addressable (~> 2.8)
155
+ base64 (~> 0.3)
144
156
  drb (2.2.3)
145
- erb (6.0.2)
157
+ erb (6.0.6)
146
158
  erubi (1.13.1)
147
- ffi (1.17.3-aarch64-linux-gnu)
148
- ffi (1.17.3-aarch64-linux-musl)
149
- ffi (1.17.3-arm-linux-gnu)
150
- ffi (1.17.3-arm-linux-musl)
151
- ffi (1.17.3-arm64-darwin)
152
- ffi (1.17.3-x86_64-darwin)
153
- ffi (1.17.3-x86_64-linux-gnu)
154
- ffi (1.17.3-x86_64-linux-musl)
159
+ ffi (1.17.4-aarch64-linux-gnu)
160
+ ffi (1.17.4-aarch64-linux-musl)
161
+ ffi (1.17.4-arm-linux-gnu)
162
+ ffi (1.17.4-arm-linux-musl)
163
+ ffi (1.17.4-arm64-darwin)
164
+ ffi (1.17.4-x86_64-darwin)
165
+ ffi (1.17.4-x86_64-linux-gnu)
166
+ ffi (1.17.4-x86_64-linux-musl)
155
167
  fiber-local (1.1.0)
156
168
  fiber-storage
157
169
  fiber-storage (1.0.1)
158
- globalid (1.3.0)
170
+ globalid (1.4.0)
159
171
  activesupport (>= 6.1)
160
- i18n (1.14.8)
172
+ i18n (1.15.2)
161
173
  concurrent-ruby (~> 1.0)
162
174
  importmap-rails (2.2.3)
163
175
  actionpack (>= 6.0.0)
164
176
  activesupport (>= 6.0.0)
165
177
  railties (>= 6.0.0)
166
178
  io-console (0.8.2)
167
- irb (1.17.0)
179
+ irb (1.18.0)
168
180
  pp (>= 0.6.0)
169
181
  prism (>= 1.3.0)
170
182
  rdoc (>= 4.0.0)
171
183
  reline (>= 0.4.2)
172
- json (2.19.1)
173
- language_server-protocol (3.17.0.5)
184
+ json (2.21.2)
185
+ language_server-protocol (3.17.0.6)
174
186
  lint_roller (1.1.0)
175
187
  listen (3.10.0)
176
188
  logger
177
189
  rb-fsevent (~> 0.10, >= 0.10.3)
178
190
  rb-inotify (~> 0.9, >= 0.9.10)
179
191
  logger (1.7.0)
180
- loofah (2.25.0)
192
+ loofah (2.25.2)
181
193
  crass (~> 1.0.2)
182
194
  nokogiri (>= 1.12.0)
183
- mail (2.9.0)
195
+ mail (2.9.1)
184
196
  logger
185
197
  mini_mime (>= 0.1.1)
186
198
  net-imap
187
199
  net-pop
188
200
  net-smtp
189
- marcel (1.1.0)
201
+ marcel (1.2.1)
190
202
  matrix (0.4.3)
191
203
  mini_mime (1.1.5)
192
- minitest (6.0.2)
193
- drb (~> 2.0)
194
- prism (~> 1.5)
195
- minitest-reporters (1.7.1)
204
+ minitest (5.27.0)
205
+ minitest-reporters (1.8.0)
196
206
  ansi
197
207
  builder
198
- minitest (>= 5.0)
208
+ minitest (>= 5.0, < 7)
199
209
  ruby-progressbar
200
- net-imap (0.6.3)
210
+ net-imap (0.6.6)
201
211
  date
202
212
  net-protocol
203
213
  net-pop (0.1.2)
@@ -207,28 +217,28 @@ GEM
207
217
  net-smtp (0.5.1)
208
218
  net-protocol
209
219
  nio4r (2.7.5)
210
- nokogiri (1.19.1-aarch64-linux-gnu)
220
+ nokogiri (1.19.4-aarch64-linux-gnu)
211
221
  racc (~> 1.4)
212
- nokogiri (1.19.1-aarch64-linux-musl)
222
+ nokogiri (1.19.4-aarch64-linux-musl)
213
223
  racc (~> 1.4)
214
- nokogiri (1.19.1-arm-linux-gnu)
224
+ nokogiri (1.19.4-arm-linux-gnu)
215
225
  racc (~> 1.4)
216
- nokogiri (1.19.1-arm-linux-musl)
226
+ nokogiri (1.19.4-arm-linux-musl)
217
227
  racc (~> 1.4)
218
- nokogiri (1.19.1-arm64-darwin)
228
+ nokogiri (1.19.4-arm64-darwin)
219
229
  racc (~> 1.4)
220
- nokogiri (1.19.1-x86_64-darwin)
230
+ nokogiri (1.19.4-x86_64-darwin)
221
231
  racc (~> 1.4)
222
- nokogiri (1.19.1-x86_64-linux-gnu)
232
+ nokogiri (1.19.4-x86_64-linux-gnu)
223
233
  racc (~> 1.4)
224
- nokogiri (1.19.1-x86_64-linux-musl)
234
+ nokogiri (1.19.4-x86_64-linux-musl)
225
235
  racc (~> 1.4)
226
- pagy (43.3.3)
236
+ pagy (43.6.1)
227
237
  json
228
238
  uri
229
239
  yaml
230
- parallel (1.27.0)
231
- parser (3.3.10.2)
240
+ parallel (2.1.0)
241
+ parser (3.3.12.0)
232
242
  ast (~> 2.4.1)
233
243
  racc
234
244
  pastel (0.8.0)
@@ -253,7 +263,7 @@ GEM
253
263
  fiber-local
254
264
  phlex (~> 2.0)
255
265
  zeitwerk
256
- phlexi-form (0.14.2)
266
+ phlexi-form (0.14.3)
257
267
  activesupport
258
268
  phlex (~> 2.0)
259
269
  phlexi-field (~> 0.2.0)
@@ -268,55 +278,52 @@ GEM
268
278
  phlexi-display
269
279
  phlexi-field (~> 0.2.0)
270
280
  zeitwerk
271
- pp (0.6.3)
281
+ pp (0.6.4)
272
282
  prettyprint
273
283
  prettyprint (0.2.0)
274
284
  prism (1.9.0)
275
- propshaft (1.3.1)
285
+ propshaft (1.3.2)
276
286
  actionpack (>= 7.0.0)
277
287
  activesupport (>= 7.0.0)
278
288
  rack
279
- psych (5.3.1)
280
- date
281
- stringio
282
289
  public_suffix (7.0.5)
283
- puma (7.2.0)
290
+ puma (8.0.2)
284
291
  nio4r (~> 2.0)
285
292
  rabl (0.17.0)
286
293
  activesupport (>= 2.3.14)
287
294
  racc (1.8.1)
288
- rack (3.2.5)
289
- rack-session (2.1.1)
295
+ rack (3.2.6)
296
+ rack-session (2.1.2)
290
297
  base64 (>= 0.1.0)
291
298
  rack (>= 3.0.0)
292
299
  rack-test (2.2.0)
293
300
  rack (>= 1.3)
294
301
  rackup (2.3.1)
295
302
  rack (>= 3)
296
- rails (7.2.3)
297
- actioncable (= 7.2.3)
298
- actionmailbox (= 7.2.3)
299
- actionmailer (= 7.2.3)
300
- actionpack (= 7.2.3)
301
- actiontext (= 7.2.3)
302
- actionview (= 7.2.3)
303
- activejob (= 7.2.3)
304
- activemodel (= 7.2.3)
305
- activerecord (= 7.2.3)
306
- activestorage (= 7.2.3)
307
- activesupport (= 7.2.3)
303
+ rails (7.2.3.2)
304
+ actioncable (= 7.2.3.2)
305
+ actionmailbox (= 7.2.3.2)
306
+ actionmailer (= 7.2.3.2)
307
+ actionpack (= 7.2.3.2)
308
+ actiontext (= 7.2.3.2)
309
+ actionview (= 7.2.3.2)
310
+ activejob (= 7.2.3.2)
311
+ activemodel (= 7.2.3.2)
312
+ activerecord (= 7.2.3.2)
313
+ activestorage (= 7.2.3.2)
314
+ activesupport (= 7.2.3.2)
308
315
  bundler (>= 1.15.0)
309
- railties (= 7.2.3)
316
+ railties (= 7.2.3.2)
310
317
  rails-dom-testing (2.3.0)
311
318
  activesupport (>= 5.0.0)
312
319
  minitest
313
320
  nokogiri (>= 1.6)
314
- rails-html-sanitizer (1.7.0)
315
- loofah (~> 2.25)
321
+ rails-html-sanitizer (1.7.1)
322
+ loofah (~> 2.25, >= 2.25.2)
316
323
  nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
317
- railties (7.2.3)
318
- actionpack (= 7.2.3)
319
- activesupport (= 7.2.3)
324
+ railties (7.2.3.2)
325
+ actionpack (= 7.2.3.2)
326
+ activesupport (= 7.2.3.2)
320
327
  cgi
321
328
  irb (~> 1.13)
322
329
  rackup (>= 1.0.0)
@@ -325,31 +332,36 @@ GEM
325
332
  tsort (>= 0.2)
326
333
  zeitwerk (~> 2.6)
327
334
  rainbow (3.1.1)
328
- rake (13.3.1)
335
+ rake (13.4.2)
329
336
  rb-fsevent (0.11.2)
330
337
  rb-inotify (0.11.1)
331
338
  ffi (~> 1.0)
332
- rdoc (7.2.0)
339
+ rbs (4.1.1)
340
+ logger
341
+ prism (>= 1.6.0)
342
+ tsort
343
+ rdoc (8.0.0)
333
344
  erb
334
- psych (>= 4.0.0)
345
+ prism (>= 1.6.0)
346
+ rbs (>= 4.0.0)
335
347
  tsort
336
348
  redcarpet (3.6.1)
337
349
  refract (1.1.0)
338
350
  prism
339
351
  zeitwerk
340
- regexp_parser (2.11.3)
352
+ regexp_parser (2.12.0)
341
353
  reline (0.6.3)
342
354
  io-console (~> 0.5)
343
355
  rexml (3.4.4)
344
- roda (3.102.0)
356
+ roda (3.106.0)
345
357
  rack
346
- rodauth (2.42.0)
358
+ rodauth (2.45.0)
347
359
  roda (>= 2.6.0)
348
360
  sequel (>= 4)
349
- rodauth-model (0.4.0)
361
+ rodauth-model (0.5.0)
350
362
  rodauth (~> 2.28)
351
- rodauth-rails (2.1.2)
352
- railties (>= 5.1)
363
+ rodauth-rails (2.2.0)
364
+ railties (>= 5.2)
353
365
  roda (~> 3.76)
354
366
  rodauth (~> 2.36)
355
367
  rodauth-model (~> 0.2)
@@ -358,53 +370,56 @@ GEM
358
370
  chunky_png (~> 1.0)
359
371
  rqrcode_core (~> 2.0)
360
372
  rqrcode_core (2.1.0)
361
- rubocop (1.84.2)
373
+ rubocop (1.88.2)
362
374
  json (~> 2.3)
363
375
  language_server-protocol (~> 3.17.0.2)
364
376
  lint_roller (~> 1.1.0)
365
- parallel (~> 1.10)
377
+ parallel (>= 1.10)
366
378
  parser (>= 3.3.0.2)
367
379
  rainbow (>= 2.2.2, < 4.0)
368
380
  regexp_parser (>= 2.9.3, < 3.0)
369
381
  rubocop-ast (>= 1.49.0, < 2.0)
370
382
  ruby-progressbar (~> 1.7)
371
383
  unicode-display_width (>= 2.4.0, < 4.0)
372
- rubocop-ast (1.49.1)
384
+ rubocop-ast (1.50.0)
373
385
  parser (>= 3.3.7.2)
374
386
  prism (~> 1.7)
375
387
  rubocop-performance (1.26.1)
376
388
  lint_roller (~> 1.1)
377
389
  rubocop (>= 1.75.0, < 2.0)
378
390
  rubocop-ast (>= 1.47.1, < 2.0)
379
- ruby-next-core (1.2.0)
391
+ ruby-next-core (1.2.1)
380
392
  ruby-progressbar (1.13.0)
381
- rubyzip (3.2.2)
393
+ rubyzip (3.4.1)
382
394
  securerandom (0.4.1)
383
- selenium-webdriver (4.43.0)
395
+ selenium-webdriver (4.46.0)
384
396
  base64 (~> 0.2)
385
397
  logger (~> 1.4)
386
398
  rexml (~> 3.2, >= 3.2.5)
387
399
  rubyzip (>= 1.2.2, < 4.0)
388
400
  websocket (~> 1.0)
389
401
  semantic_range (3.1.1)
390
- sequel (5.102.0)
402
+ sequel (5.107.0)
391
403
  bigdecimal
392
404
  sequel-activerecord_connection (2.0.1)
393
405
  activerecord (>= 5.1)
394
406
  sequel (~> 5.38)
407
+ shrine (3.9.0)
408
+ content_disposition (~> 1.0)
409
+ down (~> 5.1)
395
410
  sin_lru_redux (2.5.2)
396
- sqlite3 (2.9.1-aarch64-linux-gnu)
397
- sqlite3 (2.9.1-aarch64-linux-musl)
398
- sqlite3 (2.9.1-arm-linux-gnu)
399
- sqlite3 (2.9.1-arm-linux-musl)
400
- sqlite3 (2.9.1-arm64-darwin)
401
- sqlite3 (2.9.1-x86_64-darwin)
402
- sqlite3 (2.9.1-x86_64-linux-gnu)
403
- sqlite3 (2.9.1-x86_64-linux-musl)
404
- standard (1.54.0)
411
+ sqlite3 (2.9.5-aarch64-linux-gnu)
412
+ sqlite3 (2.9.5-aarch64-linux-musl)
413
+ sqlite3 (2.9.5-arm-linux-gnu)
414
+ sqlite3 (2.9.5-arm-linux-musl)
415
+ sqlite3 (2.9.5-arm64-darwin)
416
+ sqlite3 (2.9.5-x86_64-darwin)
417
+ sqlite3 (2.9.5-x86_64-linux-gnu)
418
+ sqlite3 (2.9.5-x86_64-linux-musl)
419
+ standard (1.56.0)
405
420
  language_server-protocol (~> 3.17.0.2)
406
421
  lint_roller (~> 1.0)
407
- rubocop (~> 1.84.0)
422
+ rubocop (~> 1.88.0)
408
423
  standard-custom (~> 1.0.0)
409
424
  standard-performance (~> 1.8)
410
425
  standard-custom (1.0.2)
@@ -415,11 +430,10 @@ GEM
415
430
  rubocop-performance (~> 1.26.0)
416
431
  stimulus-rails (1.3.4)
417
432
  railties (>= 6.0.0)
418
- stringio (3.2.0)
419
- tailwind_merge (1.4.0)
433
+ tailwind_merge (1.5.2)
420
434
  sin_lru_redux (~> 2.5)
421
435
  thor (1.5.0)
422
- tilt (2.7.0)
436
+ tilt (2.8.0)
423
437
  timeout (0.6.1)
424
438
  tsort (0.2.0)
425
439
  tty-color (0.6.0)
@@ -443,7 +457,7 @@ GEM
443
457
  uri (1.1.1)
444
458
  useragent (0.16.11)
445
459
  websocket (1.2.11)
446
- websocket-driver (0.8.0)
460
+ websocket-driver (0.8.2)
447
461
  base64
448
462
  websocket-extensions (>= 0.1.0)
449
463
  websocket-extensions (0.1.5)
@@ -451,7 +465,7 @@ GEM
451
465
  xpath (3.2.0)
452
466
  nokogiri (~> 1.8)
453
467
  yaml (0.4.0)
454
- zeitwerk (2.7.5)
468
+ zeitwerk (2.8.3)
455
469
 
456
470
  PLATFORMS
457
471
  aarch64-linux-gnu
@@ -460,10 +474,13 @@ PLATFORMS
460
474
  arm-linux-musl
461
475
  arm64-darwin
462
476
  x86_64-darwin
477
+ x86_64-linux
463
478
  x86_64-linux-gnu
464
479
  x86_64-linux-musl
465
480
 
466
481
  DEPENDENCIES
482
+ active_shrine
483
+ acts_as_list
467
484
  appraisal
468
485
  bcrypt
469
486
  brakeman
@@ -490,5 +507,183 @@ DEPENDENCIES
490
507
  turbo-rails
491
508
  tzinfo-data
492
509
 
510
+ CHECKSUMS
511
+ action_policy (0.7.6) sha256=a80156671e6b7784a2f1fa3a5f347da27c7e13abe7b1c9aab81772839794002d
512
+ actioncable (7.2.3.2) sha256=04ffd91519942bae45f443bfc166308e6eb17870870cdfc1ca36bc95273c6b57
513
+ actionmailbox (7.2.3.2) sha256=d19f6e98c5b630c391e14ce1a830f199f249bf3fd6208392f92d232a7a6d8ca5
514
+ actionmailer (7.2.3.2) sha256=45a6c326872867cdb28d2960d236c3c8fa4ff1198e9bc7ece4ddc3810b67b759
515
+ actionpack (7.2.3.2) sha256=c1fbb1c4df0f2473ee064ab1412fc2a44c2c2ef337924c5ba3c7998c8529652b
516
+ actiontext (7.2.3.2) sha256=19ab7e2a07ab976a5456a9aa98b93e1b899a7729b931ca1e9e01a3e8bd33f0b0
517
+ actionview (7.2.3.2) sha256=42bfd966040c93271dfa9f3243d73c40aa0228108696f956e1f287f3b02edc01
518
+ active_shrine (0.7.1) sha256=70d9d772e0180c67006f45234d8f954b1d9c6232c7b585cfdb26c3cb54d1e80b
519
+ activejob (7.2.3.2) sha256=b83fa070898911823f0c4cb8c0d1d25dabb5d00f18379d5b4fe01b84e173a93a
520
+ activemodel (7.2.3.2) sha256=3777c67cd8dd1560f30387523013dacb370a0a1cf532037410887819e4416927
521
+ activerecord (7.2.3.2) sha256=e62d24ba7e5f820d24ed122eb9225491b0aaa8398778783b400067c3467285c7
522
+ activestorage (7.2.3.2) sha256=863cb4b21b83505555be2addb939fefb856ab05f6c6d24bab00d6f1a7e4edbfc
523
+ activesupport (7.2.3.2) sha256=ddc90d11dd88086d78ace03407fe3c2a3f5c8853c3c3046313db5ed823ef3312
524
+ acts_as_list (1.2.6)
525
+ addressable (2.9.0) sha256=7fdf6ac3660f7f4e867a0838be3f6cf722ace541dd97767fa42bc6cfa980c7af
526
+ ansi (1.6.0) sha256=ac9ea0c0ea8d32fb4e271348e609963ac78882f34b73836c2a02b3622e666658
527
+ appraisal (2.5.0) sha256=36989221be127913b0dba8d114da2001e6b2dceea7bd4951200eaba764eed3ce
528
+ ast (2.4.3) sha256=954615157c1d6a382bc27d690d973195e79db7f55e9765ac7c481c60bdb4d383
529
+ base64 (0.3.0) sha256=27337aeabad6ffae05c265c450490628ef3ebd4b67be58257393227588f5a97b
530
+ bcrypt (3.1.22) sha256=1f0072e88c2d705d94aff7f2c5cb02eb3f1ec4b8368671e19112527489f29032
531
+ benchmark (0.5.0) sha256=465df122341aedcb81a2a24b4d3bd19b6c67c1530713fd533f3ff034e419236c
532
+ bigdecimal (4.1.2) sha256=53d217666027eab4280346fba98e7d5b66baaae1b9c3c1c0ffe89d48188a3fbd
533
+ brakeman (8.0.5) sha256=03735f9690d3fd4b32d66aacbf0a6d15a84266bdd06b32c05c8ecc8f6021d2be
534
+ builder (3.3.0) sha256=497918d2f9dca528fdca4b88d84e4ef4387256d984b8154e9d5d3fe5a9c8835f
535
+ bundle-audit (0.2.0) sha256=cb499708f7fbc56d2d2e8bab09a1184f8f5b548bdbd628b757e5a1856874ca12
536
+ bundler-audit (0.9.3) sha256=81c8766c71e47d0d28a0f98c7eed028539f21a6ea3cd8f685eb6f42333c9b4e9
537
+ capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef
538
+ cgi (0.5.2) sha256=61ca30298171190fd4fa0d8018e57ada456eae9b7a2b78526debf7f0a0e6f8bb
539
+ chunky_png (1.4.0) sha256=89d5b31b55c0cf4da3cf89a2b4ebc3178d8abe8cbaf116a1dba95668502fdcfe
540
+ combustion (1.5.0) sha256=5e68cc8c2090ee06196a03e748276d1d63d4f63ed189888a23e1daa4fb79359a
541
+ concurrent-ruby (1.3.8) sha256=b2f1be836e968ccc78ccfce277ea79c72a88633f22306782c16ff23fb415d1e1
542
+ connection_pool (3.0.2) sha256=33fff5ba71a12d2aa26cb72b1db8bba2a1a01823559fb01d29eb74c286e62e0a
543
+ content_disposition (1.0.0) sha256=aa153da9c1543a45413a3f5f281d8dd50384bb0fba864fe1bd42ba80d88da516
544
+ crass (1.0.7) sha256=94868719948664c89ddcaf0a37c65048413dfcb1c869470a5f7a7ceb5390b295
545
+ csv (3.3.6) sha256=aba61e7e507a66f03d45cb1f3c4b6359861c3504038b422962875dce099e4456
546
+ date (3.5.1) sha256=750d06384d7b9c15d562c76291407d89e368dda4d4fff957eb94962d325a0dc0
547
+ down (5.6.0) sha256=48ec6ddb078cbf3b425d02596bb388303316f976143c6e94a7b3169d6712b593
548
+ drb (2.2.3) sha256=0b00d6fdb50995fe4a45dea13663493c841112e4068656854646f418fda13373
549
+ erb (6.0.6) sha256=a9b24986700f5bf127c4f297c5403c3ca41b83b0a316c0cd09a096b56e644ae5
550
+ erubi (1.13.1) sha256=a082103b0885dbc5ecf1172fede897f9ebdb745a4b97a5e8dc63953db1ee4ad9
551
+ ffi (1.17.4-aarch64-linux-gnu) sha256=b208f06f91ffd8f5e1193da3cae3d2ccfc27fc36fba577baf698d26d91c080df
552
+ ffi (1.17.4-aarch64-linux-musl) sha256=9286b7a615f2676245283aef0a0a3b475ae3aae2bb5448baace630bb77b91f39
553
+ ffi (1.17.4-arm-linux-gnu) sha256=d6dbddf7cb77bf955411af5f187a65b8cd378cb003c15c05697f5feee1cb1564
554
+ ffi (1.17.4-arm-linux-musl) sha256=9d4838ded0465bef6e2426935f6bcc93134b6616785a84ffd2a3d82bc3cf6f95
555
+ ffi (1.17.4-arm64-darwin) sha256=19071aaf1419251b0a46852abf960e77330a3b334d13a4ab51d58b31a937001b
556
+ ffi (1.17.4-x86_64-darwin) sha256=aa70390523cf3235096cf64962b709b4cfbd5c082a2cb2ae714eb0fe2ccda496
557
+ ffi (1.17.4-x86_64-linux-gnu) sha256=9d3db14c2eae074b382fa9c083fe95aec6e0a1451da249eab096c34002bc752d
558
+ ffi (1.17.4-x86_64-linux-musl) sha256=3fdf9888483de005f8ef8d1cf2d3b20d86626af206cbf780f6a6a12439a9c49e
559
+ fiber-local (1.1.0) sha256=c885f94f210fb9b05737de65d511136ea602e00c5105953748aa0f8793489f06
560
+ fiber-storage (1.0.1) sha256=f48e5b6d8b0be96dac486332b55cee82240057065dc761c1ea692b2e719240e1
561
+ globalid (1.4.0) sha256=037f12fbf1d9d7a014d501c2d5c77356fd4ddd96d7a7991d6700bba96706f427
562
+ i18n (1.15.2) sha256=00f9eb62412fe593b2a65a97daa75300d37abb8f7202ec748e94b6d46a9dd1b5
563
+ importmap-rails (2.2.3) sha256=7101be2a4dc97cf1558fb8f573a718404c5f6bcfe94f304bf1f39e444feeb16a
564
+ io-console (0.8.2) sha256=d6e3ae7a7cc7574f4b8893b4fca2162e57a825b223a177b7afa236c5ef9814cc
565
+ irb (1.18.0) sha256=de9454a0703a54704b9811a5ef31a60c86949fbf4013fcf244fabc7c775248e3
566
+ json (2.21.2) sha256=1f1d3b7cf2b3ba1a69beca0bb6db13d5438b80bff3cd54cdaaa620b9b07c1c6a
567
+ language_server-protocol (3.17.0.6) sha256=5ef2c0c138f8267e1bc631d3328347d354f96724b0af22f2c79516120443b7f0
568
+ lint_roller (1.1.0) sha256=2c0c845b632a7d172cb849cc90c1bce937a28c5c8ccccb50dfd46a485003cc87
569
+ listen (3.10.0) sha256=c6e182db62143aeccc2e1960033bebe7445309c7272061979bb098d03760c9d2
570
+ logger (1.7.0) sha256=196edec7cc44b66cfb40f9755ce11b392f21f7967696af15d274dde7edff0203
571
+ loofah (2.25.2) sha256=2007f746959ac65552456e04b433e83deb22759ab38c838b4445c70e43425918
572
+ mail (2.9.1) sha256=06574eca475253d6c18145dd70af80d0eb970182d55053497c5f4d797ea160e8
573
+ marcel (1.2.1) sha256=1678e9360e32f9eafa917c80029e2f6d10b2715c66a4b87b6d0da9b9cd1f859f
574
+ matrix (0.4.3) sha256=a0d5ab7ddcc1973ff690ab361b67f359acbb16958d1dc072b8b956a286564c5b
575
+ mini_mime (1.1.5) sha256=8681b7e2e4215f2a159f9400b5816d85e9d8c6c6b491e96a12797e798f8bccef
576
+ minitest (5.27.0) sha256=2d3b17f8a36fe7801c1adcffdbc38233b938eb0b4966e97a6739055a45fa77d5
577
+ minitest-reporters (1.8.0) sha256=8ce5280fb73ad3178ae525454df169b6f28c1b38b1d088ea91815d3a370ba384
578
+ net-imap (0.6.6) sha256=96aa4ee50df3060203e649efc341f53480b791d49e150f2fdebf68beb141a8df
579
+ net-pop (0.1.2) sha256=848b4e982013c15b2f0382792268763b748cce91c9e91e36b0f27ed26420dff3
580
+ net-protocol (0.2.2) sha256=aa73e0cba6a125369de9837b8d8ef82a61849360eba0521900e2c3713aa162a8
581
+ net-smtp (0.5.1) sha256=ed96a0af63c524fceb4b29b0d352195c30d82dd916a42f03c62a3a70e5b70736
582
+ nio4r (2.7.5) sha256=6c90168e48fb5f8e768419c93abb94ba2b892a1d0602cb06eef16d8b7df1dca1
583
+ nokogiri (1.19.4-aarch64-linux-gnu) sha256=1269fb644a6de405057a53dd5c762b1209b43ca7424f839454d3dbc677c31a8f
584
+ nokogiri (1.19.4-aarch64-linux-musl) sha256=35c65b9ce72b3bb03207bdbe7067915019dc18c1b9b59139684bd6690fdd01af
585
+ nokogiri (1.19.4-arm-linux-gnu) sha256=a301313e38bb065d68239e79734bcd6f56fb6efaacebde29e9abf2a4735340ca
586
+ nokogiri (1.19.4-arm-linux-musl) sha256=588923c101bcfa78869734d247d25b598674323e7f22474fc468f6e5647311eb
587
+ nokogiri (1.19.4-arm64-darwin) sha256=a46db9853286e6597b36ebc6953817d15acf3a299583eb3f89fdc6f91dd63527
588
+ nokogiri (1.19.4-x86_64-darwin) sha256=7fd17057d3e1f00e9954a74b3cd76595d3d4a5ef233b7ed9599047c204f70551
589
+ nokogiri (1.19.4-x86_64-linux-gnu) sha256=379fae440b28915e3f19d752ce2dcf8465ed2b2fbefd2a7ca0dd497bc981a06a
590
+ nokogiri (1.19.4-x86_64-linux-musl) sha256=17dfb7c1fa194ae02fbf7c51a7afc8d278045ab3fdacfd86f91d02d7b274470b
591
+ pagy (43.6.1) sha256=59fb6a58ea956480094a167b43a86796638ceb3a3917a25ae67973b584ace2eb
592
+ parallel (2.1.0) sha256=b35258865c2e31134c5ecb708beaaf6772adf9d5efae28e93e99260877b09356
593
+ parser (3.3.12.0) sha256=21a6d7f755d5a24dfbdc6e6b772e4e879a52e7631a88bc5a3a134606052c9828
594
+ pastel (0.8.0) sha256=481da9fb7d2f6e6b1a08faf11fa10363172dc40fd47848f096ae21209f805a75
595
+ phlex (2.4.1) sha256=e596717fbfe38b5271840266758779ebe75092e02629f0c170287e6290a70b12
596
+ phlex-rails (2.4.0) sha256=2bcddbd488681acb25753bab1887d3ac150e644244ff8ba307f2171a4d0195f5
597
+ phlex-slotable (1.0.0) sha256=a80ab462e07545ff92181a5ef9f71b75db969b3f86f8de1c54d765a76c49deab
598
+ phlex-tabler_icons (0.3.0) sha256=67d80cc09c619646cff171a620fa805cb49543625c3586a947cd752d44d2858e
599
+ phlexi-display (0.2.0) sha256=73e22d01e7204a3b94dcb21432477982bfa5162926c11bacd7d48930114236de
600
+ phlexi-field (0.2.0) sha256=ecb509cc2c0e0559f52651cac8d5dd2fca4bda3878cb7343ea7b298c760e7bca
601
+ phlexi-form (0.14.3) sha256=47d69c4a49ba22279ba541b9b110e81d62acc4602513f21bb5c3d29fa9c8d5ca
602
+ phlexi-menu (0.4.1) sha256=f6eeb1eb9597caadeee33a53f1520b3613a6ac616cf1e395e9d734a412895fb2
603
+ phlexi-table (0.2.0) sha256=73bee135adbe73fcdb6fdd2672444373556dd9e6bba61e7b5b20ca8b7a1f822c
604
+ plutonium (0.62.2)
605
+ pp (0.6.4) sha256=dfcb0fce700c41456265922884f9fe195d7fbb0674a3578e6c0f69588e82b570
606
+ prettyprint (0.2.0) sha256=2bc9e15581a94742064a3cc8b0fb9d45aae3d03a1baa6ef80922627a0766f193
607
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
608
+ propshaft (1.3.2) sha256=1d56a3e56a92c21bfc29caf07406b5386b00d4c47ddf357cf989a5a234b1389e
609
+ public_suffix (7.0.5) sha256=1a8bb08f1bbea19228d3bed6e5ed908d1cb4f7c2726d18bd9cadf60bc676f623
610
+ puma (8.0.2) sha256=c8ed871dfbbe66448ea9ffd46692342d9804d4071522b52b5331b7b6e7b686fb
611
+ rabl (0.17.0) sha256=4870e3cbfe28ae89ff5964b583105950cd8c49167440f63e9317b241d4afe70f
612
+ racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
613
+ rack (3.2.6) sha256=5ed78e1f73b2e25679bec7d45ee2d4483cc4146eb1be0264fc4d94cb5ef212c2
614
+ rack-session (2.1.2) sha256=595434f8c0c3473ae7d7ac56ecda6cc6dfd9d37c0b2b5255330aa1576967ffe8
615
+ rack-test (2.2.0) sha256=005a36692c306ac0b4a9350355ee080fd09ddef1148a5f8b2ac636c720f5c463
616
+ rackup (2.3.1) sha256=6c79c26753778e90983761d677a48937ee3192b3ffef6bc963c0950f94688868
617
+ rails (7.2.3.2) sha256=279290679f9005b0f79514f953a2af613f95de7baa94cbd87744c09122c1113c
618
+ rails-dom-testing (2.3.0) sha256=8acc7953a7b911ca44588bf08737bc16719f431a1cc3091a292bca7317925c1d
619
+ rails-html-sanitizer (1.7.1) sha256=e797a7c9b01e567307e317c576b49ab4168017e63eea4dba9ce3cb587e2f22c2
620
+ railties (7.2.3.2) sha256=f626c6dfcc00a9f85b139619cfac4a648934c93e36fe5b9242184b9f45ffc29e
621
+ rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
622
+ rake (13.4.2) sha256=cb825b2bd5f1f8e91ca37bddb4b9aaf345551b4731da62949be002fa89283701
623
+ rb-fsevent (0.11.2) sha256=43900b972e7301d6570f64b850a5aa67833ee7d87b458ee92805d56b7318aefe
624
+ rb-inotify (0.11.1) sha256=a0a700441239b0ff18eb65e3866236cd78613d6b9f78fea1f9ac47a85e47be6e
625
+ rbs (4.1.1) sha256=1bf118f2f95d1cd3956357645d495152b661e0257e57781d18ceecd461622b9e
626
+ rdoc (8.0.0) sha256=03bf8c08a9639658855a0cfd77c0abca8325c227693f7f33f82957811348c469
627
+ redcarpet (3.6.1) sha256=d444910e6aa55480c6bcdc0cdb057626e8a32c054c29e793fa642ba2f155f445
628
+ refract (1.1.0) sha256=ee3b9627e39f7692831101e2fedd73e0d09a592ff5d5c05f171d14211fc7a9c7
629
+ regexp_parser (2.12.0) sha256=35a916a1d63190ab5c9009457136ae5f3c0c7512d60291d0d1378ba18ce08ebb
630
+ reline (0.6.3) sha256=1198b04973565b36ec0f11542ab3f5cfeeec34823f4e54cebde90968092b1835
631
+ rexml (3.4.4) sha256=19e0a2c3425dfbf2d4fc1189747bdb2f849b6c5e74180401b15734bc97b5d142
632
+ roda (3.106.0) sha256=1a1cfb13c6690db158a3929e9c9ece88e697fb23b05baae63f07b0773e3bbade
633
+ rodauth (2.45.0) sha256=0f202a761b08059a926ec77ef15670c7af36051f64e55b1bd66ff641b83cddf8
634
+ rodauth-model (0.5.0) sha256=005cd65498c9895ff3c10a44957448ae56d13aea166b5f2b3244062c21094c02
635
+ rodauth-rails (2.2.0) sha256=ba5364e2b19f3b93f219658519d0d8ef6499770a4ca6c57f1b7d23290be731b9
636
+ rotp (6.3.0) sha256=75d40087e65ed0d8022c33055a6306c1c400d1c12261932533b5d6cbcd868854
637
+ rqrcode (3.2.0) sha256=64c1494ca6bb67d731330f38b50e3fd09eeab4f5dcd04b608e21218d1d0b9542
638
+ rqrcode_core (2.1.0) sha256=f303b85df89c1b8fc5ee8dc19808c9dc4330e6329b660d99d4a8cbb36ca13051
639
+ rubocop (1.88.2) sha256=8def251c90cd955feb4daa3edc0ab56893250c4ce90ef81e6c80c03f9a939bbf
640
+ rubocop-ast (1.50.0) sha256=b9ca88300da0803ee222ad20cdb30494c0a784eed06fdc35d254b06d662788db
641
+ rubocop-performance (1.26.1) sha256=cd19b936ff196df85829d264b522fd4f98b6c89ad271fa52744a8c11b8f71834
642
+ ruby-next-core (1.2.1) sha256=ddba3e986e127143299a26bde8bdbeedd4bc738a1a765e499f9634f361551f79
643
+ ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
644
+ rubyzip (3.4.1) sha256=0a79e745b5c25872ebd148457df5665da8530ed8626c993b01457128f173ca02
645
+ securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1
646
+ selenium-webdriver (4.46.0) sha256=cb6cfa6f79eac041749df0b14cdcb0e9fe5df3715a64c77bfaa56b345b99f957
647
+ semantic_range (3.1.1) sha256=508333196ef0c7ba33e79579d4df7eb0a41080595e6a655c2515b03d634ec4a9
648
+ sequel (5.107.0) sha256=019629313205295b007f6df2c5eab19ddc40710d549fd445ac300f2853a370db
649
+ sequel-activerecord_connection (2.0.1) sha256=8a13dc466520788459af18bb267f5e57d37b8764daaa3f6e8bc2932ce2642e15
650
+ shrine (3.9.0) sha256=3ccc2dd1cff89efc034449675f6524017084485b8b387059d68b4f303c848aa7
651
+ sin_lru_redux (2.5.2) sha256=feed104c943afaeeecb1ad83f3f63562088b9785a816625c32b2305eccbd9963
652
+ sqlite3 (2.9.5-aarch64-linux-gnu) sha256=78075b6337d3d182c6d2b4691049ed45cd220826160c9ea18946bf6a1de200dc
653
+ sqlite3 (2.9.5-aarch64-linux-musl) sha256=18c801185deb4adc01ddb281e8f672a39e3d1729979ca91e39439cd3eac0402d
654
+ sqlite3 (2.9.5-arm-linux-gnu) sha256=1bdfca0c7d63998c60b0f4a8e3c8df2d33800ccc4abd2d612eddbbbc92a4c48b
655
+ sqlite3 (2.9.5-arm-linux-musl) sha256=bae1109d12b2e9f588455967729b008e1ff4feb7761749df695019c9079913c6
656
+ sqlite3 (2.9.5-arm64-darwin) sha256=d0cf444a70fc9395d513cfbcc1e6719e224aa645314e3824cb0474c721425aa2
657
+ sqlite3 (2.9.5-x86_64-darwin) sha256=8e9caae38bd7ebb29cbeee3e7ab1d12dc2327d9a1b92c7fcf0dda05589627a81
658
+ sqlite3 (2.9.5-x86_64-linux-gnu) sha256=233dbcb6714148dd23bc5aeb33e8efd6eac974969564ddd5794c23d5f52b231e
659
+ sqlite3 (2.9.5-x86_64-linux-musl) sha256=e7d3a7474e8af0f96150c21abc203fbab5437206bfcdf11deab7741c0ca516f2
660
+ standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787
661
+ standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b
662
+ standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2
663
+ stimulus-rails (1.3.4) sha256=765676ffa1f33af64ce026d26b48e8ffb2e0b94e0f50e9119e11d6107d67cb06
664
+ tailwind_merge (1.5.2) sha256=eef5d5dab01ebabea59de48fc7a3369a362e209d32ea6d42c6f89d6579e9be6f
665
+ thor (1.5.0) sha256=e3a9e55fe857e44859ce104a84675ab6e8cd59c650a49106a05f55f136425e73
666
+ tilt (2.8.0) sha256=ba472eb2716fe1e04112d6d219a9dae938ec09a6a1e2ad3ecc7922e79bde3721
667
+ timeout (0.6.1) sha256=78f57368a7e7bbadec56971f78a3f5ecbcfb59b7fcbb0a3ed6ddc08a5094accb
668
+ tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f
669
+ tty-color (0.6.0) sha256=6f9c37ca3a4e2367fb2e6d09722762647d6f455c111f05b59f35730eeb24332a
670
+ tty-cursor (0.7.1) sha256=79534185e6a777888d88628b14b6a1fdf5154a603f285f80b1753e1908e0bf48
671
+ tty-prompt (0.23.1) sha256=fcdbce905238993f27eecfdf67597a636bc839d92192f6a0eef22b8166449ec8
672
+ tty-reader (0.9.0) sha256=c62972c985c0b1566f0e56743b6a7882f979d3dc32ff491ed490a076f899c2b1
673
+ tty-screen (0.8.2) sha256=c090652115beae764336c28802d633f204fb84da93c6a968aa5d8e319e819b50
674
+ turbo-rails (2.0.23) sha256=ee0d90733aafff056cf51ff11e803d65e43cae258cc55f6492020ec1f9f9315f
675
+ tzinfo (2.0.6) sha256=8daf828cc77bcf7d63b0e3bdb6caa47e2272dcfaf4fbfe46f8c3a9df087a829b
676
+ unicode-display_width (3.2.0) sha256=0cdd96b5681a5949cdbc2c55e7b420facae74c4aaf9a9815eee1087cb1853c42
677
+ unicode-emoji (4.2.0) sha256=519e69150f75652e40bf736106cfbc8f0f73aa3fb6a65afe62fefa7f80b0f80f
678
+ uri (1.1.1) sha256=379fa58d27ffb1387eaada68c749d1426738bd0f654d812fcc07e7568f5c57c6
679
+ useragent (0.16.11) sha256=700e6413ad4bb954bb63547fa098dddf7b0ebe75b40cc6f93b8d54255b173844
680
+ websocket (1.2.11) sha256=b7e7a74e2410b5e85c25858b26b3322f29161e300935f70a0e0d3c35e0462737
681
+ websocket-driver (0.8.2) sha256=97c556b019bf3410b4961002ac501621e9322d3f8a7bc02161a09301cc4c4146
682
+ websocket-extensions (0.1.5) sha256=1c6ba63092cda343eb53fc657110c71c754c56484aad42578495227d717a8241
683
+ wisper (2.0.1) sha256=ce17bc5c3a166f241a2e6613848b025c8146fce2defba505920c1d1f3f88fae6
684
+ xpath (3.2.0) sha256=6dfda79d91bb3b949b947ecc5919f042ef2f399b904013eb3ef6d20dd3a4082e
685
+ yaml (0.4.0) sha256=240e69d1e6ce3584d6085978719a0faa6218ae426e034d8f9b02fb54d3471942
686
+ zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5
687
+
493
688
  BUNDLED WITH
494
- 2.5.16
689
+ 4.0.6