Peter Steinberger
|
b080dd1e76
|
refactor: consolidate coercion contracts (#122458)
* refactor: consolidate coercion contracts
Centralize exact string, record, numeric, date, Boolean, argument, and structured-error coercions while preserving call-site semantics.
Migrate canonical-name collisions and deprecated internal SDK bypasses, deleting 55 net production/tooling lines. Expand declaration ownership enforcement to 101 allowed helpers and add a narrow export-completeness audit.
* fix: preserve standalone script coercions
Keep copied Control UI tooling self-contained and retain the trusted release harness module-relative source seam when the harness runs against an old target cwd.
|
2026-08-11 23:26:37 -07:00 |
|
Peter Steinberger
|
5de84bfc4d
|
fix(openai): support the current speech model snapshot (#118475)
* fix(openai): support the current speech model snapshot
* docs(openai): clarify speech instructions apply to the model family
|
2026-08-02 23:00:46 -07:00 |
|
Peter Steinberger
|
edecdbd05e
|
refactor(config): config-surface reduction tranche 3 — product consolidations (review request) (#111527)
* refactor(config): consolidate media model lists
* refactor(config): unify memory configuration
* refactor(config): consolidate TTS ownership
* refactor(config): move typing policy to agents
* refactor(config): retire product-level config surfaces
* refactor(config): share scoped tool policy type
* chore(config): refresh generated baselines
* fix(config): honor agent typing overrides
* fix(config): migrate sibling config consumers
* refactor(infra): keep base64url decoder private
* fix(config): strip invalid legacy TTS values
* chore(config): refresh rebased baseline hash
* fix(doctor): route legacy messages.tts.realtime voice to talk during tts move
* refactor(config): polish final layout names
* refactor(config): freeze retired tuning defaults
* feat(config): add fast mode default symmetry
* refactor(config): key agent entries by id
* docs(config): update final layout reference
* test(config): cover final layout migrations
* chore(config): refresh final layout baselines
* fix(config): align final layout runtime readers
* fix(config): align remaining readers
* fix(config): stabilize final layout migrations
* fix(config): finalize config projection proof
* fix(config): address final layout review
* docs(release): preserve historical config names
* fix(config): complete keyed agent migration
* fix(config): close final migration gaps
* fix(config): finish full-branch review
* fix(config): complete runtime secret detection
* fix(config): close final review findings
* fix(config): finish canonical docs and heartbeat migration
* fix(config): integrate latest main after rebase
* refactor(env): isolate test-only controls
* refactor(env): isolate build and development controls
* refactor(env): collapse process identity indirection
* refactor(env): remove duplicate config and temp aliases
* docs(env): define the operator-facing allowlist
* ci(env): ratchet production variable count
* fix(env): remove stale provider helper import
* fix(env): make ratchet sorting explicit
* test(env): keep test seam in dead-code audit
* test(env): cover ratchet growth and boundary; document surface budgets
* docs(config): document tier-eval consolidations
* docs(config): clarify speech preference ownership
* test(memory): align retired tuning fixtures
* refactor(memory): freeze engine heuristics
* refactor(config): apply tier-eval tranche
* refactor(tts): move persona shaping to providers
* refactor(compaction): move prompt policy to providers
* test(config): align hookified prompt fixtures
* chore(deadcode): classify test-only exports
* chore(github): remove unused spawn helper
* chore(deadcode): classify queue diagnostics
* chore(deadcode): remove unused lane snapshot export
* chore(plugin-sdk): ratchet consolidated surface
* fix(config): integrate latest main after rebase
|
2026-07-21 20:28:43 -07:00 |
|
lsr911
|
4108bbca96
|
fix(openai): treat blank env API key as unconfigured in speech provider (#108212)
* fix(openai): treat blank env API key as unconfigured in speech provider
process.env.OPENAI_API_KEY set to whitespace-only (e.g. ' ') causes
isConfigured to return true, but downstream synthesis fails with an
unusable bearer token. Add ?.trim() to treat whitespace-only env keys
as missing, matching the existing normalization in the image-generation
provider (image-generation-provider.ts:347).
Fixes #108186
* test(openai): cover speech env key normalization
Co-authored-by: luyifan <al3060388206@gmail.com>
* fix(openai): normalize realtime transcription env key
* chore(ci): prune stale max-lines baseline
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
Co-authored-by: luyifan <al3060388206@gmail.com>
Co-authored-by: Peter Steinberger <peter@steipete.me>
|
2026-07-15 09:43:42 -07:00 |
|
Peter Steinberger
|
9302c80ca6
|
fix(openai): route mp3 tts as voice messages (#100715)
Co-authored-by: Hemantsudarshan <hemanthsudarshan2002@gmail.com>
|
2026-07-06 08:34:08 +01:00 |
|
Peter Steinberger
|
96e5812426
|
docs: document medium extension sources
|
2026-06-04 21:33:54 -04:00 |
|
stain lu
|
55fc3c10b0
|
fix(openai/tts): handle speed directives (#74089)
Adds OpenAI speech speed directive parsing with official OpenAI range validation and custom endpoint passthrough. Closes #12163.
|
2026-05-31 20:35:46 +01:00 |
|
Vincent Koc
|
4438be7f05
|
fix(tts): bound generated speech downloads
|
2026-05-29 12:58:56 +02:00 |
|
Peter Steinberger
|
ec4a00beae
|
fix: validate openai speech speeds
|
2026-05-28 16:56:01 -04:00 |
|
Peter Steinberger
|
8d2dd8cf2e
|
test: tighten openai extension assertions
|
2026-05-11 14:19:09 +01:00 |
|
Peter Steinberger
|
5e3265b09b
|
feat: support openai tts extra body
|
2026-05-01 22:57:35 +01:00 |
|
Peter Steinberger
|
4389ceedac
|
fix: honor telephony tts directives
|
2026-05-01 22:48:53 +01:00 |
|
Barron Roth
|
0594fa3c4d
|
TTS: add provider personas
|
2026-04-26 09:42:38 +05:30 |
|
EVA
|
40be5ad581
|
fix: harden GPT-5 runtime paths
Co-authored-by: EVA <100yenadmin@users.noreply.github.com>
|
2026-04-24 08:55:52 +01:00 |
|
Peter Steinberger
|
665cc3d537
|
fix: guard openai tts fetch
|
2026-04-24 08:37:41 +01:00 |
|
Peter Steinberger
|
e5f2b25f25
|
test: share openai speech fetch fixture
|
2026-04-20 18:09:29 +01:00 |
|
Peter Steinberger
|
cc6c5f3edb
|
style: simplify lint-safe test helpers
|
2026-04-10 20:20:33 +01:00 |
|
Peter Steinberger
|
2786ed0f67
|
chore: enable no-base-to-string
|
2026-04-10 20:14:49 +01:00 |
|
Peter Steinberger
|
a34602c172
|
test: move openai talk override coverage to provider lane
|
2026-04-08 06:02:47 +01:00 |
|
Ayaan Zaidi
|
91a3af4e24
|
fix(tts): carry OpenAI talk response format
|
2026-04-07 12:56:22 +05:30 |
|
Neerav Makwana
|
eb4bc200d7
|
OpenAI TTS: use wav for Groq speech
Made-with: Cursor
|
2026-04-07 12:56:22 +05:30 |
|
Peter Steinberger
|
a040de33f1
|
fix(ci): repair provider typing drift
|
2026-04-06 19:28:55 +01:00 |
|
Peter Steinberger
|
cae4538a86
|
refactor: dedupe openai speech provider helpers
|
2026-04-06 19:24:42 +01:00 |
|