Commit Graph

110 Commits

Author SHA1 Message Date
Hayden Bleasel e85af4eaca Resolves #229 2025-11-12 09:11:02 -08:00
Hayden Bleasel f887f5c76c Update PromptInputMessage to use AI SDK types 2025-11-10 12:28:51 -08:00
Hayden Bleasel d3d91ba79f Remove unused hast type 2025-11-10 11:41:59 -08:00
Hayden Bleasel 6426625075 Update message.tsx 2025-11-10 11:18:23 -08:00
UncleBigBay 70bf5fd337 chore: fix checkpoint overflow (#225)
* chore: fix checkout overflow

* Create tough-pants-smash.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-11-09 11:57:39 -08:00
Brendan Dash e6c656cd5f fix(model-selector): add DialogTitle (#226)
* fix: add DialogTitle

* feat: use sr-only

* Refactor ModelSelector to use ReactNode for title

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-11-09 11:56:41 -08:00
Ben Drucker 6fa1d46975 fix(reasoning): make "Thought for a few seconds" message reachable (#223)
* fix(reasoning): make "Thought for a few seconds" message reachable

The "Thought for a few seconds" fallback message was unreachable due to
useControllableState defaulting duration to 0 instead of undefined.

- Changed defaultProp from 0 to undefined in useControllableState
- Updated ReasoningContextValue type to allow undefined duration
- Added test coverage for the undefined duration case

Fixes the conditional logic where duration === 0 would trigger the
shimmer animation, preventing the undefined check from ever executing.

* Create odd-grapes-behave.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-11-07 11:31:18 -08:00
Hayden Bleasel 1c09c94260 Resolves #184 2025-11-06 18:21:55 -08:00
Hayden Bleasel 3c34582527 Resolves #182 2025-11-06 18:01:39 -08:00
Hayden Bleasel 37ff591e90 Merge tests 2025-11-06 17:58:54 -08:00
Hayden Bleasel 2ca0b3ae02 Update reasoning.tsx 2025-11-06 17:57:24 -08:00
Hayden Bleasel 2094d4f063 Fix message design 2025-11-06 17:54:53 -08:00
Hayden Bleasel 64e9143773 Delete unused components 2025-11-06 17:54:47 -08:00
Hayden Bleasel b82113887f Resolves #221 2025-11-06 14:11:30 -08:00
Hayden Bleasel be8bd9108f Update prompt-input.tsx 2025-11-06 14:07:57 -08:00
Hayden Bleasel d5f1159390 New Message component (#222)
* Merge actions, branch and response into message

* Update docs and examples

* Make Flat variant default

* Update message

* Create tangy-melons-behave.md

* Upgrade branch to buttongroup

* Finish updating message

* Update message.test.tsx

* Update usage.mdx
2025-11-06 13:56:42 -08:00
Hayden Bleasel f9fc162e56 Resolves #185 2025-11-06 12:32:38 -08:00
Hayden Bleasel 796c32d573 Bump deps 2025-11-06 12:16:19 -08:00
Hayden Bleasel 2ff483dd8f Fix failing unit tests 2025-11-06 12:13:41 -08:00
Hayden Bleasel 29c2d430fc ModelSelector component (#217)
* Draft model selector

* Add support for logos

* Misc fixes

* Update model-selector.mdx

* Update model-selector.tsx

* Rename PromptInputModelSelect, replace with ModelSelector

* Add more providers, improve logos

* Create model-selector.test.tsx

* Create jolly-pots-wave.md
2025-11-06 12:10:25 -08:00
Hayden Bleasel 328173b55f Resolves #186 2025-11-05 21:35:32 -08:00
Hayden Bleasel dad0b0ab80 Bump deps 2025-11-05 21:16:32 -08:00
dependabot[bot] 1c537881ef Bump @xyflow/react from 12.9.0 to 12.9.2 (#198)
Bumps [@xyflow/react](https://github.com/xyflow/xyflow/tree/HEAD/packages/react) from 12.9.0 to 12.9.2.
- [Release notes](https://github.com/xyflow/xyflow/releases)
- [Changelog](https://github.com/xyflow/xyflow/blob/main/packages/react/CHANGELOG.md)
- [Commits](https://github.com/xyflow/xyflow/commits/@xyflow/react@12.9.2/packages/react)

---
updated-dependencies:
- dependency-name: "@xyflow/react"
  dependency-version: 12.9.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 21:15:52 -08:00
dependabot[bot] d2ef5601bc Bump @vitest/coverage-v8 from 4.0.4 to 4.0.6 (#199)
Bumps [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) from 4.0.4 to 4.0.6.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.6/packages/coverage-v8)

---
updated-dependencies:
- dependency-name: "@vitest/coverage-v8"
  dependency-version: 4.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 21:14:19 -08:00
dependabot[bot] 6698d9bc76 Bump @vitest/browser from 4.0.4 to 4.0.6 (#204)
Bumps [@vitest/browser](https://github.com/vitest-dev/vitest/tree/HEAD/packages/browser) from 4.0.4 to 4.0.6.
- [Release notes](https://github.com/vitest-dev/vitest/releases)
- [Commits](https://github.com/vitest-dev/vitest/commits/v4.0.6/packages/browser)

---
updated-dependencies:
- dependency-name: "@vitest/browser"
  dependency-version: 4.0.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-05 21:10:49 -08:00
chaxus 227d1ca78f feat(chain-of-thought): change ChainOfThoughtStep label and description types from string to ReactNode (#215)
* feat(ChainOfThoughtStep): change ChainOfThoughtStep label and description types from string to ReactNode

* Create flat-chairs-argue.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-11-05 21:08:16 -08:00
Hayden Bleasel 61a25e55c3 Fix open-in-chat trigger icon 2025-11-05 21:00:34 -08:00
Hayden Bleasel 0a5297cae4 Remove Controls from Canvas 2025-11-05 21:00:03 -08:00
Hayden Bleasel 5c16b4ff6d Add use client directive to open-in-chat 2025-11-05 20:59:41 -08:00
Hayden Bleasel 478ec07092 Use CornerDownLeftIcon for prompt input 2025-11-05 20:59:06 -08:00
Hayden Bleasel 2631a8344c Update prompt-input.tsx 2025-10-28 00:35:47 -07:00
Hayden Bleasel fb51bff3c4 Update prompt-input.tsx 2025-10-28 00:35:23 -07:00
Tobias Büschel 5a5342e8e4 fix: ensure prompt input attachments render inside header (#178)
* Update prompt-input.tsx

* fix: ensure prompt input attachments render inside header

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-28 00:26:15 -07:00
Hayden Bleasel a63d04f551 Misc fixes 2025-10-28 00:06:07 -07:00
Hayden Bleasel dccf114dd8 replace jsdom with vitest browser mode (#176)
* Swap from jsdom to browser

* Create clever-toys-travel.md

* Add missing packages

* Attempt more test fixes

* Update testing matrix

* Update test.yml

* Update test.yml
2025-10-27 22:46:08 -07:00
Tobias Büschel cdd4d0b282 test: add vitest-fail-on-console and improve test stability (#170)
* test: add vitest-fail-on-console and improve test stability

- Integrate `vitest-fail-on-console` plugin to ensure console logs cause test failures
- Use `act` to wrap asynchronous updates in test interactions
- Add `happy-dom` for improved test environment compatibility
- Update test descriptions to remove async usage where unnecessary

* feat: enhance button accessibility and update tsconfig with testing types

- Add 'type="button"' to improve button element accessibility in test files
- Include 'vitest/globals' and '@testing-library/jest-dom' types in tsconfig for better testing support

* Create grumpy-ways-look.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 21:22:57 -07:00
Hayden Bleasel 43dbf312e2 Release cleanup (#174)
* Bump deps

* Update package.json

* Update shadcn/ui

* Run Ultracite

* Run Ultracite

* Fix unit tests

* Update prompt-input.tsx

* Build fixes

* Modify docs styles

* Fix terminal titles

* Update code-block.mdx

* Add tool-approval docs and examples

* Rename ToolApproval to Confirmation

* Fix confirmation

* Misc fixes

* Update test.yml

* Downgrade jsdom

* Update confirmation.test.tsx
2025-10-27 21:12:09 -07:00
Tobias Büschel 2135d806f1 refactor: replace react-syntax-highlighter with shiki in CodeBlock (#149)
* refactor: replace react-syntax-highlighter with shiki in CodeBlock

* Create perky-wolves-grow.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 19:07:34 -07:00
Tobias Büschel 686577d848 feat: add tool approval state and tool approval component (#163)
* feat: add tool approval state and tool approval component

* Delete apps/test/app/examples/tool-approval.tsx

* Delete apps/test/app/examples/tool.tsx

* Delete apps/test/app/page.tsx

* Delete apps/test/package.json

* Update pnpm-lock.yaml

* Update pnpm-lock.yaml

* Create slow-dancers-tap.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:57:16 -07:00
dependabot[bot] da5520fd98 Bump ai from 5.0.72 to 5.0.74 (#144)
Bumps [ai](https://github.com/vercel/ai) from 5.0.72 to 5.0.74.
- [Release notes](https://github.com/vercel/ai/releases)
- [Changelog](https://github.com/vercel/ai/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vercel/ai/compare/ai@5.0.72...ai@5.0.74)

---
updated-dependencies:
- dependency-name: ai
  dependency-version: 5.0.74
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-10-27 18:50:24 -07:00
Tobias Büschel 8a4be1356e feat: improve layout and design of PromptInputAttachments (#151)
* feat: improve layout and design of PromptInputAttachments

* Delete apps/test/app/examples/prompt-input.tsx

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:47:11 -07:00
Sora Morimoto 4a5afad0bb Fix type error in Edge component by using const assertion (#158)
* Fix type error in Edge component by using const assertion

Add 'as const' to the return value of `getHandleCoordsByPosition` to ensure
it is typed as a readonly tuple `[number, number]` rather than a mutable
array `number[]`, which was causing TypeScript to infer the elements as
potentially undefined when destructured in the Animated component.

Signed-off-by: Sora Morimoto <sora@morimoto.io>

* Create odd-knives-relax.md

---------

Signed-off-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:43:11 -07:00
Sora Morimoto 2fce23cf38 Fix type error in InlineCitationCardTrigger by checking sources[0] directly (#159)
* Fix type error in `InlineCitationCardTrigger` by checking `sources[0]` directly

Change the condition from `sources.length` to `sources[0]` to ensure
TypeScript recognises that `sources[0]` is defined when passed to the URL
constructor. This resolves the `string | undefined` is not assignable to
`string | URL` type error.

Signed-off-by: Sora Morimoto <sora@morimoto.io>

* Create proud-rocks-study.md

---------

Signed-off-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:41:41 -07:00
Sora Morimoto 27dbfc2c2b Use optional chaining for speech recognition result access (#160)
* Use optional chaining for speech recognition result access

Prevent potential undefined access when retrieving the first alternative
from speech recognition results. The `SpeechRecognitionResult` index
access may return `undefined`, so use optional chaining to safely handle
this case.

Signed-off-by: Sora Morimoto <sora@morimoto.io>

* Use nullish coalescing operator to provide a default empty string

Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>

* Create sharp-numbers-think.md

---------

Signed-off-by: Sora Morimoto <sora@morimoto.io>
Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:39:47 -07:00
Brendan Dash a848cf8d60 refactor: update tokenlens api (#164)
* refactor: update tokenlens api

* Create red-kids-report.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:38:23 -07:00
Brendan Dash 40067f2b4a chore: lint @typescript-eslint/no-redeclare (#165)
* chore: lint @typescript-eslint/no-redeclare

* Create famous-heads-marry.md

---------

Co-authored-by: Hayden Bleasel <hello@haydenbleasel.com>
2025-10-27 18:37:12 -07:00
Hayden Bleasel 00c5835e3a Fix tests 2025-10-27 18:32:41 -07:00
Hayden Bleasel f2cb8c7505 Open source documentation (#156)
* Initial port

* Remove test repo

* Misc fixes

* Fix folder groups

* Docs and design fixes

* Add primary color, fix manual install

* Fix elements demo

* Delete .source

* Update .gitignore

* Update package.json

* Update shadcn-ui

* Upgrade to Next.js and Fumadocs 16

* Add missing examples

* Fix metadata

* Add base path

* Update next-env.d.ts

* Add microfrontends config

* Create microfrontends.json
2025-10-27 13:40:56 -07:00
Hayden Bleasel 14888a6475 October update (#135)
* Add Shiki to test repo

* Fix controls unit test

* Bump deps

* Cleanup and merge task queue elements

* Rename to Queue

* Update page.tsx

* Update queue.tsx

* Update queue.tsx

* Rebuild queue

* Continue breaking apart Queue component

* Cleanup

* Finish decomposing Queue

* Update queue.tsx

* Misc cleanup and renaming

* Add PromptInputHeader, Footer and Tabs

* Improve exports

* Rename Tabs -> HoverCard

* Add Rules example

* Add PromptInputCommand

* Add tests for Queue

* Update prompt-input.test.tsx

* Create Shimmer component

* Redo colors

* Update reasoning.tsx

* Create Plan component

* Update prompt-input.tsx

* Linter improvements

* Add check / fix commands

* Run Ultracite

* Update prompt-input.tsx
2025-10-15 21:11:00 -07:00
UncleBigBay e26284988f Feat (new element): implement reusable task queue and panel (message and todo default) (#131)
* feat(hook): add useTaskQueue context and hook for unified task and message queue management

* feat: add reusable TaskQueuePanel component for queue and todo management

* chore (example): add TaskQueuePanel usage example with shared task queue context

* Feat (example): add TaskQueuePanel to example workflow page

* chore: add sample todo and message data to task queue

* fix: prevent double-seeding of demo tasks in React Strict Mode with useRef guard
2025-10-15 16:38:10 -07:00