Commit Graph

95 Commits

Author SHA1 Message Date
Peter Steinberger 03826b8075 fix(test): harden planner artifact cleanup and profile env fallback 2026-03-29 00:20:19 +00:00
Gustavo Madeira Santana 0b8bc0e1b4
Tests: cap CI extension batch concurrency 2026-03-28 18:58:47 -04:00
Tak Hoffman 7a878164b0
ci: align bun shard counts with windows (#56429)
* ci: align bun shard counts with windows

* ci: retrigger stuck windows shard
2026-03-28 09:36:59 -05:00
Peter Steinberger 23772bb785 test: exclude topology fixtures from vitest collection 2026-03-28 13:49:16 +00:00
Tak Hoffman 3a34e6b65d
Add reusable TypeScript topology analyzer for public surface usage 2026-03-28 08:37:26 -05:00
Peter Steinberger 5df53a99b1 fix: set localstorage file for test planner workers 2026-03-28 12:46:54 +00:00
Peter Steinberger 4757c32f63 test: silence planner fixture stderr 2026-03-28 11:53:14 +00:00
Tak Hoffman d6fafb8af9
Add collect-all test failure planning 2026-03-27 23:23:31 -05:00
Tak Hoffman 835441233d
fix(regression): support contracts surface in test planner 2026-03-27 20:24:14 -05:00
Tak Hoffman 27decb9649
fix(regression): route contract paths through test wrapper 2026-03-27 20:24:14 -05:00
Peter Steinberger d9d5688792 test: make extension no-test coverage dynamic 2026-03-27 22:29:35 +00:00
Peter Steinberger 1086acf3c2 fix: repair latest-main ci gate 2026-03-27 17:57:23 +00:00
Tak Hoffman 4c8ed2ce46
test(planner): force real timers in executor fallback 2026-03-27 08:40:48 -05:00
Tak Hoffman 45535ff433
dev: speed up local check loop 2026-03-27 07:56:41 -05:00
Peter Steinberger ac2c2ac954 fix: stop test-parallel from waiting forever on child close 2026-03-27 12:20:51 +00:00
Peter Steinberger a30dae3c71 fix: honor test planner cache paths by target platform 2026-03-27 07:53:57 +00:00
Tak Hoffman 6f92148da9
fix(test-planner): shrink local extension batches on constrained hosts 2026-03-27 01:59:46 -05:00
Tak Hoffman 04d01984ef
fix(build): make bundled runtime-deps staging incremental 2026-03-27 00:51:38 -05:00
Peter Steinberger 10527ff8a3 build: refresh deps and vitest cache lanes 2026-03-27 02:26:07 +00:00
Peter Steinberger 2f43c6b334
refactor: split discord monitor startup and lifecycle 2026-03-27 00:03:00 +00:00
Peter Steinberger 4726593d6d test: refresh planner batching expectations 2026-03-26 23:44:43 +00:00
Peter Steinberger 22348914cf
refactor: centralize discord gateway ownership 2026-03-26 23:25:27 +00:00
Peter Steinberger 8eeccb116d test(planner): refresh extension batch expectations 2026-03-26 23:16:22 +00:00
Peter Steinberger 5f2876911a fix: harden discord gateway cleanup (#55373) (thanks @Takhoffman) 2026-03-26 16:07:13 -07:00
Peter Steinberger 556ce5cdda test(browser): fix CI after compat re-exports 2026-03-26 22:59:50 +00:00
Peter Steinberger 9dea807b28 test: share planner and sandbox test helpers 2026-03-26 22:03:18 +00:00
Peter Steinberger 8b42ad08e5 perf: speed up shared extension test batches 2026-03-26 21:51:25 +00:00
Peter Steinberger 663ba5a3cd perf: speed up test parallelism 2026-03-26 20:09:40 +00:00
Tak Hoffman c48a3e4fc9
ci: optimize windows test shard fanout (#55261)
* ci: reduce windows test shard fanout

* ci: tighten windows shard target

* ci: back off windows shard target

* ci: restore windows shard cap
2026-03-26 13:40:28 -05:00
Tak Hoffman e403899cc1
test: fix portable stderr capture and env leakage (#55184) 2026-03-26 09:31:08 -05:00
Tak Hoffman 5b68e52894
ci: collapse preflight manifest routing (#54773)
* ci: collapse preflight manifest routing

* ci: fix preflight workflow outputs

* ci: restore compat workflow tasks

* ci: match macos shards to windows

* ci: collapse macos swift jobs

* ci: skip empty submodule setup

* ci: drop submodule setup from node env
2026-03-25 22:38:30 -05:00
Tak Hoffman ab37d8810d
test: introduce planner-backed test runner, stabilize local builds (#54650)
* test: stabilize ci and local vitest workers

* test: introduce planner-backed test runner

* test: address planner review follow-ups

* test: derive planner budgets from host capabilities

* test: restore planner filter helper import

* test: align planner explain output with execution

* test: keep low profile as serial alias

* test: restrict explicit planner file targets

* test: clean planner exits and pnpm launch

* test: tighten wrapper flag validation

* ci: gate heavy fanout on check

* test: key shard assignments by unit identity

* ci(bun): shard vitest lanes further

* test: restore ci overlap and stabilize planner tests

* test: relax planner output worker assertions

* test: reset plugin runtime state in optional tools suite

* ci: split macos node and swift jobs

* test: honor no-isolate top-level concurrency budgets

* ci: fix macos swift format lint

* test: cap max-profile top-level concurrency

* ci: shard macos node checks

* ci: use four macos node shards

* test: normalize explain targets before classification
2026-03-25 18:11:58 -05:00
Tak Hoffman f63c4b0856
test: keep vitest on forks only 2026-03-25 12:22:22 -05:00
Vincent Koc e1d16ba42e test(parallel): force unit-fast batch planning 2026-03-24 18:04:20 -07:00
Peter Steinberger 6f6468027a refactor: dedupe test and runtime seams 2026-03-24 23:33:30 +00:00
Vincent Koc 87919dec2c fix(test): stabilize npm runner path assertion 2026-03-24 12:32:01 -07:00
Vincent Koc e4ce1d9a0e
fix(runtime): stabilize dist runtime artifacts (#53855)
* fix(build): stabilize lazy runtime entry paths

* fix(runtime): harden bundled plugin npm staging

* docs(changelog): note runtime artifact fixes

* fix(runtime): stop trusting npm_execpath

* fix(runtime): harden Windows npm staging

* fix(runtime): add safe Windows npm fallback
2026-03-24 11:37:39 -07: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
Tak Hoffman 7464330a08
test: audit subagent seam coverage inventory 2026-03-24 00:09:36 -05:00
Peter Steinberger 1bfef17825 ci: balance shards and reuse pr artifacts 2026-03-24 04:19:43 +00:00
Tak Hoffman 50d996a6ec
tests: cron coverage and NO_REPLY delivery fixes (#53366)
* tools: extend seam audit inventory

* tools: audit cron seam coverage gaps

* test: add cron seam coverage tests

* fix: avoid marking NO_REPLY cron deliveries as delivered

* fix: clean up delete-after-run NO_REPLY cron sessions
2026-03-23 22:52:13 -05:00
Vincent Koc 6142fc1d94 fix(runtime): anchor bundled plugin npm staging to active node 2026-03-23 20:32:48 -07:00
Peter Steinberger 8fd2fa13c6 test: avoid repo-root perf profile artifacts 2026-03-23 11:51:26 +00:00
Peter Steinberger af9de86286 perf: trim vitest hot imports and refresh manifests 2026-03-23 05:25:05 +00: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
Peter Steinberger 96d61aa50c
refactor: harden generated-file guards and provider ids 2026-03-22 19:08:08 -07:00
Peter Steinberger d0f5e7cb2d
test: simplify vitest runner pools 2026-03-22 16:22:09 -07:00
Peter Steinberger 1ad47b8fa1 test: harden path resolution test helpers 2026-03-22 22:47:58 +00:00
Peter Steinberger 29c0e783b1
refactor: rename vitest behavior lanes 2026-03-22 14:36:57 -07:00