Commit Graph

21 Commits

Author SHA1 Message Date
Peter Steinberger
0777ddace8 perf: split more targeted test lanes 2026-04-04 06:05:24 +01:00
Peter Steinberger
22e6225dd0 perf: split hooks, tui, and extension lanes 2026-04-04 05:38:47 +01:00
Peter Steinberger
c7cb43cac9 perf: split more scoped vitest lanes 2026-04-04 05:26:32 +01:00
Peter Steinberger
32ba917079 perf: split infra, tooling, and provider test lanes 2026-04-04 04:39:47 +01:00
Peter Steinberger
bb1cc84d50 test: default vitest root projects to threads 2026-04-04 04:37:08 +01:00
Peter Steinberger
a82bc7d887 fix(ci): align contract expectations 2026-04-04 12:29:11 +09:00
Peter Steinberger
33453838da perf: route test commands through scoped lanes 2026-04-04 04:18:10 +01:00
Peter Steinberger
ebdade0efc ci: shard extension fast checks 2026-04-03 18:26:26 +01:00
Peter Steinberger
5184522f2f refactor: trim extension test runner surface 2026-04-03 13:15:43 +01:00
Peter Steinberger
1118d032ca refactor: split extension test helpers 2026-04-03 13:06:11 +01:00
Peter Steinberger
685ef52284 refactor: simplify test workflow helpers 2026-04-03 13:00:00 +01:00
Peter Steinberger
c80c1cf56f test: drop planner fixtures and coverage 2026-04-03 12:45:13 +01:00
Peter Steinberger
8e0ab35b0e refactor(plugins): decouple bundled plugin runtime loading 2026-03-29 09:10:38 +01:00
Peter Steinberger
d9d5688792 test: make extension no-test coverage dynamic 2026-03-27 22:29:35 +00:00
David Guttman
aa91000a5d feat(discord): add autoThreadName 'generated' strategy (#43366)
* feat(discord): add autoThreadName 'generated' strategy

Adds async thread title generation for auto-created threads:
- autoThread: boolean - enables/disables auto-threading
- autoThreadName: 'message' | 'generated' - naming strategy
- 'generated' uses LLM to create concise 3-6 word titles
- Includes channel name/description context for better titles
- 10s timeout with graceful fallback

* Discord: support non-key auth for generated thread titles

* Discord: skip fallback auto-thread rename

* Discord: normalize generated thread title first content line

* Discord: split thread title generation helpers

* Discord: tidy thread title generation constants and order

* Discord: use runtime fallback model resolution for thread titles

* Discord: resolve thread-title model aliases

* Discord: fallback thread-title model selection to runtime defaults

* Agents: centralize simple completion runtime

* fix(discord): pass apiKey to complete() for thread title generation

The setRuntimeApiKey approach only works for full agent runs that use
authStorage.getApiKey(). The pi-ai complete() function expects apiKey
directly in options or falls back to env vars — it doesn't read from
authStorage.runtimeOverrides.

Fixes thread title generation for Claude/Anthropic users.

* fix(agents): return exchanged Copilot token from prepareSimpleCompletionModel

The recent thread-title fix (3346ba6) passes prepared.auth.apiKey to
complete(). For github-copilot, this was still the raw GitHub token
rather than the exchanged runtime token, causing auth failures.

Now setRuntimeApiKeyForCompletion returns the resolved token and
prepareSimpleCompletionModel includes it in auth.apiKey, so both the
authStorage path and direct apiKey pass-through work correctly.

* fix(agents): catch auth lookup exceptions in completion model prep

getApiKeyForModel can throw for credential issues (missing profile, etc).
Wrap in try/catch to return { error } for fail-soft handling rather than
propagating rejected promises to callers like thread title generation.

* Discord: strip markdown wrappers from generated thread titles

* Discord/agents: align thread-title model and local no-auth completion headers

* Tests: import fresh modules for mocked thread-title/simple-completion suites

* Agents: apply exchanged Copilot baseUrl in simple completions

* Discord: route thread runtime imports through plugin SDK

* Lockfile: add Discord pi-ai runtime dependency

* Lockfile: regenerate Discord pi-ai runtime dependency entries

* Agents: use published Copilot token runtime module

* Discord: refresh config baseline and lockfile

* Tests: split extension runs by isolation

* Discord: add changelog for generated thread titles (#43366) (thanks @davidguttman)

---------

Co-authored-by: Onur Solmaz <onur@textcortex.com>
Co-authored-by: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
2026-03-24 16:27:19 +01:00
Peter Steinberger
7818344f82 fix(ci): harden changed extension diff fallback 2026-03-23 04:41:54 +00:00
Vincent Koc
d949dffc6e fix(ci): repair tts and matrix refactor fallout 2026-03-22 20:12:01 -07:00
Vincent Koc
de86e25fd4 fix(ci): skip extension lanes with no tests 2026-03-18 17:52:28 -07:00
Vincent Koc
02df22a495 Tests: improve extension runner discovery 2026-03-16 17:59:39 -07:00
Vincent Koc
2ee20a6072 Tests: cover changed extension detection 2026-03-16 02:29:46 -07:00
Vincent Koc
d572188f61 Tests: add extension test runner 2026-03-16 02:06:21 -07:00