Files
Neilandunknown 4dec64d533 feat(source-control-ai): support OMP generation (#20624)
* feat(source-control-ai): support OMP text generation

Read prompts on stdin, retain OMP configured model by default, and reuse JSON model discovery.

Co-authored-by: unknown <1784931579@qq.com>

* test(source-control-ai): cover OMP large input and model overrides

* fix(omp): keep configured model default out of discovered catalog

* fix(omp): hide config default from model discovery catalog

* fix(omp): separate terminal discovery from generation defaults

* test(omp): keep model probe import compatible with CLI typecheck

* test: align Source Control AI registry contracts with OMP

---------

Co-authored-by: unknown <1784931579@qq.com>
2026-09-19 01:54:50 -07:00

29 lines
1.6 KiB
Markdown

# OMP Source Control AI settings proof
Run `ORCA_BACKGROUND_LAUNCH=1 node tests/tools/omp-source-control-ui/run.mjs`.
The runner rebuilds the existing background-safe Electron fixture and the production
`CommitMessageAiPane` with its real styles. It uses disposable HOME/ZDOTDIR/userData,
never reveals a window, and closes its own app after recording evidence under
`.bench-fixtures/omp-source-control-*/`.
DOM assertions and screenshots cover:
- OMP appears in the commit-message agent menu and can be selected.
- Selecting OMP keeps CLI arguments empty so OMP uses its configured provider/model.
- An explicit `--model provider/exact-model` argument can be saved and remains in the
input after the save completes.
The settings persistence adapter is in-memory. This is a rendered production
component check, not a full app IPC, restart-persistence, or generation test. No
generator is called or mocked. Current Source Control AI settings expose action
recipes with CLI arguments; they do not have a Discover Models button. The separate
`omp-model-discovery-policy.test.ts` and `omp-source-control-discovery.test.ts`
regressions cover real discovery-result policy and production generation selection
with cached models, including SSH host keys. The configured-default sentinel stays
out of generic terminal catalogs while generation without a model override still
uses OMP configuration.
`tests/tools/omp-source-control-runtime-smoke.mjs` separately validates argv against
the actual OMP argument parser in a read-only reference checkout. It makes no model
call and must not be described as real generated output.