Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
136 commits
Select commit Hold shift + click to select a range
45a811d
Take the dashboard's API directory from the `.rbtrc`
benh Aug 17, 2026
c29709a
Add `cooperatively`, for work that never waits
benh Aug 17, 2026
038d38b
Work out where each state type is implemented
benh Aug 16, 2026
6552341
Parse again only the files that changed
benh Aug 17, 2026
f2cd769
Record the methods each servicer defines
benh Aug 17, 2026
bc79d31
Consider any class extending `Servicer` a servicer
benh Aug 19, 2026
55383cd
Carry an iteration through `Files`
benh Aug 19, 2026
85f724e
Reach files through relative imports
benh Aug 19, 2026
86e5815
Read and stat files off the event loop
benh Aug 19, 2026
6555161
Say why a save during an iteration is never missed
benh Aug 19, 2026
1bea825
Ask pyright which state type each servicer services
benh Aug 22, 2026
5f3ea5f
Support `<StateType>.WeakReference.<method>` calls
benh Aug 24, 2026
096426b
Support `<StateType>.<constructor>` calls
benh Aug 24, 2026
e4bdbeb
Remove type vars for WeakReference to enable pyright
benh Aug 24, 2026
a5a5690
Support `schedule()` and `spawn()` method calls
benh Aug 24, 2026
a34e525
Support `idempotently()` method calls
benh Aug 24, 2026
893786c
Support `forall()` method calls
benh Aug 24, 2026
ae7f24e
Support `until()` method calls
benh Aug 24, 2026
b3e823a
Track ambiguous calls
benh Aug 24, 2026
3f0cf34
Don't treat stdlib and builtins as ambiguous
benh Aug 25, 2026
52d8a6f
Follow helpers to find Reboot calls within them
benh Aug 25, 2026
ff548b3
Ensure we don't double walk nested functions or lambdas
benh Aug 25, 2026
e21049d
Drop `Info` suffixes
benh Aug 25, 2026
cf1fa8c
Use pyright[nodejs] package
benh Aug 25, 2026
422fc8e
Track generated files
benh Aug 25, 2026
353ac45
Move the walk into `walk.py`
benh Aug 26, 2026
06e5631
Walk over whatever record a caller keeps of a file
benh Aug 26, 2026
d87c909
Walk from any number of entries
benh Aug 26, 2026
fe27d50
Track unparseable and unreadable files along the walk
benh Aug 26, 2026
363e971
Correctly get return type when using `functools.partial`
benh Aug 26, 2026
602a133
Safely walk and read API directory
benh Aug 26, 2026
ec0017e
Get modified from walk
benh Aug 26, 2026
2130aab
Move writing a pydantic API's proto into a helper
benh Aug 26, 2026
84ffcc9
Build the proto text of a pydantic API apart from writing it
benh Aug 26, 2026
7b1c268
Record in generated code which API it was generated from
benh Aug 26, 2026
a92506f
Read which API each generated module records it came from
benh Aug 26, 2026
849e1a4
Big refactor to make changes in the changelog have more explicit stru…
benh Aug 27, 2026
8902cf3
Rename changelog pills
benh Aug 27, 2026
5419b90
Add a grammar for the schema of a pydantic model
benh Aug 27, 2026
5793f78
Copy `generate()` into `reboot/schema.py` as `_schema_of`
benh Aug 27, 2026
bbfe2d5
Substitute `_schema_of`'s signature and mark every write to implement
benh Aug 27, 2026
2c12c93
Construct the model's schema in `_schema_of`
benh Aug 27, 2026
40a2df2
Construct a discriminated union property in `_schema_of`
benh Aug 27, 2026
95f31fd
Construct a `str` property in `_schema_of`
benh Aug 27, 2026
337cf99
Construct an `int` property in `_schema_of`
benh Aug 27, 2026
8bf82e1
Construct a `float` property in `_schema_of`
benh Aug 27, 2026
5e7dcf8
Construct a `bool` property in `_schema_of`
benh Aug 27, 2026
50c8e5e
Construct an `Any` property in `_schema_of`
benh Aug 27, 2026
f9a558f
Construct a `list` property in `_schema_of`
benh Aug 27, 2026
845d3d4
Construct a `dict` property in `_schema_of`
benh Aug 27, 2026
291c41a
Construct a `Literal` property in `_schema_of`
benh Aug 27, 2026
95c9ec6
Construct a model property in `_schema_of`
benh Aug 27, 2026
de16be0
Construct the model's reference in `_schema_of`
benh Aug 27, 2026
0678752
Construct a `str` value in `_schema_of`
benh Aug 27, 2026
89ca51a
Construct an `int` value in `_schema_of`
benh Aug 27, 2026
55316eb
Construct a `float` value in `_schema_of`
benh Aug 27, 2026
67b5c2f
Construct a `bool` value in `_schema_of`
benh Aug 27, 2026
315b7f3
Construct an `Any` value in `_schema_of`
benh Aug 27, 2026
afa155d
Construct the `dict`'s type in `_schema_of`
benh Aug 27, 2026
79e833d
Construct a `Literal` value in `_schema_of`
benh Aug 27, 2026
3d0fd85
Construct a `str` item in `_schema_of`
benh Aug 27, 2026
7b678e2
Construct an `int` item in `_schema_of`
benh Aug 27, 2026
7d207cc
Construct a `float` item in `_schema_of`
benh Aug 27, 2026
02d104e
Construct a `bool` item in `_schema_of`
benh Aug 27, 2026
8089fa5
Construct an `Any` item in `_schema_of`
benh Aug 27, 2026
0ef8029
Construct the `list`'s type in `_schema_of`
benh Aug 27, 2026
71eab13
Construct a `Literal` item in `_schema_of`
benh Aug 27, 2026
00e11f2
Construct a variant in `_schema_of`
benh Aug 27, 2026
60e069d
Construct the union's type in `_schema_of`
benh Aug 27, 2026
4dc7ce6
Add `schema_of`, a model's schema and every schema it reaches
benh Aug 27, 2026
68ff804
Keep a variant's discriminator property in its schema
benh Aug 27, 2026
48c50b0
Print proto from a model's schema instead of from the model
benh Aug 27, 2026
3b42505
Print a union variant's other `Literal` properties
benh Aug 27, 2026
ad86c60
Say which invariant broke where the printer meets a type it cannot print
benh Aug 27, 2026
b36f5fe
Read a property's description and default, and a model's docstring
benh Aug 27, 2026
c32b653
Describe the API to the dashboard with the schema grammar
benh Aug 27, 2026
18909a6
Read the schema grammar in the dashboard's page and changelog
benh Aug 27, 2026
311ccfb
Drop `@stoplight/json-schema-tree`, which nothing walks any more
benh Aug 27, 2026
7e5c4aa
Carry every schema once, in `API.schemas`, and list the data types
benh Aug 27, 2026
7e5f87e
Read a property's constraints and whether it is deprecated
benh Aug 28, 2026
9ee197e
Add a call graph page to the dashboard
rileysdev Aug 25, 2026
6cbc748
Fix the dashboard finding no servicers and no calls
rileysdev Aug 26, 2026
1cafb0c
Add packages, selection, and a legend to the call graph
rileysdev Aug 26, 2026
6e9f494
Give `pyright_py` the `pyright` wheel it runs
benh Aug 28, 2026
562a1d4
Display on the graph page when `rbt generate` has to run
rileysdev Aug 26, 2026
bf9c734
Record every read in the changelog
rileysdev Aug 26, 2026
35a5466
Drop dead branches from the dashboard bundle
rileysdev Aug 26, 2026
631e50d
Read the API reactively in its tests
rileysdev Aug 27, 2026
a2854a9
Spell a type's package one way on the page
benh Aug 28, 2026
55f9895
Call a type's grouping on the page its package, not a namespace
benh Aug 28, 2026
f4c0153
Join a restarted watch's state types back onto their files
benh Aug 28, 2026
f16ecc4
Move the schema grammar under `rbt/v1alpha1/pydantic/`
benh Aug 28, 2026
14ad67f
Add a grammar for what a pydantic API file declares
benh Aug 28, 2026
0d470fd
Copy `proto_text_from_api` into `reboot/pydantic_api.py` as `_api_of`
benh Aug 28, 2026
e5d1c57
Substitute `_api_of`'s signature and mark every write to implement
benh Aug 28, 2026
2417963
Construct the API in `_api_of`
benh Aug 28, 2026
2a91965
Construct a UI in `_api_of`
benh Aug 28, 2026
7580952
Construct the state type in `_api_of`
benh Aug 28, 2026
7792525
Read the schema of a UI's request in `_api_of`
benh Aug 28, 2026
5aaf76c
Read the schema of a method's request in `_api_of`
benh Aug 28, 2026
182abc4
Read the schema of a method's response in `_api_of`
benh Aug 28, 2026
27f5766
Read the schema of a method's error in `_api_of`
benh Aug 28, 2026
6fa271a
Leave to the method a method's errors in `_api_of`
benh Aug 28, 2026
7b94bd7
Construct a method in `_api_of`
benh Aug 28, 2026
775c02e
Construct a method's MCP tool in `_api_of`
benh Aug 28, 2026
3e98914
Construct a method's MCP resource in `_api_of`
benh Aug 28, 2026
6ac60f3
Construct the API's data types and schemas in `_api_of`
benh Aug 28, 2026
afd1976
Add `api_of`, what a pydantic API file declares
benh Aug 28, 2026
c122ee6
Print proto from what `api_of` read instead of from the `API` object
benh Aug 28, 2026
b8e8641
Record which file an `API` was read from
benh Aug 30, 2026
137f90a
Record what the API files declare as one `rbt.v1alpha1.pydantic.API` …
benh Aug 30, 2026
a01bf91
Digest what an API file declares, and record it for each module
benh Aug 30, 2026
ceb1748
Require 'nodejs-wheel-binaries'
benh Aug 31, 2026
8d54111
Replace the implementation watcher's write with an `Update`
benh Aug 31, 2026
f5c1a5d
Record what the application's code does in the changelog
benh Aug 31, 2026
d4383f5
Memoize each analysis, and analyze again on a restart
benh Aug 31, 2026
8ad8e0d
Shape the dashboard like an application: `backend` and `web`
benh Aug 31, 2026
f59b243
Rename the dashboard's `API` state to `Dashboard`
benh Aug 31, 2026
91e5905
One `Dashboard` state, watched two ways
benh Aug 31, 2026
bde6d30
Compute the reason to run `rbt generate` in `Get`
benh Aug 31, 2026
2761162
Count the graph's calls and the changelog's rows in `Overview`
benh Aug 31, 2026
3b3766d
Rename the graph's `new` badge to `factory`
benh Aug 31, 2026
76a8c6d
Give the dashboard's tab the Reboot icon
benh Aug 31, 2026
35cf95f
Open one method's detail at a time, or all of them
benh Aug 31, 2026
03a8b5e
Restore the pane's scroll on back
benh Aug 31, 2026
37fe3ff
Call a model's fields what the grammar calls them: properties
benh Aug 31, 2026
90d915c
Say what the changelog is doing: watching for changes
benh Aug 31, 2026
cbf7cac
Draw an unknown method as an open ring, a workflow filled in
benh Aug 31, 2026
af07551
A long nav name gives way instead of hiding the count
benh Aug 31, 2026
4a5c384
Show a method's signature first, its description below
benh Aug 31, 2026
19f7b99
A graph method's name opens it on the state page
benh Aug 31, 2026
9a8a5ec
Choosing a graph method is a navigation, so back steps through
benh Aug 31, 2026
05cb1e8
House the grammar at `rbt.v1alpha1.api`
benh Sep 1, 2026
b76e45f
A data type's change records its package
benh Sep 1, 2026
b64c533
Replace racy coordinator-down transaction test with two deterministic…
benh Sep 1, 2026
38424f2
Make test_coordinator_down_participant_abort deterministic
benh Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"@reboot-dev/reboot-std": "1.4.1",
"@reboot-dev/reboot-web": "1.4.1",
"@reboot-dev/reboot": "1.4.1",
"@stoplight/json-schema-tree": "4.0.0",
"@xyflow/react": "12.11.3",
"@modelcontextprotocol/ext-apps": "1.5.0",
"@modelcontextprotocol/sdk": "1.29.0",
"@bufbuild/protobuf": "1.10.1",
Expand All @@ -25,6 +25,8 @@
"jsdom": "^26.1.0",
"js-sha1": "0.7.0",
"esbuild": "^0.28.0",
"elkjs": "0.11.1",
"pyright": "1.1.413",
"express": "^5.1.0",
"lru-cache-idb": "^0.5.2",
"react-resizable-panels": "4.12.3",
Expand Down
Loading
Loading