Skip to content

Feat/all in one - #55

Open
jlee-kitware wants to merge 5 commits into
masterfrom
feat/all-in-one
Open

Feat/all in one#55
jlee-kitware wants to merge 5 commits into
masterfrom
feat/all-in-one

Conversation

@jlee-kitware

Copy link
Copy Markdown
Collaborator

Per-conversation model settings. Model choice was already per-conversation but the settings driving it weren't, so temperature, max_tokens and retry_attempts were global and tuning one conversation retuned all of them. The split was already misfiring: temperature_supported travelled with the session while temperature didn't, so a reasoning model clamped temperature to 1 everywhere and switching back left it stuck. These now travel with the conversation, and their settings surface moves from the global dialog to a control beside the model picker. What's left in the dialog is install-wide and now persists back to config.yml. Also fixes the clamp never releasing and adds a provider env-var fallback for api_token.

Bulk conversation actions. Multi-select in the Recents drawer for pin/unpin/export/delete. Pin and unpin are separate actions since a mixed selection has nothing coherent to toggle to. Export writes one file per conversation so results re-import through the existing path.

VTK call-chain completion. jedi can't infer through VTK's C-extension methods, so tetra.GetPointIds().SetId had no hover and zero completions. Falls back to walking the chain via docstring annotations; completion after GetPointIds(). goes from 0 to 75 entries.

Testing: ruff clean, mypy clean, 104 passing. New tests/test_completion_chain.py. Two commits fix breakage inherited from #40: mypy union-attr errors in code_executor.py, and the test_code_history suite (stale fixture, plus one test asserting undo/redo re-render behaviour that was intentionally removed).

jedi can't infer through VTK's C-extension methods, so chained calls like
tetra.GetPointIds().SetId gave no hover and zero completions. Fall back to
walking the chain via the docstring "-> Type" annotations.
Temperature, max_tokens and retry_attempts now travel with the conversation
alongside the model, so tuning one no longer retunes the rest. Their settings
surface moves next to the model picker; what's left in the dialog is
install-wide and persists back to config.yml.

Also fixes the temperature clamp never releasing, adds a provider env-var
fallback for api_token, and adds drawer multi-select for bulk
pin/unpin/export/delete.
patched_modules mixes an Any-typed vtk import with real module types, so
mod widens to "Any | Module" and every attribute access trips union-attr.
The existing ignores listed assignment and misc but not union-attr.
Two failed on a stale fixture: push_code_snapshot reads
code_history_labels, which _app() never defined. The third asserted that
undo/redo re-render the restored code, which they no longer do by design,
so it now pins the current contract instead.
D401 on a non-imperative docstring, E303 on a stray blank line, and two
E501s from the union-attr ignores pushing lines past 100. The vtk module
patching now binds through an Any local instead, which drops the ignore
comments altogether.
@vicentebolea

Copy link
Copy Markdown
Member

Looks good but I am getting the following errors:

In the console when invoking a prompt and the prompt doesnt execute:

Error generating code: int() argument must be a string, a bytes-like object or a real number, not 'NoneType'

A stdout in the terminal

 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined
 JS Error => TypeError: can't access property "replace", local_base_url is undefined

A small UI suggestion is to enlarge the per-chat options:

Screenshot From 2026-08-27 21-33-06

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants