Uh oh!
There was an error while loading. Please reload this page.
refactor(core): split settings into domain owners - #1265
Conversation
Move bot-chat types, defaults, merging, and readiness normalization into a package-local owner, then migrate package-local consumers to the leaf while keeping the existing settings and root exports compatible. Move web-search credential reconciliation beside its settings model and give the persisted and runtime network contracts distinct canonical names, with deprecated NetworkSettings aliases for compatibility. Add focused behavior tests and a source-boundary contract. Behavior and persisted shapes are unchanged. Part of apache#1084.
4243813 to
1351a73Compareme2seeks
commented
Jul 20, 2026
The branches for this PR and #1261 have been rebased onto the latest green
Could a maintainer approve both runs when convenient? Both rebases are patch-equivalent, and local build, lint, format, typecheck, and targeted package tests pass. Thanks! |
Astro-Han
left a comment
There was a problem hiding this comment.
No concrete findings. I checked the bot-chat and web-search moves against their original implementations, the compatibility exports from the root and settings entry points, and the persisted/runtime network aliases. The extraction preserves the existing shapes and keeps the new leaf modules independent from settings.ts. Typecheck, test, and e2e are green.
Uh oh!
There was an error while loading. Please reload this page.
Summary
bot-chat-settings.ts, and move package-local bot consumers to that ownerweb-search.ts, together with their focused testsAppNetworkSettingsfrom runtimeRuntimeNetworkSettings, while keeping both existingNetworkSettingsimports as deprecated compatibility aliasesThe existing readiness, allowlist, and credential-safety comments move with their implementations; only stale function and source-location references were updated. Runtime behavior and persisted settings shapes are unchanged.
Refs #1084.
Verification
npm run build— passednpm run typecheck— passednpm run test:dist— passed; all workspace tests passednpm run lint— passednpm run format:check— passed after rebasing ontomain@bfb9ba83git diff origin/main...HEAD --check— passedgit range-diffagainst the pre-rebase commit — patch equivalentVisual validation is not applicable: this is a behavior-neutral settings module extraction with no UI changes.
Review focus
settings.tsremains the composition and compatibility surface; package-local bot consumers import their real owner directlysettings.ts