solid_objects 0.16.0 → 0.17.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +88 -0
- data/README.md +1 -0
- data/app/models/solid_objects/message.rb +15 -0
- data/docs/architecture.md +16 -6
- data/docs/authorization.md +10 -3
- data/docs/observability.md +186 -0
- data/docs/realtime.md +4 -3
- data/docs/reminders.md +3 -1
- data/docs/roadmap.md +17 -1
- data/docs/security.md +2 -2
- data/docs/transmission.md +17 -6
- data/lib/solid_objects/activation.rb +6 -3
- data/lib/solid_objects/activation_manager.rb +2 -1
- data/lib/solid_objects/actor.rb +29 -2
- data/lib/solid_objects/actor_channel.rb +9 -1
- data/lib/solid_objects/actor_snapshot.rb +14 -8
- data/lib/solid_objects/broadcast_executor.rb +1 -0
- data/lib/solid_objects/client.rb +15 -1
- data/lib/solid_objects/configuration.rb +4 -0
- data/lib/solid_objects/database_adapters/sqlite.rb +7 -1
- data/lib/solid_objects/diagnostics.rb +83 -0
- data/lib/solid_objects/effect_executor.rb +4 -0
- data/lib/solid_objects/effect_recovery_coordinator.rb +7 -2
- data/lib/solid_objects/errors.rb +3 -0
- data/lib/solid_objects/executor.rb +34 -16
- data/lib/solid_objects/instrumentation.rb +22 -1
- data/lib/solid_objects/log_subscriber.rb +1 -1
- data/lib/solid_objects/mailbox.rb +5 -1
- data/lib/solid_objects/message_reference.rb +9 -9
- data/lib/solid_objects/observer_registry.rb +47 -0
- data/lib/solid_objects/payload_broadcast.rb +9 -8
- data/lib/solid_objects/reference.rb +19 -0
- data/lib/solid_objects/reminder_scheduler.rb +5 -0
- data/lib/solid_objects/state_snapshot.rb +1 -0
- data/lib/solid_objects/supervisor.rb +3 -6
- data/lib/solid_objects/synchronous_invocation.rb +1 -21
- data/lib/solid_objects/telemetry.rb +137 -0
- data/lib/solid_objects/version.rb +1 -1
- data/lib/solid_objects/wake_up_adapters/postgresql.rb +1 -2
- data/lib/solid_objects/wake_up_adapters/redis.rb +1 -2
- data/lib/solid_objects/worker.rb +1 -2
- data/lib/solid_objects.rb +10 -0
- data/sig/generated/lib/solid_objects/actor.rbs +9 -0
- data/sig/generated/lib/solid_objects/actor_channel.rbs +3 -0
- data/sig/generated/lib/solid_objects/actor_snapshot.rbs +7 -2
- data/sig/generated/lib/solid_objects/client.rbs +3 -0
- data/sig/generated/lib/solid_objects/configuration.rbs +7 -3
- data/sig/generated/lib/solid_objects/diagnostics.rbs +25 -0
- data/sig/generated/lib/solid_objects/errors.rbs +3 -0
- data/sig/generated/lib/solid_objects/executor.rbs +10 -2
- data/sig/generated/lib/solid_objects/message_reference.rbs +6 -6
- data/sig/generated/lib/solid_objects/observer_registry.rbs +29 -0
- data/sig/generated/lib/solid_objects/payload_broadcast.rbs +2 -4
- data/sig/generated/lib/solid_objects/reference.rbs +9 -0
- data/sig/generated/lib/solid_objects/synchronous_invocation.rbs +0 -3
- data/sig/generated/lib/solid_objects/telemetry.rbs +30 -0
- data/sig/generated/lib/solid_objects.rbs +3 -0
- data/sig/generated/models/solid_objects/message.rbs +3 -0
- data/sig/public/json_value.rbs +3 -0
- data/sig/public/telemetry.rbs +49 -0
- data/sig/support/framework.rbs +5 -0
- metadata +11 -2
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
module SolidObjects
|
|
2
|
+
type telemetry_value = String | Integer | Float | bool | nil
|
|
3
|
+
|
|
4
|
+
type metric_sample = {
|
|
5
|
+
"name" => String,
|
|
6
|
+
"kind" => "counter" | "gauge" | "histogram",
|
|
7
|
+
"unit" => "1" | "ms",
|
|
8
|
+
"value" => Integer | Float,
|
|
9
|
+
"labels" => Hash[String, String]
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type portable_event = {
|
|
13
|
+
"schemaVersion" => Integer,
|
|
14
|
+
"name" => String,
|
|
15
|
+
"occurredAt" => String,
|
|
16
|
+
"adapter" => String,
|
|
17
|
+
"actorType" => String?,
|
|
18
|
+
"actorId" => String?,
|
|
19
|
+
"incarnation" => String?,
|
|
20
|
+
"revision" => String?,
|
|
21
|
+
"messageId" => String?,
|
|
22
|
+
"attempt" => Integer,
|
|
23
|
+
"attributes" => Hash[String, telemetry_value],
|
|
24
|
+
"metrics" => Array[metric_sample]
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
type event_observer = ^(portable_event) -> void
|
|
28
|
+
|
|
29
|
+
type diagnostic_summary = {
|
|
30
|
+
"sampled" => Integer,
|
|
31
|
+
"truncated" => bool,
|
|
32
|
+
"oldestAgeMilliseconds" => Integer?
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
type actor_diagnostics = {
|
|
36
|
+
"actorType" => String,
|
|
37
|
+
"actorId" => String,
|
|
38
|
+
"incarnation" => String?,
|
|
39
|
+
"revision" => String?,
|
|
40
|
+
"adapter" => String,
|
|
41
|
+
"occurredAt" => String,
|
|
42
|
+
"limit" => Integer,
|
|
43
|
+
"mailbox" => diagnostic_summary,
|
|
44
|
+
"outbox" => diagnostic_summary,
|
|
45
|
+
"reminders" => diagnostic_summary,
|
|
46
|
+
"retries" => diagnostic_summary,
|
|
47
|
+
"recoveryFailures" => diagnostic_summary
|
|
48
|
+
}
|
|
49
|
+
end
|
data/sig/support/framework.rbs
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: solid_objects
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.17.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Lucas Carlson
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-10-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: actioncable
|
|
@@ -362,6 +362,7 @@ files:
|
|
|
362
362
|
- docs/implementation-plan.md
|
|
363
363
|
- docs/local-testing.md
|
|
364
364
|
- docs/migrating-existing-state.md
|
|
365
|
+
- docs/observability.md
|
|
365
366
|
- docs/operations.md
|
|
366
367
|
- docs/realtime.md
|
|
367
368
|
- docs/reminders.md
|
|
@@ -425,6 +426,7 @@ files:
|
|
|
425
426
|
- lib/solid_objects/dead_letter_manager.rb
|
|
426
427
|
- lib/solid_objects/dead_letter_scope.rb
|
|
427
428
|
- lib/solid_objects/dead_row.rb
|
|
429
|
+
- lib/solid_objects/diagnostics.rb
|
|
428
430
|
- lib/solid_objects/doctor.rb
|
|
429
431
|
- lib/solid_objects/dom_identity.rb
|
|
430
432
|
- lib/solid_objects/effect_executor.rb
|
|
@@ -442,6 +444,7 @@ files:
|
|
|
442
444
|
- lib/solid_objects/mailbox.rb
|
|
443
445
|
- lib/solid_objects/message_pruner.rb
|
|
444
446
|
- lib/solid_objects/message_reference.rb
|
|
447
|
+
- lib/solid_objects/observer_registry.rb
|
|
445
448
|
- lib/solid_objects/operation_dispatcher.rb
|
|
446
449
|
- lib/solid_objects/outcome.rb
|
|
447
450
|
- lib/solid_objects/payload_broadcast.rb
|
|
@@ -464,6 +467,7 @@ files:
|
|
|
464
467
|
- lib/solid_objects/sync_deadline.rb
|
|
465
468
|
- lib/solid_objects/sync_diagnostics.rb
|
|
466
469
|
- lib/solid_objects/synchronous_invocation.rb
|
|
470
|
+
- lib/solid_objects/telemetry.rb
|
|
467
471
|
- lib/solid_objects/test_helper.rb
|
|
468
472
|
- lib/solid_objects/transmission.rb
|
|
469
473
|
- lib/solid_objects/turbo_stream_renderer.rb
|
|
@@ -527,6 +531,7 @@ files:
|
|
|
527
531
|
- sig/generated/lib/solid_objects/dead_letter_manager.rbs
|
|
528
532
|
- sig/generated/lib/solid_objects/dead_letter_scope.rbs
|
|
529
533
|
- sig/generated/lib/solid_objects/dead_row.rbs
|
|
534
|
+
- sig/generated/lib/solid_objects/diagnostics.rbs
|
|
530
535
|
- sig/generated/lib/solid_objects/doctor.rbs
|
|
531
536
|
- sig/generated/lib/solid_objects/dom_identity.rbs
|
|
532
537
|
- sig/generated/lib/solid_objects/effect_executor.rbs
|
|
@@ -544,6 +549,7 @@ files:
|
|
|
544
549
|
- sig/generated/lib/solid_objects/mailbox.rbs
|
|
545
550
|
- sig/generated/lib/solid_objects/message_pruner.rbs
|
|
546
551
|
- sig/generated/lib/solid_objects/message_reference.rbs
|
|
552
|
+
- sig/generated/lib/solid_objects/observer_registry.rbs
|
|
547
553
|
- sig/generated/lib/solid_objects/operation_dispatcher.rbs
|
|
548
554
|
- sig/generated/lib/solid_objects/outcome.rbs
|
|
549
555
|
- sig/generated/lib/solid_objects/payload_broadcast.rbs
|
|
@@ -566,6 +572,7 @@ files:
|
|
|
566
572
|
- sig/generated/lib/solid_objects/sync_deadline.rbs
|
|
567
573
|
- sig/generated/lib/solid_objects/sync_diagnostics.rbs
|
|
568
574
|
- sig/generated/lib/solid_objects/synchronous_invocation.rbs
|
|
575
|
+
- sig/generated/lib/solid_objects/telemetry.rbs
|
|
569
576
|
- sig/generated/lib/solid_objects/test_helper.rbs
|
|
570
577
|
- sig/generated/lib/solid_objects/transmission.rbs
|
|
571
578
|
- sig/generated/lib/solid_objects/turbo_stream_renderer.rbs
|
|
@@ -599,7 +606,9 @@ files:
|
|
|
599
606
|
- sig/generated/models/solid_objects/redrive.rbs
|
|
600
607
|
- sig/generated/models/solid_objects/reminder.rbs
|
|
601
608
|
- sig/public/effect_payload.rbs
|
|
609
|
+
- sig/public/json_value.rbs
|
|
602
610
|
- sig/public/reminder_payload.rbs
|
|
611
|
+
- sig/public/telemetry.rbs
|
|
603
612
|
- sig/support/framework.rbs
|
|
604
613
|
- web/assets/javascripts/application.js
|
|
605
614
|
- web/assets/javascripts/charts.js
|