Commit Graph

26 Commits

Author SHA1 Message Date
Benjamin Taylor d85fa7277b test(web-inspector): give the 34-route Threads lab a real timeout budget
One test drives 34 routes against a real lab server, so its cost is the
sum of 34 bounded waits and it lands wherever the runner's load puts it.
Measured across `test / unit` shards of the same commit: 29.2s on
Node 24 / React 19, 56.1s on Node 22 / React 18, 57.1s on
Node 20 / React 19, and, on two runs of one commit on Node 20 / React 18,
41.4s and then a timeout at the old 60s ceiling.

A five percent margin on the slowest shard is not a budget, so the new
ceiling is 180s, about three times the slowest passing run. The number
guards against a hang. It asserts nothing about elapsed time, because
this test measures no durations.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-09 09:19:59 -05:00
Martha Kelly Schumann cfc4fd8e26 fix(inspector): refine Learning onboarding flow 2026-09-04 17:12:34 -07:00
Martha Kelly Schumann c70502b137 feat(inspector): add Learning view and workbench 2026-09-04 17:11:59 -07:00
Tyler Slaton c41e319863 feat(web-inspector): unify locked feature pages (#6859)
## Summary

- give locked Threads and Learning a shared conversion-focused layout
- add streamlined Loom demos, setup and engineer CTAs, and detailed
capability sections
- remove the disabled Threads preview so both locked experiences use the
same full-page treatment

## Why

Users without Intelligence enabled should immediately understand what
each feature provides and have clear paths to configure it or talk with
the team.

## How

- render both gates through one responsive locked-feature surface
- use minimal Loom embeds with feature-specific videos
- align content on a single centered rail with theme-aware styling
- add product-specific copy, capability icons, accessibility labels,
telemetry coverage, and fixture assertions
- verify with `pnpm nx run @copilotkit/web-inspector:test` and `pnpm nx
run @copilotkit/web-inspector:check-types`

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added unified locked views for Threads and Learning with feature
videos, capability outlines, setup guidance, and a “Talk to an Engineer”
call to action.
* Added responsive and dark-theme styling for locked-feature overviews.
  * Updated self-hosted and setup messaging.

* **Bug Fixes**
* Prevented unavailable Threads content, examples, controls, and
metadata actions from appearing.
  * Removed legacy runtime entitlement diagnostics from the interface.
  * Standardized locked-state telemetry and CTA behavior.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-09-03 19:19:57 +02:00
Tyler Slaton 452356b5e8 feat(web-inspector): unify locked feature pages 2026-09-03 08:37:15 -07:00
Tyler Slaton 49faaebceb fix(shared): drop the retired "premium" tier name from published packages (#6842)
#6818 renamed the Intelligence docs from `/premium/` to `/intelligence/`
and left the published packages alone. This cleans them up.

## The console notice

`@copilotkit/shared` printed this to every developer who used
`useCopilotChatHeadless_c` without a license key:

> To enable this **premium** feature, add your public license key…
> To learn more about **premium** features, read the documentation here:
docs.copilotkit.ai/**premium**/overview

"Premium" is not a tier we have. The notice now uses the sentence the
Headless UI docs page already uses — "Headless UI requires a CopilotKit
Intelligence license key" — so a developer who reads the notice and then
opens the docs finds the same words.

## One link was broken, not just stale

The "Show me how" button on the missing-public-API-key error opened
`/premium/overview#getting-access`. That heading was deleted on
2026-06-16 in 449237af0c, so the redirect carried the fragment to a page
that has no such anchor and the button landed at the top. It had been
doing that for two and a half months. It now points at
`#plans-and-access`, the section that answers how to get a key.

This was not in the ticket. It came out of tracing the links rather than
replacing them.

## The rest

Stale but working links move from `/premium/*` to `/intelligence/*` in
`react-core`, `web-inspector` and the runtime skill reference (two
byte-identical copies). Every one of them resolved through the redirects
from #6818; each cost a hop and named a retired tier. Four test files
assert these hrefs, so they move with the strings.

Not touched: `seo-redirects.ts` in `showcase/` keeps `/premium/`, since
those entries are what makes the old links work. `user_type: 'premium'`
in the provider examples is invented customer metadata, not a tier.

## Verification

- `nx run-many -t check-types,test` for `shared`, `react-core`,
`web-inspector`, `runtime`, `runtime-client-gql`: all green (17, 33,
152, 138 and 5 test files)
- On a cold worktree, `nx affected` first reported
`runtime-client-gql:check-types`, `runtime:check-types`, `runtime:test`
and `runtime:generate-graphql-schema` as failures. Cause: `check-types`
runs `tsc` concurrently with the `build` that generates
`src/graphql/@generated/*`, so the first run type-checks against files
that do not exist yet. Running `build` first makes all of them pass, and
Nx labels the same four as flaky. Unrelated to this change.

## Blocked on the docs promote

`docs.copilotkit.ai` has not been promoted to production since #6818
merged. Right now production serves `/premium/*` directly with a 200 and
returns 404 for every `/intelligence/*` path. Staging serves the new
paths with a 200 and redirects `/premium/overview` to
`/intelligence/overview` in one hop, so the code is right and the deploy
is pending.

CodeRabbit flagged this and it is correct. Promote `shell-docs` to
production before the next monorepo release, or these links 404 for
anyone who clicks them. Merging is safe on its own, because the packages
only reach users through a release.

## Companion change

The Intelligence repo carries the same rename for the CLI onboarding
prompt and the verify hint: CopilotKit/Intelligence#1117. The two ship
independently.

Refs OSS-1085
2026-09-03 01:39:53 +02:00
Tyler Slaton fa704d7d6c feat(web-inspector): add temporary dismissal controls 2026-09-02 15:18:16 +02:00
Lukas Moschitz 9bd7acc5ce fix(shared): drop the retired "premium" tier name from the console notice
The Headless UI console notice told developers about "premium features" and
pointed at /premium/overview. The tier is called CopilotKit Intelligence now, so
the notice named a product that no longer exists. It now uses the same sentence
the Headless UI docs page uses.

The docs links in react-core, web-inspector and the runtime skill reference move
from /premium/* to /intelligence/*. They worked through the redirects added in
#6818, but each cost a hop and carried the old name.

One of them was broken, not just stale: the "Show me how" button on the missing
public API key error opened /premium/overview#getting-access. That heading was
deleted on 2026-06-16 in 449237af0c, so the button had been landing at the top
of the page for two and a half months. It now points at #plans-and-access, the
section that answers how to get a key.

Tests assert these hrefs, so they move with the strings.

Refs OSS-1085
2026-09-02 12:19:50 +02:00
Tyler Slaton 0c6024e174 feat(web-inspector): expand launcher workbench controls 2026-09-01 20:39:08 +02:00
Tyler Slaton 807bcdd490 feat(web-inspector): add feature setup prompts 2026-09-01 20:39:08 +02:00
Tyler Slaton 76f3e9fff4 fix(web-inspector): repair Inspector verification baseline 2026-08-26 19:23:38 +02:00
Lukas Moschitz a8bcfebf02 fix(web-inspector): wait for the thread failure before asserting its landing
The thread-list-error route asserts that the first open lands on Threads
rather than Home. That only holds once the list request has been refused,
and the request is still in flight at that point: the helper waits two
microtask turns and a render, never the fetch. On a loaded machine the
fetch loses the race, the launcher carries no signal yet, and the open
lands on Home.

Green locally, red on all six CI matrix combinations. Reproduced here by
delaying the list fetch, which fails the assertion at 300ms and passes it
with this change at 1200ms.
2026-08-24 16:33:23 +02:00
Alem Tuzlak c226e50259 feat(web-inspector): land run and tool errors on the failed item
Show agent, tool, and error on Inspector banners. Click the launcher to open the failed tool call or RUN_ERROR. Shorten the error pill wait to 400ms. Use dark gray titles on the rose tool-error card so the name stays readable.
2026-08-24 15:12:35 +02:00
Lukas Moschitz 0c9e4546c6 feat(web-inspector): signal wiring failures from the launcher
The launcher gains a red dot, and one beat, when the app's wiring is
broken: the runtime connection is in its error state, or a thread load
failed. It is a state indicator, so it clears itself when the problem
goes and there is nothing to dismiss.

A failed agent run deliberately does not raise it. A run failure is an
event, not a state, and an hour of iteration produces many of them; the
launcher would be red most of the time and carry no information. System
Health already reports run errors inside the panel, which is a
latest-activity readout rather than a health verdict.

The core error channel is unused for the same reason: all but one of its
emit sites are in the run handler, and its single wiring code already
sets the connection state. Memory failures are excluded because the
memory store subscribes lazily, so the state is unobservable until the
Learning view has been opened once.

Two signals now share a described table with a tone, a cadence, a
priority and two destinations. The generic version of this was removed
before the launcher-signal merge as speculative, which was right at the
time: it had one user. It has two now.

A pulse that cannot land is deferred rather than dropped, and only one
runs at a time. Starting a beat while one runs does not restart the CSS
animation, so the running beat would otherwise just change colour
mid-flight and the new one would be lost.

Telemetry gains oss.inspector.error_signal_viewed, modelled on the
announcement equivalent, plus has_error_signal and error_signal_source
on the open event. The failure message is never transmitted. The
catalogue moves to twenty-four names.

A runtime that dies mid-session is out of reach: the handshake runs once
and a transport-level run failure is reported through the run channel
without touching the connection state. Filed as OSS-904, to be fixed in
core so every reader benefits.

Refs OSS-903
2026-08-21 15:54:16 +02:00
Tyler Slaton 799734accc feat(web-inspector): polish Home, navigation, and runtime health 2026-08-20 19:17:27 -07:00
Alem Tuzlak 5696417174 feat(web-inspector): add Home briefing and live sidebar 2026-08-20 19:17:27 -07:00
Tyler Slaton 35965ca74a fix(web-inspector): harden launcher notification and track exposure
Replace speculative signal machinery with direct state and defer hidden pulses.

Limit click telemetry to real links and add the replay workbench control.

Restore the pointer cursor and record visible launcher presentations.
2026-08-20 17:47:46 -07:00
Lukas Moschitz 6e43a5bb45 feat(web-inspector): replace announcement banner with launcher signal
Add host-scoped read state and the persistent What’s new destination.

Include the responsive Kite treatment, renamed announcement telemetry, and complete behavior tests.

Refs OSS-860, OSS-864, OSS-865
2026-08-20 17:47:15 -07:00
Austin Merrick ab7a50fa10 feat(inspector): add agent-ready Rich Threads setup 2026-08-05 11:55:53 -07:00
Austin Merrick b3e1586330 fix(web-inspector): link Rich Threads setup 2026-08-05 11:55:52 -07:00
Austin Merrick 5ebba2b098 feat(web-inspector): warn before thread limits 2026-08-05 11:55:52 -07:00
Austin Merrick 0982e96358 fix(web-inspector): correct thread empty states 2026-08-05 11:55:51 -07:00
Austin Merrick 7c3d043905 fix(web-inspector): use organization billing lab link 2026-08-05 11:55:50 -07:00
Austin Merrick 98bf62143e test(web-inspector): add thread state lab 2026-08-05 11:55:49 -07:00
Martha Schumann 7f61d628fd fix(web-inspector): address debugger review feedback 2026-06-30 11:12:56 -07:00
Martha Schumann aed9ad924b fix(web-inspector): keep thread timeline populated 2026-06-29 12:24:17 -07:00