plutonium 0.62.2 → 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 +67 -0
  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 +322 -140
  103. data/gemfiles/rails_8.0.gemfile.lock +125 -115
  104. data/gemfiles/rails_8.1.gemfile.lock +126 -116
  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 +30 -2
  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 +29 -11
  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 +103 -16
  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.62.1)
4
+ plutonium (0.62.2)
5
5
  action_policy (~> 0.7.0)
6
6
  csv
7
7
  listen (~> 3.8)
@@ -16,7 +16,7 @@ PATH
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 (8.0.3)
32
- actionpack (= 8.0.3)
33
- activesupport (= 8.0.3)
31
+ actioncable (8.0.5.1)
32
+ actionpack (= 8.0.5.1)
33
+ activesupport (= 8.0.5.1)
34
34
  nio4r (~> 2.0)
35
35
  websocket-driver (>= 0.6.1)
36
36
  zeitwerk (~> 2.6)
37
- actionmailbox (8.0.3)
38
- actionpack (= 8.0.3)
39
- activejob (= 8.0.3)
40
- activerecord (= 8.0.3)
41
- activestorage (= 8.0.3)
42
- activesupport (= 8.0.3)
37
+ actionmailbox (8.0.5.1)
38
+ actionpack (= 8.0.5.1)
39
+ activejob (= 8.0.5.1)
40
+ activerecord (= 8.0.5.1)
41
+ activestorage (= 8.0.5.1)
42
+ activesupport (= 8.0.5.1)
43
43
  mail (>= 2.8.0)
44
- actionmailer (8.0.3)
45
- actionpack (= 8.0.3)
46
- actionview (= 8.0.3)
47
- activejob (= 8.0.3)
48
- activesupport (= 8.0.3)
44
+ actionmailer (8.0.5.1)
45
+ actionpack (= 8.0.5.1)
46
+ actionview (= 8.0.5.1)
47
+ activejob (= 8.0.5.1)
48
+ activesupport (= 8.0.5.1)
49
49
  mail (>= 2.8.0)
50
50
  rails-dom-testing (~> 2.2)
51
- actionpack (8.0.3)
52
- actionview (= 8.0.3)
53
- activesupport (= 8.0.3)
51
+ actionpack (8.0.5.1)
52
+ actionview (= 8.0.5.1)
53
+ activesupport (= 8.0.5.1)
54
54
  nokogiri (>= 1.8.5)
55
55
  rack (>= 2.2.4)
56
56
  rack-session (>= 1.0.1)
@@ -58,15 +58,15 @@ GEM
58
58
  rails-dom-testing (~> 2.2)
59
59
  rails-html-sanitizer (~> 1.6)
60
60
  useragent (~> 0.16)
61
- actiontext (8.0.3)
62
- actionpack (= 8.0.3)
63
- activerecord (= 8.0.3)
64
- activestorage (= 8.0.3)
65
- activesupport (= 8.0.3)
61
+ actiontext (8.0.5.1)
62
+ actionpack (= 8.0.5.1)
63
+ activerecord (= 8.0.5.1)
64
+ activestorage (= 8.0.5.1)
65
+ activesupport (= 8.0.5.1)
66
66
  globalid (>= 0.6.0)
67
67
  nokogiri (>= 1.8.5)
68
- actionview (8.0.3)
69
- activesupport (= 8.0.3)
68
+ actionview (8.0.5.1)
69
+ activesupport (= 8.0.5.1)
70
70
  builder (~> 3.1)
71
71
  erubi (~> 1.11)
72
72
  rails-dom-testing (~> 2.2)
@@ -76,22 +76,22 @@ GEM
76
76
  activesupport
77
77
  railties
78
78
  shrine
79
- activejob (8.0.3)
80
- activesupport (= 8.0.3)
79
+ activejob (8.0.5.1)
80
+ activesupport (= 8.0.5.1)
81
81
  globalid (>= 0.3.6)
82
- activemodel (8.0.3)
83
- activesupport (= 8.0.3)
84
- activerecord (8.0.3)
85
- activemodel (= 8.0.3)
86
- activesupport (= 8.0.3)
82
+ activemodel (8.0.5.1)
83
+ activesupport (= 8.0.5.1)
84
+ activerecord (8.0.5.1)
85
+ activemodel (= 8.0.5.1)
86
+ activesupport (= 8.0.5.1)
87
87
  timeout (>= 0.4.0)
88
- activestorage (8.0.3)
89
- actionpack (= 8.0.3)
90
- activejob (= 8.0.3)
91
- activerecord (= 8.0.3)
92
- activesupport (= 8.0.3)
88
+ activestorage (8.0.5.1)
89
+ actionpack (= 8.0.5.1)
90
+ activejob (= 8.0.5.1)
91
+ activerecord (= 8.0.5.1)
92
+ activesupport (= 8.0.5.1)
93
93
  marcel (~> 1.0)
94
- activesupport (8.0.3)
94
+ activesupport (8.0.5.1)
95
95
  base64
96
96
  benchmark (>= 0.3)
97
97
  bigdecimal
@@ -104,19 +104,22 @@ GEM
104
104
  securerandom (>= 0.3)
105
105
  tzinfo (~> 2.0, >= 2.0.5)
106
106
  uri (>= 0.13.1)
107
+ acts_as_list (1.2.6)
108
+ activerecord (>= 6.1)
109
+ activesupport (>= 6.1)
107
110
  addressable (2.9.0)
108
111
  public_suffix (>= 2.0.2, < 8.0)
109
- ansi (1.5.0)
112
+ ansi (1.6.0)
110
113
  appraisal (2.5.0)
111
114
  bundler
112
115
  rake
113
116
  thor (>= 0.14.0)
114
117
  ast (2.4.3)
115
118
  base64 (0.3.0)
116
- bcrypt (3.1.21)
119
+ bcrypt (3.1.22)
117
120
  benchmark (0.5.0)
118
- bigdecimal (4.0.1)
119
- brakeman (8.0.4)
121
+ bigdecimal (4.1.2)
122
+ brakeman (8.0.5)
120
123
  racc
121
124
  builder (3.3.0)
122
125
  bundle-audit (0.2.0)
@@ -138,65 +141,66 @@ GEM
138
141
  activesupport (>= 3.0.0)
139
142
  railties (>= 3.0.0)
140
143
  thor (>= 0.14.6)
141
- concurrent-ruby (1.3.6)
144
+ concurrent-ruby (1.3.8)
142
145
  connection_pool (3.0.2)
143
146
  content_disposition (1.0.0)
144
- crass (1.0.6)
145
- csv (3.3.5)
147
+ crass (1.0.7)
148
+ csv (3.3.6)
146
149
  date (3.5.1)
147
150
  down (5.6.0)
148
151
  addressable (~> 2.8)
149
152
  base64 (~> 0.3)
150
153
  drb (2.2.3)
151
- erb (6.0.2)
154
+ erb (6.0.6)
152
155
  erubi (1.13.1)
153
- ffi (1.17.3-arm64-darwin)
156
+ ffi (1.17.4-arm64-darwin)
157
+ ffi (1.17.4-x86_64-linux-gnu)
154
158
  fiber-local (1.1.0)
155
159
  fiber-storage
156
160
  fiber-storage (1.0.1)
157
- globalid (1.3.0)
161
+ globalid (1.4.0)
158
162
  activesupport (>= 6.1)
159
- i18n (1.14.8)
163
+ i18n (1.15.2)
160
164
  concurrent-ruby (~> 1.0)
161
165
  importmap-rails (2.2.3)
162
166
  actionpack (>= 6.0.0)
163
167
  activesupport (>= 6.0.0)
164
168
  railties (>= 6.0.0)
165
169
  io-console (0.8.2)
166
- irb (1.17.0)
170
+ irb (1.18.0)
167
171
  pp (>= 0.6.0)
168
172
  prism (>= 1.3.0)
169
173
  rdoc (>= 4.0.0)
170
174
  reline (>= 0.4.2)
171
- json (2.19.1)
172
- language_server-protocol (3.17.0.5)
175
+ json (2.21.2)
176
+ language_server-protocol (3.17.0.6)
173
177
  lint_roller (1.1.0)
174
178
  listen (3.10.0)
175
179
  logger
176
180
  rb-fsevent (~> 0.10, >= 0.10.3)
177
181
  rb-inotify (~> 0.9, >= 0.9.10)
178
182
  logger (1.7.0)
179
- loofah (2.25.0)
183
+ loofah (2.25.2)
180
184
  crass (~> 1.0.2)
181
185
  nokogiri (>= 1.12.0)
182
- mail (2.9.0)
186
+ mail (2.9.1)
183
187
  logger
184
188
  mini_mime (>= 0.1.1)
185
189
  net-imap
186
190
  net-pop
187
191
  net-smtp
188
- marcel (1.1.0)
192
+ marcel (1.2.1)
189
193
  matrix (0.4.3)
190
194
  mini_mime (1.1.5)
191
- minitest (6.0.2)
195
+ minitest (6.0.6)
192
196
  drb (~> 2.0)
193
197
  prism (~> 1.5)
194
- minitest-reporters (1.7.1)
198
+ minitest-reporters (1.8.0)
195
199
  ansi
196
200
  builder
197
- minitest (>= 5.0)
201
+ minitest (>= 5.0, < 7)
198
202
  ruby-progressbar
199
- net-imap (0.6.3)
203
+ net-imap (0.6.6)
200
204
  date
201
205
  net-protocol
202
206
  net-pop (0.1.2)
@@ -206,14 +210,16 @@ GEM
206
210
  net-smtp (0.5.1)
207
211
  net-protocol
208
212
  nio4r (2.7.5)
209
- nokogiri (1.19.1-arm64-darwin)
213
+ nokogiri (1.19.4-arm64-darwin)
214
+ racc (~> 1.4)
215
+ nokogiri (1.19.4-x86_64-linux-gnu)
210
216
  racc (~> 1.4)
211
- pagy (43.3.3)
217
+ pagy (43.6.1)
212
218
  json
213
219
  uri
214
220
  yaml
215
- parallel (1.27.0)
216
- parser (3.3.10.2)
221
+ parallel (2.1.0)
222
+ parser (3.3.12.0)
217
223
  ast (~> 2.4.1)
218
224
  racc
219
225
  pastel (0.8.0)
@@ -253,55 +259,52 @@ GEM
253
259
  phlexi-display
254
260
  phlexi-field (~> 0.2.0)
255
261
  zeitwerk
256
- pp (0.6.3)
262
+ pp (0.6.4)
257
263
  prettyprint
258
264
  prettyprint (0.2.0)
259
265
  prism (1.9.0)
260
- propshaft (1.3.1)
266
+ propshaft (1.3.2)
261
267
  actionpack (>= 7.0.0)
262
268
  activesupport (>= 7.0.0)
263
269
  rack
264
- psych (5.3.1)
265
- date
266
- stringio
267
270
  public_suffix (7.0.5)
268
- puma (7.2.0)
271
+ puma (8.0.2)
269
272
  nio4r (~> 2.0)
270
273
  rabl (0.17.0)
271
274
  activesupport (>= 2.3.14)
272
275
  racc (1.8.1)
273
- rack (3.2.5)
274
- rack-session (2.1.1)
276
+ rack (3.2.6)
277
+ rack-session (2.1.2)
275
278
  base64 (>= 0.1.0)
276
279
  rack (>= 3.0.0)
277
280
  rack-test (2.2.0)
278
281
  rack (>= 1.3)
279
282
  rackup (2.3.1)
280
283
  rack (>= 3)
281
- rails (8.0.3)
282
- actioncable (= 8.0.3)
283
- actionmailbox (= 8.0.3)
284
- actionmailer (= 8.0.3)
285
- actionpack (= 8.0.3)
286
- actiontext (= 8.0.3)
287
- actionview (= 8.0.3)
288
- activejob (= 8.0.3)
289
- activemodel (= 8.0.3)
290
- activerecord (= 8.0.3)
291
- activestorage (= 8.0.3)
292
- activesupport (= 8.0.3)
284
+ rails (8.0.5.1)
285
+ actioncable (= 8.0.5.1)
286
+ actionmailbox (= 8.0.5.1)
287
+ actionmailer (= 8.0.5.1)
288
+ actionpack (= 8.0.5.1)
289
+ actiontext (= 8.0.5.1)
290
+ actionview (= 8.0.5.1)
291
+ activejob (= 8.0.5.1)
292
+ activemodel (= 8.0.5.1)
293
+ activerecord (= 8.0.5.1)
294
+ activestorage (= 8.0.5.1)
295
+ activesupport (= 8.0.5.1)
293
296
  bundler (>= 1.15.0)
294
- railties (= 8.0.3)
297
+ railties (= 8.0.5.1)
295
298
  rails-dom-testing (2.3.0)
296
299
  activesupport (>= 5.0.0)
297
300
  minitest
298
301
  nokogiri (>= 1.6)
299
- rails-html-sanitizer (1.7.0)
300
- loofah (~> 2.25)
302
+ rails-html-sanitizer (1.7.1)
303
+ loofah (~> 2.25, >= 2.25.2)
301
304
  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)
302
- railties (8.0.3)
303
- actionpack (= 8.0.3)
304
- activesupport (= 8.0.3)
305
+ railties (8.0.5.1)
306
+ actionpack (= 8.0.5.1)
307
+ activesupport (= 8.0.5.1)
305
308
  irb (~> 1.13)
306
309
  rackup (>= 1.0.0)
307
310
  rake (>= 12.2)
@@ -309,31 +312,36 @@ GEM
309
312
  tsort (>= 0.2)
310
313
  zeitwerk (~> 2.6)
311
314
  rainbow (3.1.1)
312
- rake (13.3.1)
315
+ rake (13.4.2)
313
316
  rb-fsevent (0.11.2)
314
317
  rb-inotify (0.11.1)
315
318
  ffi (~> 1.0)
316
- rdoc (7.2.0)
319
+ rbs (4.1.1)
320
+ logger
321
+ prism (>= 1.6.0)
322
+ tsort
323
+ rdoc (8.0.0)
317
324
  erb
318
- psych (>= 4.0.0)
325
+ prism (>= 1.6.0)
326
+ rbs (>= 4.0.0)
319
327
  tsort
320
328
  redcarpet (3.6.1)
321
329
  refract (1.1.0)
322
330
  prism
323
331
  zeitwerk
324
- regexp_parser (2.11.3)
332
+ regexp_parser (2.12.0)
325
333
  reline (0.6.3)
326
334
  io-console (~> 0.5)
327
335
  rexml (3.4.4)
328
- roda (3.102.0)
336
+ roda (3.106.0)
329
337
  rack
330
- rodauth (2.42.0)
338
+ rodauth (2.45.0)
331
339
  roda (>= 2.6.0)
332
340
  sequel (>= 4)
333
- rodauth-model (0.4.0)
341
+ rodauth-model (0.5.0)
334
342
  rodauth (~> 2.28)
335
- rodauth-rails (2.1.2)
336
- railties (>= 5.1)
343
+ rodauth-rails (2.2.0)
344
+ railties (>= 5.2)
337
345
  roda (~> 3.76)
338
346
  rodauth (~> 2.36)
339
347
  rodauth-model (~> 0.2)
@@ -342,49 +350,50 @@ GEM
342
350
  chunky_png (~> 1.0)
343
351
  rqrcode_core (~> 2.0)
344
352
  rqrcode_core (2.1.0)
345
- rubocop (1.84.2)
353
+ rubocop (1.88.2)
346
354
  json (~> 2.3)
347
355
  language_server-protocol (~> 3.17.0.2)
348
356
  lint_roller (~> 1.1.0)
349
- parallel (~> 1.10)
357
+ parallel (>= 1.10)
350
358
  parser (>= 3.3.0.2)
351
359
  rainbow (>= 2.2.2, < 4.0)
352
360
  regexp_parser (>= 2.9.3, < 3.0)
353
361
  rubocop-ast (>= 1.49.0, < 2.0)
354
362
  ruby-progressbar (~> 1.7)
355
363
  unicode-display_width (>= 2.4.0, < 4.0)
356
- rubocop-ast (1.49.1)
364
+ rubocop-ast (1.50.0)
357
365
  parser (>= 3.3.7.2)
358
366
  prism (~> 1.7)
359
367
  rubocop-performance (1.26.1)
360
368
  lint_roller (~> 1.1)
361
369
  rubocop (>= 1.75.0, < 2.0)
362
370
  rubocop-ast (>= 1.47.1, < 2.0)
363
- ruby-next-core (1.2.0)
371
+ ruby-next-core (1.2.1)
364
372
  ruby-progressbar (1.13.0)
365
- rubyzip (3.2.2)
373
+ rubyzip (3.4.1)
366
374
  securerandom (0.4.1)
367
- selenium-webdriver (4.43.0)
375
+ selenium-webdriver (4.46.0)
368
376
  base64 (~> 0.2)
369
377
  logger (~> 1.4)
370
378
  rexml (~> 3.2, >= 3.2.5)
371
379
  rubyzip (>= 1.2.2, < 4.0)
372
380
  websocket (~> 1.0)
373
381
  semantic_range (3.1.1)
374
- sequel (5.102.0)
382
+ sequel (5.107.0)
375
383
  bigdecimal
376
384
  sequel-activerecord_connection (2.0.1)
377
385
  activerecord (>= 5.1)
378
386
  sequel (~> 5.38)
379
- shrine (3.7.1)
387
+ shrine (3.9.0)
380
388
  content_disposition (~> 1.0)
381
389
  down (~> 5.1)
382
390
  sin_lru_redux (2.5.2)
383
- sqlite3 (2.9.1-arm64-darwin)
384
- standard (1.54.0)
391
+ sqlite3 (2.9.5-arm64-darwin)
392
+ sqlite3 (2.9.5-x86_64-linux-gnu)
393
+ standard (1.56.0)
385
394
  language_server-protocol (~> 3.17.0.2)
386
395
  lint_roller (~> 1.0)
387
- rubocop (~> 1.84.0)
396
+ rubocop (~> 1.88.0)
388
397
  standard-custom (~> 1.0.0)
389
398
  standard-performance (~> 1.8)
390
399
  standard-custom (1.0.2)
@@ -395,11 +404,10 @@ GEM
395
404
  rubocop-performance (~> 1.26.0)
396
405
  stimulus-rails (1.3.4)
397
406
  railties (>= 6.0.0)
398
- stringio (3.2.0)
399
- tailwind_merge (1.4.0)
407
+ tailwind_merge (1.5.2)
400
408
  sin_lru_redux (~> 2.5)
401
409
  thor (1.5.0)
402
- tilt (2.7.0)
410
+ tilt (2.8.0)
403
411
  timeout (0.6.1)
404
412
  tsort (0.2.0)
405
413
  tty-color (0.6.0)
@@ -423,7 +431,7 @@ GEM
423
431
  uri (1.1.1)
424
432
  useragent (0.16.11)
425
433
  websocket (1.2.11)
426
- websocket-driver (0.8.0)
434
+ websocket-driver (0.8.2)
427
435
  base64
428
436
  websocket-extensions (>= 0.1.0)
429
437
  websocket-extensions (0.1.5)
@@ -431,13 +439,15 @@ GEM
431
439
  xpath (3.2.0)
432
440
  nokogiri (~> 1.8)
433
441
  yaml (0.4.0)
434
- zeitwerk (2.7.5)
442
+ zeitwerk (2.8.3)
435
443
 
436
444
  PLATFORMS
437
445
  arm64-darwin
446
+ x86_64-linux
438
447
 
439
448
  DEPENDENCIES
440
449
  active_shrine
450
+ acts_as_list
441
451
  appraisal
442
452
  bcrypt
443
453
  brakeman