Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
9c6a5be
WIP: Create model of th_signed_polynomial_system in mass_action.rs
tim-at-topos May 6, 2026
4b5b46c
WIP: v0 to v1 migration for analyses
tim-at-topos Aug 20, 2026
75de963
WIP: Getting rid of EquationConfig; all migrations in catlog
tim-at-topos Aug 20, 2026
94cebe5
WIP: Remove generics
tim-at-topos Aug 21, 2026
af83c7e
WIP: Fixed all front-end analyses
tim-at-topos Aug 21, 2026
99124b3
fix bad rebase
tim-at-topos Aug 25, 2026
963edcc
FIX: Lots of live testing to catch edge cases
tim-at-topos Aug 25, 2026
bbb105f
OBEE-42 integrate catcolab-documents with LLM, add validation enforce…
tslil-topos Aug 27, 2026
7f77f35
ENH: Implement load from ref methods
kasbah Aug 25, 2026
950874e
TEST: Enable and add loading tests
kasbah Aug 25, 2026
8b198b1
ENH: Implement binder for frontend
kasbah Aug 25, 2026
4857827
FIX: addInstanceRowsToStore automerge compatibility
kasbah Aug 25, 2026
761bf53
ENH: Wire instance through and add stub for instance_editor
kasbah Aug 25, 2026
99b8f2a
OBEE-41 scaffolding for LLMConversation pages
tslil-topos Jul 23, 2026
0212e29
don't give custom names to cell types in logics
tslil-topos Aug 27, 2026
3947823
ENH: Reactive view for frontend binder (#1434)
kasbah Aug 28, 2026
83f52ee
ENH: Add ElaboratedModel with shape-typed judgments
kasbah Aug 26, 2026
52c1d22
ENH: Use ElaboratedModel instead of DblMdl in validation result
kasbah Aug 26, 2026
f29f991
REFACTOR: Use void instead of undefined in return types
kasbah Aug 26, 2026
e93c7bf
ENH: Add a reactive validation view to notebooks
kasbah Aug 26, 2026
8c09878
TEST: Add solid-completions-view test
kasbah Aug 27, 2026
c8fee79
ENH: Make elaborated model always available from validation
kasbah Aug 28, 2026
6b7f8b4
ENH: Make instance validation return tables
kasbah Aug 28, 2026
3991b86
ENH: Reactive view for instance validation
kasbah Sep 1, 2026
3f0030d
ENH: Allow instances to be created from partial schemas
kasbah Sep 1, 2026
2566b13
UI for LLM conversation (#1436)
epatters Sep 3, 2026
c0bb3ef
ENH: Allow editing instance when schema is partially valid (#1447)
kasbah Sep 3, 2026
a9fdb0b
BUILD: Patch automerge for map deletion (#1448)
kasbah Sep 3, 2026
d84b0f9
ENH: Attach files to messages in LLM conversation UI. (#1456)
epatters Sep 4, 2026
2cb6ca6
BUILD: Upgrade `lucide-solid` to v1+. (#1462)
epatters Sep 4, 2026
af55695
REFACTOR: Eliminate type parameters `V` and `E` of `FpCategory`.
epatters Sep 6, 2026
9b09ba1
REFACTOR: Name rather than number equations in `FpCategory`.
epatters Sep 7, 2026
0ded087
REFACTOR: Eliminate type parameters `V` and `E` of `FpFunctor`.
epatters Sep 7, 2026
5176f03
ENH: Include equation names when pretty printing models.
epatters Sep 7, 2026
e2fbd9f
BUILD: Use `simple-icons` package for all brand icons. (#1463)
epatters Sep 7, 2026
521e49e
OBEE-44 transactions and plumbing this into the LLM scope
tslil-topos Aug 27, 2026
ea59336
Update packages/documents/test/transactions.test.ts doc string
tslil-topos Sep 7, 2026
34f3e83
OBEE-47 equations in the API, not participating in validation
tslil-topos Sep 2, 2026
1c21814
OBEE-49 add optional name to PathEq, Rust names equations in errors, …
tslil-topos Sep 2, 2026
9e2786f
OBEE-50 check instances satisfy equations
tslil-topos Sep 3, 2026
2472eee
Our own table editor component (#1452)
kasbah Sep 8, 2026
5c5bf54
ENH: Instance editor UI
kasbah Sep 3, 2026
8f99b15
ENH: Add create instance menu item
kasbah Sep 3, 2026
9fc0110
BUILD: Update solid deps to avoid false positive warning about `col`
kasbah Sep 4, 2026
292f7aa
ENH: Press Enter to send in LLM conversation (#1460)
kasbah Sep 8, 2026
6888f38
BUILD: Upgrade `setup-rust-toolchain` to v2. (#1468)
epatters Sep 8, 2026
596baf9
BUILD: Use deploy-rs from pkgsLinux rather than github (#1469)
kasbah Sep 9, 2026
9650937
BUILD: Really make sure deploy-rs is built from nixpkgs (#1471)
kasbah Sep 9, 2026
c6fc3cb
OBEE-46 system prompt containing explanation of api surface
tslil-topos Sep 4, 2026
67f990c
make system prompt included from markdown file
tslil-topos Sep 7, 2026
adf31fa
exempt system prompt from formatting
tslil-topos Sep 7, 2026
7febd86
add examples of dealing with validation issues, and using batch inter…
tslil-topos Sep 7, 2026
de4c478
format system prompt
tslil-topos Sep 9, 2026
a9e704b
ENH: Show/hide tables and list them in sidebar (#1466)
kasbah Sep 9, 2026
e00334e
ENH: Allow creating llm conversation from instance menu (#1465)
kasbah Sep 9, 2026
2da70a4
ENH: Add methods to delete orphaned data from instances (#1470)
kasbah Sep 9, 2026
6e7fa3a
OBEE-51 add listInstancesOf to store API, make DocumentWithChildren b…
tslil-topos Sep 4, 2026
3cbb98f
listInstancesOf -> listChildrenOf, move the binder into a context whe…
tslil-topos Sep 7, 2026
ca60a16
rename UserStateContext -> MetaDocumentContext, listChildren -> listU…
tslil-topos Sep 8, 2026
3fe3e71
implement listUsedBy, listDepends and port over LLM scope to this, si…
tslil-topos Sep 8, 2026
a2143ac
undo the meta_document_context rename, add a BinderProvider
tslil-topos Sep 9, 2026
f4afc6f
sort imports, sigh
tslil-topos Sep 9, 2026
56d09c4
FIX: Drop am-solid-primitives for now as it doesn't support rich text…
epatters Sep 10, 2026
fc5f1e2
ENH: Indicate row-level instance errors by coloring new row headers.
epatters Sep 10, 2026
9f6dd11
ENH: List row errors in nicely formatted tooltip.
epatters Sep 10, 2026
35bd6d0
TEST: Add test to illustrate rich-text issue with transactions
kasbah Sep 10, 2026
1920c8e
FIX: Purge am-solid-primitives and patch automerge
kasbah Sep 10, 2026
ec1057d
TEST: Case for solid-projection affected by clone
kasbah Sep 10, 2026
a3e7782
FIX: `makeDocHandleReactive` clones avoid sharing mutation
kasbah Sep 10, 2026
36a79f0
ENH: Make direct clones for automerge drafts instead of using a repo
kasbah Sep 10, 2026
d071105
ENH: LLM conversation pane
kasbah Sep 8, 2026
612a017
ENH: LLM conversation navigation
kasbah Sep 11, 2026
9d8f222
ENH: Add buttons to delete orphaned data to table editor
kasbah Sep 9, 2026
31a96b1
TEST: Fix test for orphaned columns story (#1489)
kasbah Sep 14, 2026
bf30a06
improve prompting
tslil-topos Sep 11, 2026
7345ba8
serialiase batched tool calls
tslil-topos Sep 11, 2026
2cc1078
persist execution result alongside validation errors
tslil-topos Sep 11, 2026
eb0f682
Add delete button to LLM conversation list (#1490)
kasbah Sep 14, 2026
753b07f
raise attachment file size limit for demo convenience
tslil-topos Sep 14, 2026
b9dc2b8
Fix LLM conversation pane open state (#1492)
kasbah Sep 14, 2026
69d4df4
patch automerge to fix their issue #1526
tslil-topos Sep 14, 2026
3eeac5b
more prompt improvements & minor scoping description change
tslil-topos Sep 14, 2026
1297d75
REFACTOR: LLM conversation ui-component (#1496)
kasbah Sep 14, 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
10 changes: 4 additions & 6 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,9 @@ jobs:

- name: Install Rust toolchain from file
if: github.event_name == 'release' || steps.cache-frontend-build.outputs.cache-hit != 'true'
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
# Don't override flags in cargo config files.
rustflags: ""
build-warnings: ""

- name: Build for Staging
if: (github.event_name == 'push' || github.event_name == 'pull_request') && steps.cache-frontend-build.outputs.cache-hit != 'true'
Expand Down Expand Up @@ -357,10 +356,9 @@ jobs:

- name: Install Rust toolchain from file
if: steps.cache-gaios-build.outputs.cache-hit != 'true'
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
# Don't override flags in cargo config files.
rustflags: ""
build-warnings: ""

- name: Build gaios plugin
if: steps.cache-gaios-build.outputs.cache-hit != 'true'
Expand Down
32 changes: 12 additions & 20 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,10 @@ jobs:
uses: actions/checkout@v7

- name: Install Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
toolchain: ${{ matrix.toolchain }}
# Don't override flags in cargo config files.
rustflags: ""
build-warnings: ""

- name: Tests
run: |
Expand All @@ -42,10 +41,11 @@ jobs:
uses: actions/checkout@v7

- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
toolchain: nightly
components: rustfmt
build-warnings: ""

- name: Check formatting
run: |
Expand All @@ -59,15 +59,9 @@ jobs:
uses: actions/checkout@v7

- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
# Don't override flags in cargo config files. Warnings are denied
# through `CARGO_BUILD_WARNINGS` instead of `RUSTFLAGS`.
rustflags: ""
uses: actions-rust-lang/setup-rust-toolchain@v2

- name: Check clippy warnings
env:
CARGO_BUILD_WARNINGS: deny
run: |
cargo clippy --all-targets --all-features --keep-going

Expand Down Expand Up @@ -112,10 +106,9 @@ jobs:
pnpm install

- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
# Don't override flags in cargo config files.
rustflags: ""
build-warnings: ""

- name: Format/linting/import sorting
run: |
Expand All @@ -124,7 +117,7 @@ jobs:

- name: Typescript documents package tests
run: |
pnpm --filter catcolab-documents exec vitest run test/creating-and-editing.test.ts test/definitions.test.ts test/binder.test-d.ts test/llm-conversation.test.ts
pnpm --filter catcolab-documents test

- name: Typescript logic package tests
run: |
Expand Down Expand Up @@ -158,10 +151,9 @@ jobs:
uses: actions/checkout@v7

- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
# Don't override flags in cargo config files.
rustflags: ""
build-warnings: ""

- name: Setup pnpm
uses: pnpm/action-setup@v6
Expand Down Expand Up @@ -190,9 +182,9 @@ jobs:
uses: actions/checkout@v7

- name: Install Rust toolchain from file
uses: actions-rust-lang/setup-rust-toolchain@v1
uses: actions-rust-lang/setup-rust-toolchain@v2
with:
rustflags: ""
build-warnings: ""

- name: Start PostgreSQL
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ jobs:

- name: Deploy to catcolab-next
run: |
nix run github:serokell/deploy-rs -- --skip-checks .#catcolab-next
nix run .#deploy-rs -- --skip-checks .#catcolab-next

- name: Verify deployment
run: |
Expand Down
5 changes: 5 additions & 0 deletions dev-docs/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

30 changes: 24 additions & 6 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,22 @@
pkgsLinux = nixpkgsFor linuxSystem;
rustToolchainLinux = rustToolchainFor linuxSystem;

# deploy-rs lib whose activate-rs uses the nixpkgs-built (binary cached) deploy-rs,
# rather than building the flake's own copy from crates.io.
deployLib =
(import nixpkgs {
system = linuxSystem;
overlays = [
deploy-rs.overlays.default
(final: prev: {
deploy-rs = {
inherit (pkgsLinux) deploy-rs;
lib = prev.deploy-rs.lib;
};
})
];
}).deploy-rs.lib;

# Per-system crane library + prebuilt cargo dependency layer. The
# frontend package is exposed for every system in `devShellSystems` so
# macOS developers can `nix build .#frontend` against the same wasm/api
Expand Down Expand Up @@ -211,23 +227,23 @@
};

# NOTE: this is not currently used, but was painful to build and might be useful in the future.
# Wraps the typical `deploy-rs.lib.${linuxSystem}.activate.nixos` activation function
# Wraps the typical `deployLib.activate.nixos` activation function
# with a custom script that can run additional health checks. The script runs on the remote host
# and if it fails the whole deployment will fail.
# use:
# `deploy.nodes.${host}.profiles.system.path = healthcheckWrapper self.nixosConfigurations.host;`
healthcheckWrapper =
nixosConfiguration:
let
defaultNixos = deploy-rs.lib.${linuxSystem}.activate.nixos nixosConfiguration;
defaultNixos = deployLib.activate.nixos nixosConfiguration;

healthcheckWrapperScript = pkgsLinux.writeShellScriptBin "healthcheck-wrapper-script" ''
PROFILE=${defaultNixos}
# insert healthchecks
${defaultNixos}/deploy-rs-activate
'';
in
deploy-rs.lib.${linuxSystem}.activate.custom healthcheckWrapperScript
deployLib.activate.custom healthcheckWrapperScript
"./bin/healthcheck-wrapper-script";
in
{
Expand Down Expand Up @@ -277,6 +293,8 @@
};

linuxOnlyPackages = {
deploy-rs = pkgsLinux.deploy-rs;

backend = pkgsLinux.callPackage ./packages/backend/default.nix {
inherit craneLib cargoArtifacts;
pkgs = pkgsLinux;
Expand Down Expand Up @@ -386,15 +404,15 @@
profiles.system = {
sshUser = "catcolab";
user = "root";
path = deploy-rs.lib.${linuxSystem}.activate.nixos self.nixosConfigurations.catcolab;
path = deployLib.activate.nixos self.nixosConfigurations.catcolab;
};
};
catcolab-next = {
hostname = "backend-next.catcolab.org";
profiles.system = {
sshUser = "catcolab";
user = "root";
path = deploy-rs.lib.${linuxSystem}.activate.nixos self.nixosConfigurations.catcolab-next;
path = deployLib.activate.nixos self.nixosConfigurations.catcolab-next;
};
};
catcolab-vm = {
Expand All @@ -406,7 +424,7 @@
"2221"
];
sshUser = "catcolab";
path = deploy-rs.lib.${linuxSystem}.activate.nixos self.nixosConfigurations.catcolab-vm;
path = deployLib.activate.nixos self.nixosConfigurations.catcolab-vm;
user = "root";
};
};
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build:deps": "pnpm --filter ./packages/frontend run build:deps",
"dev": "pnpm --filter ./packages/frontend run dev"
"dev": "pnpm --filter ./packages/frontend run dev",
"check": "cargo +nightly fmt && cargo clippy && pnpm --filter ./packages/frontend run check"
},
"engines": {
"node": "^24.4.0"
Expand Down
5 changes: 5 additions & 0 deletions packages/backend/pkg/pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading