Compare commits

...

4357 Commits

Author SHA1 Message Date
Enrico Ros 1eb4eeea42 2.0.4: update readme 2026-03-24 19:17:52 -07:00
Enrico Ros 5ca094111c 2.0.4: update news (removing old beam callout) 2026-03-24 19:16:04 -07:00
Enrico Ros 4ce4202750 2.0.4: update package 2026-03-24 19:03:28 -07:00
Enrico Ros 4873c0c390 Json-ld: OS 2026-03-24 15:33:56 -07:00
Enrico Ros 351a28f34f Json-ld: ALTS 2026-03-24 14:50:55 -07:00
Enrico Ros a2e99ed84f Big-AGI: descs 2026-03-24 13:05:51 -07:00
Enrico Ros 7d2a26ab66 Roll AIX 2026-03-24 12:59:59 -07:00
Enrico Ros 94268187f1 Big-AGI: Capitalize 2026-03-24 12:36:08 -07:00
Enrico Ros 5aafa98f1c README: remove expired link 2026-03-24 12:33:31 -07:00
Enrico Ros c42c34acb4 KB: adding LLM vendors 2026-03-24 11:56:28 -07:00
Enrico Ros f052963da3 Md cleanup 2026-03-24 11:53:01 -07:00
Enrico Ros 07fa93609d CC: allow head|tail 2026-03-24 11:38:29 -07:00
Enrico Ros cbef9e5a57 BlockPartPlaceholder: slight render change 2026-03-23 18:59:10 -07:00
Enrico Ros 0b342339d4 AIX/Fragments: preserve placeholder location 2026-03-23 18:59:06 -07:00
Enrico Ros 9de3d5a26f AIX: Anthropic: parser: bits 2026-03-23 18:58:58 -07:00
Enrico Ros 78878076c2 errorUtils: add convenience fucntion for proper signal abort() 2026-03-23 17:55:06 -07:00
Enrico Ros 65cca958a6 AIX: Transmitter: show dialect 2026-03-23 17:51:59 -07:00
Enrico Ros 19263f8494 AIX: CG Exeuctor: Continuation ephemeral notice. #1010 2026-03-23 17:28:27 -07:00
Enrico Ros 5f71cbed47 AIX: CG Exeuctor: Continuation framework for Anthropic. #1010, #1005 2026-03-23 17:28:27 -07:00
Enrico Ros fe93a66d3b AIX: CG Exeuctor: rename to operation retry signal 2026-03-23 17:27:45 -07:00
Enrico Ros aa3b451e00 AIX: CG Exeuctor: slight rename 2026-03-23 17:27:45 -07:00
Enrico Ros ca245bf8b8 AIX: Retriers: cleanup name 2026-03-23 17:27:45 -07:00
Enrico Ros 9868068cd6 AIX: Anthropic: disable the fix for reusing blocks (seems to have been fixed upstream now) 2026-03-23 17:27:37 -07:00
Enrico Ros 5fd27629d0 idUtils: safer fallback for browser not having the crypto function (shall NEVER happen, but people may deploy on HTTP connections). Fixes #1034 2026-03-23 13:47:29 -07:00
Enrico Ros 4bfc7636c9 Beam: Merge: perform merges discarding the reasoning fragments if the policy says so. Fixes #1042 2026-03-23 13:36:58 -07:00
Enrico Ros 305a7784ee ChatThinkingPolicy: backport. #1042 2026-03-23 13:15:07 -07:00
Enrico Ros 87ecc11661 Allow for 2 Gemini vendors. Fixes #1045 2026-03-23 12:36:12 -07:00
Enrico Ros 0faf5d5957 Roll AIX 2026-03-21 19:51:58 -07:00
Enrico Ros 55d7ebd804 AIX/LLMS: Anthropic: Dynamic Web Filtering 2026-03-21 19:51:30 -07:00
Enrico Ros 842b5b96c2 AIX: Anthropic: parser: cleanup 2026-03-21 18:53:48 -07:00
Enrico Ros b07fc759c2 AIX: Anthropic: wires: update with new API features and tools
- tools allowed callers for client and server
- all tool definitions common options
- new code_execution, web_fetch, web_search tools
- top-level cache_contol
- thinking with disabled summaries for speed
- message updates with container variants
-fix tool_search_tool results
2026-03-21 18:53:48 -07:00
Enrico Ros 0afa70aaab System Theme: partially revert c8a33a06 to keep the default to the light mode 2026-03-21 16:14:32 -07:00
Enrico Ros c2cf93bf1a Events: remove dead code 2026-03-21 16:12:13 -07:00
Enrico Ros 88639b8b57 AttachmentSources: raise popups 2026-03-21 16:12:13 -07:00
Enrico Ros bfecc63d0d CC: allow select eslint tsc 2026-03-21 16:12:13 -07:00
Enrico Ros 20bea327e4 AIX: Anthropic: stremaing FC parser edge case 2026-03-21 16:12:13 -07:00
Enrico Ros 1e5c26b490 AIX: Anthropic: fix double newline elision post start 2026-03-21 16:12:13 -07:00
Enrico Ros d9183c9658 LLMs: xAI: add Grok 4.20 models, including multi-agent 2026-03-21 16:12:13 -07:00
Enrico Ros 3ecbbc3b70 LLMs: OpenAI: sweep align (add images support on select models) 2026-03-21 16:12:13 -07:00
Enrico Ros 1c1d21eed7 Sweep: update OpenAI params (more image supports) 2026-03-21 16:12:13 -07:00
Enrico Ros 6129971bb2 LLMs: OpenAI: add 5.4 mini/nano 2026-03-21 16:12:13 -07:00
Enrico Ros 8a3d75f077 Merge pull request #1033
feat(ui): add system theme mode for dark mode controls
2026-03-21 16:11:56 -07:00
Enrico Ros 9c249b513f Merge pull request #1041 from dLo999/fix/issue-1037-export-filename-local-time
fix: use local time for flash backup export filename (#1037)
2026-03-21 15:48:20 -07:00
Dustin 04d3fe6e99 fix: use local time for flash backup export filename (#1037)
Replace inline toISOString() with prettyTimestampForFilenames(false)
to match the other two export options that already use local time.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 08:04:50 -07:00
Enrico Ros ea7283b96e Merge pull request #1028 from enricoros/dependabot/github_actions/actions/download-artifact-8.0.1
chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1
2026-03-18 22:24:20 -07:00
Enrico Ros 295fc111c4 Expander: update 2026-03-18 02:33:36 -07:00
Enrico Ros 58d73d5d81 ModelsList: show Code designation as well. Fixes #1039 2026-03-17 22:07:43 -07:00
Enrico Ros fd8ce2e99a model.domains.registry: do not include a model name. Fixes #1038 2026-03-17 22:07:43 -07:00
blacksuan19 c8a33a06fa feat(ui): add system theme mode for dark mode controls
- default Joy color scheme to system
- cycle theme control through light, dark, and system modes
- update labels and icons to reflect the active theme preference

Signed-off-by: blacksuan19 <abubakaryagob@gmail.com>
2026-03-15 20:18:51 -05:00
Enrico Ros 874be92a56 ChatDrawer: include current chat, if missing 2026-03-14 16:00:48 -07:00
Enrico Ros 6bdb01e3c5 BlockOpOptions: allow spaces after the bold 2026-03-14 14:47:41 -07:00
dependabot[bot] ba03ab3aa8 chore(deps): bump actions/download-artifact from 8.0.0 to 8.0.1
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-14 11:32:12 +00:00
Enrico Ros 3d554e513d PostHog: more proper way to disable /flags refresh 2026-03-14 00:14:56 -07:00
Enrico Ros e516b9dae9 PostHog: we don't use Feature Flags - stop them 2026-03-14 00:06:32 -07:00
Enrico Ros 281d5a611e BlockOpOptions: support numbered lists 2026-03-13 14:10:52 -07:00
Enrico Ros 03eec23efe BlockOpOptions: supports bold options 2026-03-13 14:02:31 -07:00
Enrico Ros e3d01f6615 Reverting 61a60c5b: "Markdown: bundle in main chunk instead of lazy-loading" because of bundle size (for now) 2026-03-13 13:49:48 -07:00
Enrico Ros 99e15333cb Roll posthog again 2026-03-13 13:47:07 -07:00
Enrico Ros 5efd16c060 LLMs: LocalAI/Ollama/LMStudio: always allow CSF 2026-03-13 12:58:30 -07:00
Enrico Ros b4a6c80d8c Composer: correct browsing flag 2026-03-13 12:37:31 -07:00
Enrico Ros 7991920f08 Attachments: show disabled 2026-03-13 12:37:17 -07:00
Enrico Ros a113b8223b Roll deps 2026-03-13 12:25:24 -07:00
Enrico Ros 7bb720a903 Beam: Fusion: fix stop/stage 2026-03-13 04:00:55 -07:00
Enrico Ros 515de2679e InlineTextarea: size support 2026-03-13 01:57:59 -07:00
Enrico Ros 38caacf816 Expander component, externally controllable 2026-03-13 00:47:30 -07:00
Enrico Ros 676b0537e6 ChatMessage: chat/words count 2026-03-12 23:15:56 -07:00
Enrico Ros a24341cda6 Sel highlighter: export type 2026-03-12 23:15:54 -07:00
Enrico Ros d937bc246a AppChat: filter by open beam (support) 2026-03-12 21:45:40 -07:00
Enrico Ros 5d2543131a selHighlighter: cut also copies 2026-03-12 21:42:54 -07:00
Enrico Ros ca5d6872b5 clipboardUtils: improve dom copy 2026-03-12 21:42:51 -07:00
Enrico Ros a97ce26072 Replace PhTreeStructure for diagrams 2026-03-12 19:55:29 -07:00
Enrico Ros c698f78f92 FormRadioControl: fix hierarchy 2026-03-12 17:50:56 -07:00
Enrico Ros 77782a63eb Radio Controls: support tooltips 2026-03-12 16:35:56 -07:00
Enrico Ros 41e1e44ef0 TooltipOutlined: support size 2026-03-12 16:35:54 -07:00
Enrico Ros 7b1fc56320 LLMs: Deepseek: misc comment 2026-03-12 15:03:06 -07:00
Enrico Ros c0ed41a529 llms.parameters: find Spec and TS fix 2026-03-12 15:03:06 -07:00
Enrico Ros ba47fe1cfe AttachmentSources: strings again 2026-03-12 04:10:05 -07:00
Enrico Ros f1356d8fdc AttachmentSources: optimize RichMenuItem 2026-03-12 04:10:05 -07:00
Enrico Ros 7a899c538f Sources: bits 2026-03-12 01:28:57 -07:00
Enrico Ros 3daac973b1 AttachmentSources: tooltips on live 2026-03-11 15:17:53 -07:00
Enrico Ros b0ec5f7459 Attachments: add live types 2026-03-10 23:12:36 -07:00
Enrico Ros 71d6868512 AttachmentSources: bits 2026-03-10 23:12:36 -07:00
Enrico Ros 605bb83eb3 Components: add MediaStreamPreview 2026-03-10 23:12:36 -07:00
Enrico Ros 3092e02ce9 DBlobs: allow attachment image on destination scope (rather than moving it later) 2026-03-10 23:12:36 -07:00
Enrico Ros 5d82374975 DBlobs: GC: debug option 2026-03-10 23:12:36 -07:00
Enrico Ros ab4d63e596 screenCaptureUtils: export stream 2026-03-10 17:16:16 -07:00
Enrico Ros f800bb8dae CameraCaptureModal: open with options 2026-03-10 17:16:16 -07:00
Enrico Ros 18862c0ff4 Fragments: set origin Id in place 2026-03-10 11:32:10 -07:00
Enrico Ros 3765e8c69e Fragments: set origin Id 2026-03-10 11:28:58 -07:00
Enrico Ros 70d54a9aa3 Labs: option to skip image compression. Fixes #1024 2026-03-10 01:24:24 -07:00
Enrico Ros 50c6ee69af FormSwitchControl: pass through tooltipWarning 2026-03-10 01:05:49 -07:00
Enrico Ros dd2532e269 AttachmentSources: allow external menu button 2026-03-10 00:42:16 -07:00
Enrico Ros 16a54b3452 Audio: catch low-level errors 2026-03-10 00:08:21 -07:00
Enrico Ros 8373c1c785 AudioPlayer: make them cancelable & renames 2026-03-09 23:37:14 -07:00
Enrico Ros 39beda5519 revert AudioPlayer reason changes 2026-03-09 22:45:10 -07:00
Enrico Ros c7d1eae327 Speex: voice url preview with cancelation 2026-03-09 22:33:57 -07:00
Enrico Ros ec81e2ff5b AudioPlayer: pre-open 2026-03-09 22:33:57 -07:00
Enrico Ros 697090b695 AIX: Reassembler: audio player 2026-03-09 22:13:36 -07:00
Enrico Ros 8680fcc3db Image rendering: view on click 2026-03-09 21:30:59 -07:00
Enrico Ros 233037edd2 RenderImageRefDBlob: only regen if prompt is present 2026-03-09 21:29:38 -07:00
Enrico Ros 81c3251c6e AIX: Gemini: small note 2026-03-09 21:29:35 -07:00
Enrico Ros dc0fe7f4ca Beam Briefinx/Speex: use speakText with the rpc audio hint 2026-03-09 17:08:47 -07:00
Enrico Ros 2c9c0f2e0b Merge pull request #1019 from enricoros/dependabot/github_actions/docker/login-action-4.0.0
chore(deps): bump docker/login-action from 3.7.0 to 4.0.0
2026-03-09 01:20:51 -07:00
Enrico Ros 9c3fb9aadb Merge pull request #1018 from enricoros/dependabot/github_actions/docker/build-push-action-7.0.0
chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0
2026-03-09 01:20:43 -07:00
Enrico Ros de37ac2c51 Merge pull request #1017 from enricoros/dependabot/github_actions/docker/metadata-action-6.0.0
chore(deps): bump docker/metadata-action from 5.10.0 to 6.0.0
2026-03-09 01:20:35 -07:00
Enrico Ros d6b57702bd Merge pull request #1016 from enricoros/dependabot/github_actions/docker/setup-buildx-action-4.0.0
chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0
2026-03-09 01:20:25 -07:00
dependabot[bot] d94642c29f chore(deps): bump docker/login-action from 3.7.0 to 4.0.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.7.0 to 4.0.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/c94ce9fb468520275223c153574b00df6fe4bcc9...b45d80f862d83dbcd57f89517bcf500b2ab88fb2)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-07 11:32:35 +00:00
dependabot[bot] 75378ea88f chore(deps): bump docker/build-push-action from 6.19.2 to 7.0.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.19.2 to 7.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/10e90e3645eae34f1e60eeb005ba3a3d33f178e8...d08e5c354a6adb9ed34480a06d141179aa583294)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-07 11:32:31 +00:00
dependabot[bot] d539c1369b chore(deps): bump docker/metadata-action from 5.10.0 to 6.0.0
Bumps [docker/metadata-action](https://github.com/docker/metadata-action) from 5.10.0 to 6.0.0.
- [Release notes](https://github.com/docker/metadata-action/releases)
- [Commits](https://github.com/docker/metadata-action/compare/c299e40c65443455700f0fdfc63efafe5b349051...030e881283bb7a6894de51c315a6bfe6a94e05cf)

---
updated-dependencies:
- dependency-name: docker/metadata-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-07 11:32:27 +00:00
dependabot[bot] 555ee6f333 chore(deps): bump docker/setup-buildx-action from 3.12.0 to 4.0.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.12.0 to 4.0.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/8d2750c68a42422c14e847fe6c8ac0403b4cbd6f...4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-07 11:32:23 +00:00
Enrico Ros ad989d8a0b CameraCaptureModal: improve multi-attach 2026-03-06 19:11:50 -08:00
Enrico Ros aae7af4713 useCameraCapture: vastly improve state, flow, remove race conditions, add detach 2026-03-06 17:53:01 -08:00
Enrico Ros df0a204767 CameraCaptureModal: full promised control 2026-03-06 16:36:34 -08:00
Enrico Ros 5cdefc7b5e AttachmentSources: live streams support 2026-03-06 15:04:18 -08:00
Enrico Ros c1bdb1fc61 Merge pull request #1014 from enricoros/claude/issue-1013-20260306-1801
feat: add Ctrl+( / Ctrl+) shortcuts to toggle left drawer and right panel
2026-03-06 10:13:33 -08:00
claude[bot] dde22a080b feat: add Ctrl+( / Ctrl+) shortcuts to toggle left drawer and right panel
Add keyboard shortcuts for toggling left drawer (Ctrl+() and right panel
(Ctrl+)). Also adds a reusable `skipIfInput` flag on ShortcutObject that
skips shortcuts when a text input, textarea, or contenteditable element
(or child thereof) is focused - not applied to these layout shortcuts but
available for future use.

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2026-03-06 18:05:06 +00:00
Enrico Ros 7f5ff30f97 Speex: unmarkdown 2026-03-05 19:16:54 -08:00
Enrico Ros 38e1708e91 AIX: Gemini: Parser: improve finish reason reporting 2026-03-05 18:36:12 -08:00
Enrico Ros fe4e755304 AIX: Dispatch: nit 2026-03-05 18:36:09 -08:00
Enrico Ros 67f1c87d3a AIX: OpenAI Responses: infer image type 2026-03-05 18:36:09 -08:00
Enrico Ros eef88ffae2 AIX: OpenAI Responses: Queued 2026-03-05 18:36:08 -08:00
Enrico Ros 319965c55c FormChipGroupControl: must stretch 2026-03-05 18:36:05 -08:00
Enrico Ros 1f309b5c81 Speex: future northbridge nav 2026-03-05 16:55:58 -08:00
Enrico Ros 5273352ae9 Speex: Engine: pass labels 2026-03-05 16:45:59 -08:00
Enrico Ros 5a48256d77 AIX: OpenAI: small fixes 2026-03-05 16:45:46 -08:00
Enrico Ros 1d41294c1d LLMs/Sweep: OpenAI GPT-5.4, -Pro, and non-thinking (with temperature control) 2026-03-05 16:27:55 -08:00
Enrico Ros ff76229706 LLMs: Bedrock: respell 2026-03-04 22:13:07 -08:00
Enrico Ros b0f4b30ebe ChipGroupControl: single chip multiple options 2026-03-04 16:31:31 -08:00
Enrico Ros 7be8f6c6a7 OptimaPanelGroupedList: absorb collapsed pad 2026-03-04 16:28:28 -08:00
Enrico Ros b003993961 No mdashes in comments 2026-03-04 14:29:22 -08:00
Enrico Ros 4878f361b5 CLAUDE.md: no emdashes 2026-03-04 14:27:56 -08:00
Enrico Ros a82a3899c5 Beam: strip reasoning traces per user's thinking policy. Fixes #1003 2026-03-04 13:28:05 -08:00
Enrico Ros ff0685e6e8 Nit 2026-03-04 13:19:24 -08:00
Enrico Ros a597489526 Merge pull request #1011 from Blacksuan19/fix-sherpa-ssr
store-logic-sherpa: guard usage count increment against SSR
2026-03-04 13:03:07 -08:00
Enrico Ros 32e8890f62 LLMs: Sync Sweep params 2026-03-04 12:44:50 -08:00
Enrico Ros 211a43eab4 Parameters sweep: 2026-03-04.2 2026-03-04 12:42:10 -08:00
Enrico Ros 8c28df77cc Parameters sweep: resorting 2026-03-04 12:23:22 -08:00
Enrico Ros 4e82a12899 AIX: Gemini: Disable URL Context for Nano Banana models 2026-03-04 12:20:04 -08:00
Enrico Ros 8d0e0dea89 Parameters sweep: 2026-03-04 2026-03-04 12:09:13 -08:00
Enrico Ros 5703f23b99 Roll AIX 2026-03-04 11:37:46 -08:00
Enrico Ros 196d08b4fd CLAUDE.md: try stopping compound 2026-03-04 11:37:38 -08:00
Enrico Ros 2f9738f6fb LLMs: Gemini: Nano Banana 2 (aka 3.1 flash image) and 3.1 Flash-Lite 2026-03-04 11:34:51 -08:00
Enrico Ros d4db225d1e LLMs: OpenAI: remove shut down 2026-03-04 11:30:10 -08:00
Enrico Ros efff785713 LLMs: OpenAI: 5.3 Instant 2026-03-04 11:29:40 -08:00
Enrico Ros 234accad3f LLMs: ANT: Sync retired 2026-03-04 11:15:57 -08:00
blacksuan19 588b4b2c64 store-logic-sherpa: guard usage count increment against SSR
The useLogicSherpaStore.setState() call at module level ran during
server-side rendering where localStorage is unavailable, causing a
hydration crash. Wrap with isBrowser so it only executes in the
browser context.

Signed-off-by: blacksuan19 <abubakaryagob@gmail.com>
2026-03-04 12:49:46 -06:00
Enrico Ros 7de34d8478 InReferenceToBubble: fix h-compression 2026-03-03 23:46:42 -08:00
Enrico Ros 741980adfc Allow new attachments for previous messages in a chat. Fixes #945 2026-03-03 20:18:07 -08:00
Enrico Ros 2690380bfd ChatMessage: support changing attachments in mesages. #945 2026-03-03 18:43:12 -08:00
Enrico Ros b482b07335 Composer: use the standard Attachment hanlders 2026-03-03 18:43:06 -08:00
Enrico Ros 03b4c6f941 Attachments: standard handlers 2026-03-03 18:43:06 -08:00
Enrico Ros b7fd1b13de Remove setLabsEnhanceCodeLiveFile 2026-03-03 10:47:02 -08:00
Enrico Ros 10a6f2d3c7 Rename getLabsHighPerformance 2026-03-03 10:03:21 -08:00
Enrico Ros ba149d3b43 Remove labsEnhanceCodeBlocks - always on now 2026-03-03 10:03:08 -08:00
Enrico Ros f175d071c4 Remove labsShowCosts - always on now 2026-03-03 10:00:16 -08:00
Enrico Ros 874d0bca05 Attachments: by default use the Menu on desktop, not the inlines 2026-03-03 09:53:50 -08:00
Enrico Ros 81ad0328b7 Remove labsAttachScreenCapture/labsCameraDesktop - always on now 2026-03-03 09:53:50 -08:00
Enrico Ros 5198fa66cf Attachments: consolidated/unified menu 2026-03-03 09:53:50 -08:00
Enrico Ros a807bdd6b6 InlineTextArea: remove the alt key - only usage 2026-03-02 21:18:05 -08:00
Enrico Ros 2b209bb679 LLMParametersEditor: improve config. Fixes #1004 2026-03-02 20:04:02 -08:00
Enrico Ros 2f018dce9f AIX: do not set a default fox max anymore - as the underlying APIs may change and it's a user param now. #1004 2026-03-02 20:03:33 -08:00
Enrico Ros 2eb77f532a FormNumberInput: add number|undefined input 2026-03-02 20:03:30 -08:00
Enrico Ros 69063bb544 ExpanderControlledBox - allow compression (issue introduced by f21fe411 on the ChatPanelModelParameters with log model names) 2026-03-02 20:03:30 -08:00
Enrico Ros 7fad2f8790 LLMs/AIX: Parameters: Anthropic: max Fetch/Search depth. #1004 2026-03-02 14:58:46 -08:00
Enrico Ros 620275a1f5 Attachments: move GDrive/Web sources 2026-03-02 14:36:55 -08:00
Enrico Ros ba583fc448 Attachments: move buttons 2026-03-02 14:28:29 -08:00
Enrico Ros 0b96870644 Camera: share and rationalize use 2026-03-02 13:40:25 -08:00
Enrico Ros eb2b682eb5 Attachments: centralize components, make composible 2026-03-02 11:59:52 -08:00
Enrico Ros 577b52120a Update #984 2026-03-01 20:33:07 -08:00
Enrico Ros b69ae3edae Beam: raise max rays to 24, add 16 to presets. Fixes #1001 2026-03-01 20:30:43 -08:00
Enrico Ros 624b177996 Merge pull request #999 from enricoros/dependabot/github_actions/actions/upload-artifact-7.0.0
chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0
2026-03-01 20:30:07 -08:00
Enrico Ros bbf01b49c0 Merge pull request #998 from enricoros/dependabot/github_actions/actions/download-artifact-8.0.0
chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0
2026-03-01 20:29:42 -08:00
Enrico Ros 86b2d8ae71 LLMs: Anthropic PowerPoint -> PPT 2026-03-01 15:41:07 -08:00
dependabot[bot] d18af42d43 chore(deps): bump actions/upload-artifact from 6.0.0 to 7.0.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6.0.0 to 7.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/b7c566a772e6b6bfb58ed0dc250532a479d7789f...bbbca2ddaa5d8feaa63e36b76fdaad77386f024f)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 11:32:12 +00:00
dependabot[bot] 4f6e110bf9 chore(deps): bump actions/download-artifact from 7.0.0 to 8.0.0
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7.0.0 to 8.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/37930b1c2abaa49bbe596cd826c3c89aef350131...70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-28 11:32:08 +00:00
Enrico Ros 62cf334e2f AIX: Z.ai: handle their network errors 2026-02-28 02:12:02 -08:00
Enrico Ros 8bd6fd40fd Focus-mode for mobile 2026-02-28 01:59:16 -08:00
Enrico Ros f21fe41188 ExpanderControlledBox - fix lagging of content vs parent reveal
Instead of clipping on the Collapsee box, we just use it as the FR target
with a minHeight of 0; have the parent take the correct height, and clip all to the parent.
2026-02-28 01:29:08 -08:00
Enrico Ros cfff23164c Claude.md: CSF 2026-02-26 14:12:13 -08:00
Enrico Ros a8d9233dc4 Claude.md: improve in structure 2026-02-26 14:03:54 -08:00
Enrico Ros 9c973efbbf LLMs: Bedrock: support Converse API for Nova models 2026-02-26 03:39:44 -08:00
Enrico Ros e2c4255920 LLMs: Bedrock: hide inputs on prio 2026-02-26 02:52:47 -08:00
Enrico Ros e01b9ff6a9 LLMs: Bedrock: improve sort 2026-02-26 02:52:22 -08:00
Enrico Ros 0084a635f1 AIX: Debugger: fix URL display 2026-02-26 02:18:24 -08:00
Enrico Ros 0cd20b8d48 Update claude.md 2026-02-26 00:13:42 -08:00
Enrico Ros 7c4094b4c2 OpenAI Service config: rename provider when selecting the host 2026-02-25 23:52:44 -08:00
Enrico Ros acd8430d51 Models List: show free only 2026-02-25 23:50:15 -08:00
Enrico Ros 6ae2195d10 LLMs: add LLMAPI via OpenAI-Compatible and custom host. Fixes #993, Fixes #989. 2026-02-25 23:38:43 -08:00
Enrico Ros 6bcc0dd177 LLMs: Bedrock: auto-interfaces frmo model enumeration 2026-02-25 21:27:55 -08:00
Enrico Ros 2de42c2010 AIX/LLMs: Bedrock: support Mantle (OpenAI-compatible) including model enumeration. Fixes #965 2026-02-25 21:11:27 -08:00
Enrico Ros a231ccb492 LLMs: remove IF_OAI_Complete 2026-02-25 18:27:06 -08:00
Enrico Ros 35875d5837 AIX/LLMs: Bedrock: default to us-east-1 2026-02-25 17:13:59 -08:00
Enrico Ros c36ff1edfa AIX/LLMs: Bedrock: support Bedrock Long-term API Keys 2026-02-25 17:13:59 -08:00
Enrico Ros ed35d5b541 tRPC fetchers: improve local debug output 2026-02-25 17:13:59 -08:00
Enrico Ros 2b2a2d84a9 LLMs: Bedrock: report listModels issues up 2026-02-25 17:13:59 -08:00
Enrico Ros a645a4066c docs: bit 2026-02-25 17:13:58 -08:00
Enrico Ros 508a3beff7 CC: patch cd chaining 2026-02-25 14:26:37 -08:00
Enrico Ros df0c133056 AIX: OpenAI: fix return code 2026-02-24 23:25:06 -08:00
Enrico Ros 2da3942ce2 LLMs: OpenAI: Update models 2026-02-24 23:24:32 -08:00
Enrico Ros 26547dec0d Docs: update 2026-02-24 22:56:00 -08:00
Enrico Ros aa4804bdd5 Docs: update for bedrock 2026-02-24 22:46:00 -08:00
Enrico Ros eafa1f02cb AIX: Bedrock: update msg 2026-02-24 21:53:17 -08:00
Enrico Ros 836533a8c2 AIX: Bedrock: update icon 2026-02-24 21:49:30 -08:00
Enrico Ros cfeb134c20 AIX: Bedrock: disclaimer about unsupported functionality 2026-02-24 21:44:01 -08:00
Enrico Ros 35798b5568 AIX: Bedrock: bolster transformer 2026-02-24 21:43:47 -08:00
Enrico Ros 7a250f0848 AIX: Bedrock: chat generate. #965, #170, #980 2026-02-24 21:05:51 -08:00
Enrico Ros 0a4e6d5142 AIX: Anthropic: reuse model to beta 2026-02-24 20:45:22 -08:00
Enrico Ros f4254a5ffb LLMs: Bedrock: list models. #965 2026-02-24 20:35:45 -08:00
Enrico Ros 7b7718e578 LLMs: Anthropic: review headers 2026-02-24 20:35:39 -08:00
Enrico Ros c261b2b156 Bedrock: sigining utility (client and server compatible) 2026-02-24 17:44:24 -08:00
Enrico Ros 237065553e AIX: Anthropic: make beta headers reusable 2026-02-24 17:44:24 -08:00
Enrico Ros 6116af42df AIX: make createChatGenerateDispatch async 2026-02-24 17:44:24 -08:00
Enrico Ros 08b28cfde8 LLMs: IModelVendor: slight csf mention 2026-02-24 17:26:00 -08:00
Enrico Ros b019655518 LLMs: listModels: update dispatch 2026-02-24 17:14:40 -08:00
Enrico Ros 1264a2ebaf Icons: crab svg 2026-02-24 16:32:37 -08:00
Enrico Ros 1960b4f618 Wire: bits 2026-02-24 16:32:14 -08:00
Enrico Ros c75fbd89e6 Shortcuts: new symbols 2026-02-23 22:38:55 -08:00
Enrico Ros 3e67201665 Shortcuts: new modal 2026-02-23 22:34:52 -08:00
Enrico Ros b60e2bae65 LLM Params: bits2 2026-02-23 21:02:31 -08:00
Enrico Ros 19c7fa4285 LLM Params: bits 2026-02-23 20:58:56 -08:00
Enrico Ros f450dd3eac Models List: improve looks, content 2026-02-23 20:58:41 -08:00
Enrico Ros d366cdd542 BlockPartModelAux: render markdown and buttons appear at the end 2026-02-23 20:24:12 -08:00
Enrico Ros c1ba83fddb ViewDocPartModal/RenderCodePanelFrame: fix properties render on mobile (ellipsize) 2026-02-23 20:12:33 -08:00
Enrico Ros 617d6038b1 LLMs: LocalAI: restore n+1 render 2026-02-23 20:08:53 -08:00
Enrico Ros 0abee15c30 LLMs: LocalAI: safer parsing 2026-02-23 19:57:34 -08:00
Enrico Ros 1aa2e68e4a Merge pull request #982 from enricoros/dependabot/github_actions/docker/build-push-action-6.19.2
chore(deps): bump docker/build-push-action from 6.18.0 to 6.19.2
2026-02-23 15:49:53 -08:00
Enrico Ros cd692218ce Bits 2026-02-23 15:00:15 -08:00
Enrico Ros a5b7191185 DEV Mode: fully remove 2026-02-23 15:00:15 -08:00
Enrico Ros 56baba4cae DEV Mode: remove hardcoded leftover 2026-02-23 15:00:15 -08:00
Enrico Ros b696447be4 DEV Mode: graduated streaming 2026-02-23 15:00:15 -08:00
Enrico Ros e1ef2e72d7 ModelsList: Modal Submenus + DC-all config 2026-02-23 15:00:14 -08:00
Enrico Ros e85905e63c AIX Inspector: option to disable streaming for the current session. #980 2026-02-23 15:00:14 -08:00
Enrico Ros c6208a2900 CSF: global DC status 2026-02-23 12:14:04 -08:00
Enrico Ros 01299e4f19 CloseablePopup: workaround to keep the popup 2026-02-23 12:14:04 -08:00
Enrico Ros 1771575641 LLMs: services: type fix 2026-02-23 12:14:03 -08:00
Enrico Ros 88a796fd87 Tools: sweep: sync openai 2026-02-19 19:00:36 -08:00
Enrico Ros e403467d6d LLMs: Gemini 3.1 Pro. Fixes #987 2026-02-19 19:00:06 -08:00
Enrico Ros 1914a2a8a3 Tools: sweep: add sweeps for oai-thinking-depentent-temp 2026-02-18 17:19:37 -08:00
Enrico Ros 683892afef Tools: sweep: disable the no-temperature fix, as by default we don't set it, and it prevents our sweep with it 2026-02-18 17:19:37 -08:00
Enrico Ros 470f8aab70 LLMs: Together updates 2026-02-18 17:19:36 -08:00
Enrico Ros 7a561d6b42 LLMs: OpenPipe updates 2026-02-18 17:19:36 -08:00
Enrico Ros affff0df4a LLMs: Groq updates 2026-02-18 17:19:36 -08:00
Enrico Ros f5a81bdc94 LLMs: Gemini small updates 2026-02-18 17:19:36 -08:00
Enrico Ros 818ed53b53 LLMs: Sweep Alignment 2026-02-18 17:19:36 -08:00
Enrico Ros 12c875f4e3 AIX: OpenAI responses: fix for the older Deep Research models 2026-02-18 17:19:33 -08:00
Enrico Ros 6ff715c0f0 AIX: aixChatGenerateContent_DMessage_FromConversation: classify an errored outcome when the message is interrupted 2026-02-18 17:19:31 -08:00
Enrico Ros c4a89822d8 LLMs: typo 2026-02-18 15:51:18 -08:00
Enrico Ros a8a917f786 Roll AIX 2026-02-18 15:35:44 -08:00
Enrico Ros 3aa9a71a4b LLM Effort: split definition for UI namings with unified backend. #940 2026-02-18 14:55:00 -08:00
Enrico Ros 3758612ed6 LLMs: improve (Registry's) initialValue 2026-02-17 23:49:30 -08:00
Enrico Ros b71a4265f8 LLMs: dissolve requiredFallback 2026-02-17 23:07:55 -08:00
Enrico Ros 870cdb67cf Tools: sweep: update script and results 2026-02-17 22:21:03 -08:00
Enrico Ros 902c9dc3f4 AIX/LLMs: support search disablement client/server correctly 2026-02-17 22:20:59 -08:00
Enrico Ros 0d1db0a360 AIX: OpenAI Responses: remove forcing of no temperature, LLM_IF_HOTFIX_NoTemperature works well 2026-02-17 22:20:44 -08:00
Enrico Ros ddd784f041 LLM Effort: client-side domain check 2026-02-17 20:09:40 -08:00
Enrico Ros 830d45c06d LLM Effort: server-side dev check 2026-02-17 20:09:40 -08:00
Enrico Ros 6e27a31013 LLM Effort: Unified definition. #944, #940 2026-02-17 20:09:40 -08:00
Enrico Ros ed87595e17 LLMs: Anthropic: bit 2026-02-17 19:17:51 -08:00
Enrico Ros da01b59ae3 AIX: Anthropic: Effort is GA - no header needed 2026-02-17 19:17:51 -08:00
Enrico Ros 79046b808b AIX: Gemini: do not use alpha any longer 2026-02-17 19:17:51 -08:00
Enrico Ros 5a71153390 Custom Names: reset with warning. #970 2026-02-17 13:50:17 -08:00
Enrico Ros 94056cdf4b AutoBlocks: #983 option which does not improve things 2026-02-17 13:23:55 -08:00
Enrico Ros 41cb35c6b9 Custom Names: lingering. #970 2026-02-17 12:42:45 -08:00
Enrico Ros e133fc81f6 Custom Names: preserve. #970 2026-02-17 12:16:26 -08:00
Enrico Ros 418c2e496c LLMs: Anthropic: dMessageUtils 2026-02-17 12:01:46 -08:00
Enrico Ros 3690202b38 LLMs: Anthropic: Sonnet 4.6 2026-02-17 11:51:46 -08:00
Enrico Ros f069c2e5ab Fix: safe iteration over navItems.links in mobile nav
Fixes #984
2026-02-17 11:06:44 -08:00
dependabot[bot] 97bf6ca276 chore(deps): bump docker/build-push-action from 6.18.0 to 6.19.2
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.18.0 to 6.19.2.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/263435318d21b8e681c14492fe198d362a7d2c83...10e90e3645eae34f1e60eeb005ba3a3d33f178e8)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 6.19.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-14 11:32:12 +00:00
Enrico Ros a1390b152f CC: .gitignore 2026-02-13 18:55:05 -08:00
Enrico Ros 4e8c7d46f6 Cleanup: remove ems 2026-02-13 18:44:35 -08:00
Enrico Ros 02944d2015 AIX: Add no-op method for setting provider infra label 2026-02-13 18:41:49 -08:00
Enrico Ros 58726f0425 AIX: OpenRouter: provider infra label 2026-02-13 17:30:26 -08:00
Enrico Ros 85f796fb1d AIX: ContentReassembler: note 2026-02-13 16:46:47 -08:00
Enrico Ros 311a9c2bf2 Roll AIX 2026-02-13 15:58:27 -08:00
Enrico Ros 6768917d44 Bits 2026-02-13 15:56:52 -08:00
Enrico Ros 7beb412738 AIX: Report broken messages. #980 2026-02-13 15:56:50 -08:00
Enrico Ros cf724625cc AIX: CSF: emulate tRPC's client-side abort as a response to the abortSignal being fired. #980
This is because the exception gets actually trapped locally in the deeper layers
due to client-side processing, which then created a particle for the abort,
which then is never used because the outer will discard it without notice
2026-02-13 15:56:49 -08:00
Enrico Ros f60b2410dd AIX: do not fake logical ends. #980 2026-02-13 15:56:07 -08:00
Enrico Ros bbdc16b06a LLMs: Together.AI: fix wire parser 2026-02-13 12:11:38 -08:00
Enrico Ros 0fa2d06725 AIX: logging: bits 2026-02-13 12:08:04 -08:00
Enrico Ros 36cdc4b55f AIX: Parser: capitalized STOP reason 2026-02-13 12:04:25 -08:00
Enrico Ros c2b4a50bfa AIX: Retriers: consolidated denylist 2026-02-13 12:02:05 -08:00
Enrico Ros 73f88d4715 AIX: OpenRouter: don't log on empty reasoning 2026-02-13 12:01:52 -08:00
Enrico Ros af919be2ac AIX: store end reason - for further debug. #980 2026-02-12 16:31:41 -08:00
Enrico Ros facffbc6c8 AIX: require clean connection ends. #980 2026-02-12 16:31:41 -08:00
Enrico Ros dd5b7cb8c2 AIX: dispatch: increase debugging vendor-initiated disconnect. #980 2026-02-12 14:12:25 -08:00
Enrico Ros 3dc61109d7 AIX: Server: debug recovered packets 2026-02-12 01:34:10 -08:00
Enrico Ros 9ef84260b0 Z.ai: no bits 2026-02-11 22:09:54 -08:00
Enrico Ros cf2df7d7f9 Z.ai: dMessageUtils 2026-02-11 22:09:27 -08:00
Enrico Ros 16a883526b Z.ai: readme 2026-02-11 17:44:33 -08:00
Enrico Ros 7b66b1a2eb Z.ai: readme 2026-02-11 17:44:22 -08:00
Enrico Ros a4adce5c79 Z.ai: AIX: fix reasoning effort 2026-02-11 17:43:23 -08:00
Enrico Ros 9e4174df53 Z.ai: AIX: fix dispatch 2026-02-11 17:36:04 -08:00
Enrico Ros b5975713a3 Z.ai: OCR does not support WebP 2026-02-11 17:26:23 -08:00
Enrico Ros 0cd04266b7 Z.ai: improve model spec 2026-02-11 17:26:23 -08:00
Enrico Ros 5cbd162454 Z.ai: Reasoning settings support 2026-02-11 17:26:23 -08:00
Enrico Ros bea1600358 AIX: OpenAI ChatCompletions: empty reasoning_content yields to non-empty content 2026-02-11 17:26:22 -08:00
Enrico Ros 6a2e201cf5 Z.ai: discovered + curated models support 2026-02-11 17:26:22 -08:00
Enrico Ros 960551933e Z.ai LLM vendor support
Note: we don't include server-side config anymore starting from this. To stress test the config system.
2026-02-11 17:26:22 -08:00
Enrico Ros 8b38b6416d Z.ai: icon & sprite 2026-02-11 17:26:22 -08:00
Enrico Ros fac4c39f48 Fix copying of message Sources. Fixes #977. Fixes #978. 2026-02-11 13:02:32 -08:00
Enrico Ros 4c930efbf0 Fix GC on Beams with reference collectors. 2026-02-11 12:59:36 -08:00
Enrico Ros 5a2a47cb87 AIX: Anthropic: Fast mode - unsupported message 2026-02-10 13:31:28 -08:00
Enrico Ros 4912a03250 LLMs: Anthropic: Fast mode research preview 2026-02-10 13:22:47 -08:00
Enrico Ros 3b13580613 LLMs: parameter-value-based enum price multipliers 2026-02-10 13:04:05 -08:00
Enrico Ros 95905113ac LLMs: cached isLLMChatFree_cached 2026-02-10 12:17:21 -08:00
Enrico Ros c6b34bb252 LLMs: Parameters: type guard enums 2026-02-10 11:53:31 -08:00
Enrico Ros e5387c2323 AIX: Moonshot: remove empty messages 2026-02-10 11:07:09 -08:00
Enrico Ros d3b4447669 CLAUDE.md: update 2026-02-10 01:51:56 -08:00
Enrico Ros d5c5eac9ec CC: allow git mv 2026-02-10 01:51:56 -08:00
Enrico Ros 49b61495d0 LLMs: Vendor Settings: unbreak hide advanced despite initially in CSF. Fixes #969 2026-02-09 23:30:41 -08:00
Enrico Ros e8298e9d30 workflows: CC: enable auth 2026-02-09 13:41:23 -08:00
Enrico Ros b29681e1f7 workflows: CC: cleanups 2026-02-09 13:30:35 -08:00
Enrico Ros 1e0b9a2f0c workflows: CC: do not trigger triage on assignment 2026-02-09 13:08:45 -08:00
Enrico Ros 442b8e95b1 workflows: CC: lock in the dm 2026-02-09 12:53:10 -08:00
Enrico Ros 27090d9e28 -Spaces 2026-02-09 05:41:55 -08:00
Enrico Ros c37b4fa076 Chat: option to discard all reasoning traces 2026-02-09 04:51:42 -08:00
Enrico Ros 83161bbe98 AIX: Anthropic: Parser: hotfix for 4.6 to elide the double-newline at the beginning when present 2026-02-09 04:50:14 -08:00
Enrico Ros 4b166120e6 AIX: Anthropic: Dispatch: hotFix for 4.6 interleaved reasoning blocks back-to-back 2026-02-09 04:23:28 -08:00
Enrico Ros 04494ac752 AIX: Anthropic: Dispatch: hotFix for empty text blocks produced by 4.6 - incoming from the Anthropic API 2026-02-09 04:23:27 -08:00
Enrico Ros 979809ddb1 AIX: Anthropic: Parser: rename hotFix 2026-02-09 04:23:26 -08:00
Enrico Ros 5d797c3339 AIX: Anthropic: warn if blocks come out of order, now that Anthropic has fixed it 2026-02-09 04:22:35 -08:00
Enrico Ros 2ff74f6b80 Wire: separate debug wire request and response 2026-02-09 04:22:33 -08:00
Enrico Ros 06b1195f9a workflows: CC: triade with workarounds: restore some 2026-02-09 01:48:51 -08:00
Enrico Ros c337b70a42 LLMs: Anthropic: copy 2026-02-09 01:40:11 -08:00
Enrico Ros 5047354892 CC: /code:review-inflight bits 2026-02-09 01:40:11 -08:00
Enrico Ros ce4e405fc6 workflows: CC: r/o triage 2026-02-09 01:40:11 -08:00
Enrico Ros 30c8d66cd1 workflows: CC: update model 2026-02-09 01:38:37 -08:00
Enrico Ros fb5c8aad29 workflows: CC: update dm 2026-02-09 01:38:19 -08:00
Enrico Ros 08d221d00f Attachments: Text: warn if empty 2026-02-08 17:31:40 -08:00
Enrico Ros af918178f6 Attachments: Markdown table conversion issue fallback 2026-02-08 17:31:40 -08:00
Enrico Ros ed19896e3c LLMs: llms.parameters: remove 'as const' 2026-02-08 17:31:39 -08:00
Enrico Ros 47ad135e4b CC: slashcommands: update-models catch-all 2026-02-08 17:27:08 -08:00
Enrico Ros 0eff7825c8 CC: slashcommands: xAI Reponses API sync 2026-02-08 17:27:08 -08:00
Enrico Ros 5c8baee390 CC: /code:review-inflight 2026-02-07 13:46:01 -08:00
Enrico Ros 3f71facb49 CLAUDE.md: update 2026-02-07 13:46:01 -08:00
Enrico Ros eba42cc8f2 CLAUDE.md: dev env 2026-02-07 13:46:01 -08:00
Enrico Ros 53092cee51 CC: allow tsc, eslint 2026-02-07 13:46:01 -08:00
Enrico Ros 4bf621f128 LLMs: OpenAI GPT-5.3-Codex speculative support 2026-02-07 13:42:12 -08:00
Enrico Ros 33505dbb8e LLMs: Anthropic/OpenRouter: align behavior, align UI #962 2026-02-06 22:40:55 -08:00
Enrico Ros c81e1f144f AIX: OpenRouter: protocol bits 2026-02-06 20:56:39 -08:00
Enrico Ros ee788b967b Roll AIX 2026-02-06 20:11:10 -08:00
Enrico Ros 38ac8733f6 AIX: OpenRouter: comment on debug: too risky 2026-02-06 20:10:48 -08:00
Enrico Ros 737a20ee06 AIX: OpenRouter: enable the stricter 'require_parametrs' mode. #948 2026-02-06 20:05:05 -08:00
Enrico Ros 19f48b8001 AIX: OpenRouter: wires for OR debug parameters 2026-02-06 19:51:50 -08:00
Enrico Ros 3471d6b4f5 Roll AIX 2026-02-06 19:30:49 -08:00
Enrico Ros 2dc7ba72b3 AIX/LLMs: bits 2026-02-06 19:30:18 -08:00
Enrico Ros e12279dab0 AIX: Anthropic: show the US inference setting when on 2026-02-06 19:24:04 -08:00
Enrico Ros 2e0c79cb64 LLMs: OpenRouter: also inherit the initial temperature from upstreams 2026-02-06 19:19:33 -08:00
Enrico Ros aa697edb8c AIX: Anthropic: minor API changes 2026-02-06 19:18:54 -08:00
Enrico Ros c72e3c58dd AIX: Anthropic: allow US servers 2026-02-06 19:17:01 -08:00
Enrico Ros 1de30c8bd5 AIX: Anthropic: accomodate some API changes 2026-02-06 18:52:58 -08:00
Enrico Ros 3a8eea6fb7 Roll AIX 2026-02-06 18:37:05 -08:00
Enrico Ros b7fd0bdba7 LLMs: OpenRouter: auto-inherit configurable parameters from Anthropic, Gemini and OpenAI.
Fixes #948: OpenAI-through-OR verbosity is sync'd with OpenAI models.

Fixes #893: Gemini-through-OR parameters are synchronized with Gemini models

Fixes #940: OpenAI-through-OR reasoning effort is synced with OpenAI models and much improved. We will have to still fix #944 for OpenAI levels to be fully sync'd with upstream (in progress)
2026-02-06 18:27:38 -08:00
Enrico Ros 58457cac50 LLMs: OR/Anthropic: support effort and adaptive.
Fixes #962
2026-02-06 18:27:38 -08:00
Enrico Ros 0fbacee7dc LLMs: Anthropic: editable Max effort. #962 2026-02-06 18:27:38 -08:00
Enrico Ros a498f28d14 LLMs: Anthropic: support for max effort. #962 2026-02-06 18:26:07 -08:00
Enrico Ros 5b9c6a2d0e LLMs: Anthropic: support adaptive thinking correctly. #962 2026-02-06 18:26:07 -08:00
Enrico Ros 4c7f50ab98 LLMs: Anthropic: inline thinking budget 2026-02-06 18:26:07 -08:00
Enrico Ros ef03d33bbf LLMs: Anthropic: GA skills 2026-02-06 18:26:07 -08:00
Enrico Ros 22c9fc56c0 LLMs: Opus 4.6: naming 2026-02-06 18:26:07 -08:00
Enrico Ros c952fd734f LLMs: Opus 4.6: remove forcing 2026-02-06 18:26:07 -08:00
Enrico Ros 310e99af23 LLMs: Opus 4.6: sort order, unhide 4.5 2026-02-06 18:26:07 -08:00
Enrico Ros e78446904a Docker: remove broken command directive. Fixes #964 2026-02-06 18:25:24 -08:00
Enrico Ros 760e9d8279 CC: Anthropic: update sources of info 2026-02-06 18:25:24 -08:00
Enrico Ros 61a60c5b9f Markdown: bundle in main chunk instead of lazy-loading 2026-02-06 12:41:41 -08:00
Enrico Ros 3054e1b88d Node 24: add .nvmrc, drop 26 from engines 2026-02-06 12:41:41 -08:00
Enrico Ros 6f4fabf147 Claude Opus 4.6 baseline support 2026-02-05 12:02:21 -08:00
Enrico Ros b0c791a055 Sweep: bits 2026-02-05 03:35:40 -08:00
Enrico Ros 748991249a LLMs: OpenAI: Update tooling availabiltiy across models 2026-02-05 02:36:28 -08:00
Enrico Ros 1aea7122cc Sweep: improve detection of connection issues 2026-02-05 02:35:47 -08:00
Enrico Ros 9a83b428f1 AppBreadcrumbs: auto-ellipsize 2026-02-05 01:21:46 -08:00
Enrico Ros 2cd38bc02b Sweep: update baseline with improved OpenAI chatCompletion values. remove verbosity when the only value is medium (aka, no parameter) 2026-02-05 00:44:48 -08:00
Enrico Ros e586142190 AIX: OpenAI-compatible: ChatCompletions: support verbosity for all (not just openrouter) 2026-02-05 00:07:36 -08:00
Enrico Ros a10d0dcf5d LLMs: auto-inject image output 2026-02-05 00:07:36 -08:00
Enrico Ros 6fdff488a9 Sweep: neutered values 2026-02-05 00:07:36 -08:00
Enrico Ros 8af0d78127 Sweep: adapt to the interfaces like aix.client.ts 2026-02-04 23:07:21 -08:00
Enrico Ros 177686a7fc Sweep: add option to merge models instead of wiping the file 2026-02-04 23:01:40 -08:00
Enrico Ros 09b6e47036 Sweep: fix Responses interface application 2026-02-04 21:14:27 -08:00
Enrico Ros 704187ba3e Models Modal: change visibility 2026-02-04 20:49:39 -08:00
Enrico Ros 4ea8a06503 LLMs: auto-inject web search 2026-02-04 20:49:39 -08:00
Enrico Ros 80fcc7d3e3 Security: client-dominated credential isolation for OpenAI access 2026-02-04 20:09:16 -08:00
Enrico Ros a04c62da6f LLMs: OpenAI: fix verbosity (automated). Fixes #947 2026-02-04 19:57:50 -08:00
Enrico Ros fcb518a050 Security: prevent key exfil 2026-02-04 19:43:09 -08:00
Enrico Ros a222626933 CC: sweep: small note 2026-02-04 19:31:41 -08:00
Enrico Ros a3ceade738 Security: anti-dns-spoofing anthropic 2026-02-04 19:26:57 -08:00
Enrico Ros 51d58223b4 Sweep: more succinct output 2026-02-04 19:12:50 -08:00
Enrico Ros d37a603db2 LLMs: OpenAI: Auto 0-day Responses suport. Fixes e458bca1a. #937 2026-02-04 19:04:13 -08:00
Enrico Ros ea984f3ddf Security: anti-dns-spoofing matching 2026-02-04 18:49:31 -08:00
Enrico Ros a9d3e3dead CC: llms: verify-parameters 2026-02-04 18:49:31 -08:00
Enrico Ros 5499e57205 Tools: sweep: json: fold some sweeps into a 'tools' array 2026-02-04 17:45:50 -08:00
Enrico Ros 6f8ee0247f Tools: sweep: baselines 2026-02-04 17:33:23 -08:00
Enrico Ros 05ee5cc3d1 Tools: sweep: merge id-based parameters 2026-02-04 17:12:36 -08:00
Enrico Ros cb6b569330 Tools: sweep: remove unnecessary configs 2026-02-04 17:05:30 -08:00
Enrico Ros 53073ff109 Tools: sweep: remove opanti summary 2026-02-04 17:05:16 -08:00
Enrico Ros 26d362d7a6 Tools: sweep: partition per-dialect 2026-02-04 16:40:35 -08:00
Enrico Ros 91d99e1a63 Tools: sweep: improvements for Gemini and Anthropic, and to save/load of results 2026-02-04 16:17:19 -08:00
Enrico Ros a20917c971 Tools: sweep: incremental output save 2026-02-04 15:23:00 -08:00
Enrico Ros af9bf9e5b3 Tools: sweep: parallel support 2026-02-04 15:13:39 -08:00
Enrico Ros 46b473b8a0 Tools: sweep: Gemini sweeps. #953 2026-02-04 15:03:31 -08:00
Enrico Ros e2b4028223 Tools: sweep: only select from the predefined sweeps inside the config file, #944, #947, #953 2026-02-04 14:52:09 -08:00
Enrico Ros bac2a31782 Tools: sweep: add opeanai image generation and search tool presence, #944, #947, #953 2026-02-04 14:51:57 -08:00
Enrico Ros 3d20e6bf91 Tools: llm parameter sweep. #944, #947, #953 2026-02-04 14:12:44 -08:00
Enrico Ros 9337216092 tRPC fetchers: console logging on connect/response/parsing can be disabled via env 2026-02-04 14:12:44 -08:00
Enrico Ros cd35d0ca55 Add TSX as a dev dependency 2026-02-04 10:54:44 -08:00
Enrico Ros 6d591b98b8 Roll packages (deep) 2026-02-04 10:53:53 -08:00
Enrico Ros 486381ab9d Sprites: run the gen node native, as module 2026-02-04 10:34:14 -08:00
Enrico Ros c619b4debb ListItemGroupCollapser: sm everywhere 2026-02-04 01:35:55 -08:00
Enrico Ros 383a3085ec Chat Dropdown: adapt Optima Dropdown. #955 2026-02-04 01:03:18 -08:00
Enrico Ros 5a3bb3d817 Chat Dropdown: adapt llmSelect. #955 2026-02-04 01:03:02 -08:00
Enrico Ros d1ba758887 Chat Dropdown: reuse toggleable set and Collapser. #955 2026-02-04 00:55:39 -08:00
Enrico Ros 6fef149997 Sprites: port models-modal 2026-02-03 23:38:50 -08:00
Enrico Ros aad3b16ff2 Sprites: port useLLMSelect, Beam 2026-02-03 23:38:50 -08:00
Enrico Ros 819ba14523 Sprites: Generate and wire 2026-02-03 23:38:50 -08:00
Enrico Ros d3c25ca16a Sprites: update generator with class 2026-02-03 23:38:27 -08:00
Enrico Ros 99a65f72ac Sprites: generator update 2026-02-03 22:35:55 -08:00
Enrico Ros be9080d392 Sprites: generator 2026-02-03 22:35:55 -08:00
Enrico Ros f32d991413 Chat Dropdown: reusable parts. #955 2026-02-03 22:34:12 -08:00
Enrico Ros 94b68ebefa CloseablePopup: memo. #955 2026-02-03 22:33:35 -08:00
Enrico Ros 0450eaaceb CC: rel:release-open 2026-02-03 09:20:11 -08:00
Enrico Ros 408c5ce088 Readme: update counter 2026-02-02 17:13:13 -08:00
Enrico Ros d936629ead 2.0.3: update readme 2026-02-02 15:48:02 -08:00
Enrico Ros 9bd1a66208 2.0.3: update news 2026-02-02 15:43:30 -08:00
Enrico Ros 1a0c029ee8 2.0.3: update package 2026-02-02 15:26:53 -08:00
Enrico Ros e7be228703 Roll AIX 2026-02-02 15:16:57 -08:00
Enrico Ros 0ab4dc972f Dockerfile: suppress CopyIgnoredFile warning for whitelist-style .dockerignore 2026-02-02 15:16:15 -08:00
Enrico Ros 5f1ca8954f Force touch to doubleClick support (disabled) 2026-02-02 15:09:11 -08:00
Enrico Ros 3ec1b033ce BlockEdit_TextFragment: support 'xs' editing. #961 2026-02-02 14:47:56 -08:00
Enrico Ros 0caf27af9b LLMs: skip prod warning for connection errors, they're still shown in the router warnings in dev 2026-02-02 12:55:38 -08:00
Enrico Ros bd67e14fa4 Debug: Wire: off 2026-02-02 12:37:13 -08:00
Enrico Ros 494c3b542c AIX/LLMs: LMStudio: generic conversion 2026-02-02 12:26:36 -08:00
Enrico Ros 8e0884eb64 AIX/LLMs: LMStudio: convert WebP -> JPG instead 2026-02-02 12:21:54 -08:00
Enrico Ros 73c4dc4ac8 AIX/LLMs: support for WebP -> PNG conversion at the hotfix (pre-CGR) stage 2026-02-02 12:18:31 -08:00
Enrico Ros d77274058d LLMs: LMStudio: use native API for detailed model information 2026-02-02 12:07:45 -08:00
Enrico Ros 0c8460419b AIX: ImageContentPart: allow not detail 2026-02-02 11:34:10 -08:00
Enrico Ros eabb589390 AIX: relax error parsing to .error: { message: '..' } 2026-02-02 11:29:52 -08:00
Enrico Ros 62f860ae93 Debug: Wire: clip curl to 4096 inner 2026-02-02 11:26:57 -08:00
Enrico Ros 605aae873c Roll packages with net removal 2026-01-31 16:40:23 -08:00
Enrico Ros 62e9ee5b05 Roll react hook form which shall be even lighter 2026-01-31 16:32:02 -08:00
Enrico Ros d686f5d143 Roll verified changes 2026-01-31 16:26:44 -08:00
Enrico Ros 3922f232ae Roll some types and prettier 2026-01-31 16:22:31 -08:00
Enrico Ros 6735b438d3 Roll Next to fix CVE 2026-01-31 16:15:57 -08:00
Enrico Ros fb1e30ab32 Roll PostHog-node 2026-01-31 16:11:32 -08:00
Enrico Ros 0ec06edb57 Roll PostHog-js 2026-01-31 16:10:21 -08:00
Enrico Ros 2a52673c56 Merge pull request #959 from enricoros/dependabot/github_actions/docker/login-action-3.7.0
chore(deps): bump docker/login-action from 3.6.0 to 3.7.0
2026-01-31 16:09:49 -08:00
Enrico Ros cc20d00d8a Drive picker: improve token handling with expiration 2026-01-31 15:52:24 -08:00
Enrico Ros 3d9201f7dc Drive picker: add a button to close and reset 2026-01-31 15:12:26 -08:00
dependabot[bot] 176732a6c0 chore(deps): bump docker/login-action from 3.6.0 to 3.7.0
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/5e57cd118135c172c3672efd75eb46360885c0ef...c94ce9fb468520275223c153574b00df6fe4bcc9)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-version: 3.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-31 11:32:23 +00:00
Enrico Ros 39815b3af3 CustomMarkdownRenderer: reduce log 2026-01-31 03:13:46 -08:00
Enrico Ros bcce517089 Drive: token provider interface 2026-01-31 03:01:36 -08:00
Enrico Ros a4b50d0d97 OpenAI: Raise instancelimit to 10 2026-01-31 03:01:36 -08:00
Enrico Ros 2a124e7588 Drive: text bits 2026-01-30 20:04:24 -08:00
Enrico Ros a85556ab5b Attach content (docs, images, pdf, etc.) from Google Drive. Fixes #943 2026-01-30 19:18:58 -08:00
Enrico Ros cef93d6084 Attachments: cloud types 2026-01-30 17:00:57 -08:00
Enrico Ros 207e257778 AIX: Demuxers: add recovery of incomplete buffers and server-side logging 2026-01-30 14:23:29 -08:00
Enrico Ros 12203daa22 LLMs: New Heuristic model enumeration for the OpenAI protocol 2026-01-30 12:59:14 -08:00
Enrico Ros 27f8e9248d ModelsList: hidden LLMs get faded chips 2026-01-30 12:42:37 -08:00
Enrico Ros 51384dc984 AIX: remove unused OAI Realtime IF 2026-01-30 12:36:44 -08:00
Enrico Ros bc76cbb5ad Server-side fetchers: opt-in optional headers map 2026-01-30 11:55:18 -08:00
Enrico Ros 5a1ca83f6d Server-side fetchers: debug print headers 2026-01-30 11:50:27 -08:00
Enrico Ros c9f585f808 Server/Client Wire improvement, including listModels 2026-01-30 11:39:35 -08:00
Enrico Ros 9f559e1dbf LLMs: Groq: re-add SDAIA 2026-01-30 11:10:52 -08:00
Enrico Ros e458bca1a7 Revert "LLMs: OpenAI Responses API by default for new models. Fixes #937"
This caused all unknown models to default to the responses API.
We need heuristics for determining OpenAI vs OpenAI-compatible.

This reverts commit a6862d8c58.
2026-01-30 03:09:16 -08:00
Enrico Ros 43d2226019 AIX: Fix LiteLLM breakage 2026-01-30 02:01:21 -08:00
Enrico Ros 122bc34701 AIX: don't retry insufficient balance errors 2026-01-29 23:46:19 -08:00
Enrico Ros e01358e268 LRS: add back mmmu 2026-01-29 23:00:59 -08:00
Enrico Ros 847c84c3e6 LLMs: remove cbaMmmu 2026-01-29 22:39:47 -08:00
Enrico Ros b11cac4328 LLMs: sync CB 2026-01-29 22:31:09 -08:00
Enrico Ros f617b06109 LLMs: copy over initialtemperature if/when available on a per-model basis for 'fromManualMapping' 2026-01-29 22:31:08 -08:00
Enrico Ros 345ccf3369 DLLM/ModelDescription: remove trainigDataCutoff: not used anymore in this day and age 2026-01-29 21:43:03 -08:00
Enrico Ros d111b8af62 LLMs: Update XAI verified 2026-01-29 21:23:43 -08:00
Enrico Ros 8f964c5c49 LLMs: Update OpenPipe 2026-01-29 21:22:34 -08:00
Enrico Ros b6f3f4538f LLMs: Update OpenAI Instant models 2026-01-29 21:22:02 -08:00
Enrico Ros f6dd30d5d8 LLMs: Update Mistral 2026-01-29 21:21:12 -08:00
Enrico Ros af8b79f849 LLMs: Update Groq 2026-01-29 21:20:24 -08:00
Enrico Ros 0cfccc423b LLMs: Update Gemini (deprecations) 2026-01-29 21:17:40 -08:00
Enrico Ros f9a5d582d4 LLMs: Update Ollama 2026-01-29 21:14:25 -08:00
Enrico Ros 684e00d594 Model Services: bits2 2026-01-29 21:08:20 -08:00
Enrico Ros 3cd2df0b50 Model Services: Duplicates removal 2026-01-29 21:01:44 -08:00
Enrico Ros 02197f4ee6 OpenAI: fix sequence number validation - broken by LiteLLM. Fixes #957 2026-01-29 13:49:46 -08:00
Enrico Ros f9049a3fea ModelsWizard: fix build 2026-01-29 13:36:05 -08:00
Enrico Ros 462bddc271 Model Service: Service menu 2026-01-29 13:16:25 -08:00
Enrico Ros f79000cf39 Model Service: 3 dots button 2026-01-29 13:16:25 -08:00
Enrico Ros 1d95273f4d Models Refetch: update icon 2026-01-29 13:16:25 -08:00
Enrico Ros 6c4579f434 LLM Duplication copy 2026-01-29 13:16:25 -08:00
Enrico Ros 4ef56ade21 LLMs: OpenAI: default 5.2 to medium, since we have the no-thinking model too 2026-01-29 13:05:16 -08:00
Enrico Ros 7c1369d6e9 LLM Store: allow for removal/reset service-wide 2026-01-29 13:05:16 -08:00
Enrico Ros 533d54b106 LLM Options: reflect status elsewhere 2026-01-29 12:36:33 -08:00
Enrico Ros cce0ca6560 LLM Options: Clone advanced. #941 2026-01-29 12:36:01 -08:00
Enrico Ros e87ce2593c LLM Options: bits 2026-01-29 12:32:32 -08:00
Enrico Ros 431dc8b667 LLM Temperature: allow for Vendor-set no temperature (future) 2026-01-29 12:32:32 -08:00
Enrico Ros 5caf614bf7 LLM Clones: correctly group services when updating, inserting custom models 2026-01-29 12:32:32 -08:00
Enrico Ros ecf9703570 LLM Clones: User can create clones. #941 2026-01-29 12:32:32 -08:00
Enrico Ros e7641393a0 LLMParametersEditor: fix controlled component 2026-01-29 12:32:31 -08:00
Enrico Ros 2201f6ff5a ModelsList: memo feature chips 2026-01-29 12:31:59 -08:00
Enrico Ros 557e1ce293 Clipboard Content Transform: fix copying of code 2026-01-29 11:10:56 -08:00
Enrico Ros cbe9a6b9a5 LLMOptions: style a bit 2026-01-29 00:36:16 -08:00
Enrico Ros 9bbcb038d4 LLMOptions: launch purpose (not on) 2026-01-29 00:28:28 -08:00
Enrico Ros 3602204420 LLMOptions: add commands 2026-01-28 23:52:10 -08:00
Enrico Ros 6f485e5589 GoodModal: shrink on xs 2026-01-28 23:49:29 -08:00
Enrico Ros 2f46a3dfaf LLM Options: Details/Override 2026-01-28 17:45:39 -08:00
Enrico Ros 267845bba3 LLM Options: LLM actions 2026-01-28 17:21:52 -08:00
Enrico Ros 6f33a8eebf LLMs: improve variants handling across the board. #941 2026-01-28 17:03:59 -08:00
Enrico Ros b0d2b09a2e AIX: Fix show injector 2026-01-28 17:03:58 -08:00
Enrico Ros c699b6b16b OpenAI: add a no-thinking variant for GPT-5.2, which allows to change temperature. #941 2026-01-28 17:03:58 -08:00
Enrico Ros 1789bac28d Roll AIX 2026-01-28 03:21:30 -08:00
Enrico Ros 60c05f615f AIX Debugger: unfiler 2026-01-28 03:02:12 -08:00
Enrico Ros bd84523671 LLMs: Gemini: removed models 2026-01-28 02:48:58 -08:00
Enrico Ros eb21b9c770 Speex: open config if closed 2026-01-28 02:42:24 -08:00
Enrico Ros ff3ac11afb LLMParametersEditor: survive undefined temperature 2026-01-28 02:23:39 -08:00
Enrico Ros 1ef8c3d02b LLMs: Gemini: temperature defaults to 1.0 and can be changed 2026-01-28 02:01:55 -08:00
Enrico Ros 2ebaf6279b AIX: Injector: works well 2026-01-28 01:42:50 -08:00
Enrico Ros a5ee40e184 Speex: fix build 2026-01-28 01:15:56 -08:00
Enrico Ros b17a97eac7 AIX: request body injection. #953 2026-01-28 01:09:32 -08:00
Enrico Ros 63908bfaf6 Speex: update README 2026-01-27 23:53:27 -08:00
Enrico Ros 3f9a419a19 Speex: +Inworld Config 2026-01-27 23:50:33 -08:00
Enrico Ros bae691e33e Speex: +Inworld 2026-01-27 23:50:33 -08:00
Enrico Ros 91539346ee Speex: Fix #624 2026-01-27 22:08:39 -08:00
Enrico Ros 4842ca81b3 Speex: Cancellable preview 2026-01-27 22:08:38 -08:00
Enrico Ros 9c77a1a4ab Speex: Chunk test: remove button 2026-01-27 22:08:36 -08:00
Enrico Ros 4af284be42 Speex: prevent voice/engine mismatch 2026-01-27 22:08:15 -08:00
Enrico Ros 6aec68bb3c Speex: fix unlimited chunking 2026-01-27 22:08:15 -08:00
Enrico Ros d4e2b0834f Speex: allow inner calls, for bytes access 2026-01-27 20:23:10 -08:00
Enrico Ros 24c2702f96 Speex: ghost key to 'tts' for remembering the pass 2026-01-27 20:18:05 -08:00
Enrico Ros 4691fc9bad Speex: pre-wrap errors 2026-01-27 20:17:58 -08:00
Enrico Ros 8c6c60b6f1 Speex: fix webspeech voice selection 2026-01-27 20:17:02 -08:00
Enrico Ros bc482407fe Speex: overhaul for chunking and future synchroniciy / controllability 2026-01-27 20:11:49 -08:00
Enrico Ros ff05593db8 AudioAutoPlayer: handler for any streaming or full-file play, with stop and await ending 2026-01-27 20:11:49 -08:00
Enrico Ros 3d304d9374 AudioLivePlayer: extra safety 2026-01-27 20:11:49 -08:00
Enrico Ros 1734f0c2f1 AudioLivePlayer: extra safety, if stop was called already, waitForPlaybackEnd would return immediately 2026-01-27 19:38:48 -08:00
Enrico Ros 1b25e5df85 AudioLivePlayer: anti-leak the objectUrl and resolve wait on stop 2026-01-27 19:38:48 -08:00
Enrico Ros ea8eb32b0b AudioLivePlayer: await until done 2026-01-27 19:38:48 -08:00
Enrico Ros 614a1f95de AudioPlayer: improve straight play function 2026-01-27 19:38:48 -08:00
Enrico Ros d36bc28914 blobUtils: combine arrayBuffers 2026-01-27 19:38:48 -08:00
Enrico Ros deec48d7c1 CC: enable gh issues list 2026-01-27 19:38:48 -08:00
Enrico Ros b318ec8d39 Merge pull request #951 from jayrepo/patch-3
Add middleware.ts to docker image
2026-01-26 23:11:08 -08:00
Jay Chen b4b0e2befc Update .dockerignore 2026-01-27 14:22:22 +08:00
Enrico Ros 51d3fe13da Roll AIX 2026-01-26 19:51:41 -08:00
Enrico Ros 58220216d3 LLMs/AIX: support for Kimi Thinking On/Off 2026-01-26 19:43:06 -08:00
Enrico Ros cac75cca42 LLMs: Detail Kimi-K2.5 2026-01-26 19:24:09 -08:00
Enrico Ros 47f247907f LLMs: Add Kimi-K2.5 2026-01-26 18:57:50 -08:00
Enrico Ros 81e04b7322 ChatDrawer: buckets: fewer splits, more stability 2026-01-25 19:39:05 -08:00
Enrico Ros 56a964b700 AIX debugger: highlight non-conversation frames 2026-01-25 19:37:44 -08:00
Enrico Ros 458341d79f AIX debugger: don't auto-advance frame for support operations 2026-01-25 19:37:43 -08:00
Enrico Ros d1d212b075 Copy: intercept to others too 2026-01-24 20:24:52 -08:00
Enrico Ros 59c9996489 LLM Params update: TS improvements 2026-01-24 19:33:25 -08:00
Enrico Ros bf8221a2f1 LLM Params update: MDS with int (not float) 2026-01-24 19:33:25 -08:00
Enrico Ros 787a11a040 LLM Params system: Improve types definition 2026-01-24 19:33:25 -08:00
Enrico Ros 05d114be2f Copy: redo visual copy and copy interception (Ctrl+c, etc) for Plain text and HTML 2026-01-24 19:33:25 -08:00
Enrico Ros 3c04a7dbac Copy: also disable copy of collapsed Expanders 2026-01-24 19:33:25 -08:00
Enrico Ros 1673e1148d Copy: annotate what to Not copy 2026-01-24 19:33:25 -08:00
Enrico Ros de416b035d Copy: remove overlay copy button on the message 2026-01-24 19:33:25 -08:00
Enrico Ros 08aaf2989d Beam: always show model selector for Custom fusion 2026-01-24 15:49:54 -08:00
Enrico Ros a50964060c Stop ResizeObserver issue notifications 2026-01-24 15:41:41 -08:00
Enrico Ros 54b6108719 Beam: hide Merge Model selector for Custom fusion 2026-01-24 15:32:58 -08:00
Enrico Ros 585e5c254a Roll AIX 2026-01-23 11:42:32 -08:00
Enrico Ros 477808c9bb AIX: OAI Responses: allow 'failed' on web_search_call 2026-01-23 11:42:22 -08:00
Enrico Ros 6c58a2b688 AIX: OAI Responses: allow 'failed' on web_search_call 2026-01-23 11:42:10 -08:00
Enrico Ros c9854bf30f LLMs: OpenAI: partial Reasoning Effort updates. #944 2026-01-23 11:28:03 -08:00
Enrico Ros cfed4bbd41 LLMs: OpenAI: remove restore markdown on GPT-5 models 2026-01-23 11:20:53 -08:00
Enrico Ros 2dd6485b0e LLMParametersEditor: align to XAI X search default off 2026-01-23 11:19:32 -08:00
Enrico Ros bf1dd5b860 LLMs: Toggle code execution in Params Editor only (not quick) 2026-01-23 10:52:32 -08:00
Enrico Ros 765c373f7d LLMs: OAI: allow code execution 2026-01-23 10:52:32 -08:00
Enrico Ros 32d752e82b LLMs: OAI Responses: (unused) parameter for OpenAI code execution 2026-01-23 10:35:58 -08:00
Enrico Ros 4623e438fa AIX: OAI Responses: code interpreter Hosted tool def 2026-01-23 10:35:08 -08:00
Enrico Ros 8a44ff396f AIX: XAI: relax annotation title presence 2026-01-23 10:16:59 -08:00
Enrico Ros 086d7ecae4 Speex: TTS character limit settings. Fixes #942 2026-01-23 10:05:35 -08:00
Enrico Ros d6adebb711 Attachment buttons: full name in tooltip. Fixes #946 2026-01-23 09:55:29 -08:00
Enrico Ros 8325fe7b3c Roll AIX 2026-01-23 09:29:41 -08:00
Enrico Ros 7cf83f878b AIX: XAI: Response API Request + wiretypes. Fixes #938 2026-01-23 04:29:13 -08:00
Enrico Ros 597ba26424 AIX: Code Executor wires 2026-01-23 04:29:06 -08:00
Enrico Ros 7bccea47f5 AIX: OpenAI Responses: parse Code Execution and Custom Tools 2026-01-23 04:29:06 -08:00
Enrico Ros 5770116779 DMessage: Code Executor 2026-01-23 04:29:06 -08:00
Enrico Ros 0679144f69 LLMs/AIX: XAI new parametrization 2026-01-23 04:29:05 -08:00
Enrico Ros c9fd288b52 AIX: OpenAI chatCompletions: remove obsolete X search params 2026-01-23 04:16:52 -08:00
Enrico Ros 9ae449fcfd LLMs: type check server params against the client params def 2026-01-23 00:46:07 -08:00
Enrico Ros 249f67f796 AIX: improve dispatch messaging validation for 4 protocols 2026-01-23 00:46:07 -08:00
Enrico Ros e91c0bb554 AIX: stripUndefined 2026-01-23 00:28:05 -08:00
Enrico Ros 5e306d9598 AIX: XAI: models update 2026-01-23 00:25:33 -08:00
Enrico Ros 42ebc81cbb AIX: XAI: models update 2026-01-22 23:56:11 -08:00
Enrico Ros f624c37db5 AIX: XAI: models update 2026-01-22 17:51:03 -08:00
Enrico Ros 22b6f42936 AIX: OAI: Responses wiretypes changes 2026-01-22 17:25:54 -08:00
Enrico Ros 760c66cac8 Attachments: reposition menu to see the tokens bar 2026-01-22 17:18:08 -08:00
Enrico Ros 1d91e9da03 Attachments: client-side Markdown conversion and Text/HTML cleanup & Markdown conversion 2026-01-22 17:17:57 -08:00
Enrico Ros 7eac409ec6 AIX: XAI: model removal 2026-01-22 13:54:36 -08:00
Enrico Ros 128558420c AIX: XAI: model validation 2026-01-22 13:54:17 -08:00
Enrico Ros ca3e664690 AIX: spill part type cleanup 2026-01-22 13:12:29 -08:00
Enrico Ros 7eb37462d7 LLMs: update ollama models 2026-01-22 03:06:17 -08:00
Enrico Ros 31e02c2d39 CC: slashcommands: update llms:ollama 2026-01-22 03:02:55 -08:00
Enrico Ros 003a68b9b8 CustomMarkdownRenderer.tsx: allow for <br/> tags inside Table Cells. Fixes #939 2026-01-22 02:14:42 -08:00
Enrico Ros f418708389 AIX: Inspector: improve render 2026-01-22 01:55:14 -08:00
Enrico Ros d23a564035 AIX: Inspector: reassembler 'transport' data and ui 2026-01-22 01:45:20 -08:00
Enrico Ros 7fe586244c AIX: Inspector: debugger object client sync 2026-01-22 01:38:33 -08:00
Enrico Ros f1a597cdc6 AIX: move Inspector frames selector 2026-01-22 01:36:54 -08:00
Enrico Ros 9b68c8f58c CC: slashcommands: update llms:ollama 2026-01-22 01:06:11 -08:00
Enrico Ros be5b57ea71 LLMs: shared model definition validators 2026-01-22 00:54:00 -08:00
Enrico Ros 425c82f26d CC: slashcommands: improve parsing of ollama models 2026-01-22 00:08:07 -08:00
Enrico Ros 942421c1fb LLMs: together: fix key validation 2026-01-21 23:52:15 -08:00
Enrico Ros b1184f6928 AIX: CSF: also support client-side exceptions 2026-01-21 23:39:10 -08:00
Enrico Ros ffeb6d1b98 LLMs: models bits 2026-01-21 23:34:31 -08:00
Enrico Ros b2718b56b7 CC: shashcommands: improve kimi 2026-01-21 23:16:57 -08:00
Enrico Ros 455f834957 CC: allow llms:update 2026-01-21 23:05:56 -08:00
Enrico Ros 8a14c80ff8 CC: slashcommands: llms:groq update 2026-01-21 23:04:09 -08:00
Enrico Ros e268e733c7 LLMs: Groq: overlap check 2026-01-21 23:03:29 -08:00
Enrico Ros 8933a8dfb3 LLMs: Gemini: deprecations 2026-01-21 22:53:15 -08:00
Enrico Ros 9796cc525c LLMs: xAI verified 2026-01-21 22:37:11 -08:00
Enrico Ros cdbf9a9190 Speex: CSF support - auto-detected from linked services - client-unbundled-dynamic 2026-01-21 18:38:43 -08:00
Enrico Ros c26792292d Speex: extract rpc common core 2026-01-21 18:14:03 -08:00
Enrico Ros 4698e0ee03 LLMs: OpenAI: remove /v1/ from the user input, to immedialy give feedback on the correct way of doing it 2026-01-21 16:58:57 -08:00
Enrico Ros 68afcb2f4b AIX: OpenAI: disable reasoning summaries when disabling Streaming as well. Fixes #932 2026-01-21 16:52:36 -08:00
Enrico Ros e8f61e46e3 AIX: Fetchers: don't retry on 'request too large' 2026-01-21 16:22:50 -08:00
Enrico Ros 317bb2b7c8 useLLMSelect: preserve scrolling on cat toggle 2026-01-21 16:00:43 -08:00
Enrico Ros d1b3c6b468 ContentFragments: improve zero state add text look. #934 2026-01-21 16:00:42 -08:00
Enrico Ros b35eccc984 AIX: increase resilience to new values across 3 parsers. Fixes #918
Note: relaxed throws on Anthropic and Gemini (all throws), while on OAI-Responses we are raising to throws in dev.
2026-01-21 15:08:17 -08:00
Enrico Ros a780c92047 AIX: speculative support for keepalives on chatCompletions API. Fixes #918 2026-01-21 14:36:40 -08:00
Enrico Ros 5fc65698ba Collapsible Model Groups, #936 2026-01-21 14:10:30 -08:00
Enrico Ros c923b5ec4c Restyle llm select model groups #936 2026-01-21 13:36:43 -08:00
Enrico Ros 609b2b9a7b Group models correctly by service in Beam drop down list. Fixes #936 2026-01-21 13:36:31 -08:00
Enrico Ros a257278004 dMessageUtils: OSB 2026-01-21 13:15:26 -08:00
Enrico Ros 273daed634 Chat Messages: label heuristic to ignore the vendor-N- 2026-01-21 13:13:49 -08:00
Enrico Ros a6862d8c58 LLMs: OpenAI Responses API by default for new models. Fixes #937 2026-01-21 13:07:58 -08:00
Enrico Ros 323e5b4ea7 LLMs: OpenAI OSB speculative support 2026-01-21 13:06:47 -08:00
Enrico Ros 89217a5308 CC: allow gh issue view 2026-01-21 13:03:05 -08:00
Enrico Ros a45e995d2f AIX: OpenRouter: improve reasoning through OpenAI-completions across models. Fixes #893 2026-01-20 11:32:11 -08:00
Enrico Ros 8700b4c8ca Roll AIX 2026-01-20 02:07:55 -08:00
Enrico Ros 1f7f5fb488 Data (personas): more concise default 2026-01-20 01:43:45 -08:00
Enrico Ros afde8ee864 LLMs: OpenRouter: 'verbosity' support for OpenAI gpt-5 models, and Anthropic Claude Opus 4.5 (remapped to reasoning effort by OpenRouter). Fixes #927 2026-01-20 01:42:54 -08:00
Enrico Ros 3884c26b15 LLMs: OpenAI: Reviewed 5.1 Instant / 5.2 Params support. Closes #930 2026-01-20 01:21:45 -08:00
Enrico Ros 24dce7eae9 LLMs: further improve the LLMParametersEditor's sync with the dialog. #926 2026-01-20 01:09:04 -08:00
Enrico Ros 1db4e9b771 LLMs: Anthropic: Fix Effort in the LLM Options Dialog. Fixes #926 2026-01-20 00:31:39 -08:00
Enrico Ros b2ed7eae00 CC: CMDs: llms:align-params-uis 2026-01-20 00:31:39 -08:00
Enrico Ros 3169fd67e8 LLMs: OpenRouter: fix Antrhopic thinking models. Fixes #925 2026-01-20 00:15:00 -08:00
Enrico Ros 773ceb1396 Tools: data/llm: remove obsolete registry 2026-01-19 23:40:56 -08:00
Enrico Ros 8c62ee1720 LLMs/AIX: fully remove moderation
Doesn't seem to be used anymore by anyone, nor was active in the code
2026-01-19 23:32:15 -08:00
Enrico Ros 5fa1f52922 LLMs: openai service setup: bits 2026-01-19 23:09:20 -08:00
Enrico Ros d2180c010c LLMs: Helicone: start unformize 2026-01-19 22:42:16 -08:00
Enrico Ros b73df7b2ce LLMs: OpenAI: Autocomplete + suggest hosts for Chutes, Fireworks, Novita. #921 2026-01-19 22:42:16 -08:00
Enrico Ros 971f737846 LLMs: support Novita.ai models with capability auto-detection. #921 2026-01-19 22:39:32 -08:00
Enrico Ros a393353907 LLMs: Azure: rename custom field 2026-01-19 22:39:32 -08:00
Enrico Ros 751f609554 LLMs: OpenAI: unify paths 2026-01-19 22:39:31 -08:00
Enrico Ros e8cd5c6552 LLMs: Ant: unify paths 2026-01-19 22:39:31 -08:00
Enrico Ros 86e387b270 LLMs: allow OpenAI/Azure OpenAI services renaming. Fixes #922 2026-01-19 15:54:13 -08:00
Enrico Ros 32f15aa621 FormTextField: allow for end decorator 2026-01-19 15:54:13 -08:00
Enrico Ros bfc889a9e5 LLMs: fix reset of non-declared params at models update. Fixes #924 2026-01-19 14:53:46 -08:00
Enrico Ros bd907625a8 UpDate 2026-01-15 17:48:00 -08:00
Enrico Ros 60004926d7 Recommend DC (CSF) for Local services 2026-01-15 16:28:00 -08:00
Enrico Ros ac751dfd1a Roll AIX 2026-01-14 16:42:06 -08:00
Enrico Ros 6828eee17f LLMs: Perplexity: sync 2026-01-14 16:40:01 -08:00
Enrico Ros 19c97f397b LLMs: OpenAI: sync a GPT Audio model 2026-01-14 16:38:32 -08:00
Enrico Ros 0167a8bdd8 LLMs: Mistral: update 2026-01-14 16:36:31 -08:00
Enrico Ros 93e5044603 LLMs: Groq: strings 2026-01-14 16:36:19 -08:00
Enrico Ros 024d930677 LLMs: Gemini: small update 2026-01-14 16:35:22 -08:00
Enrico Ros 98873446a8 LLMs: Ollama: update tags 2026-01-14 16:35:15 -08:00
Enrico Ros 5318b7a406 OCR: cache tesseract's import 2026-01-14 16:30:57 -08:00
Enrico Ros 4a6c3cbcd2 Roll AIX 2026-01-14 15:41:58 -08:00
Enrico Ros ac0a39c202 LLMs: OpenAI: GPT-5.2 Codex support 2026-01-14 15:40:40 -08:00
Enrico Ros 88d39345a5 Attachments: PDF: add a PDF->OCR (via interim images) and an 'Auto' (default)
The Auto mode tries plain Text, then Text to Images to OCR, then falls back to pure images.
2026-01-14 15:09:40 -08:00
Enrico Ros 7aa9cb07b2 OCR: extract util functions 2026-01-14 13:18:44 -08:00
Enrico Ros ef30c8d28d Tesseract: roll package 2026-01-14 13:17:11 -08:00
Enrico Ros 2727f690b4 Attachments: PDFs: use Density to attach images 2026-01-14 10:59:43 -08:00
Enrico Ros 5945c24301 Speex: RPC: fallback to full buffer play if streaming is unavailable (Firefox) 2026-01-14 10:32:41 -08:00
Enrico Ros 7b6aff1f95 AudioLivePlayer: Firefix doesn't support MPEG streaming 2026-01-14 10:32:39 -08:00
Enrico Ros cb0fe3aadd AIX: OpenAI Responses: support for keepalive packets 2026-01-13 19:39:47 -08:00
Enrico Ros 4f9d69f9c2 AIX: Anthropic: Fix for out-of-order block start. Fixes #917 2026-01-12 16:40:16 -08:00
Enrico Ros c18aeabe06 CC: changelog cmd update 2026-01-12 04:18:02 -08:00
Enrico Ros 550742323a CC: changelog cmd 2026-01-12 04:02:17 -08:00
Enrico Ros c71f789a08 Draw PromptComposer: fix for CJK 2026-01-12 03:44:00 -08:00
Enrico Ros a9b4b195bf Extend #916 to InlineTextArea and editing of a Text Fragment 2026-01-12 03:37:02 -08:00
Enrico Ros 52e8177f42 Simplify #916 2026-01-12 03:36:33 -08:00
Enrico Ros b0743efc48 Merge branch 'fork/tantanorange/feat/bug-Input-Method-Editor' 2026-01-12 03:30:25 -08:00
Enrico Ros 6dfd652dac LLMParametersEditor: shrink label 2026-01-12 03:23:42 -08:00
Enrico Ros 3f93cb2e6d Phone: work over an empty conversation id 2026-01-12 03:11:49 -08:00
Enrico Ros 8f7b9b7f19 Optima Page Heading: support disabled 2026-01-12 02:10:38 -08:00
Enrico Ros abff89ab6b CC: ignore temp files 2026-01-12 02:10:20 -08:00
tantanorange d4f03f743a bug(issue-784): fixed 'Enter' trigger unexpected Chat under Iput Method Editor. 2026-01-11 18:32:55 -08:00
Enrico Ros c3714f6651 Camera Capture: darker 2026-01-10 15:20:30 -08:00
Enrico Ros 9b4d0ddf2f Merge pull request #913 from enricoros/dependabot/github_actions/actions/download-artifact-7.0.0
chore(deps): bump actions/download-artifact from 4.3.0 to 7.0.0
2026-01-10 14:46:32 -08:00
Enrico Ros 2c9ac2f549 Merge pull request #914 from enricoros/dependabot/github_actions/actions/upload-artifact-6.0.0
chore(deps): bump actions/upload-artifact from 4.6.2 to 6.0.0
2026-01-10 14:46:20 -08:00
dependabot[bot] c1292de2a0 chore(deps): bump actions/upload-artifact from 4.6.2 to 6.0.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.6.2 to 6.0.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/ea165f8d65b6e75b540449e92b4886f43607fa02...b7c566a772e6b6bfb58ed0dc250532a479d7789f)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-10 11:54:05 +00:00
dependabot[bot] 21d5e4cd29 chore(deps): bump actions/download-artifact from 4.3.0 to 7.0.0
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.3.0 to 7.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/d3f86a106a0bac45b974a628896c90dbdf5c8093...37930b1c2abaa49bbe596cd826c3c89aef350131)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-10 11:54:01 +00:00
Enrico Ros a9495a3e15 Roll eslint 2026-01-09 19:47:24 -08:00
Enrico Ros bff5b3d765 Roll posthog 2026-01-09 19:46:49 -08:00
Enrico Ros a4ff37eecc Roll safe packages 2026-01-09 19:40:14 -08:00
Enrico Ros 460209f486 GH Actions: fix manifest format 2026-01-09 17:36:28 -08:00
Enrico Ros 96c68c86a4 GH Actions: fix tag case 2026-01-09 17:16:22 -08:00
Enrico Ros 8b152fdff8 GH Actions: improve parallelism of the docker image build 2026-01-09 17:10:53 -08:00
Enrico Ros 25c9a52873 Dependabot: basic configuration 2026-01-09 16:40:28 -08:00
Enrico Ros 44302d903c CC Actions: checkout v6 2026-01-09 16:24:31 -08:00
Enrico Ros c7b8668609 GH Actions: docker-image: pin versions 2026-01-09 14:36:28 -08:00
Enrico Ros 7d60df6266 Docker: save 0.5GB 2026-01-09 14:27:04 -08:00
Enrico Ros b7f898a5e5 Docker: move to Node 24 and cleanup. #907 2026-01-09 13:55:02 -08:00
Enrico Ros 04c4dbe4b8 Docker: remove compose version 2026-01-09 13:53:31 -08:00
Enrico Ros 8d04c494df Docker: negate .dockerignore 2026-01-09 13:53:31 -08:00
Enrico Ros a6aadf76f3 Revert "Fix Node 25 build..." - breaks other Node versions.
This reverts commit b70d57d878.
2026-01-09 13:53:30 -08:00
Enrico Ros a685ef97bf AIX: chatGenerate executor: object-string-ellipsize when replaying input (received from the llm) 2026-01-09 13:36:06 -08:00
Enrico Ros d46c29689f AIX: OpenRouter: support image generation through OpenAI's OR-extended API, including supporting advanced Gemini params. Fixes #906 2026-01-09 13:36:06 -08:00
Enrico Ros 65ce07395b Fix drag-to-update on mobile 2026-01-09 13:36:06 -08:00
Enrico Ros cc1542fe95 Wire: improve debug print with object-ellipsize-strings 2026-01-09 13:36:06 -08:00
Enrico Ros b70d57d878 Fix Node 25 build, by using --no-webstorage with node - otherwise Zustand's persist middleware will break the build 2026-01-09 10:45:50 -08:00
Enrico Ros 5aa857362b Merge pull request #912 from enricoros/claude/issue-909-20260109-1034
feat(deepseek): add API Host field to DeepSeek settings
2026-01-09 02:42:29 -08:00
Enrico Ros c92fc34051 Merge pull request #911 from enricoros/claude/issue-902-20251229-1701
docs: remove Midori AI Subsystem section from installation guide
2026-01-09 02:39:46 -08:00
claude[bot] b01e66f12a feat(deepseek): add API Host field to DeepSeek settings
Add the ability for users to configure a custom API host for DeepSeek,
allowing them to use alternative endpoints like https://api.deepseek.com/beta.

Changes:
- Add `deepseekHost` to DDeepseekServiceSettings interface
- Wire deepseekHost to oaiHost in transport layer
- Add API Host form field visible in advanced settings

Closes #909

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2026-01-09 10:38:11 +00:00
Enrico Ros a88d20784a Roll AIX 2026-01-09 02:27:54 -08:00
Enrico Ros 63486ed6cf LLMs/AIX: support 4 levels for Gemini 3 Flash. Fixes #905 2026-01-09 02:27:53 -08:00
Enrico Ros 3ceec773f2 LLMs: DeepSeek: remove 3.2 Speciale 2026-01-09 02:08:54 -08:00
Enrico Ros 817fa56ec4 LLMs: Anthropic: remove Claude 3 Opus 2026-01-09 02:05:33 -08:00
Enrico Ros 088fb21a90 LLMs: Gemini: update cache pricing 2026-01-09 01:55:53 -08:00
Enrico Ros 79c755a469 Wire: ellipsize AixDemuxers.DemuxedEvents 2026-01-09 01:31:39 -08:00
Enrico Ros a091d3f011 OpenAI: support for gpt-image-1.5 2026-01-09 01:22:26 -08:00
Enrico Ros c7c01a5d7c AIX: Gemini: sync API: FC with multimodal responses, validated FC-Config, retrieval config, multiple voices, seed, responseId 2026-01-09 01:03:29 -08:00
Enrico Ros cdc0f48973 AIX: Gemini: support MISSING_THOUGHT_SIGNATURE 2026-01-09 00:46:10 -08:00
Enrico Ros e884f6b962 LLMs: Gemini: mark Deep Research Pro Preview as hidden for now - Interactions API coming 2026-01-08 20:46:15 -08:00
Enrico Ros 485a9bea71 LLMs: Gemini: remove removed models 2026-01-08 20:44:57 -08:00
Enrico Ros f3c3b667ca LLMs: OpenAI: remove chatgpt-image from llms 2026-01-08 17:51:58 -08:00
Enrico Ros 3b0c4f31b6 LLMs: Gemini: add 3-flash-preview 2026-01-08 17:47:06 -08:00
Enrico Ros 5e54600766 Deps: set peers 2026-01-08 17:43:41 -08:00
claude[bot] c3e54f69b7 docs: remove Midori AI Subsystem section from installation guide
The Midori AI Subsystem is being sunset as announced in issue #902.
This removes the deployment section from the installation documentation.

Closes #902

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-12-29 17:02:49 +00:00
Enrico Ros c4022d1c9b Roll small 2025-12-20 21:53:18 +01:00
Enrico Ros 6e13a78a24 Roll next 2025-12-20 21:40:15 +01:00
Enrico Ros c7cacd9727 LLMs: Gemini: remove 'medium' thinking level support - too early. Fixes #900 2025-12-20 21:08:41 +01:00
Enrico Ros a77110f704 LLMs: remove parameters set to a former enum value if then removed 2025-12-20 21:07:38 +01:00
Enrico Ros 83a6069de5 CC: update workflows 2025-12-14 03:45:26 +01:00
Enrico Ros e9a1890e54 Beam: rays/fusions can edit, delete 2025-12-11 23:50:06 +01:00
Enrico Ros bf928aa06e AIX: 'searching' item state with 5.2 Pro 2025-12-11 20:38:54 +01:00
Enrico Ros b2dc50590c LLMs: OpenAI GPT 5.2 Pro: enable web search 2025-12-11 20:33:53 +01:00
Enrico Ros 229e53ac32 Roll AIX 2025-12-11 20:20:26 +01:00
Enrico Ros 51e8a47615 OpenAI: Support X-Hight reasoning modes for 5.2-class models 2025-12-11 20:19:57 +01:00
Enrico Ros e80b58a412 UI: support 52 / 52Pro X-High/None reasoning efforts 2025-12-11 20:19:37 +01:00
Enrico Ros 48ced8b079 LLMs: support 52 / 52Pro X-High/None reasoning efforts 2025-12-11 20:19:30 +01:00
Enrico Ros c07e2aea1e AIX: support 52 / 52Pro X-High/None reasoning efforts 2025-12-11 20:19:19 +01:00
Enrico Ros f3194aa30e LLMs: Add GPT 5.2 2025-12-11 19:30:23 +01:00
Enrico Ros cb3e4cd951 LLMs: Mistral: update models 2025-12-09 13:33:01 -08:00
Enrico Ros f5d8d029ea CC: update workflows 2025-12-08 16:54:27 -08:00
Enrico Ros 7c946c4126 CC: add cherry-pick 2025-12-07 12:12:30 -08:00
Enrico Ros ded4ea0d69 Personas: disable YouTube transcript (unsupported API) 2025-12-07 12:10:27 -08:00
Enrico Ros c180c549fe BYOM: improve message 2025-12-07 11:53:49 -08:00
Enrico Ros 1f30f1168f Friction: Model Wizard: also warn if some keys are not saved 2025-12-07 11:52:51 -08:00
Enrico Ros 9446f15922 Friction: better remember Wizard model data 2025-12-07 11:51:35 -08:00
Enrico Ros e13b2c9cd9 Tutorial: 'BYOM' message 2025-12-07 11:49:18 -08:00
Enrico Ros e9e14e0292 LLMs: OpenRouter: add to the wizard 2025-12-07 11:46:04 -08:00
Enrico Ros added19656 Roll posthogs 2025-12-05 19:37:01 -08:00
Enrico Ros 4fa3c4d479 Remove old material (wrong) path 2025-12-05 19:32:34 -08:00
Enrico Ros 690738de9a Fix CVE-2025-55182 2025-12-05 18:41:13 -08:00
Enrico Ros cb31d27e68 Copy: strip background/colors on copy (keep font size and structure) 2025-12-05 11:17:17 -08:00
Enrico Ros e6658df123 Attachment: show dl issues on console 2025-12-05 11:15:15 -08:00
Enrico Ros 0b7154a14c LLMs: OpenAI: remove obsoleted models 2025-12-04 15:52:42 -08:00
Enrico Ros 02c1838de5 LLMs: OpenAI: add gpt-5.1-codex-max 2025-12-04 15:52:18 -08:00
Enrico Ros fc455fceb8 LLMs: Mistral: rmeove obsoleted models 2025-12-02 07:56:29 -08:00
Enrico Ros 8d40cdd234 LLMs: Mistral: sort 2025-12-02 07:53:15 -08:00
Enrico Ros 40145c669a LLMs: Mistral: add Mistral-Large and Ministral 2025-12-02 07:53:09 -08:00
Enrico Ros 34d2fc233f LLMs: Mistral: adapt wires 2025-12-02 07:52:55 -08:00
Enrico Ros 670ec0381a Speex: collapse configure - recollapse with shift 2025-12-01 09:11:48 -08:00
Enrico Ros 2128f255fe Speex: collapse configure when not used 2025-12-01 09:09:50 -08:00
Enrico Ros b717bd9a9a Settings: max-height to not jump around too much 2025-12-01 08:58:20 -08:00
Enrico Ros 8aab9311f5 Roll AIX 2025-12-01 08:33:32 -08:00
Enrico Ros ff3e16ea67 DeepSeek: still images are not supported 2025-12-01 08:30:16 -08:00
Enrico Ros 1de039c315 AIX: OpenAI ChatCompletion: remove multipart hotfix (not needed anymore) 2025-12-01 08:27:55 -08:00
Enrico Ros d05e1786d7 Model namings: speciale 2025-12-01 08:16:44 -08:00
Enrico Ros e34b5a7372 AIX: support Deepseek Speciale 2025-12-01 08:16:29 -08:00
Enrico Ros a1b3d1b508 DeepSeek: 3.2 and Speciale 2025-12-01 08:16:18 -08:00
Enrico Ros 1ebccdf420 Speex: Readmes 2025-12-01 02:59:56 -08:00
Enrico Ros e5f674509c 2.0.2 News 2025-11-30 16:54:56 -08:00
Enrico Ros 197a4ae5c0 2.0.2 Package 2025-11-30 16:53:25 -08:00
Enrico Ros 64d2dcf39c AudioLivePlayer: tryfix for the persistent android notification 2025-11-30 15:05:17 -08:00
Enrico Ros caf54c736b Speex: do not stop the playback too early 2025-11-30 14:31:43 -08:00
Enrico Ros 423c2cce28 speakText: port to Speex 2025-11-30 12:51:55 -08:00
Enrico Ros a1af51efcb Call: port to Speex 2025-11-30 06:55:51 -08:00
Enrico Ros ffc1bf9c58 Remove src/modules/elevenlabs 2025-11-30 06:55:51 -08:00
Enrico Ros a54bfdb342 Settings: port to Speex 2025-11-30 06:55:51 -08:00
Enrico Ros 03861d2dbd Speex: map instead of array 2025-11-30 06:38:14 -08:00
Enrico Ros 8c080da6bf Speex: Autoconfig WebSpeech best 2025-11-30 06:38:14 -08:00
Enrico Ros a8c98056b6 Speex: Config UI Done 2025-11-30 06:38:14 -08:00
Enrico Ros 78e663f955 Speex: important fixes 2025-11-30 06:38:14 -08:00
Enrico Ros 70546a5039 Speex: Almost Done 2025-11-30 06:38:14 -08:00
Enrico Ros 30f78b33cb Speex: diable Azure 2025-11-30 06:38:14 -08:00
Enrico Ros 712e8c1f16 Speex: UI update: Selects and Persona Voice changer 2025-11-30 06:38:14 -08:00
Enrico Ros 933dfdfb53 Speex: improve types 2025-11-30 06:38:14 -08:00
Enrico Ros 9ce86b029f Speex: UI settings modal 2025-11-30 06:38:14 -08:00
Enrico Ros 13580cc69d Speex: UI config improvements 2025-11-30 06:38:14 -08:00
Enrico Ros a7dee0002d Speex: debug instrumentation 2025-11-30 06:38:14 -08:00
Enrico Ros c84b2df3fa Speex: fix elevenlabs 2025-11-30 06:38:14 -08:00
Enrico Ros d9471a8684 Speex: fix types 2025-11-30 06:38:14 -08:00
Enrico Ros ef630c2272 Speex: improve UI and errors 2025-11-30 06:38:14 -08:00
Enrico Ros e188c71652 Speex: RPC: shared downstreaming 2025-11-30 06:38:14 -08:00
Enrico Ros 910260c2c8 Speex: UI: credentials edit and add new 2025-11-30 06:38:14 -08:00
Enrico Ros 22752abc38 Speex: relax engine validation 2025-11-30 06:38:14 -08:00
Enrico Ros 92bc3a5d64 Speex: DVoice -> wire_Voice 2025-11-30 06:38:14 -08:00
Enrico Ros 1383752cc1 Speex: reduce logging 2025-11-30 06:38:13 -08:00
Enrico Ros 66af16fb81 Speex: manual refactor 2025-11-30 06:38:13 -08:00
Enrico Ros fc019d7b46 Speex: client cleanups 2025-11-30 06:38:13 -08:00
Enrico Ros ac4f0fcb12 Speex: LocalAI: Preview 2025-11-30 06:38:13 -08:00
Enrico Ros a6c2bc663d Speex: arrange files 2025-11-30 06:38:13 -08:00
Enrico Ros e62ffa02e9 Speex: LocalAI vendor 2025-11-30 06:38:13 -08:00
Enrico Ros a003600839 Speex: some UI 2025-11-30 06:38:13 -08:00
Enrico Ros ea73feb06d Speex: remove elevenlabs, with key migration 2025-11-30 06:38:13 -08:00
Enrico Ros 3bdf69e1b7 Speex: ui: begin 2025-11-30 06:38:13 -08:00
Enrico Ros 590fe78bd1 Speex: client cleanup 2025-11-30 06:38:13 -08:00
Enrico Ros 76187ba0e7 Speex: rpc backend 2025-11-30 06:38:13 -08:00
Enrico Ros 5eba375f4d Speex: add webspeech (with detection) and synthesize-openai 2025-11-30 06:38:13 -08:00
Enrico Ros 8fa6a8251f Speex: vendors, engine store, client, router, skel-synthesize 2025-11-30 06:38:13 -08:00
Enrico Ros 75fa046f30 Speex: centralize capability 2025-11-30 06:38:13 -08:00
Enrico Ros 08a8cd1430 Speex: Types & Client 2025-11-30 06:38:13 -08:00
Enrico Ros 3afbb78a39 Icons: port to PhVoice 2025-11-30 06:38:12 -08:00
Enrico Ros fca6ccd816 Badge: transparent BG to not overlap text. Fixes #889 2025-11-29 14:52:13 -08:00
Enrico Ros 8d351822c1 Niy 2025-11-29 13:25:36 -08:00
Enrico Ros 7d274a31fe AIX: CGR: use shared objectUtils 2025-11-29 12:40:04 -08:00
Enrico Ros e36dde0d25 objectUtils: estimate JSON size, deep clone with string limit, find largestStringPaths 2025-11-29 12:17:28 -08:00
Enrico Ros 51cc6e5ae5 CSF: only show the option for server-side (not client-side) disconnect 2025-11-29 11:12:30 -08:00
Enrico Ros 28d911c617 ElevenLabsIcon: add icon 2025-11-28 05:49:33 -08:00
Enrico Ros b1e9fe58fb objectUtils: add stripUndefined 2025-11-28 04:23:11 -08:00
Enrico Ros 16ba014ade GoodBadge: for 'new' 2025-11-28 04:23:11 -08:00
Enrico Ros e9d5a20c1a FormTextField: support inputSx 2025-11-28 04:23:11 -08:00
Enrico Ros 6e0036f9c4 FormSecretField: crystal clear keys input 2025-11-28 04:23:11 -08:00
Enrico Ros d7e189aa1c FormSliderControl: allow sliderSx 2025-11-28 04:23:11 -08:00
Enrico Ros ea2b444fb2 FormChipControl: alignEnd 2025-11-28 04:23:11 -08:00
Enrico Ros cd1efaf26e FormChipControl: support descriptions 2025-11-28 04:23:11 -08:00
Enrico Ros e47f0e5d43 LanguageSelect: imrove select 2025-11-28 04:23:11 -08:00
Enrico Ros 5284d37984 AudioLivePlayer: ignore a closure error 2025-11-28 04:23:11 -08:00
Enrico Ros 1bf6fa0e4d Browse service: improve error reporting 2025-11-27 19:12:08 -08:00
Enrico Ros fc294c82f1 Pdfjs: lock to 5.4.54
more recent 5.4 have trouble with await import('pdfjs-dist'), throwing.
2025-11-27 18:33:20 -08:00
Enrico Ros 7b1dc49dda Roll pdfjs 2025-11-27 18:19:51 -08:00
Enrico Ros d15ddeea24 Roll react-player 2025-11-27 18:15:19 -08:00
Enrico Ros eaac213859 Ph: add Voice 2025-11-27 18:07:54 -08:00
Enrico Ros 02c1460351 Roll posthog 2025-11-27 18:04:06 -08:00
Enrico Ros 2fff35b7d9 Roll superjson 2025-11-27 18:03:37 -08:00
Enrico Ros c5b9072bde LLMs: LocalAI publish interface 2025-11-26 19:01:44 -08:00
Enrico Ros 8a570e912a CSF: docs 2025-11-26 07:37:56 -08:00
Enrico Ros 1dcc40afb8 CSF: Propagate everywhere 2025-11-26 07:37:09 -08:00
Enrico Ros c2092f8035 BlockPartError: vendor name 2025-11-26 06:50:11 -08:00
Enrico Ros 886c4b411e Revert "Test Edge on node"
This reverts commit 8888fd40cd.
2025-11-26 06:13:28 -08:00
Enrico Ros 8888fd40cd Test Edge on node 2025-11-26 04:56:26 -08:00
Enrico Ros 31cd01bccf BlockPartError: CSF enabled 2025-11-26 04:42:50 -08:00
Enrico Ros c59b221004 BlockPartError: allow retrying disconnected errors too 2025-11-26 04:27:52 -08:00
Enrico Ros cb3cc3e74c PostHog: disable the info level 2025-11-26 04:05:03 -08:00
Enrico Ros 9e90015fcc PostHog: disable the info level 2025-11-26 03:56:55 -08:00
Enrico Ros 95e0517056 60s - disable any maxDuration 2025-11-26 03:56:25 -08:00
Enrico Ros 2b2f47915f AIX: OpenAI: Fix CSF! 2025-11-26 03:11:12 -08:00
Enrico Ros 9acd178ce1 AudioPlayer: safe end of stream 2025-11-26 03:11:08 -08:00
Enrico Ros f381f80184 AIX: Anthropic: add strict to tool defs on wiretypes 2025-11-24 16:44:13 -08:00
Enrico Ros c83be61343 AIX: Anthropic: newlines for text broken by tool calls 2025-11-24 16:05:44 -08:00
Enrico Ros f6e49d31ec PWA-Desktop detect. Fixes #887 2025-11-24 15:48:50 -08:00
Enrico Ros cc0429a362 Update readme 2025-11-24 15:14:49 -08:00
Enrico Ros b35901d94c 2.0.1 Roll AIX 2025-11-24 15:06:39 -08:00
Enrico Ros c0df1a23f4 2.0.1 Update news 2025-11-24 15:05:40 -08:00
Enrico Ros 495619af2c LLMs: Interfaces fix 2025-11-24 15:00:09 -08:00
Enrico Ros 72dfadf106 AIX: Anthropic: auto-header for programmatic tool calling (calling from code, not just llm) 2025-11-24 14:58:34 -08:00
Enrico Ros 5825909e45 AIX: Anthropic: programmatic tool calling support 2025-11-24 14:42:20 -08:00
Enrico Ros d3f6d87ee0 AIX: remove legacy unconstrained 'json mode' 2025-11-24 14:29:36 -08:00
Enrico Ros c4f4c5ddad AIX: cross-vendor json output | strict tool invocation 2025-11-24 14:23:25 -08:00
Enrico Ros 2921d7ca27 Anthropic: Structured Outputs | Strict Tools 2025-11-24 13:59:20 -08:00
Enrico Ros 2021cbc988 Anthropic: MessageDeltaUsage 2025-11-24 13:58:57 -08:00
Enrico Ros e9e29861b2 Anthropic: cleanup models 2025-11-24 13:21:25 -08:00
Enrico Ros 8e6da36059 LLM interface types - relax for bw comp 2025-11-24 13:21:13 -08:00
Enrico Ros 5e1469e12e Anthropic: Tool Search Tool 2025-11-24 13:20:58 -08:00
Enrico Ros bd7465f8b1 Roll packages 2025-11-24 12:34:52 -08:00
Enrico Ros 570397a616 Anthropic: add Effort parameter 2025-11-24 12:34:39 -08:00
Enrico Ros b3b5f1daef Anthropic: raise default thinking to 16384 2025-11-24 12:13:50 -08:00
Enrico Ros 25ec3ae47c Anthropic: add Opus 4.5 2025-11-24 12:09:41 -08:00
Enrico Ros 5ba5e3da58 2.0.1 Roll AIX, news 2025-11-24 04:11:39 -08:00
Enrico Ros 9296c14ca0 2.0.1 News 2025-11-24 04:11:39 -08:00
Enrico Ros 310b5d3422 2.0.1 Package 2025-11-24 03:57:17 -08:00
Enrico Ros 1c5967112e Rolled posthog as there's still no local min 2025-11-24 03:19:08 -08:00
Enrico Ros 49a3d8ee71 Roll deep 2025-11-24 03:14:58 -08:00
Enrico Ros cf8b61e8d9 Packages: locked dexie 2025-11-24 03:11:26 -08:00
Enrico Ros 967ae5723e Roll posthog - next.config.ts fix 2025-11-24 02:39:28 -08:00
Enrico Ros 03421acf2f Roll posthog - security fix (details below)
https://helixguard.ai/blog/malicious-sha1hulud-2025-11-24
2025-11-24 02:39:15 -08:00
Enrico Ros d43896cc5a Package: cmd to fix sharp on win32/x64 2025-11-24 02:33:50 -08:00
Enrico Ros b283124a2f Roll packages 2025-11-24 02:05:37 -08:00
Enrico Ros 8c39be01f8 Roll packages 2025-11-24 02:04:23 -08:00
Enrico Ros fb2bd4ccd8 Error Hints: nit 2025-11-23 23:34:36 -08:00
Enrico Ros 5b826ffc45 Error Hints: control AI Service advanced setup 2025-11-23 23:26:56 -08:00
Enrico Ros 0b2ab365d3 Error Hints: Render Reconnect 2025-11-23 23:26:56 -08:00
Enrico Ros 93fc54992c Error Hints: AIX Client and Reassembler -> Fragment 2025-11-23 23:26:56 -08:00
Enrico Ros 60b7326deb Error Hints: Fragments 2025-11-23 23:26:56 -08:00
Enrico Ros d6e6139244 AIX: Gemini: change log 2025-11-23 23:26:56 -08:00
Enrico Ros 0892911ddc Next config: conditional strict mode 2025-11-23 23:26:56 -08:00
Enrico Ros 30267ac50c LLMs: Nano Banana message names 2025-11-23 23:16:43 -08:00
Enrico Ros ffef0ef31d PWA detect. Fixes #887 2025-11-23 23:15:56 -08:00
Enrico Ros fc047087ce CSF: direct connect actions hook 2025-11-23 23:15:03 -08:00
Enrico Ros 81d4966535 CSF: improve vendors 2025-11-23 20:02:06 -08:00
Enrico Ros 004d63fda1 FormRadioControl: gap 1 2025-11-23 16:23:35 -08:00
Enrico Ros 23e2dbb354 tRPC fetchers: increase error message to 240 2025-11-23 16:19:25 -08:00
Enrico Ros 28e9899b97 Settings: looks 2025-11-23 16:19:22 -08:00
Enrico Ros 7441d41550 FormRadioControl: descriptions 2025-11-23 16:19:11 -08:00
Enrico Ros 99e2d5597a LLMs: CSF: OpenAI 2025-11-23 02:56:08 -08:00
Enrico Ros 74321a44ca LLMs: Client-side .listModels 2025-11-23 02:46:28 -08:00
Enrico Ros 7b664affb7 AIX: Client-side .chatGenerate 2025-11-23 02:46:28 -08:00
Enrico Ros c411835f3b LLMs: listModels dispatch: cleanup 2025-11-23 02:36:08 -08:00
Enrico Ros 7b62c946a5 LLMs: Vendors: type the access 2025-11-23 02:35:59 -08:00
Enrico Ros 252e2fcd29 LLMs: Access extraction rewires 2025-11-23 02:28:38 -08:00
Enrico Ros aa2731bccc LLMs: Access extraction 2025-11-23 02:28:38 -08:00
Enrico Ros 282c439963 LLMs: CSF: UI configs 2025-11-23 02:28:38 -08:00
Enrico Ros e99459aba0 LLMs: CSF: vendors 2025-11-23 02:28:38 -08:00
Enrico Ros 4c35cbbe34 LLMs: CSF: access 2025-11-23 02:28:38 -08:00
Enrico Ros cab3537ae2 CSF: activate stubs 2025-11-23 02:28:38 -08:00
Enrico Ros c3f211389b AIX: edgeProcedure rename 2025-11-23 02:28:38 -08:00
Enrico Ros a4de84a842 AIX: dispatch: extract debugger / move security 2025-11-23 02:28:38 -08:00
Enrico Ros 2bf1eaaa0f Partially remove app.config 2025-11-23 01:57:29 -08:00
Enrico Ros 7f5ddd1629 Client stubs: env with log 2025-11-23 01:35:12 -08:00
Enrico Ros ed798fec65 Client stubs: PostHog 2025-11-22 19:09:38 -08:00
Enrico Ros 90386f5794 Client stubs: Env 2025-11-22 19:09:36 -08:00
Enrico Ros 8ada8811bf Build/Env: remove superfluous function 2025-11-22 19:09:33 -08:00
Enrico Ros b24badabef Revert "PostHog: server-client-safe import"
This reverts commit 2c8b713ff3.
2025-11-22 18:58:21 -08:00
Enrico Ros 4e20cb12cd Env: server-only naming 2025-11-22 16:38:05 -08:00
Enrico Ros 245da9e6cc App: server-client-safe vercel import 2025-11-22 16:30:36 -08:00
Enrico Ros a800b34aa7 App: prioritize posthog 2025-11-22 16:30:36 -08:00
Enrico Ros 50c3941f42 Posthog: client: cleanup 2025-11-22 16:30:36 -08:00
Enrico Ros 6e5d5ee36c Posthog: server: exceptions: trpc change 2025-11-22 16:25:50 -08:00
Enrico Ros 2c8b713ff3 PostHog: server-client-safe import 2025-11-22 16:06:00 -08:00
Enrico Ros 8162a6706d PostHog: server: add templates 2025-11-22 16:06:00 -08:00
Enrico Ros 952f6883fa PostHog: server: exceptions 2025-11-22 16:06:00 -08:00
Enrico Ros 373f3e3698 PostHog: server: cleanups 2025-11-22 16:06:00 -08:00
Enrico Ros 17791f631f AIX: extract consts for client-side bundles 2025-11-22 16:06:00 -08:00
Enrico Ros 6987c67cc7 AIX: Images: further resize the last generated image - can be very large, so >0.5M we resize 2025-11-21 03:11:08 -08:00
Enrico Ros 65a59e5d2d Blocks: Reasoning: mx 1.5 2025-11-21 01:58:34 -08:00
Enrico Ros 05b9a6d412 AIX: OpenAI: avoid prefixing with [summary] the reasoning 2025-11-21 01:41:16 -08:00
Enrico Ros 6608f4f164 AIX: Gemini: collapse empty text in between reasoning 2025-11-21 01:40:52 -08:00
Enrico Ros 93378ad6b0 VoidFragments -> ContentFragments 2025-11-21 01:19:23 -08:00
Enrico Ros bd4a60203e In-order rendering: transfer aux 2025-11-21 00:52:23 -08:00
Enrico Ros c9e6a62641 Fragments: Aux: add delete aux 2025-11-21 00:35:08 -08:00
Enrico Ros 68d797fa99 Fragments: Aux: show reasoning progress (assumed, not in the Aux fragment) and disable the 'realize' button while incomplete 2025-11-21 00:35:05 -08:00
Enrico Ros 08011d8cf2 ChatMessage: fix Void Fragment to text 2025-11-21 00:34:43 -08:00
Enrico Ros 2f91bf7f52 In-order rendering: cleanups 2025-11-21 00:27:52 -08:00
Enrico Ros d5182c05c1 In-order rendering of parts 2025-11-20 23:09:29 -08:00
Enrico Ros 8e0947a833 AIX: GG Transmitter: also faster body size estimation 2025-11-20 22:56:15 -08:00
Enrico Ros 1d88fc37b0 AIX: GG Transmitter: smaller echo request 2025-11-20 20:22:43 -08:00
Enrico Ros 46bd8e6f4d AIX debugger: wrap 2025-11-20 20:22:43 -08:00
Enrico Ros b95b427331 AIX debugger: unbreak layout 2025-11-20 20:22:43 -08:00
Enrico Ros 9b574c60eb Roll AIX 2025-11-20 19:52:32 -08:00
Enrico Ros a8b39cc0a4 LLMs: Gemini: support image size 2025-11-20 19:51:51 -08:00
Enrico Ros cdbc7dd9b8 AIX: Gemini: parse and recreate thought signatures 2025-11-20 19:11:42 -08:00
Enrico Ros 08dfec4fcf AIX: expend parts to include per-part vendor opaque information 2025-11-20 19:11:42 -08:00
Enrico Ros 7f4553225b AIX: transfer/reassemble per-fragment opaque vendor data 2025-11-20 19:11:42 -08:00
Enrico Ros f37e65a91e DMessageFragments: per-fragment vendor-specific 2025-11-20 19:11:42 -08:00
Enrico Ros c022f8a68c LLMs: improve params editing 2025-11-20 19:11:42 -08:00
Enrico Ros daa7a506a5 AIX: Gemini: include thoughts when thinking is requested 2025-11-20 19:11:42 -08:00
Enrico Ros f3dcf39c15 LLMs: Gemini: update cba 2025-11-20 17:01:39 -08:00
Enrico Ros 06cbef16d4 LLMs: Gemini: add Nano Banana Pro
LLMs: Gemini: show thoughts
2025-11-20 17:01:39 -08:00
Enrico Ros ab31bcd3e3 LLMs: Gemini: remove obsolete 2025-11-20 17:01:39 -08:00
Enrico Ros 563a99864f LLMs: showThoughts: default to false 2025-11-20 17:01:39 -08:00
Enrico Ros 39b8abc2c6 Fix: LLMs: cleanup stale userParameters 2025-11-20 17:01:39 -08:00
Enrico Ros f3dd837076 AIX: Gemini: UrlContext (fetching website) not supported by Nano Bananas 2025-11-20 17:01:39 -08:00
Enrico Ros d6b3a5259d fix eslint warnings 2025-11-20 17:01:39 -08:00
Enrico Ros 9fea1d5c64 LLMs: xAI: add Grok 4.1 Fast 2025-11-19 16:24:46 -08:00
Enrico Ros 0adb5355c7 Debug Wire: mark sessions 2025-11-19 15:44:13 -08:00
Enrico Ros 01d807b61e Browsing: allow time for screenshot 2025-11-19 15:44:10 -08:00
Enrico Ros 285bb812d0 LocalAI: fix list and virtualize 2025-11-19 14:43:56 -08:00
Enrico Ros d897155d6e LocalAI: fix gallery parsing 2025-11-19 14:43:53 -08:00
Enrico Ros 7154426279 packages: add react-virtual 2025-11-19 14:43:50 -08:00
Enrico Ros 4526084e4d roll packages 2025-11-19 12:20:18 -08:00
Enrico Ros 0c5c786ae3 Beam: starring selects 2025-11-19 12:14:47 -08:00
Enrico Ros 8a2c4aa356 useLLMSelect: show starred models only 2025-11-19 12:14:16 -08:00
Enrico Ros 4cba819edd State: show starred models only 2025-11-19 12:11:24 -08:00
Enrico Ros 4db42a2b29 StarIcons: improve 2025-11-19 12:11:21 -08:00
Enrico Ros fc0ee5b698 LLMs: fix OpenAI models overlap check 2025-11-19 12:11:11 -08:00
Enrico Ros 2c0c3f1c70 CC: zustand fix 2025-11-19 12:11:01 -08:00
Enrico Ros 3f3976b73c eslint: migrate to flat conf 2025-11-19 12:09:53 -08:00
Enrico Ros 82d5dcced5 LLMs: Gemini 3: fixed temperature, as Google Strongly Recommends to keep it at 1 2025-11-18 20:29:31 -08:00
Enrico Ros f4eaed694a LLMParametersEditor: allow code execution 2025-11-18 20:19:26 -08:00
Enrico Ros 05d9869326 Improve CG tool appearance 2025-11-18 20:19:09 -08:00
Enrico Ros 2675934ff8 LLMs: Gemini 3 - enable code execution 2025-11-18 20:10:01 -08:00
Enrico Ros fb6e19d3ea Roll AIX 2025-11-18 19:51:56 -08:00
Enrico Ros f1151d54e1 LLMs: Gemini 3.0 with Thinking Level, media Resolution, Google Search. Fixes #884 2025-11-18 19:51:55 -08:00
Enrico Ros 6a0fa4f9fa LLMs: Gemini Parameters 2025-11-18 19:44:16 -08:00
Enrico Ros 20d96fffc8 AIX: Gemini: wires upgrade 2025-11-18 19:42:29 -08:00
Enrico Ros ad6c06308a AIX: Gemini: -> thinkingLevel, -> mediaResolution, -> codeExecution, -> urlContext 2025-11-18 19:36:40 -08:00
Enrico Ros 84ee4171a4 AIX: Gemini: thought signature logger 2025-11-18 19:36:40 -08:00
Enrico Ros 6bc4f8a1e4 AIX: Gemini: wiretypes for thinkingLevel (param), urlContext (tool), thoughtSignature (fc invocation arg) 2025-11-18 19:36:40 -08:00
Enrico Ros 8876aa0866 RenderCode: reload button when html is rendered. Fixes #885 2025-11-18 19:36:39 -08:00
Enrico Ros 691d2e7228 Starring: models on top 2025-11-18 05:34:04 -08:00
Enrico Ros 7a12755de9 T2I: LocalAI: temporary mappings of models names and sizes to OpenAI gpt-image (GI) family equivalents
Maps OpenAI model IDs to LocalAI models:
- gpt-image-1 → stablediffusion
- gpt-image-1-mini → dreamshaper
- dall-e-3 → sd-3.5-large-ggml
- dall-e-2 → sd-3.5-medium-ggml
2025-11-18 04:36:09 -08:00
Enrico Ros 8573f56d03 T2I: Enable LocalAI, over 'stablediffusion' 2025-11-18 04:05:16 -08:00
Enrico Ros 8f3e683321 T2I: Azure disable WebP 2025-11-18 02:59:02 -08:00
Enrico Ros 64867b0b67 T2I: Azure support - LocalAI likely. Fixes #832 2025-11-18 02:59:01 -08:00
Enrico Ros e42d060e57 T2I: OpenAI: honor options 2025-11-18 02:55:47 -08:00
Enrico Ros 2ca9ab8a0c T2I: add options 2025-11-18 02:54:43 -08:00
Enrico Ros fdc0c6b371 T2I: propagate abort signal 2025-11-18 02:48:01 -08:00
Enrico Ros 8f8779c3cd Selection Operations: improve with fuzzy matching: matches more. Helps #881 2025-11-18 02:43:11 -08:00
Enrico Ros 851877ad8b LLMs: Azure: send the image_generation request anyway, for future compatibility - #832 2025-11-18 01:19:21 -08:00
Enrico Ros 8df74529ad LLMs: Azure: still inline image generation does not work - #832 2025-11-18 01:16:13 -08:00
Enrico Ros 353f51ebf0 LLMs: Azure: more explicitly named no-web-search var 2025-11-18 01:07:31 -08:00
Enrico Ros 6c5cb08118 ModelsList: fix list jumpiness on starring. Fixes #880. 2025-11-18 00:49:35 -08:00
Enrico Ros 54fee92b15 ModelsList: improve performance in large lists (e.g. OpenRouter) 2025-11-18 00:49:05 -08:00
Enrico Ros 776431c801 LLMs: Mistral: silence the off-by-2 warning 2025-11-17 14:58:49 -08:00
Enrico Ros 9f893ce999 LLMs: Groq: update models 2025-11-17 14:58:49 -08:00
Enrico Ros 820447670c LLMs registry: move 2025-11-17 05:05:27 -08:00
Enrico Ros b43c49cd64 Type annotation 2025-11-17 03:58:40 -08:00
Enrico Ros f9c3558975 Remove warning 2025-11-17 03:49:03 -08:00
Enrico Ros 1b75250824 LLMs: enumeration 2025-11-17 03:43:10 -08:00
Enrico Ros 3fa3bb5d03 LLMs: Central Dispatch 2025-11-17 03:29:40 -08:00
Enrico Ros ef0ff55f1f LLMs: extract LocalAI, LMStudio 2025-11-17 01:42:26 -08:00
Enrico Ros 66aa8ed177 Composer: autoFocus only on Desktop 2025-11-17 00:27:52 -08:00
Enrico Ros 519286bc69 DocumentAttachmentFragments: doc number limiter 2025-11-17 00:13:46 -08:00
Enrico Ros 9882f45fd2 DocumentAttachmentFragments: rename into pane 2025-11-17 00:09:31 -08:00
Enrico Ros 634f6216a0 Roll packages 2025-11-17 00:07:08 -08:00
Enrico Ros 69574a7d1c AIX: OpenRouter: fix reasoning summaries 2025-11-16 04:36:41 -08:00
Enrico Ros eddd4b9be8 ModelsServiceSelector: improve +1 2025-11-16 04:36:26 -08:00
Enrico Ros 9a9c31ff53 DocumentAttachmentFragments: performance: memo 2025-11-16 04:36:06 -08:00
Enrico Ros 41ee7a1c85 Nav support: remessage 2025-11-15 13:35:26 -08:00
Enrico Ros 2f9bbf373c Nav support: with AI triage 2025-11-15 13:26:30 -08:00
Enrico Ros d662e10ebb Support: with AI triage 2025-11-15 13:23:42 -08:00
Enrico Ros cd31092333 Update AI triage 2025-11-15 13:23:31 -08:00
Enrico Ros 1eae7ab6f3 Update AI triage 2025-11-15 13:15:51 -08:00
Enrico Ros ba378f852f Tryout AI triage 2025-11-15 12:51:56 -08:00
Enrico Ros 5cfd1e557d Update README 2025-11-15 12:46:39 -08:00
Enrico Ros df31d79eaf Update README 2025-11-15 12:21:54 -08:00
Enrico Ros 12d7304325 Update README 2025-11-15 12:19:38 -08:00
Enrico Ros 41424cbdfd Update README 2025-11-15 12:17:06 -08:00
Enrico Ros 05dda519a2 CC: add tree 2025-11-15 12:04:07 -08:00
Enrico Ros 120d39282e Add screenshot section to README
Added a section for screenshots and usage examples.
2025-11-15 11:40:34 -08:00
Enrico Ros 8e7d0fd13b Update README 2025-11-15 11:32:21 -08:00
Enrico Ros 3d979fdfbb Update Docker deployment link in README 2025-11-15 01:58:19 -08:00
Enrico Ros 6ab47ae3cb Sweet readme
Updated README to enhance project visibility and features.
2025-11-15 01:56:56 -08:00
Enrico Ros a4977b4924 AI Inspector: 5Hz updates limit 2025-11-14 17:42:43 -08:00
Enrico Ros bac9c692b8 AI Inspector: toggle visibility on shortcut 2025-11-14 17:27:23 -08:00
Enrico Ros 6ab15356e1 AI Inspector: show Desktop shortcut 2025-11-14 17:19:21 -08:00
Enrico Ros 73cc7121c3 CC: add npx eslint 2025-11-14 15:40:34 -08:00
Enrico Ros 1aeef06f49 AppBeam: nits 2025-11-14 01:51:45 -08:00
Enrico Ros 3b16bcf01d OpenAI: officially updated 5.1 models 2025-11-14 01:15:09 -08:00
Enrico Ros f6351fda41 Ph: +Megaphone 2025-11-13 01:49:34 -08:00
Enrico Ros 007e91480d Roll posthog 2025-11-13 01:49:00 -08:00
Enrico Ros 163ef9296e HBWA: note 2025-11-13 01:48:18 -08:00
Enrico Ros fa042f7d68 AIX: prenorm 2025-11-12 22:53:50 -08:00
Enrico Ros 8a11040dde optimization: faster 'hasKeys' Object non-emptiness check (avoids allocation) 2025-11-12 22:40:46 -08:00
Enrico Ros a88971d557 Models: Vendor (service) selection: vastly improve 2025-11-12 17:45:34 -08:00
Enrico Ros 5867e5fcc5 OpenRouter: more config beauty 2025-11-12 17:32:43 -08:00
Enrico Ros 20e587d6d3 OpenRouter: more config cleanup 2025-11-12 16:58:14 -08:00
Enrico Ros 6bfa8471cd Models Modal: option for fullscreen 2025-11-12 16:01:14 -08:00
Enrico Ros 5c10bce2f4 ModelsList: disable the large popups 2025-11-12 15:53:52 -08:00
Enrico Ros f1663f6668 DataStreamViz: optimize with intersection observers for 1k Beams 2025-11-12 15:39:15 -08:00
Enrico Ros 90c27e0e74 LLMs: add displayGroup 2025-11-12 15:31:32 -08:00
Enrico Ros b5eac0d907 OpenRouter: more config improvement 2025-11-12 15:20:30 -08:00
Enrico Ros 4eabe2cb3a Roll AIX 2025-11-12 15:11:17 -08:00
Enrico Ros a1c0d30a06 LLMs: GPT-5 optimistic updates (coming later this week) 2025-11-12 15:10:50 -08:00
Enrico Ros 63c9f65040 Merge remote-tracking branch 'opensource/claude/issue-879-20251112-2245' 2025-11-12 15:05:01 -08:00
Enrico Ros f58a066bff OpenRouter: improve config 2025-11-12 15:02:21 -08:00
Enrico Ros 952ea6357a tRPC: newline on dev warnings 2025-11-12 14:57:59 -08:00
Enrico Ros 6695973035 tRPC: raise the correct server-side exceptions 2025-11-12 14:57:44 -08:00
claude[bot] 3dc28635f4 Add support for GPT-5.1 models
- Add gpt-5.1-2025-11-12 (GPT-5.1 Thinking) with adaptive reasoning
- Add gpt-5.1-chat-latest (GPT-5.1 Instant) with adaptive reasoning
- Both models include full feature set: chat, vision, function calling, JSON, prompt caching, reasoning, web search
- Pricing set to match GPT-5 (to be updated when official pricing is announced)
- Added models to manual ordering list for proper UI sorting

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-11-12 22:47:51 +00:00
Enrico Ros 0bde01a85f Llms: vector ops 2025-11-12 14:43:26 -08:00
Enrico Ros b9840c2074 Warn downgrade 2025-11-12 14:43:23 -08:00
Enrico Ros 8228a76875 LLMs: LocalAI enumeration less verbose 2025-11-11 18:40:52 -08:00
Enrico Ros 46b370a2e3 AIX: OpenAI ChatGenerate: fixup for malformed NS objects - best-effort 2025-11-11 18:37:34 -08:00
Enrico Ros 820e9513ba Fragments: Void reasoning priority 2025-11-11 18:22:14 -08:00
Enrico Ros bd71d64db3 LLMs: OpenRouter: fix context window max_tokens issue 2025-11-11 18:09:50 -08:00
Enrico Ros 9d4baf827c LLMs: OpenRouter: auto-detection of capabilities (i/o modalities, features, etc). Thanks OpenRouter, you're the best! 2025-11-11 17:47:31 -08:00
Enrico Ros d6843d7fcf AIX: OpenRouter: write/parse the new reasoning request / reasoning_details response
Removes older system(s) from OpenRouter.
2025-11-11 17:46:58 -08:00
Enrico Ros babb1dd962 LLMs: OpenRouter: parser 2025-11-11 16:46:13 -08:00
claude[bot] aa32e396a7 Tryfix speech recognition on Android 2025-11-11 14:07:51 -08:00
Enrico Ros 1068efcb49 CC: commands: openrouter 2025-11-11 14:01:08 -08:00
Enrico Ros 576c7f1458 CC: improve triage 3 2025-11-11 13:48:20 -08:00
Enrico Ros 37c857b055 CC: improve triage 2 2025-11-11 13:37:46 -08:00
claude[bot] 794dfb44d1 Add date to README
Added today's date (2025-11-11) to README.md as requested in issue #876.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-11 21:34:04 +00:00
Enrico Ros 929bb6dc66 CC: improve triage 2025-11-11 13:32:34 -08:00
Enrico Ros 28337e31eb Token Badge: show for half a cent+ 2025-11-11 12:48:32 -08:00
Enrico Ros 09a38c0e4b UserInputChecklistComponent: fix crash 2025-11-11 12:30:02 -08:00
Enrico Ros 645b8fb9cd LLMs: OpenRouter: fix 400 2025-11-11 12:14:37 -08:00
Enrico Ros 541588948c LLMs: OpenRouter: add future PKCE 2025-11-11 12:13:09 -08:00
Enrico Ros bdd6fcfbbc Ph: add Gift/Key 2025-11-11 12:13:08 -08:00
Enrico Ros 9e50286c66 LLMs: Moonshot: remove images from the request for those models 2025-11-10 02:00:42 -08:00
Enrico Ros 418e4649dc Analytics: Client send 2025-11-10 00:59:28 -08:00
Enrico Ros 4a70f20f4a Roll packages
Note: fix Posthog/nextjs-config to 1.3.2 because starting from 1.3.3 there are new dependencies not evaluated yet
2025-11-10 00:33:28 -08:00
Enrico Ros d6eabfcb6d Roll posthog 2025-11-10 00:27:07 -08:00
Enrico Ros d88889d760 Extra: disable 0.1 opacity; makes the code less usable 2025-11-10 00:07:27 -08:00
Enrico Ros 85146d8af0 LLMs: Moonshot: native search parameter (disabled here and in the model - upstream not good enough) 2025-11-09 20:16:39 -08:00
Enrico Ros 9612572f07 AIX: Moonshot: native search dispatch/parse support 2025-11-09 20:15:02 -08:00
Enrico Ros 4bb1dddf4d ApproximateCosts: only display on Extra 2025-11-09 20:15:02 -08:00
Enrico Ros b066a86962 AIX: fix exhaustive check 2025-11-09 20:15:02 -08:00
Enrico Ros 6086455782 LLMs/AIX: Moonshot AI support 2025-11-09 20:15:02 -08:00
Enrico Ros 9020b3cbad AIX: Fix Mistral's response breakage in NS mode - Fixes #873. 2025-11-09 17:23:07 -08:00
Enrico Ros 5822dea270 AIX: Further breakdown logging levels - with Retry entry points. 2025-11-09 17:14:55 -08:00
Enrico Ros c445f59664 AIX: Fix Logging, with warn only for real server-side solvable issues. Fixes #872. Fixes #874.Fixes #875 2025-11-09 17:07:14 -08:00
Enrico Ros 737e4cb4f9 AIX - fix Gemini parser. Fixes #871 2025-11-09 16:31:52 -08:00
Enrico Ros dba7368d01 Rename platform format 2025-11-07 23:35:29 -08:00
Enrico Ros 314c4cd8cc Error correction: render placeholder notification 2025-11-07 23:11:31 -08:00
Enrico Ros 3e46f99e14 AIX: Error correction: client-side reporting 2025-11-07 22:45:11 -08:00
Enrico Ros e0cc552b8d AIX: Error correction: operation reporting (Anthropic only for now, but generic) 2025-11-07 22:45:11 -08:00
Enrico Ros 6b5be403af AIX: Error correction: dispatch reporting 2025-11-07 22:45:11 -08:00
Enrico Ros 269d5989bc Fetchers: Error correction: callback before retry 2025-11-07 22:43:12 -08:00
Enrico Ros edfe3d9b65 DFragments: Error correction: keep results in placeholder fragments (backward-comp) 2025-11-07 22:43:12 -08:00
Enrico Ros ffb2c42a26 imageUtils: non-aliased rescaling, multi-pass for downscales 2025-11-07 14:11:23 -08:00
Enrico Ros b7de19b020 AIX: turn on operation-retrier for Anthropic's error-in-stream. Fixes #869 2025-11-07 12:03:16 -08:00
Enrico Ros 77cd659b39 AIX: support operation-level retrier with reassembly wipe #869 2025-11-07 12:03:12 -08:00
Enrico Ros fbba9d8357 Block parts: show the retry-followup 2025-11-07 12:02:13 -08:00
Enrico Ros f464a9efdf LLMs: listModels: openAI, deprio 401. Fixes #870 2025-11-07 11:42:22 -08:00
Enrico Ros 7ec4290582 AIX: Anthropic: retriable errors: extended parsing 2025-11-07 11:04:21 -08:00
Enrico Ros 3f887a1d3a AIX: Gemini: fix other proxy errors. Fixes #868 2025-11-07 10:50:25 -08:00
Enrico Ros ffd76dc587 *Image Captioning with a dedicated (configurable) model. Fixes #862 2025-11-05 14:15:50 -08:00
Enrico Ros d7f3594a73 FormInputKey: smaller key 2025-11-05 12:32:18 -08:00
Enrico Ros 32fa5f206b AudioGenerator: underwater 2025-11-05 10:41:53 -08:00
Enrico Ros 70d2c09e81 Env: drop requirements on non-staging/non-prod 2025-11-05 09:01:47 -08:00
Enrico Ros 17f03806d0 AIX: rename DMessage gen to throw 2025-11-05 07:07:05 -08:00
Enrico Ros b6aba0efa4 AIX: type change to DMessageGuts for correctness 2025-11-04 17:01:26 -08:00
Enrico Ros 65a5e06935 DMessage: Generator helpers 2025-11-03 14:53:53 -08:00
Enrico Ros f459cb9805 PhPencilSimple: add 2025-11-03 09:04:28 -08:00
Enrico Ros f5470aca5d AIX: OpenAI Responses: remove patch for deep-research 2025-11-02 20:12:07 -08:00
Enrico Ros c26af97fe7 LLMs: OpenAI: deep research with standard params path 2025-11-02 20:11:17 -08:00
Enrico Ros 766ec458a2 CC: add permission 2025-11-02 15:43:28 -08:00
Enrico Ros 48ff78580c typos 2025-11-02 13:49:12 -08:00
Enrico Ros 396f7524d7 Panel Resize: rename inset 2025-11-01 18:08:31 -07:00
Enrico Ros da19ef42f5 AIX: OpenAI Responses: use the web_search (non preview) tool 2025-11-01 17:19:57 -07:00
Enrico Ros 91abe5aa43 DLLM: FC/FR: rendering improvement 2025-11-01 12:05:37 -07:00
Enrico Ros 682435321b DLLM: FC/FR: rendering improvement 2025-11-01 12:01:23 -07:00
Enrico Ros 76f0d60224 LLMs/AIX: Gemini: computer use comment 2025-11-01 11:28:34 -07:00
Enrico Ros 628b88ef9f LLMs/AIX: Gemini: computer use test 2025-11-01 11:18:12 -07:00
Enrico Ros 6a792814ce LLMs/AIX: Gemini: computer use mixed-tool (hosted + client) test. 2025-11-01 11:09:41 -07:00
Enrico Ros 05ce15d677 LLMOptionsModal: auto-open if user pricing is set or custom tokens are set 2025-11-01 11:02:26 -07:00
Enrico Ros 4a9d0d4f8e LLMs: fix post user-pricing, #860 2025-11-01 10:54:55 -07:00
Enrico Ros 16f0552682 CC: unbreak settings 2025-11-01 10:34:04 -07:00
claude[bot] 9e3819b9c7 feat: Add user pricing override for hypothetical cost tracking
Add userPricing field to DLLM interface following the established pattern
for user overrides (similar to userContextTokens and userMaxOutputTokens).

This enables users to set custom pricing for local models (Ollama, LM Studio, etc.)
to track "what if" costs and compare with cloud models.

Changes:
- Added userPricing field to DLLM interface (llms.types.ts)
- Added getLLMPricing() getter function with override precedence
- Updated store to preserve userPricing during model updates
- Updated all llm.pricing access points to use getLLMPricing()
- Added pricing override UI in LLMOptionsModal (Details section)
  - Input price ($/M tokens)
  - Output price ($/M tokens)
  - Reset buttons for each field
- Cost calculations automatically use user pricing when set
- Existing cost display in tooltips works with user pricing

Resolves #860

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-31 08:37:58 +00:00
Enrico Ros 233a0d4b35 LLMs: xAI: rerank 4 2025-10-29 15:53:41 -07:00
Enrico Ros bd95b808ae InlineTextareaEditable: click to edit 2025-10-29 13:53:59 -07:00
Enrico Ros 96132c4585 Export: subordinate tslug warn to the downgrade 2025-10-29 09:50:12 -07:00
Enrico Ros 3edacef572 Export: messaging 2025-10-29 09:43:34 -07:00
Enrico Ros 36889c1695 Export: robustness 2025-10-29 09:30:45 -07:00
Enrico Ros cd2c6c1d8f Export: nits 2025-10-29 09:29:06 -07:00
Enrico Ros d8c78b1a00 Export: disable when beam open, as it's not exported for now 2025-10-29 09:28:18 -07:00
Enrico Ros 74a22c26cf Export: relax file export 2025-10-29 09:26:55 -07:00
Enrico Ros f742eba4c1 Ph: Terminal Icon 2025-10-29 09:11:01 -07:00
Enrico Ros 36c2812157 Export: warn on import from a downgrade or different tenant 2025-10-29 09:07:07 -07:00
Enrico Ros d353fc4c63 Export: save file variant 1 2025-10-29 08:54:05 -07:00
Enrico Ros 98bd3d6da0 LLMs: Ollama: Update models 2025-10-28 16:36:43 -07:00
Enrico Ros cd5ec8d295 LLMs: Perplexity: Update models 2025-10-28 16:34:24 -07:00
Enrico Ros f91c6456bd LLMs: xAI: Update models 2025-10-28 16:31:53 -07:00
Enrico Ros 67af87968e workflows: CC: ollama update 2025-10-28 16:30:48 -07:00
Enrico Ros 58ea3e1b35 workflows: CC: permissions 2025-10-28 16:27:15 -07:00
Enrico Ros a9435c10e8 LLMs: OpenPipe: Update models 2025-10-28 16:23:40 -07:00
Enrico Ros a86860fe76 LLMs: Groq: Update models 2025-10-28 16:19:40 -07:00
Enrico Ros a3d707f78a LLMs: Mistral: Update models 2025-10-28 16:17:34 -07:00
Enrico Ros c502426249 LLMs: Anthropic: Update models 2025-10-28 16:17:06 -07:00
Enrico Ros 2fb5ffcecf LLMs: Anthropic: remove retired Claude 2 models 2025-10-28 16:09:36 -07:00
Enrico Ros 6d995c1253 LLMs: Anthropic: remove retired Sonnet 3 models 2025-10-28 16:08:39 -07:00
Enrico Ros a860c1c490 LLMs: Anthropic: remove retired Sonnet 3.5 models - So long and thanks!! 2025-10-28 16:06:42 -07:00
Enrico Ros 481d9cc745 LLMs: Anthropic: only display 'obsoleted models' in 2025-10-28 16:03:02 -07:00
Enrico Ros 7e53a7bc2b Server: tRPC: Retriers: carve0out 429 quota 2025-10-28 15:59:05 -07:00
Enrico Ros 4df10e3782 Lint 2025-10-28 15:59:05 -07:00
Enrico Ros 396da65178 AIX: OpenRouter: don't display processing messages 2025-10-28 15:49:37 -07:00
Enrico Ros 87e8faf383 workflows: docker: limit to 1hr 2025-10-28 13:11:28 -07:00
Enrico Ros 9eb3e6d398 workflows: CC: raise to 30min 2025-10-28 13:11:21 -07:00
Enrico Ros 332c4fdf82 2 Open - Release 2025-10-27 19:26:18 -07:00
Enrico Ros 4d247344d5 2 Open: end changelog 2025-10-27 18:42:48 -07:00
Enrico Ros 4e4738d4f6 2 Open: dissolve 1.17 2025-10-27 18:31:31 -07:00
Enrico Ros dbfa7b0932 2 Open: TechLevels 2025-10-27 18:26:49 -07:00
Enrico Ros e90231d58d Roll AIX 2025-10-27 18:26:08 -07:00
Enrico Ros 9bc7d40425 2 Open: 200 2025-10-27 18:25:36 -07:00
Enrico Ros d2d5c0621b CC update 2025-10-27 18:24:50 -07:00
Enrico Ros e41d57c914 Update README.md 2025-10-27 18:24:50 -07:00
Enrico Ros 7c5336cba3 2 Open: Link to live changes. 2025-10-27 16:48:42 -07:00
Enrico Ros d041e4e2bf AIX: message the tRPC < 11.6 edge disconnections 2025-10-27 15:24:09 -07:00
Enrico Ros 7fba6255ff AIX: operation-level retry shall loop with abortSignal (to let the next iteration respond appropriately) rather than re-throw the RequestRetry which the tRPC router wouldn't know what to do with 2025-10-27 15:19:20 -07:00
Enrico Ros dc226d9ac0 AIX: Anthropic: support to retry on overloaded 2025-10-27 15:08:10 -07:00
Enrico Ros c01a937d7d AIX: operation-level retry (chatGenerate) with RequestRetry errors which can be thrown by parsers, if allowed 2025-10-27 15:07:41 -07:00
Enrico Ros ee6646a66f Server: abortable delay 2025-10-27 14:32:43 -07:00
Enrico Ros b73aa16001 tRPC: lock to 11.5.1 for the time being, because of #857 2025-10-27 13:55:46 -07:00
Enrico Ros 92c875459a Keep sourcemaps for Open debugging 2025-10-27 11:57:25 -07:00
Enrico Ros 011fbbe834 Try bisecting to a 11.4.4 tRPC in the context of #857 2025-10-27 11:41:34 -07:00
Enrico Ros a921ea6fe5 Try upgrading to a 11.7 tRPC in the context of #857 2025-10-27 11:36:22 -07:00
Enrico Ros 82bcc6d5d5 Try reverting to a 11.6 tRPC in the context of #857 2025-10-27 11:27:42 -07:00
Enrico Ros f6d52da034 Try reverting to a pre-11.7 tRPC in the context of #857 2025-10-27 11:15:37 -07:00
Enrico Ros cd3159cacf Sherpa: reduce debug 2025-10-27 10:54:38 -07:00
Enrico Ros 1af4e18cb3 Help debugging #857 2025-10-27 10:31:31 -07:00
Enrico Ros 7b6eb94bf7 Help debugging #857 2025-10-27 10:30:37 -07:00
Enrico Ros 8cc6d65dd4 Help debugging #857 2025-10-27 10:16:23 -07:00
Enrico Ros 54e5f9a1bc Server: listModels: improve print 2025-10-27 10:11:27 -07:00
Enrico Ros fa28305141 AIX: un-warn dispatch-fetch issues, as they're Error Corrected extensively 2025-10-27 09:59:00 -07:00
Enrico Ros 1e56b36eae Server: move retriers, as it outgrew the original AIX.chatGenerate purpose 2025-10-27 09:58:46 -07:00
Enrico Ros e2253cde7f Server: tRCP fetchers & retrier: downgrade logging severity 2025-10-27 09:44:21 -07:00
Enrico Ros 6a4bfc1cf2 server: improve message 2025-10-25 15:27:25 -07:00
Enrico Ros dfc0d5088d AIX: retrier: reduce to 2 retries 2025-10-25 13:24:09 -07:00
Enrico Ros 8f154305e9 AIX: server: activate logging for auto-retry 2025-10-24 19:58:17 -07:00
Enrico Ros 09b96a01bf AIX: server: upstream auto-retry 2025-10-24 19:57:55 -07:00
Enrico Ros 1ce0c631b4 Browse: strings 2025-10-24 15:52:52 -07:00
Enrico Ros 61a5b6d5eb Improve strings 2025-10-24 15:52:36 -07:00
Enrico Ros ca62bad217 LLMs: OpenRouter: improve only-free 2025-10-24 14:40:31 -07:00
Enrico Ros 13f352a901 Setups: upgraded descriptions 2025-10-24 14:40:30 -07:00
Enrico Ros 775af756fd Button Beam Mobile: outlined 2025-10-24 13:51:12 -07:00
Enrico Ros 5c4545877d Composer: 0.5 shorter 2025-10-24 13:51:08 -07:00
Enrico Ros 9c820dcaf1 AppChat: breathing room on mobile/bottom 2025-10-24 13:51:06 -07:00
Enrico Ros 49f0bf4802 AIX: Gemini: finish reason typesafety 2025-10-24 13:03:23 -07:00
Enrico Ros fbb2f106f0 tRPC: edge procedure (semantics) 2025-10-24 12:41:15 -07:00
Enrico Ros cb46d3d536 AIX: extract the CG executor 2025-10-24 12:32:22 -07:00
Enrico Ros 84289c4ade AIX: dispatch: move IParticleTransmitter to the parsers, while impl is up 2025-10-24 11:06:52 -07:00
Enrico Ros b35ffd9983 AIX: router: move echo out of connection loop 2025-10-24 11:05:15 -07:00
Enrico Ros 8197fed036 server: fetchers: explained the tRPC error 2025-10-24 10:57:34 -07:00
Enrico Ros f6c40cdce6 AIX: Gemini: finish reason parser: compress 2025-10-24 10:53:30 -07:00
Enrico Ros b8cca72cf1 server: fetchers: errors: remove cause for security 2025-10-24 10:36:39 -07:00
Enrico Ros d20cafa22b server: fetchers: errors: match Vercel's edge runtime error messages (absence of _cause) 2025-10-24 10:31:51 -07:00
Enrico Ros 421a5ae681 server: report the error cat/codes to the client 2025-10-23 20:10:33 -07:00
Enrico Ros 49157b9efa server: fetchers: redo all with good error detection 2025-10-23 20:10:03 -07:00
Enrico Ros c11684a9cf server: improve error formatting, removing unneeded stacks 2025-10-23 20:08:02 -07:00
Enrico Ros 12aa812b37 server: improve safeErrorString 2025-10-23 20:08:02 -07:00
Enrico Ros 3667425c61 AIX: Refactor - Client - Retry State Machine 2025-10-23 05:25:10 -07:00
Enrico Ros fd0ab93744 AIX: Refactor - Client - Retry & Resume
This refactor allows for low-level looping on the client side.

This can be used for network errors between server<>upstream reported as particles,
as well as for client<>server connections.

One special case of this is the OpenAI system to reattach to detached (background) requests,
or as an alternative to re-fetch them from the server once completed.
2025-10-23 04:26:06 -07:00
Enrico Ros a0b549855f AIX: Refactor - Router - Composable & Resumable
This refactor decomposes the chatGeneration procedure into composable blocks.

Allows for instance chatGeneration-like outputs from different inputs,
allowing for instance `resumability` of a background connection.

Moreover this reorganizes the phases of a CG operation, and includes a generic executor
that takes creator functions for Dispatchers.
2025-10-23 04:11:05 -07:00
Enrico Ros c70c89c2e8 AIX: Client: error as message in ContentReassembler promise chain 2025-10-23 04:11:05 -07:00
Enrico Ros 32c5c00d55 AIX: Client: error classification 2025-10-23 04:11:05 -07:00
Enrico Ros 013d0e0217 AIX: pre-refactor nits 2025-10-23 04:11:05 -07:00
Enrico Ros f0bf866654 Anthropic Skills: on extra 2025-10-23 01:47:40 -07:00
Enrico Ros 2c14cb1113 nit 2025-10-23 01:32:13 -07:00
Enrico Ros 15abecfbb6 LLMs: OpenRouter: add the haiku 4.5 thinking variant 2025-10-23 01:02:52 -07:00
Enrico Ros 827d64d49a remove icon 2025-10-23 01:02:52 -07:00
Enrico Ros 01c45b2286 Anthropic Skills: improve config 2025-10-23 01:02:24 -07:00
Enrico Ros d3e5c196f9 LLMs: remove vendorspec from the params editor 2025-10-23 00:36:22 -07:00
Enrico Ros 71978b94f2 Fragments: support placeholders of 'code-exec' type 2025-10-23 00:11:18 -07:00
Enrico Ros 79da87d823 AIX/LLMs: Anthropic: Skills: improve reporting of steps 2025-10-23 00:06:58 -07:00
Enrico Ros 1c19f36783 AIX/LLMs: Anthropic: improve spec 2025-10-22 23:58:13 -07:00
Enrico Ros a4d4e351e5 AIX/LLMs: OpenRouter search 2025-10-22 23:18:55 -07:00
Enrico Ros 45ef2afccb LLM Options: support 'all from vendor X' 2025-10-22 23:10:12 -07:00
Enrico Ros 9ef5b61722 AIX: Anthropic: Skills: parser fix 2025-10-22 22:53:57 -07:00
Enrico Ros ff008d1034 AIX: Anthropic: Parser: event sequence debugger 2025-10-22 22:39:01 -07:00
Enrico Ros 3cd38f471e DMessage: session draft 2025-10-22 22:32:44 -07:00
Enrico Ros 1581d46be7 AIX: Anthropic Skills dispatch / parse 2025-10-22 22:32:43 -07:00
Enrico Ros 32571e15eb LLMs: Anthropic: Custom Skills CRUD 2025-10-22 22:13:36 -07:00
Enrico Ros d69adaa6af LLMs: Anthropic Skills model params editor 2025-10-22 22:13:36 -07:00
Enrico Ros 246968098a LLMs: Anthropic Skills headers 2025-10-22 21:45:51 -07:00
Enrico Ros 861c4ef370 LLMs: Anthropic Skills model params 2025-10-22 21:45:35 -07:00
Enrico Ros bfe94e98f2 Anthropic: fix old-school get/post 2025-10-22 20:55:30 -07:00
Enrico Ros 9152318ef6 Merge pull request #855 from enricoros/claude/issue-829-20251022-2344
fix(call): propagate speech recognition errors to UI
2025-10-22 17:02:53 -07:00
claude[bot] 302694bdad fix(call): propagate speech recognition errors to UI
- Read recognitionState.errorMessage in Telephone component
- Pass error message to CallStatus component
- Display specific error messages instead of generic fallback
- Matches error handling pattern used in Chat/Composer

This ensures users see detailed error messages instead of generic
Browser may not support text.

Fixes #829 by making speech recognition errors visible to users.

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-22 23:47:26 +00:00
claude[bot] 14602a1411 LLMs: add user override for context window and max output tokens. Fixes #853 2025-10-22 14:57:55 -07:00
Enrico Ros 044baa5fc2 Starring: improve starring in models modal 2025-10-22 14:10:38 -07:00
Enrico Ros 3fa09194a7 LLM Options: reset to defaults on Mobile 2025-10-22 14:10:14 -07:00
Enrico Ros d3aa10f9d1 LLM Options: reset to defaults 2025-10-22 14:09:47 -07:00
Enrico Ros e2b2d5974f AIX: Gemini: detect internal 503s 2025-10-22 04:16:19 -07:00
Enrico Ros d99668aa40 AIX: fix Openrouter parsing 2025-10-22 03:56:12 -07:00
Enrico Ros 5f8d5678fa AIX: server: improve listModel errors 2025-10-22 03:07:39 -07:00
Enrico Ros 14f245df2b AIX: server: improve listModel errors 2025-10-22 02:44:24 -07:00
Enrico Ros f104fb64fd LLMs: Anthropic: update cache costs for 1M models 2025-10-21 02:06:43 -07:00
Enrico Ros 3c2d7a636a LLMs: Perplexity: remove globes from models 2025-10-21 01:35:45 -07:00
Enrico Ros 31b215e58b Roll AIX 2025-10-21 01:24:52 -07:00
Enrico Ros 53ae177396 LLMs: net-dependent Context computation 2025-10-21 01:24:52 -07:00
Enrico Ros 3e1bb3bb3d LLMs: Anthropic: show search caps 2025-10-21 01:24:52 -07:00
Enrico Ros eac150f590 LLMs: Anthropic: sort correctly 2025-10-21 01:24:52 -07:00
claude[bot] 5466b8a265 *LLMs: Add support for Anthropic 1M token context window
Fixes #852
2025-10-21 01:24:52 -07:00
Enrico Ros c3d10c355f *Improved keyboard/focus navigation on menus 2025-10-20 18:44:47 -07:00
Enrico Ros d96a8c14b9 CloseablePopup: assume trueish 2025-10-20 18:44:47 -07:00
Enrico Ros be94f31a85 AIX: Perplexity: parse the new undocumented chunk-like object. Fixes #851 2025-10-20 15:09:32 -07:00
Enrico Ros f7ce349125 AIX: Perplexity: parse and show costs. #851 2025-10-20 15:08:52 -07:00
Enrico Ros a4516b5fa6 Wire/server: pretty-print server-side Zod errors in return messages #851 2025-10-20 14:43:35 -07:00
Enrico Ros 7c1f30c3c7 workflows: CC: npm i hint 2025-10-19 14:51:38 -07:00
Enrico Ros df67be4b03 GC: identified issue with open beams 2025-10-19 14:49:22 -07:00
Enrico Ros 578bb93d8b Env: production helper fix 2025-10-19 14:45:50 -07:00
Enrico Ros b4c5a24864 Env: production helper 2025-10-19 12:53:27 -07:00
Enrico Ros c4a38a6cf6 LLMs: Anthropic: caching config below the fold 2025-10-19 12:40:44 -07:00
Enrico Ros e58f6cc48e Hidden state: use visible accelerator 2025-10-19 12:40:30 -07:00
claude[bot] 8a0c4747c7 fix: preserve model visibility across updates (complete fix)
Fixes #850 - Model visibility was being reset after app updates.

Root cause: User visibility changes were stored in `hidden` field instead of
`userHidden`, but the preservation logic only looked for `userHidden`. This
caused user preferences to be lost during model updates.

Changes:
- Added isLLMHidden() helper to compute effective visibility (userHidden ?? hidden)
- Fixed all write paths to set userHidden instead of hidden (3 files)
- Fixed all read paths to use isLLMHidden() (7 files, 14 locations)

This ensures:
- User preferences persist across updates
- Vendor visibility changes still propagate for untouched models
- Bulk operations work correctly

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-19 19:17:41 +00:00
Enrico Ros 8bef4b9aae FormSelectControl: minWidth can be redefined 2025-10-18 16:50:17 -07:00
Enrico Ros 66382ed980 AIX: Anthropic: Search/Fetch - done
NOTEs: this works without saving the server-side tool invocation and the subsequent responses
to AIX particles, and consequently to DMessageFragments of the opportune type.
-> Shall do it with execution graph fragments.
2025-10-18 14:51:21 -07:00
Enrico Ros 8984b65a51 AIX: Anthropic: Search: do not cite websites - too noisy 2025-10-18 14:30:49 -07:00
Enrico Ros efea6dafbd AIX: Anthropic: Fetch/Search: use placeholders until Tool execution graph abstraction 2025-10-18 14:20:55 -07:00
Enrico Ros 6d4d05e8f7 Roll AIX 2025-10-18 14:18:53 -07:00
Enrico Ros 560a07b4fe LLMs: Anthropic: compress 2025-10-18 14:18:24 -07:00
Enrico Ros fbaff3bde3 AIX: Anthropic: LLM param edit 2025-10-18 13:51:24 -07:00
Enrico Ros 2a01f929f1 AIX: Anthropic: wires nits 2025-10-18 13:20:16 -07:00
Enrico Ros d1d0c32a92 AIX: Anthropic: improve merge of #842 2025-10-18 12:37:45 -07:00
Enrico Ros 3a513e2a4d Merge remote-tracking branch 'opensource/claude/issue-842-20251018-0728' into m2 2025-10-18 12:37:41 -07:00
Enrico Ros 9b32c4b8c5 AIX: Anthropic: headers improvement 2025-10-18 12:37:30 -07:00
Enrico Ros 64542af5af Starring: also codify Emoji 2025-10-18 11:42:14 -07:00
Enrico Ros 1db35feeca Starring: also in useLLMSelect 2025-10-18 11:38:34 -07:00
Enrico Ros 7392063e25 Starring: centralized with styles and memo 2025-10-18 11:38:28 -07:00
Enrico Ros e6745b16f6 Panes: fix panes visibility 2025-10-18 10:41:32 -07:00
Enrico Ros be09b452f0 Panes: persist optima group expanded states 2025-10-18 10:41:07 -07:00
Enrico Ros 42588444a5 Optima Panels: controllable grouped list 2025-10-18 10:36:01 -07:00
Enrico Ros dc48bd1222 OptimaPanelGroupedList: nits 2025-10-18 10:34:37 -07:00
claude[bot] b59eb6cbfb feat: Add Anthropic web search and web fetch tools support
Implements comprehensive support for Anthropic's web search (web_search_20250305) and web fetch (web_fetch_20250910) tools.

- Add llmVndAntWebSearch and llmVndAntWebFetch parameters with ['auto', 'off'] options
- Enable tools for Claude 4.5, 4.1, 4, 3.7, 3.5 Sonnet/Haiku/Opus models (including thinking variants)
- Inject web_search_20250305 and web_fetch_20250910 tools based on parameter values
- Configure web search with max_uses=5 for progressive searches
- Configure web fetch with max_uses=5 and citations enabled
- Add dynamic beta header injection for web fetch (web-fetch-2025-09-10)
- Add UI controls in model settings for easy parameter configuration

Parser already supports web_search_tool_result and web_fetch_tool_result blocks (no changes needed).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-18 07:34:51 +00:00
Enrico Ros a75a31ff04 AIX: Anthropic: Parser: improve 2025-10-18 00:05:09 -07:00
Enrico Ros a0f97e9cd8 AIX: Anthropic: major protocol update 2025-10-17 23:40:31 -07:00
Enrico Ros fe6e7245de AIX: Anthropic: remove vnd.ant.tools for upgrade soon 2025-10-17 23:13:29 -07:00
Enrico Ros a46a9bf76c fix: #845 - no permissions on attachments on Edge 2025-10-17 15:45:04 -07:00
claude[bot] 925e500dc2 fix: simplify benign DOM error handling
- Use console.warn for benign removeChild errors
- Skip PostHog reporting for these errors
- More succinct implementation

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-17 15:00:26 -07:00
claude[bot] 22f0a70272 fix: suppress tiktoken WebAssembly loading errors from PostHog 2025-10-17 14:54:20 -07:00
Enrico Ros 220cc60f7d workflows: CC: DM to sonnet 2025-10-17 04:56:53 -07:00
Enrico Ros 3964fca4b2 cc: allow mcps 2025-10-16 12:18:23 -07:00
Enrico Ros 8fdbb21300 Roll AIX 2025-10-16 12:17:33 -07:00
Enrico Ros c42c9545d2 slashcommands: /aix:roll-aix 2025-10-16 12:16:56 -07:00
Enrico Ros 0de37e337b LLMs: OpenAI: added GPT-5'class models the no-stream option for unverified orgs 2025-10-16 11:37:27 -07:00
Enrico Ros 3ecf7f6016 Merge remote-tracking branch 'opensource/claude/issue-847-20251016-1807' 2025-10-16 11:35:16 -07:00
Enrico Ros da7a62945c workflows: CC: enable reviews and triaging, not DMs 2025-10-16 11:32:37 -07:00
Enrico Ros c876390e27 workflows: CC: enable other users 2025-10-16 11:14:22 -07:00
claude[bot] 9bbc2a2e00 fix: Add llmForceNoStream parameter to OpenAI models with Org ID streaming issues
- Added parameter to GPT-5, GPT-5 Pro, GPT-5 Codex, and GPT-5 Mini
- These models require Organization ID verification for streaming
- Kept existing parameter on o3 and o3-pro models
- Did not modify GPT-5 Nano, GPT-5 Chat Latest, GPT-4.1, or GPT-4o models which work fine

Fixes #847

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-16 18:09:53 +00:00
Enrico Ros 2b18cbc3b9 Errors: cleanup domains 2025-10-16 10:56:32 -07:00
Enrico Ros 388391ddae Errors: remove unused var 2025-10-16 10:46:03 -07:00
Enrico Ros 3e4e6b2f4b BackupRestore: fix a potential removal issue 2025-10-16 10:28:37 -07:00
Enrico Ros e6a65bdf8e BackupRestore: improve messaging 2025-10-16 10:05:05 -07:00
Enrico Ros 0e09cf3d84 Merge pull request #846 from enricoros/claude/issue-844-20251016-0857
fix: properly handle null and undefined in clipboard operations
2025-10-16 02:01:28 -07:00
claude[bot] 5634aa0cac fix: properly handle null and undefined in clipboard operations
- Add nullish coalescing (??) after optional chaining to ensure string return
- Prevents undefined from propagating through the promise chain
- Fixes potential TypeError when calling .startsWith() on undefined

Co-authored-by: Enrico Ros <enricoros@users.noreply.github.com>
2025-10-16 08:58:59 +00:00
Enrico Ros 07916be684 workflows: CC: dm to 100 2025-10-16 01:11:20 -07:00
Enrico Ros 8d20b4675b workflows: CC: allow DM to PR 2025-10-16 00:54:19 -07:00
Enrico Ros d906669ea4 Fix: roll posthog 2025-10-16 00:44:34 -07:00
Enrico Ros 5d7b00f0dc workflows: CC: up max turns 2025-10-16 00:07:52 -07:00
Enrico Ros 740d76c15c LLMs: OpenAI: add gpt-5-search-api 2025-10-15 19:36:38 -07:00
Enrico Ros ca4d21d4b8 LLMs: Gemini: improve logs 2025-10-15 19:19:30 -07:00
Enrico Ros e4defc1baf tRPC Fetchers: improve logging 2025-10-15 19:10:46 -07:00
Enrico Ros 9ea859081d Error Message test 2025-10-15 18:40:47 -07:00
Enrico Ros 87d8320b31 tRPC: Fetchers: show warning also on network connection lost 2025-10-15 18:28:56 -07:00
Enrico Ros 84aea90860 KB: remove AIX adapters 2025-10-15 18:26:38 -07:00
Enrico Ros 95f35cb5cf Roll AIX 2025-10-15 18:08:12 -07:00
Enrico Ros c79ba097c0 CC: slashcommands: idiosyncratic updates 2025-10-15 17:54:14 -07:00
Enrico Ros 8ea1f02c86 workflows: label triaged/reviewed issues/prs 2025-10-15 17:51:10 -07:00
Enrico Ros 674c9c8c25 LLMs: Ollama: update and remove all descriptions (not used) 2025-10-15 17:29:02 -07:00
Enrico Ros 98a3e7e185 LLMs: Alibaba: update: remove any model information and jut return the sorted list from the API 2025-10-15 17:29:02 -07:00
Enrico Ros ee00c53ada LLMs: Perplexity: update 2025-10-15 17:29:02 -07:00
Enrico Ros 0553f64fe8 LLMs: xAI: update 2025-10-15 17:29:02 -07:00
Enrico Ros ff06f6f04c LLMs: Groq: update 2025-10-15 17:29:02 -07:00
Enrico Ros 3f45617e06 LLMs: Deepseek: update 2025-10-15 17:29:02 -07:00
Enrico Ros 9d93c8c55a LLMs: Mistral: update all 2025-10-15 17:29:02 -07:00
Enrico Ros 73eaf740db LLMs: Anthropic: Haku 4.5 (Thinking and not) 2025-10-15 17:29:02 -07:00
Enrico Ros 48426d5022 AIX: OpenAI: [Mistral, 2025-10-15]: non-standard delta.content for thinking blocks 2025-10-15 17:29:02 -07:00
Enrico Ros c79237b419 CC: slashcommands: Models ollama automation 2025-10-15 17:29:02 -07:00
Enrico Ros b0abaf4d9e CC: slashcommands: Models sync - pass1 2025-10-15 17:29:02 -07:00
Enrico Ros ec92a8d31a CC: slashcommands: API syncs 2025-10-15 17:29:02 -07:00
Enrico Ros a4600a4d1d tRPC Fetchers: show content type on parse failures 2025-10-15 17:29:02 -07:00
Enrico Ros ad6a465ce7 workflows: allow slashcommands for DMs 2025-10-15 17:29:02 -07:00
Enrico Ros 0820bb5af6 workflows: elevate max turns 2025-10-15 12:59:39 -07:00
Enrico Ros 73f8488d22 AIX: enable Abort on GET 2025-10-15 12:58:27 -07:00
Enrico Ros 2b3c1c38f3 tRPC Fetchers: improve error reporting at all 3 stages: connect, get response, parse contents 2025-10-15 12:58:24 -07:00
Enrico Ros 59f379f46b tRPC Fetchers: improve JSON decoding errors 2025-10-15 12:58:21 -07:00
Enrico Ros 2bc6ecbe4c tRPC: improve Abort support 2025-10-15 12:58:18 -07:00
Enrico Ros 8274a34841 InlineError: support newlines 2025-10-15 12:58:14 -07:00
Enrico Ros 6e7197caa3 QueryClient: explicit option 2025-10-15 12:57:33 -07:00
Enrico Ros 7c78d48b6c workflows: reduce noise 2025-10-14 22:50:30 -07:00
Enrico Ros b149eb7fa2 workflows: Claude Code DMs 2025-10-14 21:15:07 -07:00
Enrico Ros ba79a3c42c workflows: Claude Code Issue Triage 2025-10-14 21:15:07 -07:00
Enrico Ros 4445ac295f workflows: Claude Code PR Reviews 2025-10-14 21:15:07 -07:00
Enrico Ros 09c2a8b072 KB: renamed app-routing 2025-10-14 18:19:02 -07:00
Enrico Ros 92e371837d Modals: fullscreen options on desktop 2025-10-14 17:54:40 -07:00
Enrico Ros 7fad41dc8a FormSliderControl: option to hide the track 2025-10-14 17:31:40 -07:00
Enrico Ros 0be8ac7e09 CLAUDE.md 2025-10-14 17:31:40 -07:00
Enrico Ros de6e8a047c KB: Index 2025-10-14 17:31:40 -07:00
Enrico Ros 92955f92bf KB: AIX supports 2025-10-14 17:31:40 -07:00
Enrico Ros 5327866836 KB: routing architecture 2025-10-14 17:31:40 -07:00
Enrico Ros 54b8836faa KB: Update the params system 2025-10-14 17:31:40 -07:00
Enrico Ros eb39db9974 KB: structure 2025-10-14 17:31:40 -07:00
Enrico Ros 087e6e2eaf AIX: Client: decimator cleanups 2025-10-14 02:52:28 -07:00
Enrico Ros 295d91b310 AIX: Client: improve disconnect message. 2025-10-14 02:50:50 -07:00
Enrico Ros f75bcb78d7 FIX: AIX: Anthropic: hotfix: disable thinking with forced tool use (policy of: any, tool) 2025-10-14 02:48:22 -07:00
Enrico Ros ffb32d8720 Roll AIX 2025-10-14 02:22:48 -07:00
Enrico Ros 879458d692 Roll packages 2025-10-14 02:22:27 -07:00
Enrico Ros 96eece3a3e Optima: MobilePanel: pad bottom 2025-10-14 01:56:16 -07:00
Enrico Ros dc75136131 LLMs: OpenAI: flush 2025-10-14 01:15:28 -07:00
Enrico Ros 57c43b3c4e LLMs: OpenAI: reduce model desc size 2025-10-14 01:12:03 -07:00
Enrico Ros 4c5b7677e6 LLMs: nit 2025-10-14 01:12:03 -07:00
Enrico Ros 43890150e5 AIX: OpenAI: fix NS function parsing 2025-10-14 01:11:19 -07:00
Enrico Ros bc86214c5e LLMs: xAI: grok names 2025-10-13 18:51:30 -07:00
Enrico Ros ef1f412019 LLMs: OpenAI: slimmer 2025-10-13 18:51:14 -07:00
Enrico Ros 1249efb53b LLMs: xAI: add the latest groks. Fixes #837 2025-10-13 18:50:21 -07:00
Enrico Ros 8bc81e45ce Models: UI hide hidden by default 2025-10-13 17:52:23 -07:00
Enrico Ros 810f316185 Nit 2025-10-13 17:23:34 -07:00
Enrico Ros 5b49e801d1 Roll AIX 2025-10-13 17:20:03 -07:00
Enrico Ros 3269e10da9 LLMs: OpenAI: enable Audio output models 2025-10-13 17:10:23 -07:00
Enrico Ros 53a57fd7ff AIX: OpenAI: support Audio output models S/NS 2025-10-13 17:10:09 -07:00
Enrico Ros dbbf25c3af LLMs: new model description builder 2025-10-13 17:09:17 -07:00
Enrico Ros a2ff00f53b LLMs: mandatory fallbacks 2025-10-13 13:49:08 -07:00
Enrico Ros 4904383838 BlockPartModelAnnotations: fix Favicons for Google Search icons (vertex) 2025-10-13 13:25:00 -07:00
Enrico Ros 8221444308 LLMs: Gemini: enable search 2025-10-13 13:24:31 -07:00
Enrico Ros 7cd94b3163 *AIX: Gemini: Google Search support 2025-10-13 13:24:16 -07:00
Enrico Ros 52cdf7da4e AIX: Hosted tools - bits of cleanup 2025-10-13 12:46:02 -07:00
Enrico Ros 6ff010ae0e AIX: Gemini: remove the old google_search_retrieval 2025-10-13 12:05:19 -07:00
Enrico Ros 6d81150975 AIX: Gemini: parse also finish message and url grounding 2025-10-13 11:55:44 -07:00
Enrico Ros 0fdcc4c64d LLMs: Gemini: remove 4:5 and 5:4 support, not in the API 2025-10-13 11:52:30 -07:00
Enrico Ros f272c9cb12 AIX: Gemini: expand to all finish reasons 2025-10-13 11:36:11 -07:00
Enrico Ros 5354f83736 AIX: OpenAI: Responses: uniform S/NS parsing 2025-10-13 11:26:57 -07:00
Enrico Ros f4b2f36ac0 AIX: OpenAI: Responses: handle streaming stop reasons 2025-10-13 10:49:59 -07:00
Enrico Ros 5fca834c20 AIX: OpenAI: Responses: handle max_tokens 2025-10-13 10:49:59 -07:00
Enrico Ros fff48335ae AIX: OpenAI: skip also markdown restoration when custom tools with restrictive policies are applied 2025-10-13 10:49:59 -07:00
Enrico Ros f39a1825cf AIX: OpenAI: skip hosted tools when custom tools with restrictive policies are applied 2025-10-13 10:17:21 -07:00
Enrico Ros c1b10405a5 AIX: Anthropic: document context_window_exceeded 2025-10-13 10:17:21 -07:00
Enrico Ros 37ba583cf2 AIX: Anthropic: parse new stop reasons 2025-10-13 10:17:21 -07:00
Enrico Ros 4beb7de83f AIX: add tokenStopReasons: ok-pause, and filter-refusal 2025-10-13 10:17:21 -07:00
Enrico Ros cb8202e327 dMessageUtils: pedantic 2025-10-13 10:17:20 -07:00
Enrico Ros 90c90f78b6 LLMs: OpenAI: exclude sora-2/pro from Language models 2025-10-11 20:39:22 -07:00
Enrico Ros e700c27256 presentErrorToHumans: fix 2025-10-11 20:39:18 -07:00
Enrico Ros 7372287b5c AIX: Resumability: Block Control 2025-10-10 18:33:47 -07:00
Enrico Ros d059948f62 useFragmentBuckets: check for error 2025-10-10 18:11:42 -07:00
Enrico Ros 1cb6491d17 AIX: Errors are not appended as Text anymore 2025-10-10 18:04:26 -07:00
Enrico Ros 3a6e8a5f27 AIX: Resumability: OpenAI: request and parse 2025-10-10 17:49:50 -07:00
Enrico Ros c0cd820880 AIX: Resumability: enablement downstream 2025-10-10 17:49:50 -07:00
Enrico Ros 7b5655dd6d AIX: Resumability: enablement upstream 2025-10-10 17:49:50 -07:00
Enrico Ros 0f4c108614 AIX: Client: improve reuse 2025-10-10 17:35:54 -07:00
Enrico Ros 86f4cc66d1 DMessage: upstream handle support 2025-10-10 17:33:04 -07:00
Enrico Ros ca38e7f160 AIX: OAI: Responses: typo 2025-10-10 17:33:04 -07:00
Enrico Ros 99bd54ca79 BlockPartPlaceholder: fix mx: 1.5 2025-10-10 17:32:57 -07:00
Enrico Ros 9a3ef83078 README: Link images 2025-10-10 09:17:43 -07:00
Enrico Ros c1d3c5d350 AIX: Inspector: link in DesktopNav > Tools 2025-10-10 09:17:36 -07:00
Enrico Ros a36e202c80 AIX: Inspector: Quick Toggle 2025-10-10 09:06:14 -07:00
Enrico Ros b713b65a35 AIX: Inspector: show body size 2025-10-10 08:53:33 -07:00
Enrico Ros 925445c729 README: bits 2025-10-10 08:26:34 -07:00
Enrico Ros ce8140ce22 README: add and section out some changes 2025-10-10 02:17:15 -07:00
Enrico Ros d2f60e51c7 Add mascot section to README
Added a section for the mascot with an image.
2025-10-10 02:15:55 -07:00
Enrico Ros c66885d25c News: fix style 2025-10-10 01:24:16 -07:00
Enrico Ros 8d4ca7b547 2.0 update package 2025-10-10 01:06:08 -07:00
Enrico Ros 280b32b3a9 2.0 Adjusted news item 2025-10-10 00:49:43 -07:00
Enrico Ros 522bd890c1 2.0 Simple news items 2025-10-10 00:38:31 -07:00
Enrico Ros 88e1f51099 Model Configuration: don't fullscreen on mobile 2025-10-10 00:34:51 -07:00
Enrico Ros 8774b222d9 2.0 release graphics 2025-10-09 23:58:48 -07:00
Enrico Ros b9ef1d608c News: rename Callout 2025-10-09 22:02:28 -07:00
Enrico Ros a0d25a1d48 News: wire Dev up top 2025-10-09 21:41:05 -07:00
Enrico Ros 92cd9e5930 News: add Dev item 2025-10-09 21:39:41 -07:00
Enrico Ros 3099b0d0ec News: extract Card 2025-10-09 21:19:27 -07:00
Enrico Ros 4a5ce94d29 Fix removal of Release.App 2025-10-09 20:57:15 -07:00
Enrico Ros b47a1fd562 Remove Release.App/News 2025-10-09 20:51:11 -07:00
Enrico Ros 10bef4f75c Dissolve app.version 2025-10-09 20:44:51 -07:00
Enrico Ros 41c571caf5 Name as Open 2025-10-09 20:41:45 -07:00
Enrico Ros a21b049437 BackupRestore: remove version 2025-10-09 20:37:12 -07:00
Enrico Ros f06fbec8df webGeolocationUtils: correct package version 2025-10-09 20:35:56 -07:00
Enrico Ros 24b6b4e1a9 Update description 2025-10-09 20:10:16 -07:00
Enrico Ros df8f9b3e3a AIX: limit the echo request size 2025-10-09 19:55:24 -07:00
Enrico Ros 85a55bcc4c BlockEdit_TextFragment: fix escape key 2025-10-09 19:55:11 -07:00
Enrico Ros facb2e3f2b Update README.md 2025-10-09 19:44:12 -07:00
Enrico Ros f6e79510c9 Revise README for clarity and structure
Updated the README to improve clarity and formatting.
2025-10-09 19:43:11 -07:00
Enrico Ros 528055929a Legacy 2025-10-09 19:34:42 -07:00
Enrico Ros 7a1774a2ba Roll year 2025-10-09 19:32:15 -07:00
Enrico Ros 66749ded0a Update the README.md 2025-10-09 19:30:15 -07:00
Enrico Ros 6f74dc6c72 Misc small cleanups 2025-10-09 16:19:53 -07:00
Enrico Ros b8d27346e0 Update docs and refs (v2-dev -> main) 2025-10-09 16:19:53 -07:00
Enrico Ros e1e73cd260 Docker: update for main branch transition
Triggers on 'main'
2025-10-09 16:19:53 -07:00
Enrico Ros a1bf15c316 AixDebuggerDialog: fix scroll 2025-10-09 06:34:35 -07:00
Enrico Ros e69bf34ed6 GoodModal: uncontrolled maximization 2025-10-08 14:53:10 -07:00
Enrico Ros fa1a977870 AixDebuggerDialog: full screen on Mobile 2025-10-08 11:51:46 -07:00
Enrico Ros 7ed4ccb66c LoggerViewerDialog: full screen on Mobile 2025-10-08 11:50:10 -07:00
Enrico Ros 76a90ede24 ShortcutsModal: full screen on Mobile 2025-10-08 11:43:51 -07:00
Enrico Ros 89e8c24f46 Settings and Models: full screen on Mobile 2025-10-08 11:42:37 -07:00
Enrico Ros 430c7602d4 GoodModal: support Fullscreen and fix display:grid
Note that display:grid was fitting to contents, but we prefer display:flex (direction:column)
so we had to make the maxWidth property from 700 to adaptive to the screen size.
2025-10-08 11:42:23 -07:00
Enrico Ros 51b9fbac0f Roll packages 2025-10-08 08:08:22 -07:00
Enrico Ros 63eba761c5 Fix the Draw Provider selector 2025-10-07 09:25:01 -07:00
Enrico Ros e80fb7aa73 OpenAI gpt-image-1-mini: enable inpaint 2025-10-07 09:24:32 -07:00
Enrico Ros 8b2b98fc10 OpenAI gpt-image-1-mini support 2025-10-07 09:12:39 -07:00
Enrico Ros c9712c72a0 Fix Sonnet-4.5 display name 2025-10-07 08:52:35 -07:00
Enrico Ros d0ad4095c0 LLMs: Add OpenAI Gpt-5 Pro 2025-10-06 11:14:44 -07:00
Enrico Ros 1c00286a70 Roll AIX 2025-10-05 09:48:23 -07:00
Enrico Ros 8687c6b08b Merge pull request #839 from sam0jones0/add-claude-4.1-4.5-thinking-support
Add thinking support for Claude 4.1 Opus and 4.5 Sonnet via OpenRouter
2025-10-05 09:44:57 -07:00
Enrico Ros 7bdf467833 LLMs: disable staging log on openai 2025-10-03 20:53:14 -07:00
Enrico Ros 39736fbd27 idUtils: uuid underscore prefix stripping 2025-10-03 17:11:36 -07:00
Enrico Ros f5e34e8096 idUtils: uuid validation (fast, inaccurate) 2025-10-03 17:11:36 -07:00
Enrico Ros b2246ed922 Prevent wrong error matching 2025-10-03 13:05:05 -07:00
Enrico Ros a499e8463c LLMs: OpenAI: debug only in dev 2025-10-03 12:52:40 -07:00
Enrico Ros 708ae291cc LLMs: Gemini: debug only in dev 2025-10-03 12:52:36 -07:00
Enrico Ros 0d4db0322b tRPC: decode gemini 403 !ok 2025-10-03 12:40:28 -07:00
Enrico Ros 39ae2e47f9 LLMs: Gemini: enable Aspect Ratio 2025-10-02 20:10:42 -07:00
Enrico Ros 25159669df AIX/LLMs: Gemini: Nano Banana image aspect ratio 2025-10-02 20:10:37 -07:00
Enrico Ros 4e24281e18 LLMs: Gemini: update models 2025-10-02 18:48:13 -07:00
Enrico Ros d9bdeeb6b3 GoodModal: support darker bg 2025-10-02 18:48:13 -07:00
Enrico Ros b2847e7026 AIX: OpenRouter: let FCs through 2025-10-02 18:47:20 -07:00
Sam Jones 3f6bd90f64 Add thinking support for Claude 4.1 Opus and 4.5 Sonnet via OpenRouter 2025-10-02 11:30:39 +01:00
Enrico Ros 6b5984deac AIX: OpenAI: Variant Support 2025-10-01 17:48:39 -07:00
Enrico Ros 2dfaec9216 RenderImageURL: change the open/fullscreen icon 2025-10-01 06:21:08 -07:00
Enrico Ros ddbc5e65e8 AIX: OpenAI: fix Responses API breaking change 2025-09-30 18:55:59 -07:00
Enrico Ros 5dae51d2a1 AIX: extract CG impl for server-side usage, retry, etc. 2025-09-29 19:29:26 -07:00
Enrico Ros 75215955be AIX: export server Context type 2025-09-29 19:29:10 -07:00
Enrico Ros 79ee764a9f AIX: Inspector: limit to specific requests in production 2025-09-29 19:29:07 -07:00
Enrico Ros dce27e89a1 AIX: roll 2025-09-29 15:38:15 -07:00
Enrico Ros 448df4baf8 useLLMSelect: model options 2025-09-29 15:35:35 -07:00
Enrico Ros dafd09084a dMessageUtils: support Anthropic 4.5 and Gemini Robotics 2025-09-29 15:03:06 -07:00
Enrico Ros cae7d06256 LLMs: Gemini: add newer Flash/Flash-Lite and Robotics models 2025-09-29 15:03:06 -07:00
Enrico Ros a27eae46f6 LLMs: Gemini: remove vague symlinks 2025-09-29 15:03:06 -07:00
Enrico Ros 9f067c07f0 LLMs: Gemini: remove gen 1.5 models 2025-09-29 15:02:06 -07:00
Enrico Ros 1f0be73695 LLMs: OpenAI GPT-5 Codex 2025-09-29 13:28:26 -07:00
Enrico Ros ce6d42dcdd AIX: OpenAI Responses: allow re-entering the same summary block 2025-09-29 13:28:26 -07:00
Enrico Ros 439740adba ContentReassembler: newline before breakage messages 2025-09-29 13:28:26 -07:00
Enrico Ros cff36c0c31 AutoBlocksRenderer: re-enable ERC on completion 2025-09-29 13:28:26 -07:00
Enrico Ros 7c9edaf186 BlockPartModelAux: support Markdown (but off for now) 2025-09-29 13:28:26 -07:00
Enrico Ros bbc736d72a LLMs: Anthropic thinking models first 2025-09-29 12:00:14 -07:00
Enrico Ros 47439b9907 LLMs: Anthropic Claude Sonnet 4.5 2025-09-29 12:00:14 -07:00
Enrico Ros c3274d66c9 Move tf pointers 2025-09-29 07:49:16 -07:00
Enrico Ros d4836914dd [TOOLS] AIX: support Vnd.Ant 2024-10-22 2025-09-29 07:42:39 -07:00
Enrico Ros 4a44393878 AIX: Inspector: fixes 2025-09-29 07:42:39 -07:00
Enrico Ros 123ebc0f26 AIX: remove old debugging 2025-09-29 07:42:39 -07:00
Enrico Ros 0a133a764b DMessageMetadata: initial recipients 2025-09-29 07:42:39 -07:00
Enrico Ros c1d807a516 OptimaBarDropdown: support showFaded with 67% opacity 2025-09-29 07:39:15 -07:00
Enrico Ros aad715f7e1 Placeholder: mx 1.5 on op chip 2025-09-29 07:39:15 -07:00
Enrico Ros f1ec94111a FormInputKey: fix min width on mobile 2025-09-18 16:22:54 -07:00
Enrico Ros 07fcecc5b5 DebouncedInput: support startDecorator 2025-09-18 16:22:41 -07:00
Enrico Ros c56328009e Models-modal: Wizard uses the same autocomplete pattern 2025-09-17 12:39:27 -07:00
Enrico Ros f8cbb6faa2 Models-modal: shift + add -> wizard 2025-09-17 12:39:22 -07:00
Enrico Ros c07eb4014f FormInputKey: support for tooltips 2025-09-17 12:39:18 -07:00
Enrico Ros 94c1b35cee FormInputKey: bind to a username to help pass managers remember 2025-09-17 12:39:14 -07:00
Enrico Ros 2277fd0880 FormInputKey: smaller keys 2025-09-17 12:39:14 -07:00
Enrico Ros a2313186e4 FormInputKey: autocomplete on 2025-09-17 12:39:14 -07:00
Enrico Ros 3351d61ca7 LLMs: Gemini: update models 2025-09-17 01:11:31 -07:00
Enrico Ros 905d438075 Void fragments: render follow-up placeholders 2025-09-16 12:49:13 -07:00
Enrico Ros ba3290f4e1 animationSpinHalfPause 2025-09-16 12:48:51 -07:00
Enrico Ros a828ea45aa BlockPartPlaceholder: render model messages 2025-09-16 12:40:32 -07:00
Enrico Ros 7c484ea5d8 BlockPartPlaceholder: render model messages 2025-09-16 11:37:16 -07:00
Enrico Ros 5b68608d5b AIX: fragment-compatible support of model ops 2025-09-16 11:36:21 -07:00
Enrico Ros 08ef5396f3 Placeholder: don't draw the datastreamviz if we have a model placeholder 2025-09-16 10:46:52 -07:00
Enrico Ros 662ef5ae4f Fragments: support model placeholders 2025-09-16 10:45:59 -07:00
Enrico Ros 23a1e9b335 DLLM/AIX: Image generation options 2025-09-16 10:16:13 -07:00
Enrico Ros b79f8a1508 Roll packages 2025-09-16 00:23:19 -07:00
Enrico Ros a793fa041e LLMs: update scores from Sep 8, 2025 2025-09-16 00:20:53 -07:00
Enrico Ros c5ef92f1f7 Bump AIX 2025-09-15 23:36:45 -07:00
Enrico Ros 7ccf22c2f4 LLMS/AIX: OpenAI Image Generation Tool 2025-09-15 23:24:00 -07:00
Enrico Ros 67df71ab45 Doc: LLMS/AIX: parameters system 2025-09-15 22:50:43 -07:00
Enrico Ros 0636ca76ea AIX: OpenAI Responses: built-in image_generation_call config and output 2025-09-15 22:24:13 -07:00
Enrico Ros 2f2e4e36be AIX: OpenAI Responses: handle web_search_calls even for obscure types 2025-09-15 19:25:59 -07:00
Enrico Ros 913c821eae AIX: OpenAI Responses: fix different 'refusal' naming :/ 2025-09-15 19:25:59 -07:00
Enrico Ros 43f2bacf58 AIX: OpenAI Responses: response object stub definitions 2025-09-15 19:25:59 -07:00
Enrico Ros ae0cf1a89e AIX: OpenAI Responses: high quality citation output 2025-09-15 19:25:59 -07:00
Enrico Ros 0b2d037385 AIX: OpenAI Responses: web search results transmission 2025-09-15 19:25:59 -07:00
Enrico Ros cd5cef1c25 AIX: Placeholder supports (pre beginning of the real content, then done) 2025-09-15 19:25:59 -07:00
Enrico Ros 8c5f70a339 AIX: OpenAI Responses: Web Search: handle web search results too 2025-09-15 19:25:59 -07:00
Enrico Ros f5ecfd1d74 Annotations: copy citations as text or table 2025-09-15 19:25:59 -07:00
Enrico Ros e0de908741 LLMs: document search off 2025-09-15 16:31:25 -07:00
Enrico Ros cd2ccff0d7 Annotations: improve style for regular citations 2025-09-15 16:24:07 -07:00
Enrico Ros 3df6c62dce CloseablePopup: support custom boxShadow 2025-09-15 13:19:15 -07:00
Enrico Ros 463af67d17 Typo 2025-09-15 13:18:58 -07:00
Enrico Ros 80f345b179 LLM Attachment Drafts: has images 2025-09-13 12:17:50 -07:00
Enrico Ros bf212ca83f AIX: Client: Auto-Index of images excludes caption 2025-09-13 12:17:50 -07:00
Enrico Ros 0185712cbf AIX: Client: Auto-index for Images on System Messages 2025-09-13 01:28:28 -07:00
Enrico Ros a5199a23d9 AIX: Support for Images on System Messages 2025-09-13 00:52:54 -07:00
Enrico Ros 011c382360 AIX: Gemini: note on Image ordering 2025-09-13 00:52:54 -07:00
Enrico Ros 5c9ce84249 AIX: Content.SystemInstruction: support InlineImage parts 2025-09-13 00:52:54 -07:00
Enrico Ros 9e89ba9b10 ImageAttachmentFragments: support renderVariant, for rendering from the PersonasEditData 2025-09-13 00:52:54 -07:00
Enrico Ros cb8cefb0ea Attachment Menu: zIndex over modal for when used on the Persona Edit modal 2025-09-13 00:52:54 -07:00
Enrico Ros 7607b8fec5 ChatMessage: render system images below user images 2025-09-13 00:52:54 -07:00
Enrico Ros 05a96c5aca Fragment buckets: use correct classifier
# Conflicts:
#	src/common/stores/chat/hooks/useFragmentBuckets.ts
2025-09-13 00:49:27 -07:00
Enrico Ros 762b0c11ff AppChat: small comment 2025-09-12 17:49:42 -07:00
Enrico Ros c903f9bc5c LLMs: OpenAI: [DEV] models delta code 2025-09-12 17:49:28 -07:00
Enrico Ros c190ae89ce LLMs: OpenAI: remove older models 2025-09-12 17:49:28 -07:00
Enrico Ros 1b6b491eee LLMs: OpenAI: add new Audio and Realtime models descs 2025-09-12 16:45:17 -07:00
Enrico Ros 4e9c0ba489 LLMs: OpenAI: remove older 4o-realtime models 2025-09-12 16:45:16 -07:00
Enrico Ros 13fcb932d1 LLMs: OpenAI: prevent older realtime models from showing 2025-09-12 16:45:16 -07:00
Enrico Ros f9f2c3d2b2 AIX: LLM_IF_Outputs_Audio replaces needs_audio 2025-09-12 16:36:38 -07:00
Enrico Ros bdab75c336 LLMs: OpenAI: deprecated/shut down some models 2025-09-12 16:36:38 -07:00
Enrico Ros 5996934f60 AIX: OpenAI chatGenerate: enable audio modalities 2025-09-12 16:36:37 -07:00
Enrico Ros 2f8659fc38 AIX: OpenAI chatGenerate: ignore pure-obfuscation messages 2025-09-12 16:29:00 -07:00
Enrico Ros 1e1206ab7e Merge branch 'fork/powyncify/v2-dev-paulshort' into v2-dev
# Conflicts:
#	.claude/settings.local.json
#	src/modules/aix/server/dispatch/chatGenerate/adapters/openai.responsesCreate.ts
2025-09-12 14:27:31 -07:00
Enrico Ros 4682afc985 More permissions 2025-09-12 14:26:31 -07:00
Enrico Ros 8722e1be6c Azure: update docs 2025-09-12 14:26:31 -07:00
Enrico Ros fbd6fd3e7c LLMs: Azure: Disable the web search option from the model description (configurable by code) 2025-09-12 14:19:20 -07:00
Enrico Ros cfba3ce834 Azure: update env var docs 2025-09-12 14:19:20 -07:00
Enrico Ros a4ad1e8295 Azure: remove description of the fix for #828, now it's merged 2025-09-12 14:19:20 -07:00
Enrico Ros aa441b0656 LLMs: Azure OpenAI: cleaned up (and moved) azureOpenAIAccess - simpler and modularized code 2025-09-12 14:19:20 -07:00
Enrico Ros 39a7e30880 AIX: Azure OpenAI: renamed Env Vars 2025-09-12 13:58:23 -07:00
Enrico Ros 74b69f9ea4 AIX: Azure OpenAI: verified web_search_preview not present yet 2025-09-12 13:57:49 -07:00
Enrico Ros 3094540b93 LLMs: misc bits 2025-09-12 13:24:30 -07:00
Enrico Ros 513500b16e LLMs: extract access response type 2025-09-12 13:23:52 -07:00
Enrico Ros 51c41473a5 Azure: remove path from the example 2025-09-12 12:47:09 -07:00
Enrico Ros e79df4a347 AIX: Azure/Request API: improve web search tool use and exceptions 2025-09-12 11:21:51 -07:00
Enrico Ros 53a4a66e9e AIX: OpenAI Responses: support temperature in ChatGPT-5 2025-09-12 10:57:53 -07:00
Enrico Ros aaf2de278f OpenAI: move and rename ChatGPT-NR 2025-09-12 10:57:53 -07:00
Enrico Ros d2e8bad75f OpenAI: decorate LLMs that search 2025-09-12 10:57:53 -07:00
Enrico Ros 98bcbba7ca useLLMSelect: option to configure models at the bottom, and optimize styles 2025-09-12 10:57:02 -07:00
Enrico Ros 61258163e2 Optimize FormSliderControl by 1000x 2025-09-11 16:14:17 -07:00
Enrico Ros 80b393ca14 AIX: improve llm user config replacement/override 2025-09-11 14:02:58 -07:00
Enrico Ros b57c292581 LLMs: bits 2025-09-11 14:02:03 -07:00
Enrico Ros 044e2f9b57 ModelConfiguration: explicit 'undefined' modelParameters 2025-09-11 14:01:47 -07:00
Enrico Ros b14e9c91c6 Speech Recognition: add dispose (unmounts) as a one-way street 2025-09-11 14:01:40 -07:00
Enrico Ros 58fe41edc3 OpenAI Verbosity: llm params editor 2025-09-11 13:59:01 -07:00
Enrico Ros 73a089e177 OpenAI Verbosity: models 2025-09-11 13:58:57 -07:00
Enrico Ros ada9e07c2f OpenAI Verbosity: AIX & llms 2025-09-11 13:58:55 -07:00
Enrico Ros 3b9e42948e More permissions 2025-09-11 13:58:04 -07:00
Enrico Ros 2e822b1eeb Common: KeyStroke: color support 2025-09-04 15:11:22 -07:00
Enrico Ros 8f67c3e398 Common: KeyStroke: pass onClick 2025-09-04 15:11:21 -07:00
Enrico Ros 82289c0564 More permissions 2025-09-03 17:55:32 -07:00
Enrico Ros 16e5e08d21 Roll packages, but hold back Zustand 2025-09-01 17:45:49 -07:00
Enrico Ros 62671ae04f AIX: improve error messaging of captive portals and requests too large 2025-08-21 14:28:22 -07:00
Enrico Ros 266a5c6408 CloseablePopup: prevent keystrokes from being intercepted by MenuItems's accelerators 2025-08-17 14:12:44 -07:00
Enrico Ros e9264c782f ErrorBoundary: support link 2025-08-17 14:11:59 -07:00
Enrico Ros 37eb046c10 Optima: Page heading: ellipsize 2025-08-17 14:11:41 -07:00
Enrico Ros 6e75f7dbee OpenAI: abortable create/edit image requests 2025-08-17 14:10:49 -07:00
Enrico Ros e420fa9661 Server-side fetchers: note the abort path 2025-08-17 14:10:34 -07:00
Enrico Ros 505649e360 OptimaPanelGroupedList: any title 2025-08-17 14:09:51 -07:00
paulhshort 3d93c856ba Fix Azure OpenAI web_search_preview tool incompatibility
Azure OpenAI doesn't support the web_search_preview tool, which was causing
"Hosted tool 'web_search_preview' is not supported" errors with GPT-5 models.

## Changes:
- Pass dialect information to aixToOpenAIResponses function
- Skip web_search_preview tool addition when dialect is 'azure'
- Add logging when web search is skipped for Azure
- Document known Azure limitations in implementation guide

## Impact:
- Fixes web browsing errors with Azure GPT-5 models
- Maintains web search functionality for regular OpenAI models
- Provides clear logging for debugging

This is a critical fix for Azure OpenAI compatibility as web search is not
currently supported on Azure's Responses API implementation.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 20:07:19 -04:00
paulhshort 9fe5697fd4 Fix Azure OpenAI Resource Not Found errors for GPT-5 and o3 models (#828)
This commit addresses GitHub issue #828 by fixing URL construction for Azure OpenAI's Responses API
and preventing malformed URLs from client configuration issues.

## Problems Fixed:
1. Host normalization: Prevents malformed URLs when client config includes paths/queries
2. API paradigm support: Properly handles Azure's next-gen v1 Responses API
3. API version consistency: Centralizes version management with env overrides

## Key Changes:
- Normalize Azure host URLs to origin only (strip path/query)
- Prefer server environment variables over client-provided hosts
- Add special handling for Responses API (/openai/v1/responses)
- Support both traditional (deployment-based) and v1 API paradigms
- Add configurable API versions via environment variables
- Include debug logging for API paradigm selection

## New Environment Variables:
- AZURE_API_V1: Enable next-gen v1 API explicitly
- AZURE_RESPONSES_API_VERSION: Control Responses API version
- AZURE_CHAT_API_VERSION: Control Chat Completions API version
- AZURE_DEPLOYMENTS_API_VERSION: Control deployments listing API version

## Testing:
Validated with Azure OpenAI endpoint showing:
- List Deployments:  Works
- Chat Completions:  Works (with correct params for GPT-5)
- Responses API (v1):  Works with /openai/v1/responses?api-version=preview
- Responses API (traditional):  404 (Azure doesn't support this pattern)

The fix defaults to using Azure's recommended next-gen v1 API for Responses
while maintaining backward compatibility for existing deployments.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-11 19:37:41 -04:00
Enrico Ros 7fde3473ea BlobUtils: export direct 2025-08-09 14:12:52 -07:00
Enrico Ros 56a2d68c71 GPT-5: add Markdown Restore option, like the 'o' models 2025-08-08 16:48:11 -07:00
Enrico Ros 3d140604f8 Roll AIX 2025-08-08 16:48:11 -07:00
Enrico Ros 0a2167fa6a AIX: OpenAI: GPT-5 markdown restoration with the Responses API 2025-08-08 16:47:36 -07:00
Enrico Ros 79e95379ec AIX: OpenAI Chat Completions: GPT-5 as an 'o' model 2025-08-08 16:36:40 -07:00
Enrico Ros 3f740f3800 roll packages 2025-08-08 16:01:04 -07:00
Enrico Ros a4a0ecc0e5 LLMs: reset user params 2025-08-07 19:47:32 -07:00
Enrico Ros 686ad2ed7b FormControls size setting 2025-08-07 19:47:32 -07:00
Enrico Ros d8db79b4e5 AIX: OpenAI does not support Web Search with reasoning:minimal 2025-08-07 14:44:17 -07:00
Enrico Ros d33449f4af GPT-5: support 'minimal' reasoning 2025-08-07 14:37:32 -07:00
Enrico Ros 7e6a12bddf Roll AIX 2025-08-07 14:37:11 -07:00
Enrico Ros ec80413be0 AIX: vnd.oai.reasoning:minimal support 2025-08-07 14:34:54 -07:00
Enrico Ros c2af65facd GPT 5 naming 2025-08-07 13:38:10 -07:00
Enrico Ros 46266ac825 Rename search size to web search 2025-08-07 13:38:10 -07:00
Enrico Ros 91dc25e1c6 OpenAI: GPT5 models (configurable reasoning & search) 2025-08-07 13:38:10 -07:00
Enrico Ros 7f9dafd749 Roll AIX 2025-08-06 15:26:19 -07:00
Enrico Ros 989d0e5741 Anthropic: 4.1 > 4 2025-08-06 15:24:54 -07:00
Enrico Ros 3277c009fa Composer: change tips 2025-08-06 07:57:40 -07:00
Enrico Ros 85f1fe088d Fix models description 2025-08-05 21:37:03 -07:00
Enrico Ros 3c554c92d6 Anthropic: update models 2025-08-05 20:20:42 -07:00
Enrico Ros f95d071197 Anthropic: fix dMessageUtils 2025-08-05 20:20:42 -07:00
Enrico Ros da887d58db Incognito: improve chat drawer icon 2025-08-05 20:20:42 -07:00
Enrico Ros 5273a3c84f ClosablePopup: support size 2025-08-05 20:13:38 -07:00
Enrico Ros f51712867f Folders: feed items count (commented) 2025-08-05 20:13:38 -07:00
Enrico Ros ecac1dffec Folders: support for items count, if any 2025-08-05 20:13:37 -07:00
Enrico Ros 28817bee72 Folders: only drag on the icon 2025-08-05 20:04:04 -07:00
Enrico Ros 3fd41329ea ChatDrawer: improve stepping of the progressive limiter 2025-08-05 20:04:04 -07:00
Enrico Ros f734f0b5f7 ChatDrawer: limit items (ListItems are on the heavy side) 2025-08-04 23:55:37 -07:00
Enrico Ros 3b34a8b96d Fix blob conversion types with newer TS 2025-08-04 14:19:52 -07:00
Enrico Ros 74e6ee4b2d Posthog: improve config (if/when enabled) 2025-08-04 14:15:45 -07:00
Enrico Ros 61929527a3 Roll packages: tRPC, zod, zustand, typescript 2025-08-04 14:13:50 -07:00
Enrico Ros a3e216c956 Logger: max 200 entries 2025-08-02 19:20:37 -07:00
Enrico Ros d4203f728e Nicer replacement of ph when interrupted 2025-08-01 15:34:11 -07:00
Enrico Ros 616376f4ac BackupRestore: Flash: vendor prefix 2025-08-01 14:45:49 -07:00
Enrico Ros 1a309c9bdf BackupRestore: Flash: change schema/version 2025-08-01 14:36:07 -07:00
Enrico Ros 253fc3b213 Approximate Tokenization - optimized 2025-08-01 14:27:05 -07:00
Enrico Ros a79fd0a10c Approximate Tokenization - default on new Mobile installs 2025-08-01 14:26:26 -07:00
Enrico Ros 04df3dcba8 Butter-smooth decimator with deadlines 2025-07-31 11:33:13 -07:00
Enrico Ros 00fbf77dbd Raise update frequency due to optimizations 2025-07-31 09:07:47 -07:00
Enrico Ros 9a34c1e376 References (to Image Assets): restore places that assumed 'image_ref' 2025-07-30 18:06:40 -07:00
Enrico Ros e248104d4b Reference: embed a ref summary 2025-07-30 17:11:22 -07:00
Enrico Ros c10558f230 Reference: cleanup migrated fragments 2025-07-30 16:26:41 -07:00
Enrico Ros 5be41b8199 References: add support (migration, creation (attaching, aix.reassembler, t2i , ego-msg), gc dblobs collection, render image, render button icon, dereference, bucketing, token count) with exhaustive checks 2025-07-30 16:09:05 -07:00
Enrico Ros d6b6e30cf5 Fragments: References 2025-07-30 14:52:26 -07:00
Enrico Ros 825ca7ba87 Fragments: soft-track the originId for multi-origin fragments in messages 2025-07-30 10:26:40 -07:00
Enrico Ros 5c2a8a4996 Tools: fragment type discrimination 2025-07-30 06:49:18 -07:00
Enrico Ros 58aef2a97d Don't transmit ui-side unhandled exceptions (the handler shall be there already) 2025-07-29 16:10:13 -07:00
Enrico Ros e983f9d8a9 Domain for errors 2025-07-29 16:09:46 -07:00
Enrico Ros 7e95dcc1cb PDF: roll pdfjs 2025-07-29 16:03:03 -07:00
Enrico Ros 69a21a82ac PDF: prevent loading issues 2025-07-29 15:56:17 -07:00
Enrico Ros 95d2fee63d Paste.gg: fully removed, the website seems up no more 2025-07-29 13:08:01 -07:00
Enrico Ros 6f22a71555 PostHog: debug valid client-side errors (if Error is provided) 2025-07-29 12:51:56 -07:00
Enrico Ros a30409fcfc Stacked bar: improve 2025-07-29 08:11:24 -07:00
Enrico Ros 217346f572 BackupRestore: partial export (no/settings) 2025-07-29 07:20:38 -07:00
Enrico Ros 4472671470 Stacked bar: support node titles 2025-07-28 16:07:21 -07:00
Enrico Ros b1a026bdd1 Prodia: remove for now as the API keeps changing and is not a good default for our users - may put this back anytime (#786) 2025-07-26 11:06:34 -07:00
Enrico Ros 312fae5f6d OpenAI: T2I: Auto-select the latest model 2025-07-26 10:53:18 -07:00
Enrico Ros 46235aa28a T2I: Auto-select the provider 2025-07-26 10:53:07 -07:00
Enrico Ros 6fe0e297eb Remove Prodia image generation - does not seem to be up to the quality par 2025-07-26 08:46:49 -07:00
Enrico Ros 3b3214ef5e Roll packages 2025-07-26 06:21:20 -07:00
Enrico Ros ebc28ed8a4 Entangled: add DMessage metadata 2025-07-22 07:42:37 -07:00
Enrico Ros 54c23a9907 Update packages 2025-07-21 14:14:55 -07:00
Enrico Ros 8fce40be80 PostHog: revert changes to the Edge route (details inside)
Build fails with:
./node_modules/posthog-node/lib/edge/index.mjs
Module not found: Can't resolve 'crypto' in '/vercel/path0/node_modules/posthog-node/lib/edge'
2025-07-21 14:08:13 -07:00
Enrico Ros 5c5a213c4c PostHog errors: cleanups 2025-07-21 13:28:20 -07:00
Enrico Ros 3b730680cb PostHog errors: cloud/edge routes 2025-07-21 13:28:20 -07:00
Enrico Ros d7765ae578 PostHog errors: add node/edge utility functions 2025-07-21 13:28:19 -07:00
Enrico Ros ab21d5c308 PostHog errors: add node/edge package 2025-07-21 13:28:18 -07:00
Enrico Ros 392319a300 PostHog errors: remove error capture 2025-07-21 13:28:17 -07:00
Enrico Ros bee5f950b9 PostHog: client-side on ErrorBoundary (escape the auto capture) 2025-07-21 12:42:42 -07:00
Enrico Ros 3fc1e3f643 Show the load progress past 500ms 2025-07-21 09:47:57 -07:00
Enrico Ros ee10b39866 PostHog: reduce config 2025-07-21 08:47:37 -07:00
Enrico Ros 867265fd31 PostHog: verbosity off 2025-07-21 08:19:20 -07:00
Enrico Ros 68109a4a37 PostHog: integrate in build 2025-07-21 08:08:57 -07:00
Enrico Ros 874401ef8c PostHog: add cli/nextjs conf 2025-07-21 07:59:11 -07:00
Enrico Ros 303a3f2c7d New react-player 3 2025-07-19 13:15:01 -07:00
Enrico Ros 915f338378 Deep roll 2025-07-19 12:24:47 -07:00
Enrico Ros fd2e1fe34b Roll packages 2025-07-19 12:23:18 -07:00
Enrico Ros e2e7453431 Roll zod@4 2025-07-19 12:22:17 -07:00
Enrico Ros b07573ec4f chat.message: nit 2025-07-17 11:13:53 -07:00
Enrico Ros 66c279e895 Telephone: fix for cancel 2025-07-17 11:06:36 -07:00
Enrico Ros 06e879b884 storageUtils: don't keep requesting permission once granted 2025-07-16 12:19:22 -07:00
Enrico Ros f205dafe4d AppChat: lazy-load modals 2025-07-16 10:48:19 -07:00
Enrico Ros fec18d7039 ModelsModals: extract auto-open 2025-07-16 10:06:30 -07:00
Enrico Ros 5ef09455da ModelsModals: lazy load 2025-07-16 10:06:12 -07:00
Enrico Ros c799869e3b ModelsModals: extract the configurator modal 2025-07-16 10:01:02 -07:00
Enrico Ros 448f5a85d0 LLMs: centralize icons 2025-07-16 09:35:46 -07:00
Enrico Ros 9909a537c2 Modals: lazy load Settings 2025-07-16 09:16:45 -07:00
Enrico Ros 9772a18bf4 LLMs: centralize config UI into 1 function 2025-07-16 08:59:30 -07:00
Enrico Ros 0ac80b26bd Gemini: remove unused options 2025-07-16 08:59:30 -07:00
Enrico Ros 1f5e25a57b Deep roll packages 2025-07-16 08:36:14 -07:00
Enrico Ros 8e5f7ef977 Roll safe packages 2025-07-16 08:24:19 -07:00
Enrico Ros ed21c8affd Logger: improve console output snr 2025-07-15 16:37:19 -07:00
Enrico Ros 023228c2c5 AnimUtils: add opacity pulse 2025-07-14 15:16:56 -07:00
Enrico Ros 68f4118bde AIX: needs a roll for the xAI changes 2025-07-11 17:20:22 -07:00
Enrico Ros 0edc839857 xAI: final touches, it's good now 2025-07-11 17:04:04 -07:00
Enrico Ros ee6f560388 xAI: perfect search 2025-07-11 16:48:42 -07:00
Enrico Ros c100355b7b xAI: models: define search support 2025-07-11 16:47:46 -07:00
Enrico Ros 4f7402c343 xAI: support Live Search on X, Web, etc. 2025-07-11 16:13:21 -07:00
Enrico Ros 5ac73e9599 xAI: update Grok models 2025-07-11 15:30:45 -07:00
Enrico Ros c1e46e00d9 Improve looks of pure-markdown pre code blocks 2025-07-10 23:18:01 -07:00
Enrico Ros 7a05f0f9ab Exclude unused 2025-07-10 20:47:47 -07:00
Enrico Ros afcd511893 More permissions 2025-07-09 17:12:31 -07:00
Enrico Ros 8f42900e8e PerfUtils: interval annotation function 2025-07-09 07:21:00 -07:00
Enrico Ros bcc12876d7 Optima Pane Peek: 25% faster enter 2025-07-08 21:32:49 -07:00
Enrico Ros e1c2f85bda Beam: change count looks 2025-07-07 09:43:45 -07:00
Enrico Ros 6989a807d6 InlineTextArea: stop event propagation on 'esc' 2025-07-06 18:57:56 -07:00
Enrico Ros d92739c793 Remove warning 2025-07-03 19:07:54 -07:00
Enrico Ros 2fcb80b932 Logger: prevent localStorage overflow 2025-07-02 15:14:57 -07:00
Enrico Ros 03b0e88ef7 ChatMessageList: fragment replace as done 2025-07-01 19:20:24 -07:00
Enrico Ros a5a73ddbef Release: const dev build 2025-07-01 14:29:52 -07:00
Enrico Ros eb57147ed3 BackupRestore: improve DB schema restore 2025-07-01 09:08:50 -07:00
Enrico Ros 0cf12d2a8f Rename Chat Bars 2025-07-01 08:49:52 -07:00
Enrico Ros 06d332e785 Restore: selective restore 2025-07-01 08:37:49 -07:00
Enrico Ros a75eaaec69 Bubble: cut tool 2025-06-29 06:58:59 -07:00
Enrico Ros 513ee36027 LLMs: Gemini: update visibilities 2025-06-27 11:09:52 -07:00
Enrico Ros 975f425ae4 LLMs: Gemini: update models 2025-06-27 11:05:45 -07:00
Enrico Ros c310ca9c5c LLMs: Gemini: remove obsolete 2025-06-27 10:41:39 -07:00
Enrico Ros 21a6f0aa50 LLMs: Gemini: update pricing 2025-06-27 10:41:31 -07:00
Enrico Ros c2c3fdf7d4 AIX: Gemini: update parser (thinking) 2025-06-27 10:41:00 -07:00
Enrico Ros ce0880bf5b AIX: OpenAI Responses: support for item done (web_search_call)
Still missing: annotation support, web search step reporting, sequence machine on the 3 new added events
2025-06-27 00:23:54 -07:00
Enrico Ros eed099bfed AIX: OpenAI Responses: text annotations (not implemented yet) 2025-06-27 00:19:07 -07:00
Enrico Ros 08b37efb55 AIX: OpenAI Responses: support web_search_call events 2025-06-27 00:07:25 -07:00
Enrico Ros 8443445ed0 AIX: OpenAI Responses: support the web_search_preview Tool 2025-06-27 00:07:24 -07:00
Enrico Ros d011599060 OpenAI: add Deep-Research o3 and o4-mini 2025-06-26 23:13:55 -07:00
Enrico Ros 0dd043cb6a Zod: tree-shakeable 2025-06-26 15:51:48 -07:00
Enrico Ros 1ebd1d9e15 Zod-4: reduce deprecated 2025-06-26 12:47:33 -07:00
Enrico Ros 202aef8916 tRPC use stable httpBatchStreamLink 2025-06-26 12:46:38 -07:00
Enrico Ros 30acf51410 Lints 2025-06-26 12:46:25 -07:00
Enrico Ros d4b01398c7 Remove zod-to-json-schema 2025-06-26 12:01:40 -07:00
Enrico Ros 4dde3d0fe7 Zod-4: Migrate 2025-06-26 12:01:40 -07:00
Enrico Ros 8aa6fd7c8e Zod-4: for JSON schema 2025-06-26 12:01:26 -07:00
Enrico Ros e2e6e6d641 Zod: qualify records 2025-06-26 12:00:59 -07:00
Enrico Ros 20aa91b9a6 Link: change the dataObject to any, from passthrough 2025-06-26 12:00:59 -07:00
Enrico Ros 7bfd82ae4f AIX: OpenAI: remove unnecessary default 2025-06-26 12:00:59 -07:00
Enrico Ros c5101ee4cf LLMs: remove unnecessary validation 2025-06-26 11:56:31 -07:00
Enrico Ros 378f390941 AIX: FC: convert to z.json() where not string (DEF, gemini Call/Res).
Annotate FC-DEF/FC/FC-R
2025-06-26 11:56:31 -07:00
Enrico Ros 3bc8360959 AIX: Anthropic fix 2025-06-26 11:56:31 -07:00
Enrico Ros af124e7cd9 Roll packages deep 2025-06-26 09:27:27 -07:00
Enrico Ros 71633ff441 Roll packages 2025-06-26 09:13:20 -07:00
Enrico Ros daf2e58c99 Mistral: turn off gaps debug 2025-06-25 15:38:41 -07:00
Enrico Ros 3818af2156 Mistral: full auto-spec of models 2025-06-25 15:32:43 -07:00
Enrico Ros dd0fd2edcf AIX: fw-compatible check deprio 2025-06-25 13:14:57 -07:00
Enrico Ros 07304c6d0e AIX: OpenAI: Responses: Tools check 2025-06-25 13:02:50 -07:00
Enrico Ros 4db1708fae LLMs: OpenAI: enable o3-pro, o1-pro, codex-mini 2025-06-25 12:54:42 -07:00
Enrico Ros 0952926265 AIX: OpenAI: Responses: parser NS/S complete
NOTE: check the console for ANY log. We don't throw to complete requests, but we make
large assumptions on the ordering/sequencing of events.
2025-06-25 12:53:19 -07:00
Enrico Ros a695484921 AIX: OpenAI: Responses: wires 2025-06-25 12:52:12 -07:00
Enrico Ros 55c3eb4cf0 AIX: OpenAI: Responses: dispatch fixes 2025-06-25 09:19:02 -07:00
Enrico Ros 8e42356956 Metrics: include dtAll 2025-06-25 09:19:02 -07:00
Enrico Ros 255ef64b37 AIX: roll AIX 2025-06-24 22:26:25 -07:00
Enrico Ros e3f1307b30 LLMs: OpenAI: change pSpecs for restore markdown 2025-06-24 22:25:57 -07:00
Enrico Ros 93beda7fff AIX: OpenAI: Responses NS parser 2025-06-24 22:21:21 -07:00
Enrico Ros 91251985db AIX: OpenAI: responses interfaces 2025-06-24 19:29:21 -07:00
Enrico Ros b41cb74f45 AIX: response API dispatch switch 2025-06-24 19:23:31 -07:00
Enrico Ros 303b90d1ee AIX: response API dispatcher 2025-06-24 19:20:57 -07:00
Enrico Ros 86f80a320d AIX: response API model annotations 2025-06-24 19:20:44 -07:00
Enrico Ros d4e158a8b6 OpenAI Responses: Wires 2025-06-24 19:18:01 -07:00
Enrico Ros f58eae623a ERC: fix overflow 2025-06-24 13:38:02 -07:00
Enrico Ros bc5493ed50 Zero State models 2025-06-24 10:42:02 -07:00
Enrico Ros 4e51f26ef2 RenderCode: fixed line numbers 2025-06-24 07:44:55 -07:00
Enrico Ros 04226eb686 Attract to Model Config 2025-06-23 12:43:00 -07:00
Enrico Ros f9743fd04b GoodModal: options to not react on Backdrop or Escape closes 2025-06-23 11:38:23 -07:00
Enrico Ros b9746ef100 GoodModal: fix the drag-closes issue
When clicking inside the dialog and dragging on the backdrop, the dialog would
close.

Now we only close if initiated within the dialog.
2025-06-23 11:33:43 -07:00
Enrico Ros 92e56c3c84 Lint 2025-06-23 09:38:42 -07:00
Enrico Ros aa134d7f21 Fix build 2025-06-23 09:38:21 -07:00
Enrico Ros f2bea1867c Perplexity: early variants support (disabled) 2025-06-23 09:18:37 -07:00
Enrico Ros a55acf5146 Perplexity: fix first response 2025-06-23 09:10:22 -07:00
Enrico Ros 869b9b994d Perplexity: enable search context size 2025-06-23 08:27:15 -07:00
Enrico Ros 93fca32e9a Move Date Range config 2025-06-23 08:26:58 -07:00
Enrico Ros 1d7dfd53f4 Improve Search Context config 2025-06-23 08:26:48 -07:00
Enrico Ros a68f35d909 Citations: render date 2025-06-23 07:59:13 -07:00
Enrico Ros f800639e1a Citations: add date to Fragments 2025-06-23 07:54:59 -07:00
Enrico Ros ed45a01267 Perplexity: fix system-only message, or assistant-before-user 2025-06-23 07:39:50 -07:00
Enrico Ros b0634e272d Perplexity: improved search results support (with title) 2025-06-23 07:25:12 -07:00
Enrico Ros d90f012140 Perplexity: reorder citations to not interrupt the first reasoning block 2025-06-23 07:14:26 -07:00
Enrico Ros 41363a534f Perplexity: update models 2025-06-23 07:00:53 -07:00
Enrico Ros 44d53e581b Perplexity: add Academic research and range 2025-06-23 07:00:44 -07:00
Enrico Ros 5aeb034945 OAI: fix spell 2025-06-23 06:33:06 -07:00
Enrico Ros 13a95db7a4 ElevenLabs: return the buffer, optionally 2025-06-22 13:00:05 -07:00
Enrico Ros 1705461e80 Logger: deduplicate 2025-06-21 18:59:34 -07:00
Enrico Ros 3fa7d61c7e ElevenLabs: return play status 2025-06-21 09:50:07 -07:00
Enrico Ros 0b8268fea3 ChatMessage: imperative handle 2025-06-20 16:41:57 -07:00
Enrico Ros 22ffc74371 Drawer: option to pin it 2025-06-20 15:49:37 -07:00
Enrico Ros 31edb6a881 RenderCode: nowrap 2025-06-18 07:52:15 -07:00
Enrico Ros b8245095c9 CleanerMessage: improve layout 2025-06-17 16:03:46 -07:00
Enrico Ros ed26e57352 CleanerMessage: display the presence of attachments, images, etc. 2025-06-17 15:40:28 -07:00
Enrico Ros ea8a757b19 Fix drawers size 2025-06-17 07:52:05 -07:00
Enrico Ros b5d1e5f6c9 Revert "CSS: round() ... [WARNING]" - Not risking it in v2-dev.
This reverts commit 142a4495a6.
2025-06-16 13:08:40 -07:00
Enrico Ros 142a4495a6 CSS: round() to fix potential blurs [WARNING]
Warning: older browsers will ignore the entire CSS lines containing round() calls.

However we already introduced top-level layout rounds in 85e4946f (Fix fractional sizes of drawer and pane).

To restore support of old browsers, calls to 'round()' need to be stripped of the round part.
2025-06-16 13:04:34 -07:00
Enrico Ros 7a9a21c02e Drawer/Panel: fix fractional sizes and shade 2025-06-16 12:24:55 -07:00
Enrico Ros a60c84987d Mobile Drawer/Panel: suppress fractional sizes 2025-06-16 09:27:53 -07:00
Enrico Ros 3150900e13 Drawer: remove the thin border line, in case 2025-06-16 09:26:32 -07:00
Enrico Ros 85e4946ff5 Fix fractional sizes of drawer and pane 2025-06-16 09:26:05 -07:00
Enrico Ros dbf6ad70f5 Mark optima input wrappers 2025-06-16 08:54:09 -07:00
Enrico Ros bf7a16559b Panel: restore gaps 2025-06-16 08:47:04 -07:00
Enrico Ros fa4c78c9c2 Remove duplicate models configuration 2025-06-16 08:06:35 -07:00
Enrico Ros 9d99f46f3c Patch to show a 22px first icon rather than 20 2025-06-16 08:00:08 -07:00
Enrico Ros 5dc86c5649 Remove extra Textsms/Outlined icons 2025-06-16 07:59:54 -07:00
Enrico Ros fa82083670 AppChat: nav: improve icon 2025-06-16 07:59:38 -07:00
Enrico Ros fa3bff3e6d Restore active icons 2025-06-16 07:58:22 -07:00
Enrico Ros 9d68b26868 Chats icon 2025-06-16 07:58:11 -07:00
Enrico Ros 47a0214105 Panel: peek after 1 second
Note that we need to remove the leave handler from the hovered button as it's
covered by the panel itself, and that would trigger a loop
2025-06-16 07:30:17 -07:00
Enrico Ros 82ea6fef3d Fix z-index of Selection header 2025-06-15 17:22:28 -07:00
Enrico Ros eec61adad1 Drawer/Pane: fix data-closed 2025-06-15 17:14:32 -07:00
Enrico Ros ada9fb10e8 Drawer/Pane: switch to aria-expanded from aria-hidden (inverted) 2025-06-15 15:29:00 -07:00
Enrico Ros c2bd9c3310 Unnecessary mouse tracking 2025-06-15 12:50:21 -07:00
Enrico Ros ba93062638 Peeking: discard dedicated action getter 2025-06-15 11:44:34 -07:00
Enrico Ros 61366b7096 Panel: add peeking support to the store 2025-06-15 11:44:34 -07:00
Enrico Ros e1dd9c0117 Drawer: remove unused soft unmount 2025-06-15 11:12:02 -07:00
Enrico Ros 407d3d8db4 Panel: optimize with CSS 2025-06-15 11:12:02 -07:00
Enrico Ros 5a2fa26dad Drawer: optimize opening with css 2025-06-15 10:57:21 -07:00
Enrico Ros fd22faeef8 Drawer: adjust 'peek' timings 2025-06-15 10:57:21 -07:00
Enrico Ros 76c5ef46d0 Drawer: 'peek' functionality, for faster chat switch/etc when the drawer is closed (testing) 2025-06-14 20:46:47 -07:00
Enrico Ros 1e725984cd ScratchClip: support for adding the current clipboard content 2025-06-14 17:26:22 -07:00
Enrico Ros 12c6b6f59b Compact: rename from compress/minify 2025-06-13 11:51:01 -07:00
Enrico Ros 4e1d7f0b82 InlineTextArea: auto-select all on edit
Except for the Fusion instructions, and the Compact
2025-06-13 11:11:36 -07:00
Enrico Ros 0635edbfff FormSelectControl: don't overflow (but no wrap for now) 2025-06-13 07:33:21 -07:00
Enrico Ros 07e2ab07ab Improve Reasoning Traces ordering 2025-06-13 07:33:00 -07:00
Enrico Ros 134d82c673 Improve Reasoning Traces messaging 2025-06-13 07:28:00 -07:00
Enrico Ros 947f9c8355 InlineError: fix break on mobile 2025-06-13 07:05:15 -07:00
Enrico Ros 5e6575a63d Tryfix Sharp differently. 2025-06-12 14:16:05 -07:00
Enrico Ros bef61a8547 Revert "Sharp: fix windows build with a win32 dev dependency"
This reverts commit 7eb8c08e6e.
2025-06-12 14:10:05 -07:00
Enrico Ros 7eb8c08e6e Sharp: fix windows build with a win32 dev dependency
Background: all of a sudden Sharp started not building anymore with the following error message:

```
./public/images/covers/release-cover-v1.12.0.png
Error: Could not load the "sharp" module using the win32-x64 runtime
Possible solutions:
- Ensure optional dependencies can be installed:
    npm install --include=optional sharp
- Ensure your package manager supports multi-platform installation:
    See https://sharp.pixelplumbing.com/install#cross-platform
- Add platform-specific dependencies:
    npm install --os=win32 --cpu=x64 sharp
- Consult the installation documentation:
    See https://sharp.pixelplumbing.com/install
    at Object.<anonymous> (PATH\node_modules\sharp\lib\sharp.js:113:9)
    at Module._compile (node:internal/modules/cjs/loader:1730:14)
    at Object..js (node:internal/modules/cjs/loader:1895:10)
    at Module.load (node:internal/modules/cjs/loader:1465:32)
    at Function._load (node:internal/modules/cjs/loader:1282:12)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
    at Module.<anonymous> (node:internal/modules/cjs/loader:1487:12)
    at mod.require (PATH\node_modules\next\dist\server\require-hook.js:65:28)
    at require (node:internal/modules/helpers:135:16)
```

This is without changing anything in the system nor in the build. May be a faulty env detection, and happens across all branches.

Deploying this and trying it out.
2025-06-12 14:01:16 -07:00
Enrico Ros aed5272b6c Roll packages 2025-06-12 13:32:45 -07:00
Enrico Ros 13e0779ced OpenAI: update models 2025-06-11 14:11:14 -07:00
Enrico Ros 702006f6ea Remove the @mui/material dependency (brought in as peer by @mui/icons-material, stuck to ^5 for Joy) 2025-06-11 13:23:13 -07:00
Enrico Ros b4fad03c46 Roll packages deeper 2025-06-11 13:13:07 -07:00
Enrico Ros 77e43a4a7e Roll packages 2025-06-11 13:08:37 -07:00
Enrico Ros cfd21e7abb Roll tRPC 2025-06-11 13:05:31 -07:00
Enrico Ros db490bf4fb Sticky Code: fix on Beam 2025-06-10 22:26:18 -07:00
Enrico Ros bc6f3401f8 Pane: proportional header font 2025-06-10 13:44:19 -07:00
Enrico Ros e5c0079f0e Pane: smaller font 2025-06-10 13:16:54 -07:00
Enrico Ros a68d80f7aa Mobile/Pane: use a +1 scaling bump to still allow for xs 2025-06-10 11:43:43 -07:00
Enrico Ros 872c9e9e3b System -> Show Instruction 2025-06-10 11:25:42 -07:00
Enrico Ros 0e51924e5e OptimaPanelGroupedList: remove margin 2025-06-10 11:21:53 -07:00
Enrico Ros c9460a07ef Preferences: rename 2025-06-10 11:01:42 -07:00
Enrico Ros f8d80730fe Mobile: Panes: larger items 2025-06-10 11:00:14 -07:00
Enrico Ros c2e0cd844b Auto Hide on Mobile too 2025-06-10 10:37:41 -07:00
Enrico Ros 5493896392 BTL: style for mobile nav 2025-06-10 09:03:49 -07:00
Enrico Ros 1ad3cb460e Mobile Nav Menu: style 2025-06-10 09:03:49 -07:00
Enrico Ros 721e23de68 Mobile Drawer: unfilter backdrop 2025-06-10 08:47:58 -07:00
Enrico Ros 97b9f5a232 Mobile Drawer: correctly compress inserted content 2025-06-10 08:47:58 -07:00
Enrico Ros 1a9f5a4fda Mobile: transfer App menu to the Drawer 2025-06-10 08:47:58 -07:00
Enrico Ros b2153a14d8 ChatPane: smaller switch 2025-06-10 06:33:45 -07:00
Enrico Ros 8d6499a91c ChatPane: 2-col actions 2025-06-10 06:33:37 -07:00
Enrico Ros 6d6fbac01f Vector Clock Device IDs: SSR fix 2025-06-09 20:13:08 -07:00
Enrico Ros d576e2387e Improve Vector Clock Device IDs 2025-06-09 20:08:51 -07:00
Enrico Ros 4e255a355f Auto Hide: fix mobile compression with an outer div 2025-06-09 12:17:50 -07:00
Enrico Ros 94401f95d7 Auto Hide on Mobile too 2025-06-09 11:37:32 -07:00
Enrico Ros 739f613881 Auto Hide The Message Box
Added option in "Settings > Labs" to auto-hide the Composer.
Fixes #812
2025-06-08 17:57:56 -07:00
Enrico Ros 5dc24557e6 Chat Pane Focus: Fix 'close other panes' 2025-06-08 12:09:10 -07:00
Enrico Ros 65842a976e Chat Pane Focus: AppChat bits 2025-06-08 12:00:44 -07:00
Enrico Ros c6dfc66a14 RenderCode: sticky overlay 2025-06-07 11:34:08 -07:00
Enrico Ros bc54967720 Metrics: fix tier tokens calculations 2025-06-06 13:01:39 -07:00
Enrico Ros 1112aa292f Gemini: support tiered cache pricing 2025-06-06 11:17:40 -07:00
Enrico Ros 31bb06293d Gemini: auto-caching and reasoning tokens parsing 2025-06-06 11:16:29 -07:00
Enrico Ros 0139f0421b Merge branch 'sam0jones0-v2-dev' into v2-dev 2025-06-06 11:12:14 -07:00
Enrico Ros 4f63e98e7f OpenRouter: support for Anthropic thinking variants via the OpenAI protocol. #811 2025-06-06 11:11:13 -07:00
Enrico Ros c04e147ca7 Gemini: full thinking budget support, including showing the reasoning traces! 2025-06-06 09:36:00 -07:00
Enrico Ros b88feeac2c Gemini: caching pricing 2025-06-06 09:20:36 -07:00
Enrico Ros 0902c35e13 Gemini: support today's 2.5 Pro 2025-06-06 09:20:02 -07:00
Enrico Ros e02ee99d26 Typo 2025-06-05 15:57:51 -07:00
Enrico Ros 313313db1f Add TODO 2025-06-05 12:10:52 -07:00
Sam Jones b7bdae00f8 tidy up 2025-06-05 17:35:39 +01:00
Sam Jones b699a665a1 Use reasoning instead of thinking for openrouter 2025-06-05 17:29:43 +01:00
Sam Jones b28a282aba Remove extraprops 2025-06-05 16:50:41 +01:00
Sam Jones a30d2ca025 fix indent again 2025-06-05 16:48:21 +01:00
Sam Jones f7f3929342 fix indent 2025-06-05 16:47:59 +01:00
Sam Jones 35abb6e69d remove comment 2025-06-05 16:47:23 +01:00
Sam Jones b759be62ea Add Claude 4 via openrouter thinking support 2025-06-05 16:32:15 +01:00
Enrico Ros 9a2db4a6e9 Typo fix 2025-06-04 19:30:51 -07:00
Enrico Ros 5bff478d06 Rationalize Single Desktop Overflow Menu 2025-06-04 16:55:40 -07:00
Enrico Ros 3a7402b03d Nav: hide Tokenizer (dev only and hidden) 2025-06-04 16:55:40 -07:00
Enrico Ros d076e73de6 Add PhSquaresFour icon 2025-06-04 16:55:40 -07:00
Enrico Ros 1d98a994d0 AppNews: dev build info only on mobile 2025-06-04 16:55:40 -07:00
Enrico Ros 3957fae782 ScratchClip: unfilter background 2025-06-04 16:55:40 -07:00
Enrico Ros 72c07faedf App: rc3 2025-06-04 16:55:40 -07:00
Enrico Ros be3b6ee394 App: add BaseProduct 2025-06-04 16:55:40 -07:00
Enrico Ros 61910827e6 News: fix keys 2025-06-04 16:55:40 -07:00
Enrico Ros 6582beaf2a Mobile: nav: hide a few apps 2025-06-04 16:55:40 -07:00
Enrico Ros 840223af6f More permissions for Claude Code 2025-06-04 16:55:40 -07:00
Enrico Ros a084b71682 DBlobs: selective types export 2025-06-04 12:56:09 -07:00
Enrico Ros 1dbe30af3d DBlobs: collapse the portability layer 2025-06-04 12:34:13 -07:00
Enrico Ros e57fbb88bf DBlobs: add a portability layer 2025-06-04 12:21:42 -07:00
Enrico Ros a5002b4c12 Remove asyncCanvasToBlob 2025-06-03 17:28:58 -07:00
Enrico Ros c139884671 Image Viewer: flush DBlob actions 2025-06-03 17:23:40 -07:00
Enrico Ros 2b97b0e0cf Image Viewer: bytes size 2025-06-03 17:23:09 -07:00
Enrico Ros 2e4176d41c Image Viewer: download 2025-06-03 16:54:11 -07:00
Enrico Ros 40d62b6f2d Image viewer extended: Attachment Fragments (user-top), Content 'image_ref' Fragments (assistant t2i / draw t2i). Remove openObjectRLInNewTab 2025-06-03 16:41:05 -07:00
Enrico Ros 43d7e19dfb imageUtils: operate only on Blob, free of base64 converters 2025-06-03 16:04:09 -07:00
Enrico Ros ef06071ab1 addDBImage: more Blob usage with removal of resizeBase64ImageIfNeeded 2025-06-03 15:54:39 -07:00
Enrico Ros 18578a63ec Rationalize openObjectRLInNewTab 2025-06-03 15:54:01 -07:00
Enrico Ros aab0beba93 Remove showing image URL in new tab 2025-06-03 15:40:51 -07:00
Enrico Ros 7d32de50a6 DBlobs: partially remove ContextId 2025-06-03 15:12:56 -07:00
Enrico Ros 57d91e330e Images: push Blob usage deeper 2025-06-03 15:08:55 -07:00
Enrico Ros a81da26452 Images: convert Attachments/Reassembler to use Blobs more than base64/base64dataUrls 2025-06-03 13:13:44 -07:00
Enrico Ros 803f6bbdea Canvas/Video: improve Blobs support 2025-06-02 16:40:53 -07:00
Enrico Ros 10a3669551 ImageUtils: support SVG to PNG conversion 2025-06-02 16:16:45 -07:00
Enrico Ros d910fbcae1 Roll pdfjs (4 -> 5) 2025-06-02 15:26:48 -07:00
Enrico Ros e2a6ee94b0 Update Claude Code settings 2025-06-02 15:21:56 -07:00
Enrico Ros 055a2134e0 Remove punycode overrides as we don't get the npm warning anymore
@ref https://github.com/nodejs/node/pull/56632
2025-06-02 15:05:29 -07:00
Enrico Ros 30310a51ff Roll packages 2025-06-02 14:56:54 -07:00
Enrico Ros be648017f5 Roll tRPC 2025-06-02 14:51:53 -07:00
Enrico Ros e737272a39 Enable Node 24 2025-06-02 14:50:55 -07:00
Enrico Ros d7a5c50ce3 Beam: change models on Merges 2025-06-02 14:16:19 -07:00
Enrico Ros a51d5c315f DeepSeek: update models 2025-06-02 10:17:11 -07:00
Enrico Ros 8c1af95b0e Add claude code permissions 2025-06-02 10:00:37 -07:00
Enrico Ros c4d61fdd21 ChutesAI: add support
This includes prettifying the model name, assuming the interfaces
(images are a force) and auto-sizing the context window based on the
response.
2025-06-02 09:53:05 -07:00
Enrico Ros 6301f1f6b5 BlockPartModelAux: parametrize reasoning colorpalette 2025-06-02 09:40:15 -07:00
Enrico Ros edbe2e55bc Accommodate Chutes.ai / sglang parsing 2025-06-02 09:32:59 -07:00
Enrico Ros 604cf43627 No persona selected: finite duration 2025-06-02 09:28:46 -07:00
Enrico Ros e124669545 Attachments: use Blobs, not ArrayBuffer, unless required 2025-06-01 13:52:20 -07:00
Enrico Ros 9ee7c6dddd Attachments: do not take image attachments to not require domain transfer 2025-06-01 09:46:39 -07:00
Enrico Ros 5136261c8e Attachments: open up to incoming web Blobs support, but still perform the whole chain in base64. 2025-05-30 12:08:53 -07:00
Enrico Ros c9ebb44442 Wire all up to BlobUtils 2025-05-30 11:25:30 -07:00
Enrico Ros 95d9976a2c BlobUtils: minor fix 2025-05-30 11:03:56 -07:00
Enrico Ros 1d177c960f Beam: shift to re-run active Beams 2025-05-30 11:02:27 -07:00
Enrico Ros 81a34ca96c BlobUtils: improve Exceptions 2025-05-30 10:06:19 -07:00
Enrico Ros 9749b44dbb BlobUtils: Add WithMetadata 2025-05-30 09:57:45 -07:00
Enrico Ros 6dfe2a92a1 BlobUtils: reduce zero-length checks 2025-05-30 09:25:06 -07:00
Enrico Ros 44646001c1 BlobUtils: add Blob <> X functions 2025-05-29 17:51:56 -07:00
Enrico Ros 088e67c235 Move server-side functions around 2025-05-29 16:22:20 -07:00
Enrico Ros 0d41c92c01 Revert "DMessageFragment: future: Audio Ref fragments"
This reverts commit ce7699c06b.
2025-05-28 17:29:57 -07:00
Enrico Ros e966674d39 Revert "AudioRef: placeholder render"
This reverts commit c6d3bbd7b9.
2025-05-28 17:29:57 -07:00
Enrico Ros ff74a8ed9c Revert "AudioRef: placeholder tokens"
This reverts commit ab217596d8.
2025-05-28 17:29:57 -07:00
Enrico Ros 64fd32de9a Revert "AudioRef: placeholder CGR"
This reverts commit 61b2bedf5e.
2025-05-28 17:29:56 -07:00
Enrico Ros 6584bb4cd1 Doc edit pane: fix controlled looks 2025-05-28 12:45:17 -07:00
Enrico Ros a9065d1a1e Doc edit pane: fix controlled editing 'ok' 2025-05-28 12:43:47 -07:00
Enrico Ros a22832f741 DocAttachments: show delete on edit empty 2025-05-28 12:42:06 -07:00
Enrico Ros 663a33a895 DocAttachmentFragmentPane: improve looks 2025-05-28 12:37:43 -07:00
Enrico Ros 5f7508633b Doc edit pane: fix formatting 2025-05-28 12:34:12 -07:00
Enrico Ros 6a99f65979 Beam: Fix Edit/Delete in (propagate undefined handlers) 2025-05-28 12:28:43 -07:00
Enrico Ros a983f25fb9 Doc Attachment: fix replacement optionality 2025-05-28 12:17:02 -07:00
Enrico Ros 7119d92321 Doc Attachment: edit titles, move the switch button to inside the tooltip 2025-05-28 12:15:22 -07:00
Enrico Ros 5f1a52d620 GoodModal: support autoOverflow 2025-05-28 12:05:52 -07:00
Enrico Ros 42d58ed202 Allow for empty edited fragments, unless the caller branches otherwise 2025-05-28 11:25:26 -07:00
Enrico Ros 20f0dd5b80 DocAttachmentFragments: support controlled editing (ignore the overlay state) 2025-05-28 11:07:45 -07:00
Enrico Ros d95e8b70b9 BlockEdit_TextFragment: support controlled passive editing (don't run onSubmit, don't overlay the edited text) 2025-05-28 10:45:57 -07:00
Enrico Ros 69d7f3f195 updateFragmentWithEditedText: DX annotations 2025-05-28 10:16:52 -07:00
Enrico Ros 61b2bedf5e AudioRef: placeholder CGR 2025-05-27 17:49:12 -07:00
Enrico Ros ab217596d8 AudioRef: placeholder tokens 2025-05-27 17:49:08 -07:00
Enrico Ros c6d3bbd7b9 AudioRef: placeholder render 2025-05-27 17:49:01 -07:00
Enrico Ros ce7699c06b DMessageFragment: future: Audio Ref fragments 2025-05-27 17:34:12 -07:00
Enrico Ros ca3df18d99 AIX: Gemini: also strip the system prompt - TTS only takes 1 message 2025-05-27 17:28:38 -07:00
Enrico Ros 0f96c9f825 AIX: Gemini: enable TTS models 2025-05-27 17:20:11 -07:00
Enrico Ros d6e41c1026 AIX: Gemini: parse TTS outputs 2025-05-27 17:20:03 -07:00
Enrico Ros bc1d0ef6e9 AIX: Audio: particle reassembly to speech (no Blob save for now) 2025-05-27 17:19:09 -07:00
Enrico Ros 352d1425ca AIX: Audio: model.part for chatGenerateContent, and 2 impls 2025-05-27 17:09:14 -07:00
Enrico Ros f92941f4a2 AIX: Audio: particle & transmit 2025-05-27 17:07:35 -07:00
Enrico Ros 4b6f6728fa AIX: Gemini: improve TTS support 2025-05-27 15:56:17 -07:00
Enrico Ros d12771d408 Beam: quick button beams existing 2025-05-27 15:34:53 -07:00
Enrico Ros 7a679dd7d8 LLMs: Gemini: update models 2025-05-27 15:14:53 -07:00
Enrico Ros 72ae27e419 AIX: Gemini: configure voice 2025-05-27 15:14:38 -07:00
Enrico Ros b5722ac9f5 LLMs: Gemini: disable tts-only, although likely supported 2025-05-27 15:14:22 -07:00
Enrico Ros 60b7a20b71 LLMs: Visual Audio interface annotations 2025-05-27 14:53:34 -07:00
Enrico Ros 33ea55ec9d LLMs: Anthropic: prettier name 2025-05-27 14:53:18 -07:00
Enrico Ros 294b1c1ea3 AIX: Gemini: output modality 2025-05-27 14:50:53 -07:00
Enrico Ros 75e19914cc AIX: basic output modality pattern 2025-05-27 14:50:10 -07:00
Enrico Ros e24bd418b5 AIX: Gemini: parser checker 2025-05-27 14:24:21 -07:00
Enrico Ros 66c1af8333 AIX: Gemini: add maxTemperature 2025-05-27 14:23:30 -07:00
Enrico Ros a0917b4533 llmSelect: fix insufficient width 2025-05-27 14:11:11 -07:00
Enrico Ros 74731d512f Browsing: improve debug (server-side) 2025-05-27 13:58:49 -07:00
Enrico Ros e0e8a94031 Browsing: improve debug 2025-05-27 13:52:23 -07:00
Enrico Ros 67306ec0f7 Remove usersnap 2025-05-27 11:27:38 -07:00
Enrico Ros a42cfe26e7 ProviderSingleTab: add bypass 2025-05-27 09:22:06 -07:00
Enrico Ros 9c63614367 Roll packages 2025-05-26 16:41:35 -07:00
Enrico Ros ccfc129e44 Partially revert 2894c070 - fixed by the tRPC upgrade 2025-05-26 16:39:37 -07:00
Enrico Ros ad3b500781 tRPC: upgrade to .canary.32 to fix the Vercel cloud infra shift. #805 2025-05-26 16:38:53 -07:00
Enrico Ros 2894c07049 Next Edge/tRPC: server-side delay (improved workaround) for the 'Stream closed' issue only. #805 2025-05-26 14:11:02 -07:00
Enrico Ros e189d3e174 Next: 15.1.8 2025-05-26 11:38:49 -07:00
Enrico Ros b9ead56ec4 Anthropic: naming of Claude models 2025-05-26 10:52:30 -07:00
Enrico Ros 48c4ac18ab AIX: emergency fix for a sudden Vercel/tRPC streaming issue
Suddenly all Vercel builds experienced exceptions and connection terminations.

On 2025-05-22 around 8PM CET, Vercel servers started to log errors on tRPC calls.

This fix waits 1 extra event loop tick. Shall work around the issue until a proper fix is found.
2025-05-22 13:22:38 -07:00
Enrico Ros 48d1bc7635 Anthropic: add Opus4 nd Sonnet4, w, w/o extended thinking 2025-05-22 11:25:31 -07:00
Enrico Ros 9112cef5f3 Gemini: added Flash Preview 05-20, also in the non-thinking variant 2025-05-20 17:32:03 -07:00
Enrico Ros ff0183b7e6 animate-enter: modify to a fade 2025-05-20 17:04:47 -07:00
Enrico Ros 14ef63b4d2 uiCounters: make space for the byok notice 2025-05-20 17:04:32 -07:00
Enrico Ros eac6228dde Stacked bar component 2025-05-20 17:04:16 -07:00
Enrico Ros 0d28934f37 FormInputKey: disable autofocus on mobile 2025-05-20 17:02:37 -07:00
Enrico Ros 57b694a93d Roll packages 2025-05-19 15:30:26 -07:00
Enrico Ros c2a1fcc942 Allow node 23 2025-05-19 15:12:31 -07:00
Enrico Ros 3fdd2fb04d Optima: Clipboard history 2025-05-19 12:34:36 -07:00
Enrico Ros 8d9c8f681e GoodModal: fix wrong promise state 2025-05-19 11:22:39 -07:00
Enrico Ros bdfd8fb526 GoodModal: propagate reason, even for the button 2025-05-19 10:46:35 -07:00
Enrico Ros 0d88217a78 Keystroke: size 2025-05-19 10:32:00 -07:00
Enrico Ros b15e27e1d3 Prod: models arrow 2025-05-19 10:31:54 -07:00
Enrico Ros 7db5d84e4d Prod: users icon 2025-05-19 10:28:37 -07:00
Enrico Ros c0a37d618a Prod: make tips less intrusive 2025-05-19 10:27:34 -07:00
Enrico Ros b20db5ff50 ScrollToBottom: Fix ResizeObserver warning 2025-05-19 08:30:23 -07:00
Enrico Ros 43e8d5639c Mobile: Default to Beam quick button 2025-05-17 11:32:31 -07:00
Enrico Ros 92ce0af012 RenderCode: potentially fix the initial syntax highlight (skipped 2 dom levels) 2025-05-17 11:31:45 -07:00
Enrico Ros fe76cfdd8b InlineTextarea: optional external syncing with the initial text, on change 2025-05-14 16:18:54 -07:00
Enrico Ros 738ff07e6a Optima: Heading: clickable text 2025-05-14 12:34:58 -07:00
Enrico Ros e11d3d7407 Optima: Heading: no bottom margin 2025-05-14 12:34:57 -07:00
Enrico Ros 70dd92f54d Flash: adapt for the Dexie x10 2025-05-14 09:59:32 -07:00
Enrico Ros 75381a2798 Flash: recreate v2-dev DBs with the last known stores/indices 2025-05-14 09:10:26 -07:00
Enrico Ros 29bddbc6ed ChatMessage: tint avatar button 2025-05-13 12:50:44 -07:00
Enrico Ros 2ca9baf6ba ChatMessageList: tint messages 2025-05-13 12:50:32 -07:00
Enrico Ros a796a98cd4 Composer: tint composer 2025-05-13 12:29:57 -07:00
Enrico Ros 02749c290c Composer: tint buttons 2025-05-13 12:29:06 -07:00
Enrico Ros ec13a9664c Tintable buttons 2025-05-13 12:29:06 -07:00
Enrico Ros a6d6f69d4e Composer: Mobile: change Quick button 2025-05-13 12:00:16 -07:00
Enrico Ros 6d4fb2b444 UI options: extract PageSize 2025-05-13 11:36:23 -07:00
Enrico Ros a9e3da8b21 llmSelect: Add Models 2025-05-13 11:26:28 -07:00
Enrico Ros 56adb0aa88 llmSelect: show features 2025-05-13 04:41:35 -07:00
Enrico Ros aa9dc1a06f Optima: Nav: mobile App name support 2025-05-13 03:28:09 -07:00
Enrico Ros e503335026 Optima: Dropdowns: 'compact' icons too 2025-05-13 03:21:55 -07:00
Enrico Ros 350aac79b1 Optima: Dropdowns: 'compact' symbols 2025-05-13 03:14:20 -07:00
Enrico Ros 56a36987c6 Prod: restore mobile composer Bg 2025-05-13 02:51:32 -07:00
Enrico Ros 5ef00eb42a Prod: pad the mobile composer 2025-05-13 02:43:43 -07:00
Enrico Ros 6aa52cf5e6 Prod: don't focus the mobile keyboard on new chat 2025-05-13 02:39:53 -07:00
Enrico Ros 6118d0f940 Prod: drop the border of the last message instead of using a mt:-1 on the composer 2025-05-13 02:03:14 -07:00
Enrico Ros bab7afdfba Chat cleanup: readonly array 2025-05-13 01:35:55 -07:00
Enrico Ros 865cf0652b jsonUtils: relax validation to undefined (off by default) 2025-05-13 01:26:09 -07:00
Enrico Ros 7126a952b9 Gemini: Update models 2025-05-12 14:48:19 -07:00
Enrico Ros 66eb325779 OpenAI: update scores 2025-05-12 14:24:04 -07:00
Enrico Ros a55411c150 Auto-launch debugger on error/crit/DEV if the env var is set. 2025-05-12 14:09:25 -07:00
Enrico Ros 77eb6fa97c Save one icon. 2025-05-12 01:45:07 -07:00
Enrico Ros 440b13fa48 Save one icon. 2025-05-12 01:45:07 -07:00
Enrico Ros 02f30524a3 AutoBlocks: mark blocks as partial if collapsed 2025-05-12 01:43:04 -07:00
Enrico Ros 26ad736aa1 Composer: aria: new message 2025-05-12 01:36:13 -07:00
Enrico Ros 040588d708 Rename 'Write' to 'Add' 2025-05-08 13:13:33 -07:00
Enrico Ros 5a635bb532 PageCore: optimize and darken on 'full' width 2025-05-04 16:19:12 -07:00
Enrico Ros e8014fccb3 PageCore: default to 'full' width 2025-05-04 16:16:24 -07:00
Enrico Ros 85586fdf58 PageCore: support brighter 2025-05-04 16:15:43 -07:00
Enrico Ros d819e03c79 RenderCode: optimize 2025-05-03 18:55:52 -07:00
Enrico Ros 0f2def82c1 Default to full width 2025-05-03 18:55:50 -07:00
Enrico Ros 634ae0e213 AltBarBeam: test hiding the maximize button 2025-05-03 14:03:43 -07:00
Enrico Ros d0d2051edf Chat: title for beam 2025-05-03 13:56:41 -07:00
Enrico Ros a2e0ddcf81 AltBarBeam: show chat title 2025-05-03 13:56:28 -07:00
Enrico Ros 82be58b54a Optima: cut bar overflow 2025-05-03 13:55:37 -07:00
Enrico Ros ba18891696 Optima: show out name 2025-05-03 13:55:23 -07:00
Enrico Ros f2df042c0a Feature Badge: fix 2025-05-03 13:54:21 -07:00
Enrico Ros 3547119577 jsonUtils: validate objects to be pure JSON with zod 2025-05-02 13:00:11 -07:00
Enrico Ros 66519ac33e Extract dontblurtextarea 2025-05-01 22:56:48 -07:00
Enrico Ros a8ae3aa124 Cherry-pixel 2025-05-01 18:36:06 -07:00
Enrico Ros 28a00bfb29 Composer: undim 2025-05-01 18:19:04 -07:00
Enrico Ros 8c46abbac3 ChipExpander: fix build 2025-05-01 18:02:32 -07:00
Enrico Ros ae7376a708 Shortcuts: unite rendering 2025-05-01 17:56:27 -07:00
Enrico Ros b2d0844959 ChipToggleButton: optional collapse caret 2025-05-01 17:22:40 -07:00
Enrico Ros a88ca25708 ChipToggleButton: support disabled 2025-05-01 17:22:29 -07:00
Enrico Ros 61acf9e56b ChipToggleButton: support variant 2025-05-01 17:22:01 -07:00
Enrico Ros 8b6ffca2cb ChipExpander: publish styles 2025-05-01 17:21:40 -07:00
Enrico Ros 56e3aa3835 Fix beam wrap post 5b562c66 2025-05-01 14:02:18 -07:00
Enrico Ros 11bbe22d80 OptimaBarDropdown: enlarge to 200px 2025-05-01 13:57:30 -07:00
Enrico Ros 777a6bb29d Pmix: elide on missing llms 2025-05-01 13:55:56 -07:00
Enrico Ros 16b91ba63a useLLMSelect: model dialog accelerator 2025-05-01 03:05:59 -07:00
Enrico Ros 0e0ed3d657 Logger: serialize errors 2025-05-01 01:47:49 -07:00
Enrico Ros 910cbb542e Logger: source forwarding 2025-04-30 22:10:17 -07:00
Enrico Ros 17cd63d445 Logger: prefix function for module adaptation 2025-04-30 22:10:17 -07:00
Enrico Ros 89a4283868 Built with Big-AGI 2025-04-30 22:10:17 -07:00
Enrico Ros 195e167414 @Events: disable the HMR dev warning 2025-04-29 00:27:56 -07:00
Enrico Ros d5a4fadebd LLMs: keep user edits 2025-04-28 20:53:08 -07:00
Enrico Ros 21178f4974 @Events: HMR message 2025-04-28 16:00:15 -07:00
Enrico Ros 80b22e6c2d Continue CGRs ignoring missing image dereferences. #733
This is an emergency workaround where formal correctness yields to an
unbroken chat experience.
2025-04-28 11:43:27 -07:00
Enrico Ros 9e02e0aabd Optimize selector performance for selection 2025-04-27 02:32:34 -07:00
Enrico Ros 3572b94e8f Emotion: improve style performance by removing the Checkbox 2025-04-27 02:11:53 -07:00
Enrico Ros c53fbe8c73 Smallfix. 2025-04-25 19:24:49 -07:00
Enrico Ros 16450a347e Prodia: update to v2 2025-04-25 19:03:12 -07:00
Enrico Ros 9a12164082 Image Generation: with ❤ (heartbeats) 2025-04-25 17:05:34 -07:00
Enrico Ros 3ba3ab41d2 Denooise 2025-04-25 16:13:04 -07:00
Enrico Ros 1ed31199ae OpenAI gpt-image-1: support image transforms/edits 2025-04-25 15:38:44 -07:00
Enrico Ros fc9caa79f8 OpenAI gpt-image-1: bring the images to the server as AIX-alike parts (for future proofing) 2025-04-25 15:38:38 -07:00
Enrico Ros 0c19d011cb OpenAI gpt-image-1: edit wiretypes 2025-04-25 15:38:38 -07:00
Enrico Ros b4eddbbc30 Image Edit: wire image inputs to the generator 2025-04-25 15:38:38 -07:00
Enrico Ros f522f5bbc6 AIX: export image dereferencing & inlining 2025-04-25 15:38:38 -07:00
Enrico Ros fde08e6793 Attachments: support image-only 2025-04-25 15:38:38 -07:00
Enrico Ros 4e8e7fa6cf tRPC fetchers: debug wire curl 2025-04-25 15:38:38 -07:00
Enrico Ros a79806e86c tRPC fetchers: support FormData automatically 2025-04-25 15:38:38 -07:00
Enrico Ros 8c0868418c urlUtils: base64 to Blob 2025-04-25 15:38:38 -07:00
Enrico Ros b90919a4df Composer: attach if can edit image 2025-04-25 11:54:21 -07:00
Enrico Ros 7f2842f9ba T2I: capabilities: can edit 2025-04-25 11:52:38 -07:00
Enrico Ros a7f0771ca9 Attachments: support image-only 2025-04-25 11:51:15 -07:00
Enrico Ros 47315ed4a5 Drawing: improve provider names & icon 2025-04-25 01:06:22 -07:00
Enrico Ros d4df2f989b OpenAI gpt-image-1: improve settings 2025-04-25 01:05:13 -07:00
Enrico Ros 3c369e11ae OpenAI gpt-image-1: settings 2025-04-24 23:56:31 -07:00
Enrico Ros 16ba957f3a OpenAI gpt-image-1: settings 2025-04-24 23:13:41 -07:00
Enrico Ros 88a8b10b95 OpenAI gpt-image-1: createImage server/client 2025-04-24 23:13:41 -07:00
Enrico Ros 3063c9950c OpenAI gpt-image-1: exclude from text models 2025-04-24 23:13:41 -07:00
Enrico Ros fdc5845d90 OpenAI gpt-image-1: wiretypes/parser 2025-04-24 23:13:41 -07:00
Enrico Ros 6f66e2a2bb OpenAI gpt-image-1: bits 2025-04-24 23:13:41 -07:00
Enrico Ros a57a41e676 Form Options: immutable 2025-04-24 23:13:41 -07:00
Enrico Ros 5209d2c416 Wire custom error boundary to the inside 2025-04-24 16:46:26 -07:00
Enrico Ros 64138cdcd2 Wire custom error boundary to the outside 2025-04-24 16:46:20 -07:00
Enrico Ros 80a5db3e91 Error resiliency with custom Error boundary 2025-04-24 16:46:06 -07:00
Enrico Ros fb7dfdf341 Error resiliency on duplicating parts that don't exist anymore 2025-04-24 15:32:51 -07:00
Enrico Ros b0f0e35170 Error resiliency on malformed Fragments data 2025-04-24 15:19:03 -07:00
Enrico Ros cb0cc8b370 AIX: FastAPI: relax parser for missing .object and .created 2025-04-24 12:55:31 -07:00
Enrico Ros 9e8a8cb7db LLMs: FastAPI: list heuristics 2025-04-24 12:48:41 -07:00
Enrico Ros c4959776dc textUtils: add humanReadableBytes 2025-04-23 20:34:35 -07:00
Enrico Ros d50d489de7 misc 2025-04-21 17:28:38 -07:00
Enrico Ros 9472de0246 useLLMSelect: style 2025-04-21 11:30:39 -07:00
Enrico Ros 5d2fff8e53 Beam: disable enter animation 2025-04-21 01:21:45 -07:00
Enrico Ros d68ca9df1e PaneTitle: improve ux 2025-04-21 01:21:24 -07:00
Enrico Ros 04a437e9a6 Beam: optimize reactive open hooks (save 1 cycle/desyncs) 2025-04-21 01:03:22 -07:00
Enrico Ros f7fb8c780b RenderMarkdown: disable preprocessing in-progress messages 2025-04-20 18:02:43 -07:00
Enrico Ros a7ebf8a014 Markdown parser: improved safety 2025-04-20 14:40:07 -07:00
Enrico Ros e950ced1a1 Markdown parser: recursion fix for inline latex math 2025-04-20 14:32:57 -07:00
Enrico Ros 15d5a9cb58 CleanerMessage: optimize entrance 2025-04-20 12:32:55 -07:00
Enrico Ros 5c9747d8eb Remove @t3-oss/env-nextjs 2025-04-18 19:14:20 -07:00
Enrico Ros d308739643 TS-based next.config & ~/server/env build 2025-04-18 19:12:14 -07:00
Enrico Ros 6c5db40bd0 Import t3-oss/t3-env: glue
Adapt the code to work for us.
2025-04-18 19:12:14 -07:00
Enrico Ros f3212291dd Import t3-oss/t3-env
We need to change this locally to migrate to Zod4 without third party dependencies.
2025-04-18 18:21:12 -07:00
Enrico Ros 140a829291 LLMs: Gemini: update sorting 2025-04-17 19:02:25 -07:00
Enrico Ros e30d938425 dMessageUtils: Gemini namings 2025-04-17 18:56:48 -07:00
Enrico Ros 521b6a414f Gemini: (geminate :) add the non-thinking variant 2025-04-17 18:39:58 -07:00
Enrico Ros a20d0f970e LLMs: update benchmark scores 2025-04-17 18:36:49 -07:00
Enrico Ros 66c1307112 LLMs: Parameters: support hidden params 2025-04-17 18:31:37 -07:00
Enrico Ros 241a25599f LLMs: Parameters: support initial spec value 2025-04-17 18:31:24 -07:00
Enrico Ros 3f610bf122 AIX: Gemini: full thinking support
Enables the v1alpha API (seems to be more reliable)
2025-04-17 17:25:26 -07:00
Enrico Ros 858cc41a89 Gemini: update models 2025-04-17 17:24:02 -07:00
Enrico Ros 244917faf9 LLMs: support Gemini Thinking Budget 2025-04-17 17:24:02 -07:00
Enrico Ros 08964188ea LLMs: cleanup parameter editor 2025-04-17 17:24:02 -07:00
Enrico Ros 07c96661e7 AIX: Gemini: support thinking budget 2025-04-17 17:24:02 -07:00
Enrico Ros 048940d383 AIX: Gemini: measure reasoning tokens 2025-04-17 17:24:02 -07:00
Enrico Ros 85ad0e1e86 FormSliderControl: start adornment and variant 2025-04-17 17:24:02 -07:00
Enrico Ros f2f06f5d44 Panes: improve title edit 2025-04-17 13:55:37 -07:00
Enrico Ros b8e0ef5340 Feature Badge 2025-04-17 13:37:00 -07:00
Enrico Ros 07608b3fe3 Mic: default timeout 2 -> 5 seconds - too quick (@dc) 2025-04-17 13:36:59 -07:00
Enrico Ros e808509331 Cleanup: allow to un-skip messages 2025-04-16 20:32:05 -07:00
Enrico Ros 2d9a4fccfa ChatDrawer: improve show archived 2025-04-16 18:47:15 -07:00
Enrico Ros 49cf263408 Logger: maximized 2025-04-16 17:45:58 -07:00
Enrico Ros 69e7dc7481 AIX: o3: enable the non-streaming option 2025-04-16 15:36:42 -07:00
Enrico Ros a76fe34a64 LLMs: Groq updates 2025-04-16 15:06:37 -07:00
Enrico Ros 7a3882fe28 LLMs: update CBA ratings 2025-04-16 14:53:48 -07:00
Enrico Ros 6954b79178 AIX: fix o1/3/4 formatting re-enabled 2025-04-16 13:40:12 -07:00
Enrico Ros 2032d045ca More precise text 2025-04-16 13:24:22 -07:00
Enrico Ros e4ee0c3ab6 Flush future utility fn 2025-04-16 13:23:48 -07:00
Enrico Ros 3218d00850 LLMs: OpenAI declutter 2025-04-16 13:13:30 -07:00
Enrico Ros 7f0b4f79ff AIX: o4 support 2025-04-16 13:13:22 -07:00
Enrico Ros 945ba0a34c Beam: debug print 2025-04-16 13:13:10 -07:00
Enrico Ros 676797f0ac LLMs: OpenAI declutter 2025-04-16 12:54:06 -07:00
Enrico Ros 8e89d5dbfc LLMs: OpenAI o3/o4 & full cleanup 2025-04-16 12:52:20 -07:00
Enrico Ros 150eb4e9e2 LLMs: moved some old Azure model defs 2025-04-16 12:45:10 -07:00
Enrico Ros 14766629a2 LLMs: naming: fw-compatible OpenAI ox/gpt-x 2025-04-16 12:44:05 -07:00
Enrico Ros f475c8ae6c ChatDrawer: clear archived if inadvertently set 2025-04-15 23:36:53 -07:00
Enrico Ros 11badbf22c @Events: improve domain helper 2025-04-15 23:30:15 -07:00
Enrico Ros aedc051523 WebSpeech: preserve partial (interim) dictation when truncated ahead of stabilization (e.g. mic transter/timeout) 2025-04-15 17:24:17 -07:00
Enrico Ros b5336eb63c Simple chat archival support 2025-04-14 18:31:30 -07:00
Enrico Ros 0c85ddd82d LLMs: display image generation and search capabilities 2025-04-14 13:50:17 -07:00
Enrico Ros f0386a21c6 LLMs: Perplexity: update desc 2025-04-14 13:35:45 -07:00
Enrico Ros a7518937f0 LLMs: Perplexity: add Deep Research 2025-04-14 13:34:09 -07:00
Enrico Ros 87b012f0be LLMs: OpenAI: 4.1 models. Fixes #792 2025-04-14 11:30:03 -07:00
Enrico Ros 6a7a34c0b0 LLMs: Anthropic: mark as reasoning 2025-04-11 07:58:31 -07:00
Enrico Ros 9ce29138d2 DNT-DT: safety clears (15s timeout + window blur (light)) 2025-04-11 07:41:38 -07:00
Enrico Ros 95a6e09158 Monotonics: ++Aix 2025-04-10 19:57:40 -07:00
Enrico Ros 0962b79149 LLMs: Gemini: update models
Includes AIX: Gemini: predictLongRunning
2025-04-10 19:56:44 -07:00
Enrico Ros 51ba5304a6 Models: double-check OpenRouter tokenizers (disabled) 2025-04-10 19:32:58 -07:00
Enrico Ros d7137d1311 Models: show reasoning models in list 2025-04-10 19:29:02 -07:00
Enrico Ros d8babc91d5 LLMs: Gemini: sorting 2025-04-10 19:24:15 -07:00
Enrico Ros 3649a79f07 LLMs: XAI chat message namings 2025-04-10 19:24:00 -07:00
Enrico Ros 3992acd9d4 AIX: XAI: update models list + enable reasoning tuning 2025-04-10 19:21:16 -07:00
Enrico Ros b6f130e00b AIX: XAI: models list parser update 2025-04-10 18:31:33 -07:00
Enrico Ros 63c475e24f useGlobalShortcuts: support Backspace 2025-04-10 15:24:07 -07:00
Enrico Ros d8d4f4e8f3 useLLMSelect: 10-100x faster on many models 2025-04-10 14:37:35 -07:00
Enrico Ros e4a2bf8b71 Beam: improve un-max button 2025-04-10 13:09:29 -07:00
Enrico Ros 19a1110bcf Beam: move max icon 2025-04-10 13:09:25 -07:00
Enrico Ros 1997599b33 Logger: reduce icon usage 2025-04-10 13:09:03 -07:00
Enrico Ros 467f24022b Logger: support for DEV 2025-04-10 11:51:38 -07:00
Enrico Ros 3147f9b087 Bubble: tryfix on mobile 2025-04-10 09:17:51 -07:00
Enrico Ros 79e5931a45 Fix extension of text selection. Fixes #788 2025-04-10 09:03:01 -07:00
Enrico Ros 1c9cefb61b AIX: OpenAI-compatible: fix missing reasoning tokens 2025-04-10 08:33:09 -07:00
Enrico Ros 318bf80ad6 Flash: enable saving images too 2025-04-06 17:29:02 -07:00
Enrico Ros bc3a757764 Flash: disable auto-backup on restore (confusing/danger of overwrite) 2025-04-06 16:57:10 -07:00
Enrico Ros 31459c0121 Flash: download works on mobile now 2025-04-06 16:46:43 -07:00
Enrico Ros 87bd9ff08b Flash: improve mobile reliability with streaming of the Flash object 2025-04-06 16:00:14 -07:00
Enrico Ros 972284ec20 Settings: show AIX & Logger on Tools 2025-04-06 14:58:07 -07:00
Enrico Ros 8aaec8e13b Optima: make the last dialogs mut-ex 2025-04-06 14:57:52 -07:00
Enrico Ros f668fb85b2 Flash: tryfix for Mobile JSON trunctation 2025-04-06 14:57:12 -07:00
Enrico Ros a5e4ab8f9e AIX Debugger: explain 2025-04-06 14:57:12 -07:00
Enrico Ros a58db6c2bf Optima: parent the AIX Debugger Modal 2025-04-06 14:57:12 -07:00
Enrico Ros cc8c5a4b7c LogViewer: more mobile friendly 2025-04-06 14:56:54 -07:00
Enrico Ros 7027474942 Logger: per-module factory 2025-04-06 13:44:30 -07:00
Enrico Ros 41dd1e4b81 Flash/Backup Data
A new setting to export all the settings in localstorage and IndexedDB into
single 'flash' files for Big-AGI to reload.

This allows to quickly and easily migrate a full installation, including images,
from a v2-dev open installation to another.

This won't likely work across other branches, but it's meant to be forward-compatible.
2025-04-06 00:58:25 -07:00
Enrico Ros dd24b33cce Models list: display free models 2025-04-05 12:01:30 -07:00
Enrico Ros a703edab58 Gemini: update models 2025-04-05 11:10:06 -07:00
Enrico Ros 57346617a5 tools/ai/repo-structure: fix on mac/zsh 2025-04-05 10:49:33 -07:00
Enrico Ros 3a8bfb0bb1 @Events - export the app-wide bus type 2025-04-05 10:49:21 -07:00
Enrico Ros cd4e6f0f5e Roll packages 2025-04-05 10:39:52 -07:00
Enrico Ros 1a3037b756 Roll mono: +Aix. 2025-04-05 10:31:11 -07:00
Enrico Ros ef32834e10 OpenRouter: models list: prevent schema changes from breaking working models. Fixes #787 2025-04-05 10:25:12 -07:00
Enrico Ros a684a0fd3b OpenRouter: models list: ignore missing fields on 'openrouter/auto'. Fixes #787 2025-04-05 10:24:40 -07:00
Enrico Ros 44505d0e44 @Events
Introducing the Events module with per-Domain extensibility.

Depends on @Logger.
Required eventemitter3.

A pleasure to extend, and start using both for Subsystems and AGI events.
2025-04-04 14:19:10 -07:00
Enrico Ros d1589cf665 We need one space here for md presentation 2025-04-03 11:52:06 -07:00
Enrico Ros 4a7b4fbabf Document how to launch tools/ai/repo-structure.sh from anywhere 2025-04-03 11:49:43 -07:00
Enrico Ros ac1b3d7938 Simple repo ls for AI context 2025-04-03 11:41:25 -07:00
Enrico Ros 1686e662b4 DBlob: remove unused 2025-04-02 13:14:27 -07:00
Enrico Ros 67c97e7bd2 Vector Clock removal. 2025-04-02 11:09:34 -07:00
Enrico Ros 805c925e0d LLMs: Disable emojis on isLatest 2025-04-01 00:14:55 -07:00
Enrico Ros 8ffba9cdb5 Star your favorite models 2025-03-30 11:16:47 -07:00
Enrico Ros 5d5290f69d Replace the plantuml-encoder package with our custom implementation 2025-03-29 18:27:31 -07:00
Enrico Ros 563403a7f8 Logger: up debug console 2025-03-29 16:02:47 -07:00
Enrico Ros 5cbf013a8e Conversations: count hook 2025-03-28 15:19:49 -07:00
Enrico Ros 8bee761bb4 Quick edit: update text. #782 2025-03-28 10:47:17 -07:00
Enrico Ros 8bc482abe9 Attachments: rename to Note 2025-03-28 00:19:40 -07:00
Enrico Ros 51fd83cd7f Logger: in Optima modals (shift+ctrl+g) 2025-03-27 13:29:28 -07:00
Enrico Ros a0811c6d25 Logger: auto-capture unhandled 2025-03-27 13:29:28 -07:00
Enrico Ros 77e8497100 Logger: core framework 2025-03-27 13:29:27 -07:00
Enrico Ros b46aaa388b Logger: uuid id 2025-03-27 13:29:27 -07:00
Enrico Ros eeeba2febe ReAct mode: fix /draw 2025-03-26 09:27:21 -07:00
Enrico Ros 75921d08d1 OpenRouter: show reasoning 2025-03-26 09:25:25 -07:00
Enrico Ros 7764d18a8b Gemini: update models 2025-03-26 08:51:41 -07:00
Enrico Ros 797293ad8d Drawer: show open beams 2025-03-24 14:18:26 -07:00
Enrico Ros 7c7f1bcd5f Fix SQL auto-mime detection 2025-03-21 10:06:06 -07:00
Enrico Ros 50a430b353 Diffs: increase contrast 2025-03-20 10:40:50 -07:00
Enrico Ros 5b562c6671 Panels: remove minSize={20} for a reflow issue
When this property is set, a re-layout (force reflow) is performed by the browser even with a simple hovering of the separator.

Since we may have very large walls of text/images, we need to minimize relayouts, so for now, we set a min size on the contained scrollable container instead of preventing the resize.

See also this upstream issues: https://github.com/bvaughn/react-resizable-panels/issues/337
2025-03-20 07:59:22 -07:00
Enrico Ros cb0bf2d2e7 Incognito: better pane titles 2025-03-20 07:57:31 -07:00
Enrico Ros 0b042bb2b5 Incognito: better chat background 2025-03-20 07:57:28 -07:00
Enrico Ros b91fbeb978 Dark: better beam 2025-03-20 07:57:20 -07:00
Enrico Ros d0b84e7ca3 Roll packages deep 2025-03-19 21:35:34 -07:00
Enrico Ros 0edeeb54b4 Roll packages 2025-03-19 21:32:35 -07:00
Enrico Ros e1b2a28f7d Remove unneeded package 2025-03-19 21:31:03 -07:00
Enrico Ros 347c7be899 LLMs: o1-pro 2025-03-19 17:23:08 -07:00
Enrico Ros c71d88d3bf Attachments: change order/text 2025-03-19 16:47:58 -07:00
Enrico Ros 0d4cbe462f Change height for stacked desktop openings. 2025-03-19 16:36:25 -07:00
Enrico Ros a05110cd93 Update browse.router.ts 2025-03-19 09:33:33 -07:00
Enrico Ros 8f6ebe8301 Clean: improve icon 2025-03-18 07:29:59 -07:00
Enrico Ros 818775a12b Dark mode: increase code contrast 2025-03-18 06:45:29 -07:00
Enrico Ros 80b60cdaa8 roll packages 2025-03-17 06:11:54 -07:00
Enrico Ros 69118df912 Remove eventsource-parser.
The code is still laying around in AIX for a second.
2025-03-17 06:09:24 -07:00
Enrico Ros ff65382e06 AIX: 146x faster SSE Demuxer - hand-rolled optimized
The 14,600% speedup compared to eventsource-parser comes from Gemini Image Generation use cases.
2025-03-17 06:07:25 -07:00
Enrico Ros 420b8c49c6 AIX: profiler: force fallback which is class scoped
The 'performance' API is global and conflicting between calls.
2025-03-17 06:07:24 -07:00
Enrico Ros 0f9c02e249 AIX: demuxers: extract eventsource-parser 2025-03-17 02:35:43 -07:00
Enrico Ros 4890a90641 AIX: cleanup/centralize security on Production builds 2025-03-17 00:16:55 -07:00
Enrico Ros 653f0991e0 AIX: really disable Profiling on production builds 2025-03-16 23:51:30 -07:00
Enrico Ros a40efb4780 AIX: Debugger: add Profiler 2025-03-16 23:49:28 -07:00
Enrico Ros feea74268d AIX: Profiler: edge-runtime fallback for missing performance classes
Note: could become the default, for
compatibility, or when in non-dev mode.
2025-03-16 23:16:33 -07:00
Enrico Ros 631582ccbb UX: swap two chat actions 2025-03-16 22:23:14 -07:00
Enrico Ros 4f048a9907 AIX: profiler is inactive by default on both Client and Server
To turn it on, either|or:
- server side: aix.router.ts: DEBUG_LOG_PROFILER_ON_SERVER=true
- client side: DEV BUILD + "debug mode" + DEBUG_LOG_PROFILER_ON_CLIENT=true to show on the console
2025-03-16 22:15:52 -07:00
Enrico Ros a8752ccde0 AIX: dynamic Profiler
This requires EITHER:
- on the server-side, in aix.router.ts, set DEBUG_LOG_PROFILER=true;
- on the client side, and only for Development builds, this is automatic in "Debug Mode"
2025-03-16 22:11:37 -07:00
Enrico Ros feafad0d77 AIX: yield ❤|while awaiting 2025-03-16 18:54:34 -07:00
Enrico Ros 6faa468ed3 AIX: ❤|awaited ops 2025-03-16 17:43:07 -07:00
Enrico Ros ab55804039 AIX: images in the last assistant fragment (e.g. generated by AI) get sent at storage quality (e.g. 98% WebP) 2025-03-16 07:26:22 -07:00
Enrico Ros 05d9bb3bab Gemini: store compressed images. Save 80% at 98% quality (png -> webp) 2025-03-16 07:07:04 -07:00
Enrico Ros 39ae8cd250 Gemini: Image Generation additional details 2025-03-16 06:43:45 -07:00
Enrico Ros 5d34e3eb88 Gemini: Image Generation does not support the system prompt 2025-03-16 06:26:33 -07:00
Enrico Ros ee20441307 Gemini: render generated images 2025-03-16 06:04:19 -07:00
Enrico Ros b12920ae67 AIX: max dev messages size: 4096 2025-03-16 05:54:45 -07:00
Enrico Ros f9ab682559 AIX: reassembler: improve (unawaited) error catching 2025-03-16 05:47:10 -07:00
Enrico Ros d042f7b396 AIX: Asynchronous Reassembler 2025-03-16 04:56:38 -07:00
Enrico Ros d8e4c8a78c Disable animation during debug 2025-03-16 04:40:58 -07:00
Enrico Ros 1e2dcce664 Merge pull request #777 from darthalex2014/Multi-key---lite
AIX: AI: multi-key support. function getRandomKeyFromMultiKey
2025-03-16 02:41:00 -07:00
Enrico Ros ab4af50daf UX: rename the Performance toggle, and strongly advise it off 2025-03-16 02:29:54 -07:00
Enrico Ros 26c83764d9 BEAM: quitting reason 2025-03-16 02:28:40 -07:00
Enrico Ros 85ac64dea1 BEAM: selfish when solo. 2025-03-16 02:28:40 -07:00
Enrico Ros 7305c9d354 AIX: withDecimator 2025-03-16 02:28:40 -07:00
Enrico Ros b99f8e6b14 AIX: chatGenerate "maybe asynchronous" callbacks support 2025-03-16 02:17:21 -07:00
Enrico Ros eb7e2ab92a 1px is 1px 2025-03-16 02:17:20 -07:00
Enrico Ros f7edbfb5af Remove one unnecessary/invisible animation, one optional animation 2025-03-16 02:17:20 -07:00
Alex(GoD) 7c918e4735 AIX: AI: multi-key support. function getRandomKeyFromMultiKey
getRandomKeyFromMultiKey
2025-03-16 10:41:14 +05:00
Enrico Ros 7d4d1e13a0 Gemini: fix file URI 2025-03-15 06:43:34 -07:00
Enrico Ros dbe58e30c4 Gemini: fix build - this hasn't landed yet 2025-03-15 06:41:34 -07:00
Enrico Ros d2aa97b889 Gemini: wires for image generation 2025-03-15 06:38:09 -07:00
Enrico Ros 0eac3e3aca Gemini: document the next steps for Grounding 2025-03-15 04:49:02 -07:00
Enrico Ros 75d61d0604 Gemini: support setting the civic integrity block threshold 2025-03-15 04:45:43 -07:00
Enrico Ros 2f7b053f96 Gemini: grounding basic support (not on in the UI) #773
What's left:
- figure out how to turn this on/off
- figure out which models can or cannot use it, without having too much to maintain
- figure out the runtime implementation
- parse the annotation ranges
- render the original icons
- figure out how to escape the Vertex rewriting of URLs
2025-03-15 04:38:12 -07:00
Enrico Ros 5ab5a85b73 Gemini: hotfix image output 2025-03-15 03:56:16 -07:00
Enrico Ros 1d7da8fa8c Gemini: allow using 2.0 Experimental - Flash Image Generation 2025-03-15 03:26:00 -07:00
Enrico Ros 727b2edf74 Gemini: improve the parser 2025-03-15 03:25:40 -07:00
Enrico Ros 6caff0ca59 Gemini: citations (recitation detection) support: disable by default: poor websites 2025-03-15 02:24:20 -07:00
Enrico Ros b41f930d08 Gemini: improve response parsing (excl. candidates) 2025-03-15 01:19:41 -07:00
Enrico Ros 5a70d926cb Gemini: report the actual model used for the generation, not what was requested 2025-03-15 00:41:12 -07:00
Enrico Ros dbfe7b734c Gemini: gemma-3 does not support input images 2025-03-15 00:30:25 -07:00
Enrico Ros 8acf5df3aa Gemini: improve wiretypes 2025-03-15 00:23:39 -07:00
Enrico Ros f3b882ca2f AIX: update readme 2025-03-14 23:55:23 -07:00
Enrico Ros 94adf3cda6 Azure: instructions on how to add models customizations via code. #774 2025-03-14 23:23:17 -07:00
Enrico Ros bfacaa6cf8 Azure: full cleanup, supports for any OpenAI model (via auto weak mapping) #774
Also, separate from the OpenAI models, but still resolve params in the OpenAI set.
2025-03-14 23:15:08 -07:00
Enrico Ros 0033debb90 Azure: upgrade the chat generation API version (keep the deployments list), #774 2025-03-14 23:13:34 -07:00
Enrico Ros 20f2bda6ed Azure: auto-fix temperature and max_tokens, #774 2025-03-14 23:12:42 -07:00
Enrico Ros bcc278c9cf OpenAI: contrary to the docs, the Search Preview models don't support image inputs 2025-03-14 22:10:23 -07:00
Enrico Ros 75ccac221d Composer: change debounce deadlines 2025-03-13 17:31:53 -07:00
Enrico Ros d90dd90a4a Optimization: render the message labels less 2025-03-13 17:26:33 -07:00
Enrico Ros d9156ce66c Composer: improve from useDebouncer 2025-03-13 17:10:57 -07:00
Enrico Ros 61457681e1 LLMs: Gemini fix & update (Gemma 3, see notes).
Somehow the developer instruction is not enabled for Gemma3-IT, and we got this message:
"Gemini: Bad Request - Developer instruction is not enabled for models/gemma-3-27b-it"

So we convert any System message to a User message instead (see the hotfix)
2025-03-12 04:02:06 -07:00
Enrico Ros bf5019108e LLMs: Ollama: update 2025-03-12 04:02:05 -07:00
Enrico Ros 622edec2fb Improve Void fragments render 2025-03-12 03:31:07 -07:00
Enrico Ros dac02f81c0 Improve Annotations render 2025-03-12 03:25:00 -07:00
Enrico Ros d8037ebd8d Improve Chat short model names 2025-03-12 03:24:44 -07:00
Enrico Ros fba1bac8d2 OpenAI: move models 2025-03-12 03:24:32 -07:00
Enrico Ros 510fbd293b Blocks: separate Void Parts from Content parts 2025-03-12 02:26:33 -07:00
Enrico Ros ab8c974e6f Options: improve 2025-03-12 02:26:32 -07:00
Enrico Ros 870f5afcfb Options: framework and parser 2025-03-12 02:15:36 -07:00
Enrico Ros 6192bda94f DVoidWebCitation: fix immutability
Actually I don't know why I need to declare those
as readonly arrays in the base objects.
2025-03-12 01:59:44 -07:00
Enrico Ros 3f701fcee3 Void Annotations: render 2025-03-12 01:36:30 -07:00
Enrico Ros 524d049d74 AIX: Perplexity: parse citations 2025-03-12 01:35:46 -07:00
Enrico Ros 983e964e36 AIX: OpenAI: parse annotations/citations 2025-03-12 01:35:46 -07:00
Enrico Ros 84f989d6da AIX: Annotation particles reassembly 2025-03-12 01:35:46 -07:00
Enrico Ros 49356fa769 AIX: Annotation particles transmission 2025-03-12 01:35:46 -07:00
Enrico Ros 2a6a03da64 DMessage: Void Annotation fragments 2025-03-12 01:35:46 -07:00
Enrico Ros fd17860dd8 Add auto-render of domain icons 2025-03-12 01:35:46 -07:00
Enrico Ros 46fea48b6e UrlUtils: add URL domain/prettyHref extraction 2025-03-12 01:35:28 -07:00
Enrico Ros 54ef248df5 AIX: OpenAI: support for web_search_options 2025-03-11 19:18:00 -07:00
Enrico Ros 2dfb8990d2 AIX: support for Search Context & Location 2025-03-11 19:17:45 -07:00
Enrico Ros a50ac8167b OpenAI: Context & Location search parameters 2025-03-11 19:15:15 -07:00
Enrico Ros 86baab6858 AIX: Debugger: don't show particles by default (heavy) 2025-03-11 19:13:44 -07:00
Enrico Ros 67c18bb0af Utils: webGeolocation 2025-03-11 18:52:12 -07:00
Enrico Ros c4584c27ef OpenAI: update sorting 2025-03-11 17:48:26 -07:00
Enrico Ros 0022439bba OpenAI: support all Search Preview (online) models. 2025-03-11 17:38:37 -07:00
Enrico Ros 5a81ef573c Roll packages deep 2025-03-11 11:20:45 -07:00
Enrico Ros 6f7ea5c7df Roll packages 2025-03-11 11:19:19 -07:00
Enrico Ros 926452bd55 Follow Enter/newline preferences for edits. Fixes #760. Fixes #770. Closes #771. 2025-03-10 20:25:10 -07:00
Enrico Ros b5eeb6945c Vector clocks note added to Data Ownership. 2025-03-10 20:20:58 -07:00
Enrico Ros 241ba623cc Vector clock device IDs 2025-03-10 20:00:05 -07:00
Enrico Ros cbd3099fa5 YT Transcript: warn of broken downloads 2025-03-10 16:43:51 -07:00
Enrico Ros 49e12e2a0b stores/{ui, ux-labs}: move 2025-03-10 12:15:21 -07:00
Enrico Ros 4b405af0e4 Release Notes
Release notes
2025-03-07 18:30:12 -08:00
Enrico Ros 578ef40106 Tech: show shipped 2025-03-07 16:33:03 -08:00
Enrico Ros f6e76b0fb9 Version update 1.92 2025-03-07 16:30:53 -08:00
Enrico Ros 17549bfe29 Cleanups: remove magic emojis 2025-03-07 15:32:22 -08:00
Enrico Ros 7915aed388 SearchParams: for future URL state 2025-03-06 03:06:08 -08:00
Enrico Ros e26c23e238 DNT-DT: wire up 2025-03-05 19:11:22 -08:00
Enrico Ros fb5da15245 DND-DT: GlobalDragOverlay
Note: to enable, add the overlay to OptimaLayout
2025-03-05 19:11:22 -08:00
Enrico Ros 0021e4f354 DND-DT: composer without zIndex 2025-03-05 19:11:22 -08:00
Enrico Ros afa850231c PostHog: dynamic loading to reduce bundle size 2025-03-05 19:11:22 -08:00
Enrico Ros 935dc7ddaf anim: add fade In 2025-03-05 18:27:29 -08:00
Enrico Ros ac08eec0e4 restore React Strict mode 2025-03-05 18:27:29 -08:00
Enrico Ros 5deb062e5f DND-DT: move 2025-03-05 15:02:24 -08:00
Enrico Ros 8e33fdbae5 Panes: allow delete (disabled) 2025-03-05 14:44:36 -08:00
Enrico Ros 403e6fbe37 Resize handler: noop basically 2025-03-05 14:26:55 -08:00
Enrico Ros 071c43997e MOTD: use TimeAgo 2025-03-05 14:03:38 -08:00
Enrico Ros 04f9512c2a Vercel: serverless functions timeout to 60
Do it the proper way, as the vercel_Production file only caused troubles.
2025-03-05 13:49:48 -08:00
Enrico Ros b9bc4421a3 Panes: adapt API 2025-03-05 13:05:25 -08:00
Enrico Ros b2efd5af0a InlineTextarea: centered text 2025-03-05 13:05:18 -08:00
Enrico Ros 264a2f9449 MOTD: fix 2025-03-05 13:02:34 -08:00
Enrico Ros 561959e960 Panes: fading 2025-03-05 12:59:51 -08:00
Enrico Ros 41a5f9a775 Panes: Edit Title, close, close others 2025-03-05 12:59:47 -08:00
Enrico Ros 9a61e04293 Panes: adapt to API change 2025-03-05 12:59:40 -08:00
Enrico Ros 3f1e01c6f9 Panes: rename removeNonFocused 2025-03-05 12:58:12 -08:00
Enrico Ros 12eabf86cf Allow MOTD dismissal, but for every hash key. 2025-03-04 17:15:17 -08:00
Enrico Ros 82d39d3256 Env-vars: document Message of the day and new variables. 2025-03-04 16:33:16 -08:00
Enrico Ros a1921e6fa4 Add the capability to display a MOTD - message of the day. For 2025-03-04 16:32:53 -08:00
Enrico Ros a5463fabe5 Further rationalize Build env var access 2025-03-04 15:59:33 -08:00
Enrico Ros 26f71ddedd PostHog: add functionality and documentation if you want to use it 2025-03-04 15:44:36 -08:00
Enrico Ros bdc2f7e8e1 PostHog: add packages 2025-03-04 13:56:38 -08:00
Enrico Ros 2083be39da roll packages 2025-03-03 15:26:03 -08:00
Enrico Ros 521419a5aa Title: Move overlay 2025-02-28 04:34:27 -08:00
Enrico Ros 5bf9270d5d Multi-pane Titles 2025-02-28 04:18:03 -08:00
Enrico Ros 2b55921830 AIX: options override: be safe without the ref 2025-02-28 02:15:49 -08:00
Enrico Ros 707ffa162e AIX: Debugger: enable any context 2025-02-27 22:32:29 -08:00
Enrico Ros 19848da7c3 AIX: Debugger: wire more 2025-02-27 22:32:02 -08:00
Enrico Ros 334df849b3 AIX: Debugger: first version 2025-02-27 22:30:38 -08:00
Enrico Ros 801d34692b AIX: Debugger: wire Aix Client 2025-02-27 22:29:56 -08:00
Enrico Ros 0aa70f2b80 AIX: Debugger: reactive store 2025-02-27 22:26:51 -08:00
Enrico Ros 5ad11a8b75 AIX: Debugger: rename Dispatch Request loopback 2025-02-27 22:25:37 -08:00
Enrico Ros 3f1bed3b6e Anthropic: auto-limit the thinking budget 2025-02-27 18:35:03 -08:00
Enrico Ros ca3668dd60 Gemini: cleanup models 2025-02-27 18:33:17 -08:00
Enrico Ros b3ae2b1cbc Gemini: remove non existing models from our definitions, and add a check 2025-02-27 18:33:15 -08:00
Enrico Ros f6abca0663 Gemini: update models 2025-02-27 18:33:13 -08:00
Enrico Ros 084ff69239 Anthropic: update header docs 2025-02-27 18:33:10 -08:00
Enrico Ros 8d31be462a OpenAI: fix model order 2025-02-27 16:55:46 -08:00
Enrico Ros 6d010c0ef1 Metrics: show the speed section also if the wait exceeded 10 seconds 2025-02-27 16:55:39 -08:00
Enrico Ros dfc37fb2d4 Metrics: require at least 40 tokens to compute speed (and it's a very low bar 2025-02-27 16:48:39 -08:00
Enrico Ros 56cd7b0b4f Metrics: compensate reasoning tokens 2025-02-27 16:44:23 -08:00
Enrico Ros 0060739bd2 Metrics: hmm 2025-02-27 16:44:10 -08:00
Enrico Ros e98f86d878 Metrics: improve render 2025-02-27 16:35:04 -08:00
Enrico Ros 1683790315 Metrics: render tok/s and wait 2025-02-27 16:31:39 -08:00
Enrico Ros 3c32c906de Metrics: store dtStart and vTOutInner where available 2025-02-27 16:11:38 -08:00
Enrico Ros d8c9c50743 OpenAI: official 4.5 support 2025-02-27 15:44:43 -08:00
Enrico Ros 2fc6febfaf LLM types: small sort 2025-02-27 15:10:44 -08:00
Enrico Ros f49c679005 Optima Dropdown: faster, better style 2025-02-27 01:20:53 -08:00
Enrico Ros 67206a3c4d AppChat: improve borders 2025-02-27 01:20:46 -08:00
Enrico Ros ed23f1d243 roll: misc deep 2025-02-26 19:55:37 -08:00
Enrico Ros 3b8c6c8c06 roll: Lock NextJS to 15.1 2025-02-26 19:53:04 -08:00
Enrico Ros e0c956e3e7 roll: Types for React 19 2025-02-26 19:48:43 -08:00
Enrico Ros 6efff8b285 React: fix useRef for React 19 2025-02-26 19:46:18 -08:00
Enrico Ros 4422c6c803 Incognito: improve appearance 2025-02-26 18:33:24 -08:00
Enrico Ros 511b9241f5 FormLabelStart: optimize 2025-02-25 13:09:12 -08:00
Enrico Ros 89549ebeef LLM Params Editor: support simplify 2025-02-25 13:00:53 -08:00
Enrico Ros bdb24f6da1 Fragments: fix types 2025-02-25 05:00:36 -08:00
Enrico Ros d7bc03f0a9 AIX: Dispatch/CGR: adapters for Thinking Blocks (only Anthropic is implemented)
Note: the ModelAux/reasoning block is only sent if there's a signature or there is redacted data.

We could even further reduce its sending to only Anthropic llms in CGR.
2025-02-25 04:37:38 -08:00
Enrico Ros 64c18e3f68 Fragments: have to deal with this string[] 2025-02-25 04:34:46 -08:00
Enrico Ros 7bba7e0c32 AIX: TRR particle reassembler fix 2025-02-25 04:34:17 -08:00
Enrico Ros e48b3f0f8e Render Block parts 2025-02-25 03:39:37 -08:00
Enrico Ros 31da502123 AIX: Anthropic: parser: S/NS TRR particles 2025-02-25 03:39:09 -08:00
Enrico Ros 9c64bbdd60 AIX: Anthropic: parser: exhaustive checks 2025-02-25 03:21:20 -08:00
Enrico Ros f4c1b0c1da AIX: TRR particle transmitter/reassembler 2025-02-25 03:21:20 -08:00
Enrico Ros c761e9fe38 AIX: mirror the Aux fragment 2025-02-25 03:19:58 -08:00
Enrico Ros e66aaaf98a Fragments: finalize the Aux fragment 2025-02-25 03:19:58 -08:00
Enrico Ros 58b5811d9e Fragments: small fix 2025-02-25 02:38:26 -08:00
Enrico Ros 3b3429d77a LLMs: document interfaces 2025-02-25 01:32:37 -08:00
Enrico Ros 98eb1a6694 Chat AI: keep last Thinking block only (default) 2025-02-25 00:26:22 -08:00
Enrico Ros 91929a3217 Chat AI settings: renames 2025-02-24 23:30:45 -08:00
Enrico Ros 5eecbc43be Chat AI settings: categories 2025-02-24 23:27:59 -08:00
Enrico Ros 609502c545 LLMs: don't control temperature when controlling Anthropic's Thinking Budget (temp=1) 2025-02-24 19:52:41 -08:00
Enrico Ros d0b420f9a1 AIX: Anthropic: wire Response: Thinking/RedactedThinking blocks - NOT matched by AixWire_Particles AND NOR AixWire_Parts 2025-02-24 19:40:48 -08:00
Enrico Ros 1222c53a1a AIX: Anthropic: wire Request: Thinking blocks 2025-02-24 18:57:19 -08:00
Enrico Ros 7b2d51e6c9 AIX: Anthropic: adapter support for the Thinking Budget 2025-02-24 18:57:19 -08:00
Enrico Ros 46cb286839 AIX: Anthropic: framework support for Thinking Budget (nullable number) 2025-02-24 18:57:19 -08:00
Enrico Ros 2e6f0c06fb AIX: Anthropic: adapter misc (Documents, unused for now)
This pairs with the Citations mechanism, that's not yet added to the wires.
2025-02-24 18:57:19 -08:00
Enrico Ros 31c138dacb AIX: improve user-visible message 2025-02-24 18:57:19 -08:00
Enrico Ros e428683ec7 LLMs: Anthropic: add the Thinking variant 2025-02-24 18:57:07 -08:00
Enrico Ros b6462225a7 LLMs: define, edit, and optionally spec the vendor model parameter 'Anthropic thinking budget' 2025-02-24 15:54:12 -08:00
Enrico Ros dfc110ca05 LLMs: enable model variants 2025-02-24 15:21:18 -08:00
Enrico Ros f55bd26f2e Anthropic: improve flags composition 2025-02-24 14:11:14 -08:00
Enrico Ros 603b6b90df Anthropic: 3.7 dMessageUtils 2025-02-24 12:55:52 -08:00
Enrico Ros 2c132ae2cf Anthropic: auto-created-date 2025-02-24 12:55:52 -08:00
Enrico Ros c7f4ad5a31 Anthropic: update 3.7 output size 2025-02-24 12:55:52 -08:00
Enrico Ros b9d5593895 Anthropic: update models 2025-02-24 12:55:52 -08:00
Enrico Ros 6a833fc141 LLM Options: just slight better display 2025-02-24 12:55:52 -08:00
Enrico Ros 4e1ad84831 CloseablePopup: memo 2025-02-24 00:48:31 -08:00
Enrico Ros e90bcdf1a3 ERC: fix overlapping menus and non-closing menus on rmb click 2025-02-24 00:48:23 -08:00
Enrico Ros dfbb346180 BeamView: comment for LLMs 2025-02-23 22:41:12 -08:00
Enrico Ros 2d5b97f68f Draw: fix 2025-02-23 15:55:06 -08:00
Enrico Ros 32826f1e4d Draw: improve # 2025-02-23 15:41:04 -08:00
Enrico Ros b1ed1d624a Draw: image settings 2025-02-23 15:40:55 -08:00
Enrico Ros 06c4040334 No tips on draw 2025-02-23 15:24:25 -08:00
Enrico Ros b71c389f5c Uniform model icons 2025-02-23 14:37:11 -08:00
Enrico Ros 5557de6dc3 Fragments: support placeholders with purpose 2025-02-23 03:15:27 -08:00
Enrico Ros ccdcd24d22 LLMs: fix 'buttons can wrap' 2025-02-23 03:13:06 -08:00
Enrico Ros c410a655ea Fix latext/markdown rendering: preserve leading space when re-encoding for 'remark-math'. Fixes #763 2025-02-23 01:49:31 -08:00
Enrico Ros 2fd84ae57c Nav: disable incomplete 2025-02-23 01:31:37 -08:00
Enrico Ros b760b717ef Imagine: fix prompt and algo 2025-02-23 01:00:08 -08:00
Enrico Ros acf9bd8663 AppChat: Draw: "draw options" on desktop 2025-02-23 01:00:08 -08:00
Enrico Ros 7327f1440e AppChat: Draw: support N images 2025-02-23 01:00:08 -08:00
Enrico Ros 87d8c10905 AppChat: Draw: suspend other elements 2025-02-23 00:35:12 -08:00
Enrico Ros ee45f3cae9 AppChat: Draw: inline enhancements 2025-02-23 00:15:11 -08:00
Enrico Ros 195255ce9a roll packages 2025-02-23 00:15:11 -08:00
Enrico Ros 0e4fda0c5a Draw/Provider: share style 2025-02-22 23:16:53 -08:00
Enrico Ros f1babdee60 Draw/Provider: rename 2025-02-22 23:16:53 -08:00
Enrico Ros a703d85688 T2I settings: remove popup, overflows on mobile 2025-02-22 23:16:53 -08:00
Enrico Ros 0cd677cb39 T2I settings: use chips for the active service 2025-02-22 23:16:53 -08:00
Enrico Ros 9fe11fb6e2 Add FormChipControl: swappable for the Radio Control 2025-02-22 23:16:53 -08:00
Enrico Ros 58451b17dc Optima: export dropdown slotProps 2025-02-22 23:16:53 -08:00
Enrico Ros cba924a31a Phosphor: add settings 2025-02-22 23:16:53 -08:00
Enrico Ros 74e50d1cb2 Beam: don't re-run when ctrl+enter when editing 2025-02-22 23:16:53 -08:00
Enrico Ros bd1c01b4e1 Remove unused 2025-02-22 20:34:27 -08:00
Enrico Ros 541fa4aa28 Code Icon 2025-02-22 20:34:15 -08:00
Enrico Ros 4dd03c7bd6 Fix port 2025-02-22 20:34:07 -08:00
Enrico Ros 3a2de83920 Auto-scale side menu 2025-02-22 19:55:21 -08:00
Enrico Ros 2ef5d339c6 Misc simplify 2025-02-22 19:42:13 -08:00
Enrico Ros 6355098703 Backport smallie 2025-02-22 19:33:34 -08:00
Enrico Ros a10a953097 Big-AGI logos 2025-02-20 17:33:32 -08:00
Enrico Ros 99293d9841 Optima: large UI cleanups 2025-02-20 16:33:18 -08:00
Enrico Ros 6d409e4df5 Optima: Side Paneling 2025-02-20 16:33:11 -08:00
Enrico Ros 2fceef4f0c Fix max/fullscreen icons 2025-02-20 15:49:44 -08:00
Enrico Ros 7577e64085 Show last used chat mode in dev settings. 2025-02-20 14:41:40 -08:00
Enrico Ros 4a9750865f LLM domain capabilities checking: warn about proceeding with a LLM without requirements, but don't bail 2025-02-20 14:31:41 -08:00
Enrico Ros fba0685266 LLM domain autoconfiguration includes the function calling detection 2025-02-20 14:27:55 -08:00
Enrico Ros e3fa1c740d Reconfigure Code/Fast if not present after a full reconfig. 2025-02-20 14:26:59 -08:00
Enrico Ros de190f6d41 LLM Attachments: stay in tooltip 2025-02-20 14:26:19 -08:00
Enrico Ros 7a5bc39376 Gemini: fix model capabilities 2025-02-20 14:26:02 -08:00
Enrico Ros c0b67653de RenderCode: fix fullscreen 2025-02-20 14:25:48 -08:00
Enrico Ros c6b1bd2f3a Advanced AI settings: improve all settings 2025-02-20 13:57:53 -08:00
Enrico Ros ae5c30af6b FormLabelStart: support warnings 2025-02-20 13:51:39 -08:00
Enrico Ros a513378d73 autoChatFollowUps: code model only 2025-02-20 13:51:30 -08:00
Enrico Ros 5b63c12958 Gemini: thinking models do not do FC 2025-02-20 13:51:30 -08:00
Enrico Ros f3fec33085 Code model editing. 2025-02-20 13:11:08 -08:00
Enrico Ros 3a071af42d LLMs: get from domain 2025-02-20 12:49:35 -08:00
Enrico Ros a06a863745 Revert "Mic: Enter/Ctrl+Enter interceptors to Send/Beam"
This reverts commit 93f2cf4bce.
2025-02-20 12:47:14 -08:00
Enrico Ros 93f2cf4bce Mic: Enter/Ctrl+Enter interceptors to Send/Beam 2025-02-20 12:34:10 -08:00
Enrico Ros 0b70728f04 Mic: disable focus on the Composer Textarea while active 2025-02-20 12:32:03 -08:00
Enrico Ros b12f422db6 Shortcuts: Esc comes first 2025-02-20 12:31:55 -08:00
Enrico Ros 13681deaa1 Nav: strings 2025-02-20 12:05:05 -08:00
Enrico Ros d2d43af0df Nav: breadcrumbs 2025-02-20 12:05:05 -08:00
Enrico Ros 500f053afd Settings: update 2025-02-20 12:05:04 -08:00
Enrico Ros 8cf9b06d7b Remove App.pl 2025-02-20 10:32:58 -08:00
Enrico Ros 88002fd78b Rename TenantSlug 2025-02-20 09:16:30 -08:00
Enrico Ros c4684d2dab Fw compat key name 2025-02-20 08:43:44 -08:00
Enrico Ros e46a244fea Move GA 2025-02-20 08:19:08 -08:00
Enrico Ros c940de6cd7 Perplexity: update models 2025-02-19 19:52:23 -08:00
Enrico Ros c391ecc7a9 Ollama: update models 2025-02-19 19:52:23 -08:00
Enrico Ros d65ad7324d OpenAI: small text updates 2025-02-19 18:35:11 -08:00
Enrico Ros a68ffd5339 Groq: update models pricing 2025-02-19 18:26:50 -08:00
Enrico Ros 59736d19af Deepseek: update prices 2025-02-19 18:20:44 -08:00
Enrico Ros 9967f09566 Alibaba: fix pricing 2025-02-19 16:01:11 -08:00
Enrico Ros 3d7e4ebb71 Alibaba Cloud support, incl Qwen Max, Plus, Turbo. Fixes #759 2025-02-19 15:54:34 -08:00
Enrico Ros c9457f7610 Block Editor: set FORCE_ENTER_IS_NEWLINE=undefined in the code to disable Shift+Enter to save, and follow the App preferences instead. Fixes #760. 2025-02-19 14:21:48 -08:00
Enrico Ros 13aef1fd89 xAI: update models 2025-02-18 14:12:57 -08:00
Enrico Ros a9548747cd Shortcuts: fix jumpiness 2025-02-18 13:51:26 -08:00
Enrico Ros 0da4cd6eb1 Empty Inline Links renderer 2025-02-18 10:44:12 -08:00
Enrico Ros 083246bea1 FireworksAI: small doc change 2025-02-18 00:15:47 -08:00
Enrico Ros 9f372ebd72 FireworksAI: support via custom OpenAI on https://api.fireworks.ai/inference 2025-02-18 00:11:18 -08:00
Enrico Ros cdf4c96ed6 Notice on approximate tokenizer 2025-02-17 22:50:46 -08:00
Enrico Ros c757b57e07 GA: application build stats 2025-02-17 22:50:46 -08:00
Enrico Ros 6629585b32 GA: remove @next/third-parties/google 2025-02-17 22:12:21 -08:00
Enrico Ros ad96d6ce66 Dockerfile: deployment type 2025-02-17 21:26:09 -08:00
Enrico Ros 5877dc1e24 Dockerfile: build information 2025-02-17 21:09:04 -08:00
Enrico Ros 908a6b808b Dockerfile: new env=value format 2025-02-17 20:30:18 -08:00
Enrico Ros fbd41fae7f roll residuals 2025-02-17 19:25:42 -08:00
Enrico Ros f9ff37c820 roll packages 2025-02-17 19:18:19 -08:00
Enrico Ros eed91491aa Types: immutable (deeply) 2025-02-17 19:13:38 -08:00
Enrico Ros 6faf9db2ba Azure: add note about AI Foundry. #757 2025-02-17 08:30:21 -08:00
Enrico Ros 713fd7fc22 Azure: rename to Azure OpenAI. #757 2025-02-17 08:29:46 -08:00
Enrico Ros d86ce3ac2f AIX: capitalize dialect in exceptions 2025-02-17 08:17:21 -08:00
Enrico Ros 076163ccfd Diagram - improve title 2025-02-16 01:35:48 -08:00
Enrico Ros 8f74c26f77 Space between radios 2025-02-16 01:35:25 -08:00
Enrico Ros 1b37ed61e3 Update text 2025-02-16 01:14:51 -08:00
Enrico Ros c6a421e61b Panel: Zero improvement 2025-02-15 14:26:54 -08:00
Enrico Ros 550a60f4af Panes: Zero notices 2025-02-15 14:04:24 -08:00
Enrico Ros 01a6901bfe Panes: add an empty split when not branching 2025-02-15 13:48:18 -08:00
Enrico Ros e655aa5bbd Pane Manager: cleanup 2025-02-15 13:17:10 -08:00
Enrico Ros f02409c5a9 Stores: cleanup 2025-02-15 13:12:31 -08:00
Enrico Ros 8524473488 o1: re-enable streaming now that OAI supports it 2025-02-15 12:48:28 -08:00
Enrico Ros 0b039c6453 Add Toggle 2025-02-14 15:00:29 -08:00
Enrico Ros 62250abe8b Improve multichat on mobile 2025-02-14 14:21:13 -08:00
Enrico Ros 5b0fc66cb1 Groq: update models 2025-02-14 13:38:32 -08:00
Enrico Ros ffa15c274b chat-store: merge (not replace) conversations from storage 2025-02-14 13:13:17 -08:00
Enrico Ros 09596000d7 Improve multichat icon 2025-02-14 13:05:05 -08:00
Enrico Ros 8e7a5e7d60 LLMs: improve autoconfig 2025-02-14 01:36:21 -08:00
Enrico Ros fc6d485fa3 LLMs: adapt PersonaSelector 2025-02-13 22:55:16 -08:00
Enrico Ros 0ed2e7e175 LLMs: remove useChatLLM for good 2025-02-13 22:55:16 -08:00
Enrico Ros cb0a54fe2b LLMs: bits 2025-02-13 21:06:00 -08:00
Enrico Ros d9cf91d2f0 LLMs: port useFormRadioLlmType 2025-02-13 21:03:10 -08:00
Enrico Ros 3ec820f212 LLMs: ModelsList for domains 2025-02-13 20:49:19 -08:00
Enrico Ros 474f743d28 LLMs: roll models 2025-02-13 20:39:22 -08:00
Enrico Ros 3f1b508752 LLMs: update the select 2025-02-13 20:38:49 -08:00
Enrico Ros 2c49a1d8b9 LLMs: port the llm dropdown 2025-02-13 19:46:09 -08:00
Enrico Ros ab441659b2 LLMs: port select and options 2025-02-13 18:56:56 -08:00
Enrico Ros 84d843b356 LLMs: per-domain configuration 2025-02-13 18:13:16 -08:00
Enrico Ros 9b3af38326 Models: update benchmark scores 2025-02-13 15:23:51 -08:00
Enrico Ros 8226a638d9 ModelAux: disable button (prob no effect) 2025-02-13 15:06:10 -08:00
Enrico Ros 4cd2c5878c LLMs: rename .service.types 2025-02-12 13:42:49 -08:00
Enrico Ros 8242198068 LLMs: extract assignments slice 2025-02-12 10:36:04 -08:00
Enrico Ros 59be5dc807 Update MCT 2025-02-12 09:46:39 -08:00
Enrico Ros de6b6012ba AiFn: disabled summarize 2025-02-12 09:33:58 -08:00
Enrico Ros 5928c84cf4 Chat AI: change utility model 2025-02-12 01:37:35 -08:00
Enrico Ros b393469584 LLM Select: ensure a min width of 96px, and break words if push comes to shove 2025-02-12 01:24:08 -08:00
Enrico Ros 6f5cef3a6c Wizard: support 'defaults' 2025-02-12 01:03:38 -08:00
Enrico Ros 5234d78719 LocalAI: fix a p > div 2025-02-11 22:52:11 -08:00
Enrico Ros aebe64ef3d Wizard: support Local vendors 2025-02-11 22:51:53 -08:00
Enrico Ros 224a40dcb7 Wizard: improve first time experience 2025-02-11 20:39:19 -08:00
Enrico Ros 5ddb6bf718 LocalAI: large UI improvement 2025-02-11 20:39:04 -08:00
Enrico Ros 11cb61874d Ollma: improve type 2025-02-11 20:38:56 -08:00
Enrico Ros 00ed22ad28 Mistral: improve 2025-02-11 20:38:44 -08:00
Enrico Ros e263922b43 Anthropic: minor status message update 2025-02-11 19:47:00 -08:00
Enrico Ros a4172a74d1 StorageUtils: improve display 2025-02-11 19:44:10 -08:00
Enrico Ros b1fb2aeeb3 Wizard: improve selectors 2025-02-11 19:26:20 -08:00
Enrico Ros 4f3c2b7b8c Reconfigure All Models on hash changes 2025-02-11 17:06:16 -08:00
Enrico Ros ec493ee91b Wizard: Models 2025-02-11 17:04:11 -08:00
Enrico Ros 2200bb9ee8 Anthropic: less intrusive fallback message 2025-02-11 14:59:06 -08:00
Enrico Ros 588129436d Push down: cml background 2025-02-11 13:22:49 -08:00
Enrico Ros fed51d9959 Add icon 2025-02-11 12:41:40 -08:00
Enrico Ros e6af5e77f8 Models modal: simplify (disable the 'all services' button) 2025-02-11 12:40:29 -08:00
Enrico Ros 2eb230d366 Models list: verbiage 2025-02-11 12:39:47 -08:00
Enrico Ros a66ecd7660 Modal: add darken bottom 2025-02-11 12:39:38 -08:00
Enrico Ros 46a9459b7d LocalAI: mark one more 2025-02-11 12:23:11 -08:00
Enrico Ros 0a34dae6c0 Models config: improve add service ux 2025-02-11 12:23:03 -08:00
Enrico Ros 2209a76f25 Models config: improve costs display again 2025-02-11 12:22:50 -08:00
Enrico Ros ba2e27dc7e Models config: improve costs display 2025-02-11 11:57:06 -08:00
Enrico Ros 5f5cedb428 Models config: small ux fix 2025-02-11 11:34:54 -08:00
Enrico Ros a4da127078 Merge pull request #754 from jayrepo/patch-2
link ssl3 for builder
2025-02-11 08:49:29 -08:00
Jay Chen 109d0ffab6 link ssl3 for builder 2025-02-11 23:19:52 +08:00
Enrico Ros 3af2eb1b59 Gemini: update models 2025-02-10 00:45:41 -08:00
Enrico Ros 51d3f37058 Small ux hint 2025-02-09 21:41:28 -08:00
Enrico Ros 3b76018db9 LLMs: OpenAI: decouple reasoning effort an restore markdown 2025-02-09 21:33:45 -08:00
Enrico Ros 271d42c09f OpenAI: restore markdown even of missing developer messages 2025-02-09 21:26:56 -08:00
Enrico Ros ddfb7f0e88 Attach: auto-detect simplify (one button instead of N) 2025-02-07 04:24:36 -08:00
Enrico Ros 3cb8ce1b3b Attach: auto-detect URLs 2025-02-07 04:02:54 -08:00
Enrico Ros 42b00f4942 Ollama: JSON mode is dangerous, say it. Fixes #749 2025-02-03 17:30:34 -08:00
Enrico Ros 749c7ce796 OpenAI: chatgpt-4o-latest doesn't support tools 2025-02-03 11:40:58 -08:00
Enrico Ros 27ff214d04 ChatDrawer: sync once a minute so we don't get unexpected regroup flashes 2025-02-02 09:59:23 -08:00
Enrico Ros 46ff3c293a Fix link 2025-02-02 09:52:52 -08:00
Enrico Ros c034e9f2ee Link FAQs 2025-02-02 09:48:23 -08:00
Enrico Ros b2c5cebc08 Update help-faq.md 2025-02-02 09:26:08 -08:00
Enrico Ros 0017a6b0f9 Create help-faq.md 2025-02-02 09:17:28 -08:00
Enrico Ros a2c9df06de Quick update 2025-02-01 09:18:22 -08:00
Enrico Ros 4152510452 Update README.md 2025-01-31 20:27:26 -08:00
Enrico Ros d253f7279a LocalAI: improve naming, interfaces 2025-01-31 20:01:04 -08:00
Enrico Ros b186caa1d0 Mo ar re al 2025-01-31 18:14:43 -08:00
Enrico Ros f99ac2f471 Update README.md 2025-01-31 18:11:58 -08:00
Enrico Ros 409af6e23e Update README.md 2025-01-31 18:09:04 -08:00
Enrico Ros 36d81e027b Composer: fix dependency 2025-01-31 16:57:02 -08:00
Enrico Ros 2a0cb6125a Thinking: auto-detect blocks 2025-01-31 16:54:16 -08:00
Enrico Ros b65ef1289a Gemini: undocumented safety 2025-01-31 16:35:55 -08:00
Enrico Ros e67f1fb974 Perplexity: add Sonar Reasoning 2025-01-31 15:17:42 -08:00
Enrico Ros 292d7c9e05 Beam: brain-ready 2025-01-31 14:46:42 -08:00
Enrico Ros 617cb79299 DeepSeek: reasoning hint 2025-01-31 14:43:27 -08:00
Enrico Ros dbad11ad9a OpenAI o3: namings. Support complete. 2025-01-31 12:58:27 -08:00
Enrico Ros 04cb6d2538 OpenAI o3: max_completion_tokens and developer message 2025-01-31 12:56:33 -08:00
Enrico Ros b6ff3852a0 OpenAI o3: strip images 2025-01-31 12:55:53 -08:00
Enrico Ros 70a68bb676 OpenAI: models change visibility 2025-01-31 12:50:39 -08:00
Enrico Ros e04fc80b62 OpenAI: models sorting 2025-01-31 12:50:27 -08:00
Enrico Ros 35d63e7894 OpenAI: sorted models 2025-01-31 12:33:58 -08:00
Enrico Ros 9e71358ae2 OpenAI o3: models update 2025-01-31 12:27:35 -08:00
Enrico Ros 0891b103e0 Ctrl+L: attach web link 2025-01-31 12:00:16 -08:00
Enrico Ros 2480904929 Docs: add a Data Ownership guide 2025-01-31 11:13:33 -08:00
Enrico Ros da903d1879 Fix Mobile Open Pane unnecessary padding 2025-01-31 09:23:03 -08:00
Enrico Ros eafc009ff0 Optima: optimize, add 'gone' functionality 2025-01-31 08:51:08 -08:00
Enrico Ros 3023bcaf95 /tools folder 2025-01-30 22:03:15 -08:00
Enrico Ros 2d29953318 1.92.0-RC1 2025-01-30 22:02:58 -08:00
Enrico Ros 6b9ec4bc05 Fix Autocomplete issue 2025-01-30 16:43:59 -08:00
Enrico Ros 540176059a Add Mistral-3 (24B) 2025-01-30 14:57:18 -08:00
Enrico Ros 9051354c58 Mistral: hide symlinks 2025-01-30 13:00:47 -08:00
Enrico Ros 26985aeacb Mistral: update models 2025-01-30 12:58:42 -08:00
Enrico Ros c2a84c7f93 Autocomplete the tags 2025-01-29 14:06:21 -08:00
Enrico Ros 51975f6748 Ollama: match vision support 2025-01-29 13:21:51 -08:00
Enrico Ros 6fdc16c33f Ollama: update models 2025-01-29 13:10:22 -08:00
Enrico Ros ed4f347563 Ollama: add description 2025-01-29 12:41:46 -08:00
Enrico Ros a1cdb3b273 OpenPipe: extract models file 2025-01-29 11:52:32 -08:00
Enrico Ros 8b8088b74a Azure: move models function 2025-01-29 11:52:19 -08:00
Enrico Ros 94e9f2678d Together: note 2025-01-29 11:49:45 -08:00
Enrico Ros 05965e749a OpenRouter: extract models functions 2025-01-29 11:49:39 -08:00
Enrico Ros 1a9cea263f Relax status check for Azure Openai. Fixes #744 2025-01-29 10:39:59 -08:00
Enrico Ros 966c402ecc Deepseek: fix assistant message alternation 2025-01-28 23:50:24 -08:00
Enrico Ros d5e0a3e4f6 Deepseek: better namings 2025-01-28 23:41:53 -08:00
Enrico Ros 2fafca7dfd OpenRouter: support reasoning sideband 2025-01-28 23:41:42 -08:00
Enrico Ros bfbd1bcfed OpenRouter: update visibility 2025-01-28 23:20:19 -08:00
Enrico Ros c1d476a991 Together: update models 2025-01-28 23:20:12 -08:00
Enrico Ros f7b78ca855 Together: update models 2025-01-28 23:08:12 -08:00
Enrico Ros 0e1429b604 Together: update parsers 2025-01-28 23:05:22 -08:00
Enrico Ros 57f2ca6460 Groq: update models 2025-01-28 22:19:49 -08:00
Enrico Ros e1d8dabd3d Groq: extract models 2025-01-28 21:57:38 -08:00
Enrico Ros d498287f76 Fix env var parsing 2025-01-28 21:43:36 -08:00
Enrico Ros 8a3026e43e Roll packages 2025-01-28 21:40:03 -08:00
Enrico Ros 133f26c691 Optimize: StatusBar 2025-01-28 21:37:23 -08:00
Enrico Ros 9b169d1f43 Pmix: reduce verbosity 2025-01-28 21:27:37 -08:00
Enrico Ros 2c331f9a65 useDebugHook: invert params 2025-01-28 21:27:26 -08:00
Enrico Ros b9e8559002 Optimize BlockPartModelAux 2025-01-28 21:14:15 -08:00
Enrico Ros a8f843fea5 Fix reasoning chip outline 2025-01-28 21:11:22 -08:00
Enrico Ros a0da3b564f Beam: fix z-index 2025-01-28 21:10:48 -08:00
Enrico Ros bdc5e09ecc ChatMessageList: cleanup 2025-01-25 10:12:43 -08:00
Enrico Ros d88e16dccf CSV: switch to a newer lib 2025-01-24 00:35:47 -08:00
Enrico Ros 77680fcdc9 CSV: Improve Buttons 2025-01-24 00:35:43 -08:00
Enrico Ros 6afcc42c38 Beam: fix exposition of multiple fragments. 2025-01-23 14:57:25 -08:00
Enrico Ros 0bf7b86217 Reasoning style. 2025-01-23 14:48:05 -08:00
Enrico Ros fa306338aa Largely disable the NoVoid duplications (fragments, messages, conversations) 2025-01-23 13:42:33 -08:00
Enrico Ros 5921a099d9 Roll packages 2025-01-23 13:31:01 -08:00
Enrico Ros e6dd1f0c48 Inline Thinking Fragments 2025-01-23 09:54:18 -08:00
Enrico Ros ae8602a769 Gemini: show thoughts 2025-01-23 08:36:46 -08:00
Enrico Ros 8d86636a95 Gemini: access that can switch to v1alpha 2025-01-23 08:25:49 -08:00
Enrico Ros 87a9191013 Gemini: update Models 2025-01-23 08:25:49 -08:00
Enrico Ros e847933c3c AIX: Gemini: dispatch vndGeminiShowThoughts 2025-01-23 08:25:49 -08:00
Enrico Ros ad7280c065 LLMs: Parameters: add Google CoT 2025-01-23 08:24:42 -08:00
Enrico Ros b124bac190 LLMs: Parameters: apply initial values where Defined 2025-01-23 08:24:32 -08:00
Enrico Ros 6f926f4849 Perplexity: update models 2025-01-23 06:38:35 -08:00
Enrico Ros 48df9d4af6 Deep roll. 2025-01-21 18:35:01 -08:00
Enrico Ros a5d0c183a7 Roll packages 2025-01-21 18:28:31 -08:00
Enrico Ros 37354484c2 Cherry-picked the 1.16.9 release, to update GitHub desc. 2025-01-21 18:22:09 -08:00
Enrico Ros eeae13d4ba v1-dev has been fully obsoleted and removed. v1-stable is the stable v1, for Docker and big-agi.com, while v2-dev will soon become the new stable and replace v1-stable. 2025-01-21 18:19:46 -08:00
Enrico Ros c84b474632 Improve bug reporting. Require where. 2025-01-21 17:41:35 -08:00
Enrico Ros a207030899 Move puppeteer-core to non-dev dependency. Fixes #732 2025-01-21 17:38:56 -08:00
Enrico Ros b97e28ad3b YouTube transcripts: improve module 2025-01-21 17:35:16 -08:00
Enrico Ros b307adda99 DeepSeek: don't disable FC 2025-01-20 20:44:15 -08:00
Enrico Ros 069421f47a Roll AIX for reasoning & temperature changes 2025-01-20 09:31:43 -08:00
Enrico Ros 8f1a11757f DeepSeek: update Reasoner Short name. Fixes #726 2025-01-20 09:13:46 -08:00
Enrico Ros 3fa5f07f51 RenderPlainText: opti 2025-01-20 09:13:46 -08:00
Enrico Ros 8b8a200b83 Render ModelAux Void (reasoning) fragments 2025-01-20 09:13:46 -08:00
Enrico Ros 2c87d3e714 AIX & Fragments: ModelAux Void Part 2025-01-20 08:15:28 -08:00
Enrico Ros ddf3b54917 AIX: Deepseek: parse and transmit reasoning text 2025-01-20 07:28:10 -08:00
Enrico Ros 846da8e17d AIX: client, hotfix-no-temperature 2025-01-20 07:13:08 -08:00
Enrico Ros 0d0d414fc8 AIX: dispatches: optional temperature 2025-01-20 07:13:08 -08:00
Enrico Ros 0c01bce460 DeepSeek: R1 model 2025-01-20 07:13:08 -08:00
Enrico Ros 37c83ce039 LLMs: disable temperature editing by hotfix-interface 2025-01-20 07:13:08 -08:00
Enrico Ros 9e504d577e LLMs: hotfix no-temperature and nullable temperature 2025-01-20 06:58:54 -08:00
Enrico Ros ab70692c49 Mermaid: stop double quoting 2025-01-16 22:39:18 -08:00
Enrico Ros d48f594147 SVG: fix <xml>\n<svg> parsing 2025-01-16 22:39:08 -08:00
Enrico Ros 3e4e634c97 useLLMChain: make the callback optional 2025-01-15 20:04:45 -08:00
Enrico Ros 0e17a0bcd0 Roll packages deep 2025-01-15 19:29:04 -08:00
Enrico Ros 32e0d32dea Roll packages 2025-01-15 19:27:44 -08:00
Enrico Ros 1ecf355346 Relocate YouTubeURLInput 2025-01-15 19:26:13 -08:00
Enrico Ros 2ff15b54af OptimaDrawerHeader: support title click 2025-01-15 19:24:25 -08:00
Enrico Ros 30ac3f8c0a AIX: OpenRouter: multi-key support. See #653 2025-01-15 01:11:20 -08:00
Enrico Ros 04e54d898e ChatDrawer: optimize hook 2025-01-15 00:18:41 -08:00
Enrico Ros 20a85a5dfb Web Links: per-link options 2025-01-14 22:17:04 -08:00
Enrico Ros 849eb58a8f AIX: un-race-cond, debug-last-request 2025-01-14 21:50:56 -08:00
Enrico Ros 558d73a858 AIX: only stream 'conversation' messages in dev mode 2025-01-14 21:24:49 -08:00
Enrico Ros e6948d4186 Clarify 'Link Message' 2025-01-14 21:02:28 -08:00
Enrico Ros 55e2e09797 Restore non-relaxed URL casting. Only cast it on the WIM. 2025-01-14 20:56:51 -08:00
Enrico Ros b2a3b78d44 Improve the dark mode toggle 2025-01-14 09:38:53 -08:00
Enrico Ros 135c957b7e Fix half px 2025-01-14 09:38:39 -08:00
Enrico Ros 624b99c8fe Browse: more informative 2025-01-14 09:24:19 -08:00
Enrico Ros fef0b27a33 Browse/Google: copy 2025-01-14 09:22:38 -08:00
Enrico Ros 75897cc162 Settings: improve icons 2025-01-14 09:22:22 -08:00
Enrico Ros 26733d6fea Remove /browse since we have better support 2025-01-14 09:06:26 -08:00
Enrico Ros 2a29ccdcf5 Browse: improve messaging 2025-01-14 09:01:17 -08:00
Enrico Ros efdcf26c10 Browse: improve desc 2025-01-14 08:48:48 -08:00
Enrico Ros 89d915a266 Move auto-speak to the right section 2025-01-14 08:46:12 -08:00
Enrico Ros 31c9b5c516 Settings: style more 2025-01-14 08:45:56 -08:00
Enrico Ros b9563eaac9 Settings: style 2025-01-14 08:12:08 -08:00
Enrico Ros 396abe01ec GCE: add site restriction 2025-01-14 07:47:20 -08:00
Enrico Ros 6880ba8651 Tool.Search: return 10 items. 2025-01-14 07:47:16 -08:00
Enrico Ros 4aa0d4a8ae Improved the Clean HTML function 2025-01-12 03:28:58 -08:00
Enrico Ros 50ede8baa8 misc 2025-01-12 03:28:55 -08:00
Enrico Ros 685edd12b9 o1: option to restore markdown 2025-01-12 01:11:46 -08:00
Enrico Ros 213241eae9 Web Input: multiball 2025-01-12 00:13:59 -08:00
Enrico Ros 2b9a5b5746 Improve URL validations 2025-01-12 00:13:59 -08:00
Enrico Ros 6ea0347a06 YT: don't clog the console 2025-01-12 00:13:59 -08:00
Enrico Ros 0df68444b3 Web Input Modal 2025-01-12 00:13:59 -08:00
Enrico Ros 290fd285c5 Fix composer icons stretch 2025-01-11 21:04:36 -08:00
Enrico Ros bd0b60ad26 Attach web pages 2025-01-11 21:03:48 -08:00
Enrico Ros d3c7daac50 Puppeteer: client with mostly unsupported downloads (disabled by default) 2025-01-11 20:43:53 -08:00
Enrico Ros c7805566ae Puppeteer: allow file download 2025-01-11 20:20:26 -08:00
Enrico Ros 6be3f274ed Browsing: fix timeouts with streaming results conversion 2025-01-11 20:18:15 -08:00
Enrico Ros 40d05771c1 Doc edit pane: improve edit buttons, swap the order for assistant segments 2025-01-11 16:12:43 -08:00
Enrico Ros dfec14620d CodePanelFrame: remove visual-flow-breaking borders 2025-01-11 16:09:45 -08:00
Enrico Ros 27f57d6f22 BlockEdit_TextFragment: support square top rad 2025-01-11 15:51:44 -08:00
Enrico Ros 78db633f25 Attachments: new attach buttons 2025-01-11 15:43:54 -08:00
Enrico Ros 440f368c36 CodePanelFrame: selected border 2025-01-11 15:43:49 -08:00
Enrico Ros 78186ad442 useAttachmentDrafts: support direct URL attachments, rather than through pastes or drag/drop 2025-01-11 15:43:46 -08:00
Enrico Ros 75182df441 YouTube URLs - improve matching, incl regional, shortlinks, etc. 2025-01-11 15:43:43 -08:00
Enrico Ros 213de18ecc AIX: dispatchers reuse the same doc wrapping 2025-01-10 03:50:01 -08:00
Enrico Ros 08437f1e8d AIX: broaden Docs support 2025-01-10 03:49:57 -08:00
Enrico Ros 3ba9200d0c AIX: skip Anthropic cache-control on empty system messages 2025-01-10 01:16:54 -08:00
Enrico Ros 1ad20a1579 AIX: Gemini: assumption fix 2025-01-10 01:16:50 -08:00
Enrico Ros 1a53484064 AIX: Gemini: multi-key support. Fixes #653 2025-01-10 00:58:10 -08:00
Enrico Ros bdcbf7ebc8 AIX: Gemini: pre-fix protocol wire 2025-01-10 00:41:45 -08:00
Enrico Ros 25b0cb47ac Fix a disabled menu option 2025-01-10 00:40:11 -08:00
Enrico Ros a1fa8d6480 AIX: update Gemini's wires 2025-01-10 00:40:01 -08:00
Enrico Ros 3240e527e8 Gemini: add 'OFF' safety filtering. Fixes #718, Fixes #720 2025-01-10 00:34:58 -08:00
Enrico Ros fa80848dd5 Attachments: show caption in tooltip 2025-01-09 22:49:16 -08:00
Enrico Ros 085f97b10c LFS: support missing callbacks 2025-01-09 21:49:13 -08:00
Enrico Ros d96937a92f DocAttachmentFragment: auto-disable when outside a workspaceId provider 2025-01-09 21:42:22 -08:00
Enrico Ros e2cd16d5d2 ScrollToBottom: allow use outside of a provider 2025-01-09 21:41:38 -08:00
Enrico Ros 9a783ebe6d Doc Attachments: improve lines 2025-01-09 21:41:35 -08:00
Enrico Ros 1db98ea0b0 Don't crash here also 2025-01-09 19:12:37 -08:00
Enrico Ros 775808c472 Don't crash here 2025-01-09 19:12:29 -08:00
Enrico Ros 251f57372c LLMAttachments: allow files wrapping 2025-01-09 19:12:28 -08:00
Enrico Ros 32b0ac2fa1 LLMAttachments: allow absence of inlining ops 2025-01-09 19:12:28 -08:00
Enrico Ros dc5b338914 Fragments: quick out 2025-01-09 19:12:24 -08:00
Enrico Ros 473a73d2c5 Fragments: splitting utility function 2025-01-09 19:12:24 -08:00
Enrico Ros d303a24300 Fragments: move buckets hook 2025-01-09 19:12:20 -08:00
Enrico Ros c8cbeffda3 LLMAttachments: made the AGI prompts optional 2025-01-09 17:18:44 -08:00
Enrico Ros b1d94e790f AttachmentDraftsStoreApi: improve typing 2025-01-09 17:18:43 -08:00
Enrico Ros 59966546cf Uniform Attach buttons 2025-01-09 16:06:08 -08:00
Enrico Ros 31eac468bc Add .disabled 2025-01-09 16:06:06 -08:00
Enrico Ros 672cc4801b Attachments: document the main hook 2025-01-09 16:06:03 -08:00
Enrico Ros 9e7b950cda Attachments: rename enableLoadURLsOnPaste 2025-01-09 16:06:00 -08:00
Enrico Ros 21e0180e88 Attachments: single vanilla store option 2025-01-09 16:05:58 -08:00
Enrico Ros e2801a0fef Attachments: rename slice 2025-01-09 16:05:55 -08:00
Enrico Ros 9ae9170ddb DLLMs: ModelConfigurations 2025-01-09 13:11:36 -08:00
Enrico Ros 7a092a9140 DLLMs: Config: pad context window 2025-01-09 04:42:03 -08:00
Enrico Ros d453adc438 DLLMs: Options: Visual indication of overrides over the baseline 2025-01-09 04:42:03 -08:00
Enrico Ros e5e9f489d3 DLLMs: Recyclable Parameters configurator 2025-01-09 02:33:42 -08:00
Enrico Ros 792f3f20f7 Confirmation Modal: remove warning 2025-01-09 00:44:26 -08:00
Enrico Ros 2581632f4b Roll packages 2025-01-08 22:27:31 -08:00
Enrico Ros 7c4df2cbf5 DLLMs: improve param typing on store-llms, for decoupling 2025-01-08 22:20:43 -08:00
Enrico Ros 5af67e4be8 LLM Select: miniscule change 2025-01-08 22:20:41 -08:00
Enrico Ros eaa534d590 Improve useLLM() 2025-01-08 22:20:38 -08:00
Enrico Ros f8630e3213 Optima Dropdowns: fix labels and decorators 2025-01-08 19:25:54 -08:00
Enrico Ros 48c64aed9f DLLMs: fix fallback value 2025-01-08 19:25:15 -08:00
Enrico Ros e7e5d2b901 Merge pull request #719 from Jonathan523/v2-dev
fix(gemini): fix FormHelperText for safety settings visibility
2025-01-08 09:30:07 -08:00
Jonathan Zhang 1051d6461c fix(gemini): make FormHelperText for safety settings invisible when advanced is not activated 2025-01-08 22:31:42 +08:00
Enrico Ros baec2b8a3a Use puppeteer-core for browsing instead of @cloudflare/puppeteer 2025-01-07 22:41:50 -08:00
Enrico Ros bfa5c510ef Fix punycode on eslint 2025-01-07 21:59:45 -08:00
Enrico Ros 970d024c10 Disable prisma hints 2025-01-07 20:59:19 -08:00
Enrico Ros bc74c97ca2 Revert "Improve useRef"
This reverts commit f593cb6b04.
2025-01-07 20:51:52 -08:00
Enrico Ros a5b92ec93a Lints 2025-01-07 20:33:55 -08:00
Enrico Ros f593cb6b04 Improve useRef 2025-01-07 20:33:55 -08:00
Enrico Ros 50717b339f Use @dnd-kit, remove the deprecated react-beautiful-dnd (thanks). Fixes #713 2025-01-07 19:23:38 -08:00
Enrico Ros 4400f33209 Roll pdfjs 2025-01-07 17:00:07 -08:00
Enrico Ros b2d21d3426 Image OCR: w/ text 2025-01-07 16:58:09 -08:00
Enrico Ros f9b102ffb8 Roll Tesseract (image OCR) 2025-01-07 16:55:47 -08:00
Enrico Ros 20d7d6b2ee Roll packages deep 2025-01-07 16:33:46 -08:00
Enrico Ros f947a650b0 Roll packages 2025-01-07 16:31:17 -08:00
Enrico Ros da2be7be50 Gemini: improve the chat message labels 2025-01-07 01:44:46 -08:00
Enrico Ros f1257556f3 Small cleanup post #716 2025-01-07 01:40:33 -08:00
Enrico Ros df3c4b5971 Merge pull request #716
feat: add custom API endpoint support for Google Gemini
2025-01-07 01:39:17 -08:00
Enrico Ros 403f5795f8 LLMOptions: restore the flame - Fixes #717 2025-01-07 01:15:56 -08:00
Jonathan Zhang e971db1c60 Merge branch 'enricoros:v2-dev' into v2-dev 2025-01-07 10:40:09 +08:00
Jonathan Zhang 9411cd4f9b fix: set advanced mode default to false in GeminiServiceSetup 2025-01-07 10:39:56 +08:00
Enrico Ros 271e5f3fc9 Grok: update models 2025-01-06 13:47:42 -08:00
Enrico Ros ce58fb5419 Together: update models 2025-01-06 13:05:05 -08:00
Jonathan Zhang ceca769a20 feat: add custom API endpoint support for Google Gemini 2025-01-06 14:20:15 +08:00
Enrico Ros 473f73c23f Optima Headings: _styles & Mobile 2024-12-31 15:00:06 -08:00
Enrico Ros aab84f6e67 PMix: renames 2024-12-31 04:39:21 -08:00
Enrico Ros 95e988dc9a PMix: parameters propagate 2024-12-31 03:10:09 -08:00
Enrico Ros 3cb9183cc0 PMix: parameters 2024-12-31 03:08:55 -08:00
Enrico Ros 79119c4770 PMix: remove former description 2024-12-31 03:08:09 -08:00
Enrico Ros 64933bea7e Recognize Emojis 2024-12-31 03:08:06 -08:00
Enrico Ros bae15f3bb6 Popups: improvements v2 2024-12-30 19:56:59 -08:00
Enrico Ros 35733e86b9 UI - Mobile: Nav 2024-12-30 19:56:59 -08:00
Enrico Ros e42dc3a755 UI - improve Mobile layout 2024-12-30 19:56:59 -08:00
Enrico Ros 215c45c823 UI - Chat Panels 2024-12-30 19:56:56 -08:00
Enrico Ros 6d68f599df UI - Panes & Mobile 2024-12-30 19:55:22 -08:00
Enrico Ros c5b4dadb83 Mermaid: stick errors 2024-12-30 17:27:29 -08:00
Enrico Ros 5d942eec41 Mermaid: update to 11.4.1 2024-12-30 16:40:09 -08:00
Enrico Ros 613665665d Beam: disable auto-stick on Mobile 2024-12-30 14:55:36 -08:00
Enrico Ros b14e28e03b Update icons 2024-12-30 14:42:26 -08:00
Enrico Ros 9969ccb530 getConversation: reduce usage 2024-12-30 14:19:23 -08:00
Enrico Ros ec9243b8dd Rename throwing head 2024-12-30 13:50:08 -08:00
Enrico Ros 8584a56a6d Beam: begin history rationalization 2024-12-30 13:41:00 -08:00
Enrico Ros af78068f48 Beam Fusion: sticky header 2024-12-30 12:42:46 -08:00
Enrico Ros 0a002a0d78 Beam Ray: edit with sticky header 2024-12-30 12:34:51 -08:00
Enrico Ros 66572a970f New Voice Chat intent 2024-12-30 12:03:13 -08:00
Enrico Ros ff1d3686b6 Call icon on Manifest 2024-12-30 11:32:38 -08:00
Enrico Ros 7626b48b70 AIX: suppress warning on completion_tokens=0 2024-12-30 10:59:54 -08:00
Enrico Ros 9bfcb50735 DeepSeek: cache pricing support 2024-12-29 23:54:54 -08:00
Enrico Ros c18be131a1 DeepSeek: V3 models 2024-12-29 23:54:42 -08:00
Enrico Ros 692a1ef90e Roll packages 2024-12-29 22:24:10 -08:00
Enrico Ros 3c3fae6039 Roll packages 2024-12-29 21:41:12 -08:00
Enrico Ros c090334093 require node 20+. fixes #710 2024-12-27 15:05:56 -08:00
Enrico Ros a2942a32e6 AIX: OpenAI: latest models 2024-12-24 20:49:55 -08:00
Enrico Ros 1bd327e410 AIX: OpenAI: wire support for Audio-input, Audio-output (non-streaming only), and Prediction (rewrite acceleration) modes. 2024-12-24 20:06:58 -08:00
Enrico Ros 557886f93f Support for per-model OpenAI Reasoning Effort settings. #698 2024-12-24 18:31:25 -08:00
Enrico Ros f52e35029c AIX: server-side Top-P 2024-12-24 18:17:33 -08:00
Enrico Ros b2d66af440 DLLMs: client-side OAI reasoning effort 2024-12-24 18:12:04 -08:00
Enrico Ros 897d7fb7e0 Optimize LLM Dropdown (skip rendering on invisible changes) 2024-12-24 17:29:59 -08:00
Enrico Ros 0407d228fb Merge pull request #706 from jayrepo/patch-1
link ssl3 for latest alpine
2024-12-23 23:13:59 -08:00
Enrico Ros a58f703744 DLLMs: o-models reasoning efforts 2024-12-23 02:48:34 -08:00
Enrico Ros 5186df3748 DLLMs: server-side-driven par-specs 2024-12-23 02:48:11 -08:00
Enrico Ros a5f0527eec DLLMs: keep user edits by default 2024-12-23 02:14:27 -08:00
Enrico Ros 6e851713b9 DLLMs: dynamic parameters system 2024-12-23 02:09:23 -08:00
Enrico Ros b4a586fab2 Optima page heading: add end deco 2024-12-22 23:00:18 -08:00
Enrico Ros cb2d6dbfd4 +react-hook-form 2024-12-22 23:00:15 -08:00
Enrico Ros 4162158413 useLLMSelect: optimize 2024-12-22 23:00:04 -08:00
Enrico Ros 18234ec199 ConfirmationModal: relax 2024-12-22 23:00:01 -08:00
Jay Chen 18dbf916ef link ssl3 2024-12-23 13:39:47 +08:00
Enrico Ros 26df5bc889 Optima: no gap dropdown 2024-12-20 01:47:16 -08:00
Enrico Ros 0f33ae1a8d AIX: demuxer dev message 2024-12-20 00:44:53 -08:00
Enrico Ros e7a463399f Gemini: another removed model 2024-12-20 00:42:27 -08:00
Enrico Ros 632efafcbd Anthropic: dynamic models list - still need hardcoded details 2024-12-20 00:39:58 -08:00
Enrico Ros bfbfe4d122 Gemini: roll models 2024-12-19 17:05:58 -08:00
Enrico Ros 21f42159c8 OpenAI: o1 support: image inputs, dev messages, reasoning, etc. 2024-12-19 16:32:29 -08:00
Enrico Ros b750a2bb9b AIX: OpenAI: server-side dispatch developer message 2024-12-19 16:32:29 -08:00
Enrico Ros 475ff1e88e AIX: client-side HotFixes 2024-12-19 16:18:58 -08:00
Enrico Ros c2a577bf65 LLMs: update model interfaces 2024-12-19 16:18:22 -08:00
Enrico Ros 12f4fdde93 AIX: OpenAI wire: support 'developer' messages 2024-12-19 16:17:50 -08:00
Enrico Ros db0aa36ccb UI: Add breadcrumbs support 2024-12-19 14:26:27 -08:00
Enrico Ros 69192689b8 Optima Page heading: made tagline optional 2024-12-19 14:26:27 -08:00
Enrico Ros 078c6400ba Update heading 2024-12-19 11:23:14 -08:00
Enrico Ros 6074a5bb16 Gemini: update wiretypes 2024-12-19 01:11:54 -08:00
Enrico Ros 79c71a1740 Optima: page heading 2024-12-19 00:35:47 -08:00
Enrico Ros caa9cb6a16 Hook for uiComplexityMode 2024-12-19 00:35:47 -08:00
Enrico Ros 795126ccde roll packages 2024-12-18 11:19:41 -08:00
Enrico Ros 7728efebad Continue system message encapsulation 2024-12-17 12:07:02 -08:00
Enrico Ros a896cb827a v2-dev: begin docker build 2024-12-16 23:51:21 -08:00
Enrico Ros b9c62b45f9 Merge pull request #695 from matrix303/matrix303/issue694
[BUG] DockerFile Build -- suggest update to node:22-alpile
2024-12-16 23:07:24 -08:00
Enrico Ros 9e2f815e1e Relocate helpers 2024-12-16 22:50:30 -08:00
Enrico Ros f88c18ddde Helper for system instruction split 2024-12-16 21:31:00 -08:00
matrix303 2de70fa87d [BUG] DockerFile Build -- suggest update to node:22-alpile
Fixes #694
2024-12-16 18:03:21 +00:00
Enrico Ros eb49717065 UI Bits 2024-12-15 21:45:22 -08:00
Enrico Ros 268b1d8a19 Conversation Zero state 2024-12-15 21:10:32 -08:00
Enrico Ros 8768d9e946 Fix helper 2024-12-15 20:33:42 -08:00
Enrico Ros d83d29054d Drawer: show where to remove but don't do it - makes transitions slow 2024-12-15 19:51:16 -08:00
Enrico Ros c39e378235 systemInstruction: support null 2024-12-15 15:04:19 -08:00
Enrico Ros 7be72acff3 Helper for conceptual system instruction split 2024-12-15 12:53:18 -08:00
Enrico Ros 41a2f1e526 Actile: improve, multi-provider, label attachments 2024-12-15 12:04:37 -08:00
Enrico Ros 36eda51789 Conceptually split the system Instruction with the rest of the history 2024-12-12 17:59:37 -08:00
Enrico Ros 6ffcb731a3 Personas: allow to switch out null personas 2024-12-12 17:41:40 -08:00
Enrico Ros ce9fcbd4a1 Typeshift: prework 1 2024-12-11 15:38:22 -08:00
Enrico Ros 022cdd0b37 disable dead protocol code 2024-12-11 15:38:09 -08:00
Enrico Ros ab5b6f1769 Fix: store-chats: don't partialize if there's a single chat 2024-12-11 15:04:10 -08:00
Enrico Ros 1811e31ea5 Gemini: update models, including 2.0 Flash 2024-12-11 14:47:58 -08:00
Enrico Ros b0430b0a18 Mobile llm options fix 2024-12-11 14:47:32 -08:00
Enrico Ros 122d6c9da5 Show Free models 2024-12-11 14:47:22 -08:00
Enrico Ros 480aaed108 remove optional package 2024-12-11 14:31:01 -08:00
Enrico Ros bf312265de more roll packages 2024-12-11 14:23:50 -08:00
Enrico Ros ea15d8e0e9 roll pdfjs 2024-12-11 14:07:21 -08:00
Enrico Ros 0947100b13 roll packages 2024-12-11 14:05:44 -08:00
Enrico Ros c0dca032e4 Cleanup after AIX migration 2024-12-11 14:00:52 -08:00
Enrico Ros f0df743f12 Remove messageSingleTextOrThrow 2024-12-11 14:00:52 -08:00
Enrico Ros b6ee04e140 Persona Viewer: fix 2024-12-11 01:03:20 -08:00
Enrico Ros 75333df458 OpenRouter: update models sorting 2024-12-10 22:43:15 -08:00
Enrico Ros f980bffd11 Ollama: default context to 4096 2024-12-10 22:24:39 -08:00
Enrico Ros 8aeb4dce76 Ollama: doc PNG images 2024-12-10 22:15:29 -08:00
Enrico Ros 24e8539b3e Ollama: update dispatch, Fixes #678 2024-12-10 22:00:41 -08:00
Enrico Ros 8bc118c060 Ollama: update models 2024-12-10 21:35:18 -08:00
Enrico Ros f0e595b3ff Gemini: forcefully delete the models replaced without official comms/updates. Fixes #690 2024-12-10 21:10:50 -08:00
Enrico Ros 44b9eebe1c Don't use GitHub as CDN - Fixes #691 2024-12-10 20:49:45 -08:00
Enrico Ros 68630a0bd5 Persona Creator: correct display. #685 2024-12-10 20:39:54 -08:00
Enrico Ros 3bf0c10b42 AIX: calls: no system messages 2024-12-10 20:39:54 -08:00
Enrico Ros 6fcd87aba7 AIX: misc 2024-12-10 20:39:54 -08:00
Enrico Ros 4183e1e2c5 AIX: remove llms's legacy VChatMessage and llmStreamingChatGenerate 2024-12-10 20:39:54 -08:00
Enrico Ros 2506d60058 AIX: port Telephone (aixCGR_fromHistory) 2024-12-10 20:39:54 -08:00
Enrico Ros 7221151f2f AIX: port Persona Creator (LLMChain) 2024-12-10 18:53:30 -08:00
Enrico Ros 4c259eb9e5 AIX: port FlattenerModal (useStreamChatText) 2024-12-10 17:51:21 -08:00
Enrico Ros 334b3aba86 idUtils: nanoId -> uuidv4 2024-12-09 17:26:03 -08:00
Enrico Ros 83e601ad3a idUtils: add uuidV4 2024-12-09 17:25:54 -08:00
Enrico Ros 6e8a25bc23 Beam: remove /beam, it's not really a command 2024-12-09 17:22:41 -08:00
Enrico Ros 70764e9ca2 Gemini: support for 1206 2024-12-06 12:17:34 -08:00
Enrico Ros 148eba8feb OpenAI: o1: re-enable streaming 2024-12-06 12:17:34 -08:00
Enrico Ros 0ee2d04d48 OpenAI: resort 2024-12-06 12:17:34 -08:00
Enrico Ros 311b91788b OpenAI: wire notes 2024-12-06 12:17:34 -08:00
Enrico Ros ab30bf213c OpenAI: update models 2024-12-06 12:17:34 -08:00
Enrico Ros f0cb5c63cf Models list: more compact on mobile 2024-12-06 12:17:34 -08:00
Enrico Ros b8f4ad674b Vector Clocks implementation 2024-12-02 23:07:13 -08:00
Enrico Ros 0a27544db3 DConversation: converters update 2024-12-02 23:06:44 -08:00
Enrico Ros fa8501b73d Sherpa/chats: delay GC to delay loading the conversations store 2024-11-30 23:52:45 -08:00
Enrico Ros 8074be9b2e Type normalization Metrics 2024-11-30 23:02:55 -08:00
Enrico Ros 2e2a664c82 Normalize PricingChatGenerate 2024-11-30 23:02:55 -08:00
Enrico Ros 88ed387b75 .gitignore 2024-11-30 23:02:55 -08:00
Enrico Ros 1006d8041e roll packages 2024-11-30 22:29:39 -08:00
Enrico Ros 004b26bff4 Add Beauty 2024-11-30 22:26:34 -08:00
Enrico Ros eb41a245e8 Theme update 2024-11-30 22:06:23 -08:00
Enrico Ros 22a219f1e4 Update min width 2024-11-30 19:45:55 -08:00
Enrico Ros 6435619fba Sync: add DeviceID, stored 2024-11-30 18:50:54 -08:00
Enrico Ros 68ca331e02 Gemini: add 1121 2024-11-30 18:48:29 -08:00
Enrico Ros bf1c734101 Smaller panes 2024-11-30 18:48:14 -08:00
Enrico Ros e5870e43ce Lint: thanks typescript 2024-11-30 18:47:00 -08:00
Enrico Ros 1cda4d443a Roll packages 2024-11-30 18:45:57 -08:00
Enrico Ros cdc3fe38ca Enable Node 22 2024-11-30 18:45:57 -08:00
Enrico Ros f5cb3150b1 Add the "2 days ago" option 2024-11-30 18:42:59 -08:00
Enrico Ros 38f700b383 Tryfix RenderCode (was all vertical) 2024-11-21 23:28:06 -08:00
Enrico Ros dc46497dfe AIX: disable comments in the demuxer parse 2024-11-21 22:55:37 -08:00
Enrico Ros cf0ca2a17e AIX: support forwarded OpenRouter errors 2024-11-21 22:46:09 -08:00
Enrico Ros 0df17ec7bf Support .sh files 2024-11-21 03:23:44 -08:00
Enrico Ros 26d6924ba1 Gemini: update models 2024-11-21 00:42:40 -08:00
Enrico Ros aef56df7a3 Gemini: code execution flags 2024-11-21 00:38:59 -08:00
Enrico Ros 25a6f1fd5c Roll packages. 2024-11-21 00:38:32 -08:00
Enrico Ros 010de2b1f1 SVG: improve detection 2024-11-21 00:14:14 -08:00
Enrico Ros c498c31050 UI: Fix Beam ctrl+enter 2024-11-21 00:12:11 -08:00
Enrico Ros ea9aaa6524 tRPC: relocate 2024-11-20 22:44:48 -08:00
Enrico Ros dfcd590fb3 tRPC: rename rooters 2024-11-20 22:43:13 -08:00
Enrico Ros 5d8b06c928 Exclusions 2024-11-18 12:07:18 -08:00
Enrico Ros a10ddbe103 Unused, comment 2024-11-18 12:01:25 -08:00
Enrico Ros b439180d4e roll packages 2024-11-18 10:33:25 -08:00
Enrico Ros 629dc3c3b8 UI: Persona Icons in Drawer: off by default 2024-11-18 10:10:08 -08:00
Enrico Ros 99a8f900df Nav: change names 2024-11-18 09:21:27 -08:00
Enrico Ros d713edfcab Beam: start all/stop all shortcuts 2024-11-14 14:11:33 -08:00
Enrico Ros cfead98e01 Beam: ctrl+up/down 2024-11-14 14:11:32 -08:00
Enrico Ros 85242d2417 Improve shadow 2024-11-14 14:11:32 -08:00
Enrico Ros 3682a86b49 xAI: fix inversion 2024-11-14 13:24:37 -08:00
Enrico Ros 7c418966f0 _fetchFromTRPC: types for PUT and DELETE 2024-11-14 13:22:43 -08:00
Enrico Ros f773910846 Hide costs counter when < $0.0001 (initial visual clutter) 2024-11-14 13:10:52 -08:00
Enrico Ros cfbc1160ab ChatMessage: menu within screen bounds 2024-11-14 13:08:58 -08:00
Enrico Ros 2d11873af8 Fix react dep 2024-11-13 18:39:04 -08:00
Enrico Ros ee322b45eb Incognito: visual indicator 2024-11-13 18:39:04 -08:00
Enrico Ros c472fbad1c Remove empty chats from the history (don't even save them until we have content) 2024-11-13 18:25:23 -08:00
Enrico Ros b62932ac9c Sherpa: add modal 2024-11-10 23:36:51 -08:00
Enrico Ros bd35be8e13 Icons: Google and GitHub
The icons are from the Authjs project.
2024-11-10 23:34:50 -08:00
Enrico Ros b5eff8b2da Tryfix reload for clipboardUtils 2024-11-10 23:34:35 -08:00
Enrico Ros 6bf0b7c83a Backend debug 2024-11-10 23:34:27 -08:00
Enrico Ros 3a5dc71fc0 Roll packages 2024-11-10 14:33:55 -08:00
Enrico Ros bddd1474c4 xAI: full support 2024-11-08 23:00:53 -08:00
Enrico Ros b90b71bb58 Bits 2024-11-08 23:00:49 -08:00
Enrico Ros d75307691f BackendCaps: refresh on reconnect 2024-11-07 16:22:25 -08:00
Enrico Ros acc3bc4403 Simplify: remove backend analytics 2024-11-07 14:14:02 -08:00
Enrico Ros 4c1b1213b1 ElevenLabs: tRPC streaming - supports new v2 and Turbo 2.5 models 2024-11-07 03:13:30 -08:00
Enrico Ros 40850dde0a AudioLivePlayer: convert for buffers 2024-11-07 03:11:59 -08:00
Enrico Ros 10d5fca3b3 UrlUtils: b64 2024-11-07 03:11:57 -08:00
Enrico Ros 71085408a5 roll packages 2024-11-07 00:06:14 -08:00
Enrico Ros 52cdc95103 Aix - misc 2024-11-06 17:19:37 -08:00
Enrico Ros 638977cc74 DSV: speed 2024-11-06 17:11:26 -08:00
Enrico Ros 5e7e838714 Remove @sanity's diff library (slow, old). 2024-11-06 17:11:26 -08:00
Enrico Ros 965e3282a8 Roll packages (incl. pdfjs) 2024-11-06 17:03:22 -08:00
Enrico Ros 7a1d9cc352 DataStreamViz: speed 2024-11-06 16:29:32 -08:00
Enrico Ros 07dfc8ee07 Config: TOS 2024-11-06 16:29:24 -08:00
Enrico Ros 414250f5d0 Bits 2024-11-06 04:59:17 -08:00
Enrico Ros e6854ab946 Inform about the issue dragging from Obsidian 2024-11-05 21:59:38 -08:00
Enrico Ros 026d2fbc40 SQL highlight 2024-11-05 21:39:51 -08:00
Enrico Ros 66a557a7e1 Anthropic: add Haiku 3.5 2024-11-05 03:20:17 -08:00
Enrico Ros 28ae055c28 More Aggregate Error unpacking 2024-11-03 19:44:03 -08:00
Enrico Ros 0f8fda5c43 Unpack Aggregate Errors 2024-11-03 16:09:06 -08:00
Enrico Ros 9bacedb48c Mobile: don't blur the TextArea when the mic is pressed 2024-11-03 16:09:04 -08:00
Enrico Ros 9894684784 Tools: FC Invocations: support no inputs 2024-11-03 01:47:55 -08:00
Enrico Ros 741b9dae41 Tools: Definitions: support no-params 2024-11-03 01:47:55 -08:00
Enrico Ros 45b4deb7c7 Visual indication of incognito 2024-11-02 19:32:39 -07:00
Enrico Ros 38bdbfeee3 Messages: fix missing text replacement 2024-11-02 19:32:39 -07:00
Enrico Ros 4e3386f589 Fix: Data sanitization 2024-11-02 19:32:39 -07:00
Enrico Ros 88999fe3f5 Incognito (Shift + click on New) 2024-11-02 19:32:39 -07:00
Enrico Ros ce1b5b73b7 Mic: add 5s 2024-11-02 19:32:39 -07:00
Enrico Ros 864eaa7a02 Anthropic: 2024-10-22 changes 2024-11-02 19:32:38 -07:00
Enrico Ros 8848b13f33 Roll packages 2024-11-02 19:15:32 -07:00
Enrico Ros 147da2bc95 Set TenantId 2024-11-02 19:12:44 -07:00
Enrico Ros f94edc7543 Fix URLs 2024-11-01 16:23:03 -07:00
Enrico Ros 9439007f2b Beam: update urls for branch switches 2024-11-01 16:19:45 -07:00
Enrico Ros fa80b7278f Update branch names 2024-10-28 20:15:53 -07:00
Enrico Ros a7af365dc2 v1: document branch names 2024-10-28 20:15:49 -07:00
Enrico Ros 013d952092 Roll Eventsource-parser. 2024-10-28 17:11:25 -07:00
Enrico Ros 0182f9885d Add diff 2024-10-28 15:44:09 -07:00
Enrico Ros 5934a715ee Upgrade to next15 2024-10-28 15:28:17 -07:00
Enrico Ros 41b21af3c3 Roll packages 2024-10-28 15:27:58 -07:00
Enrico Ros 4db42c5f91 Fragments: safer duplication (would rather crash here than later) 2024-10-26 17:17:12 -07:00
Enrico Ros f05472baea GoodModal: definitely need another update lol 2024-10-25 12:19:08 -07:00
Enrico Ros 72b0e77168 Lint 2024-10-25 09:26:01 -07:00
Enrico Ros aa06ac4756 Fix Players 2024-10-25 09:25:41 -07:00
Enrico Ros 2ff060ba38 Ctrl+Up/Down message navigation: improve 3 2024-10-25 09:15:14 -07:00
Enrico Ros 9468f29aae GoodModal: improve theming 2024-10-25 08:58:50 -07:00
Enrico Ros c4b894ec65 Ctrl+Up/Down message navigation: improve 2 2024-10-25 08:58:18 -07:00
Enrico Ros b774073c7f Update Video player 2024-10-24 23:16:42 -07:00
Enrico Ros 911bf97a38 GoodModal: themeable 2024-10-24 23:12:11 -07:00
Enrico Ros e91e0f273a Ctrl+Up/Down message navigation: improve 2024-10-24 21:44:06 -07:00
Enrico Ros 4279e94499 Ctrl+Up/Down message navigation 2024-10-24 21:29:01 -07:00
Enrico Ros ec34f3a6b1 Speech Recognition: fix abstraction 2024-10-24 19:48:43 -07:00
Enrico Ros 86fed99288 Misc 2024-10-24 15:52:49 -07:00
Enrico Ros 934f29dcfd Doc Part/Aix: support version 2024-10-24 15:50:21 -07:00
Enrico Ros b3cf624a39 AppChat: Dev debug test 2024-10-24 15:28:29 -07:00
Enrico Ros f4463e0113 DevBuild: single place support 2024-10-24 15:28:06 -07:00
Enrico Ros 57ca1270e6 Refetch after a long idle in case of a new version. 2024-10-23 22:50:54 -07:00
Enrico Ros 03417c5186 Speech Recognition: Engines abstraction 2024-10-23 22:16:37 -07:00
Enrico Ros 9bcbe58f4a Versioning system update 2024-10-22 13:51:04 -07:00
Enrico Ros 8d66e1c804 Anthropic: update models
Haiku 3.5 coming later this month
2024-10-22 13:20:31 -07:00
Enrico Ros 089ddee9de Optima fixes 2024-10-21 14:29:24 -07:00
Enrico Ros 12965b81c7 News: show build date 2024-10-21 14:26:29 -07:00
Enrico Ros 62b64ac1bd Beam: copy/use all #660 2024-10-20 19:29:58 -07:00
Enrico Ros 9fecbe1005 Beam: keep the header on mobile 2024-10-20 19:29:48 -07:00
Enrico Ros 0c90b296f9 CHandler: cleanup 2024-10-20 04:39:09 -07:00
Enrico Ros 1bc38e3760 Composer: min size 2024-10-20 04:16:35 -07:00
Enrico Ros 32497dbb7b UI bits 2024-10-19 20:38:27 -07:00
Enrico Ros 0a07f2a447 Ephemerals: improve layout 2024-10-19 20:38:10 -07:00
Enrico Ros fbc6265543 Prompt template: support ternaries 2024-10-19 20:38:01 -07:00
Enrico Ros 82c0ed475b Aix: responsive and lighter decimation, relieving pressure. 2024-10-18 04:03:41 -07:00
Enrico Ros e9add70f8a Storage: new delayed serialization backend. 2024-10-18 04:00:35 -07:00
Enrico Ros f3bd5e4d58 Selective Search 2024-10-18 04:00:31 -07:00
Enrico Ros a525b7437a Blocks: disable Enhanced rendering for untitled, below 3 lines 2024-10-17 17:29:15 -07:00
Enrico Ros 915bc6cc89 Booting sequence activated. 2024-10-17 14:40:03 -07:00
Enrico Ros 51fdf2705d Warn if the application version is desynced. 2024-10-17 14:00:41 -07:00
Enrico Ros 5d814c6bb5 Optimize Boot. 2024-10-17 14:00:30 -07:00
Enrico Ros e379526f14 Confirmation without Close 2024-10-17 14:00:00 -07:00
Enrico Ros c9057f0c25 Composer: minimize 2024-10-17 13:59:28 -07:00
Enrico Ros c3c65ea3d3 Tools: render fragments 2024-10-17 12:48:36 -07:00
Enrico Ros ddee6aecfb Tools: edit invocation/responses 2024-10-17 12:48:33 -07:00
Enrico Ros 1a6f56ef62 OpenAI: Fix 3.5 2024-10-17 12:48:07 -07:00
Enrico Ros 680e031be6 Edit: tool in/out 2024-10-16 21:15:07 -07:00
Enrico Ros a7ab95e905 Fragments: ITCF. 2024-10-16 20:10:13 -07:00
Enrico Ros 57bb1edcfc Fragments: Void. 2024-10-16 20:07:06 -07:00
Enrico Ros 216fe20e52 Fragments: cleanup 2024-10-16 19:13:37 -07:00
Enrico Ros a27669fd63 Gemini: update models 2024-10-16 15:41:10 -07:00
Enrico Ros 5034ecc4df Attachments: view Docs 2024-10-16 15:41:03 -07:00
Enrico Ros 55700d5218 Attachments: bits. 2024-10-16 15:40:00 -07:00
Enrico Ros 35c03e5b44 Aix: constrain tool_response.function_call.result to be JSON-parseable objects for now
This is done as it seems to be the only supported input for Gemini's functionResponse
2024-10-16 14:01:16 -07:00
Enrico Ros cfb3a071c8 Docs. 2024-10-16 13:59:11 -07:00
Enrico Ros 677645b81c Aix: Fix Gemini functionResponse 2024-10-16 13:58:46 -07:00
Enrico Ros 297f93b8ad Aix: Tool Responses 2024-10-16 13:58:40 -07:00
Enrico Ros 765eec0492 Aix: cleanup CGR creation 2024-10-16 13:58:19 -07:00
Enrico Ros da32c2c59a Improve Aix debugger. 2024-10-16 02:40:35 -07:00
Enrico Ros 091f1b1936 Versioning System 2024-10-16 01:52:17 -07:00
Enrico Ros e9dc735989 Cleanup Stores. [server] 2024-10-15 23:54:40 -07:00
Enrico Ros 4d01f8620a bits 2024-10-15 23:45:55 -07:00
Enrico Ros 3edf89d98f GSearch: misc. 2024-10-15 23:45:44 -07:00
Enrico Ros 7681ff3f3e GoodModal: optimize 2024-10-15 16:43:13 -07:00
Enrico Ros 42d947f13e Composer: disable call when responding 2024-10-15 03:24:31 -07:00
Enrico Ros b5772f3765 Composer: complete dictation then send, and disable while sending (even early stages) 2024-10-15 02:25:46 -07:00
Enrico Ros 639f02346e Attachments: skip text-less PDFs 2024-10-15 00:13:58 -07:00
Enrico Ros cf1cb7b112 bits 2024-10-14 23:05:17 -07:00
Enrico Ros 1b60f1062f Aix: push down throttling. 2024-10-14 23:04:44 -07:00
Enrico Ros d105e28ca8 Z5: stabilize the transport access object in useServiceSetup 2024-10-14 20:56:45 -07:00
Enrico Ros 3ff88fffe5 Update Debug Hooks to detect changes 2024-10-14 20:41:08 -07:00
Enrico Ros d87d0aa146 Z5: Stabilize useWorkspaceContentsMetadata 2024-10-14 20:19:36 -07:00
Enrico Ros c7c43780a3 Soft-update the version number. 2024-10-14 18:08:00 -07:00
Enrico Ros bc24afe859 Upgrade to Zustand 5 (released 5h ago) 2024-10-14 13:03:26 -07:00
Enrico Ros e25f46b5c0 Anthropic: fix build. 2024-10-14 02:17:29 -07:00
Enrico Ros 3907449ec0 Anthropic: try fix functions. 2024-10-14 02:12:54 -07:00
Enrico Ros 8230eafe25 Roll deps. 2024-10-13 04:32:18 -07:00
Enrico Ros a43e83d9ed Roll pdfjs. 2024-10-13 04:32:18 -07:00
Enrico Ros fce3b6e538 Aider glue. 2024-10-13 04:32:18 -07:00
Enrico Ros f7decf8210 Search: optimize. 2024-10-13 04:06:20 -07:00
Enrico Ros 6d6c9afe97 Merge remote-tracking branch 'opensource/big-agi-2' into big-agi-2-OPEN 2024-10-13 03:12:41 -07:00
Enrico Ros 6876390456 Search: fix instability 2024-10-13 03:12:33 -07:00
Enrico Ros 1e95ec6154 Search: count for > 10 2024-10-13 02:47:02 -07:00
Enrico Ros 6756e4e027 Attachments: copy name 2024-10-12 19:52:12 -07:00
Enrico Ros c0573c56c4 Attachments: View Preview, View on Click 2024-10-12 19:52:12 -07:00
Enrico Ros 1338014942 Attachments: scraping timestamps 2024-10-12 19:52:12 -07:00
Enrico Ros 011b76f8e2 Update Ephemerals 2024-10-12 19:52:12 -07:00
Enrico Ros b2c07471d8 bits 2024-10-12 19:43:18 -07:00
Enrico Ros 950e1c8779 Build and lint fixes. 2024-10-12 19:38:39 -07:00
Enrico Ros 61df9819e6 SpeechReco: improve casts. 2024-10-11 22:15:36 -07:00
Enrico Ros 5afc8ad69b Tall screen support for panes. 2024-10-11 22:15:18 -07:00
Enrico Ros a472c618a3 Abort: explore solutions 2024-10-11 22:15:18 -07:00
Enrico Ros 9f00772dd4 [DEV] ICE: Text parts cleanup 2024-10-11 22:15:18 -07:00
Enrico Ros 478d792565 ReAct: disable calculate (arbitrary code execution) 2024-10-11 22:15:18 -07:00
Enrico Ros b20f1667f7 Improve command execution. 2024-10-11 22:15:18 -07:00
Enrico Ros 899695e32c Snackbar: center-title and unexpected 2024-10-11 22:13:00 -07:00
Enrico Ros 56e99785ea Tables: copy as markdown 2024-10-11 22:12:43 -07:00
Enrico Ros a778165ee7 This branch is 1242 commits on top of main :) 2024-10-11 21:59:39 -07:00
Enrico Ros dc55be87d2 Merge remote-tracking branch 'opensource/main' into big-agi-2-OPEN 2024-10-11 21:58:38 -07:00
Enrico Ros 8eb7d7f80b Big-AGI 2 is coming with loads of features. 2024-10-11 21:57:50 -07:00
Enrico Ros ee01085f8e Merge remote-tracking branch 'opensource/main-stable' 2024-10-11 21:56:09 -07:00
Enrico Ros 1adff7481b Dev survey for Big-AGI 2. 2024-10-11 21:55:46 -07:00
Enrico Ros 054a8d9050 Aix: +Diagram 2024-10-10 17:56:45 -07:00
Enrico Ros ed98829869 Aix: re-fix for o1 2024-10-10 17:43:35 -07:00
Enrico Ros 4810975148 Aix: unified chat-generate context 2024-10-10 17:37:35 -07:00
Enrico Ros a99895166c Aix: adapt downstream. 2024-10-10 16:39:52 -07:00
Enrico Ros cf62128095 Aix: Absorb Complexity - simpler T2T API. 2024-10-10 15:42:38 -07:00
Enrico Ros 2a5d418425 Aix: rename CGRs 2024-10-10 15:20:25 -07:00
Enrico Ros 3e865d68dc Aix: +select-Draw 2024-10-10 15:19:20 -07:00
Enrico Ros e882358af4 Aix: +auto-UI, +auto-Diagram 2024-10-10 15:15:40 -07:00
Enrico Ros f86649fe02 Aix: Titles (simplify) 2024-10-10 15:15:34 -07:00
Enrico Ros 3892f0c82a Aix: rationalize non_abortable 2024-10-10 15:15:32 -07:00
Enrico Ros da2266fcfe ReAct: port to V2 - now Stops, all llms, proper error handling, llm in state, works great! 2024-10-10 15:15:05 -07:00
Enrico Ros 7bf6c9c77a AIX: remove undefined from outgoing superjson's 2024-10-10 15:14:31 -07:00
Enrico Ros 27f031eb57 Notify: remember state for new messages. 2024-10-09 16:51:14 -07:00
Enrico Ros 7ce58fb594 TimeUtils: fix buckets 2024-10-09 16:51:14 -07:00
Enrico Ros bc0f6a4cd2 BlockPartError: un-bold 2024-10-08 23:58:05 -07:00
Enrico Ros 0b3b2860bb Fix fenced block parsing. 2024-10-08 20:07:08 -07:00
Enrico Ros a21342384e Anthropic: update models. 2024-10-08 16:51:03 -07:00
Enrico Ros 79bb6f07c9 AutoBlocks: relax end-of-block parser, removing spaces and tabs, but not newlines 2024-10-08 16:50:58 -07:00
Enrico Ros 80f77aee4e Show that a message Stopped on !Zen 2024-10-08 16:50:52 -07:00
Enrico Ros b0b3bcbf61 Anthropic: auto-caching indicators only on Extra 2024-10-08 16:50:29 -07:00
Enrico Ros f83d6ca4ac Smallfixes 2024-10-08 16:50:09 -07:00
Enrico Ros 2c6a9fbea6 Dev: rewrite conventions. 2024-10-08 16:49:55 -07:00
Enrico Ros df945dc36b RenderImage: support onClick 2024-10-06 21:02:07 -07:00
Enrico Ros b6eccbf860 Attachment Menu Chips: fix div 2024-10-06 21:00:27 -07:00
Enrico Ros 4332d21637 Onboard: unfilter models selector 2024-10-06 20:59:57 -07:00
Enrico Ros b0809734aa Fix mimetype change on conversions 2024-10-06 20:59:28 -07:00
Enrico Ros 74ed8c9e5e Code: option to show line numbers also in 'Pro', not just 'Extra' 2024-10-06 20:53:20 -07:00
Enrico Ros 98b1d5068b AIX: update context wiretypes 2024-10-06 20:53:06 -07:00
Enrico Ros 07cc34ba2b Radically improve model preference. 2024-10-05 08:53:30 -07:00
Enrico Ros 239867d8c5 Roll packages 2024-10-05 08:27:44 -07:00
Enrico Ros aa31d92986 autotitle: clear when clearing usertitle 2024-10-04 11:26:26 -07:00
Enrico Ros f012b99b17 Adjust all Vendors ranks 2024-10-04 11:26:22 -07:00
Enrico Ros d5fd66f07c AutoConf w/ rerank of Vendors 2024-10-04 11:26:19 -07:00
Enrico Ros f07c19f69c View images: improve margin 2024-10-04 11:25:56 -07:00
Enrico Ros 5541a4e531 Anim: enter Models Modal 2024-10-04 11:25:24 -07:00
Enrico Ros 3055fe9347 Anim: reorg 2024-10-04 11:25:14 -07:00
Enrico Ros 369324ad5d Container Layout 2024-10-04 11:24:59 -07:00
Enrico Ros 4e5b1f1306 Sync scores 2024-10-04 11:24:35 -07:00
Enrico Ros 81c70b21b9 Roll packages 2024-10-04 11:23:37 -07:00
Enrico Ros 44a00df49d Move to user-defined personas configuration. 2024-10-04 11:23:05 -07:00
Enrico Ros 8754bbada9 Will be replaced. 2024-10-04 11:22:13 -07:00
Enrico Ros f37cdcb20c Need to fix this. 2024-10-04 11:16:34 -07:00
Enrico Ros 393e19dda9 Vercel: fix timeout 2024-10-03 12:37:21 -07:00
Enrico Ros 766cc06206 Vercel: fix timeout 2024-10-03 12:34:26 -07:00
Enrico Ros 710f03d037 OpenAI: remove gpt4 list ref 2024-10-02 19:51:50 -07:00
Enrico Ros ec956da51c Progressive Disclosure: increase time 2024-10-02 19:50:51 -07:00
Enrico Ros da3dddf502 RenderImageURL: adjust shadow 2024-10-02 19:50:21 -07:00
Enrico Ros 77efabb883 Disable filters for now 2024-10-02 19:49:59 -07:00
Enrico Ros 116415b238 Fullscreen render code line numbers. 2024-10-02 19:49:52 -07:00
Enrico Ros dd33e3ea28 Fix. 2024-10-01 23:50:18 -07:00
Enrico Ros ad703f9483 Remove FuncLLM. 2024-10-01 23:49:28 -07:00
Enrico Ros 9058c2d2fa Integrate Aider prompts: Convert to JavaScript and add Apache 2.0 licensing. 2024-10-01 23:49:08 -07:00
Enrico Ros 3cd2b29a37 Prod: fixes 2024-10-01 18:50:11 -07:00
Enrico Ros 51cd6a7e07 Text 2024-10-01 18:05:54 -07:00
Enrico Ros 30fe814eb1 Show costs wherever available. 2024-10-01 18:04:00 -07:00
Enrico Ros ff0ea188c1 OpenAI: support for costs and saving calculation 2024-10-01 17:38:42 -07:00
Enrico Ros 34c6129d25 OpenAI: update wiretypes 2024-10-01 16:16:14 -07:00
Enrico Ros 0378eb8f1e OpenAI: add caching info 2024-10-01 14:54:18 -07:00
Enrico Ros d09d4455aa Improve Fast LLM auto-select (py price) 2024-10-01 14:19:15 -07:00
Enrico Ros dcce5a5b1d OpenAI: update Elos. 2024-10-01 12:56:58 -07:00
Enrico Ros 2f856e64bb OpenAI: add realtime 2024-10-01 12:41:49 -07:00
Enrico Ros cd8c931df8 OpenAI: update models 2024-10-01 12:41:42 -07:00
Enrico Ros cefe208abd OpenAI: mark the prompt caching models 2024-10-01 11:25:11 -07:00
Enrico Ros 0e566edf42 OpenAI: extract models 2024-10-01 11:12:46 -07:00
Enrico Ros 8c735e971e Group labels fix. 2024-09-29 14:17:27 -07:00
Enrico Ros 48740c7183 Improve regex 2024-09-29 02:56:39 -07:00
Enrico Ros 1ec2acd250 Improve Steam. 2024-09-28 14:48:30 -07:00
Enrico Ros b572c6d962 Improve Steam. 2024-09-28 14:21:44 -07:00
Enrico Ros 01197952f4 Screenshare on Safari: add notices about a 60 seconds processing bug (no upstream safari reference yet). 2024-09-28 12:36:01 -07:00
Enrico Ros f94240110d Charts: try-expand 2024-09-28 11:32:43 -07:00
Enrico Ros 7a139e50c5 Aix: improve FC error messaging 2024-09-28 11:32:43 -07:00
Enrico Ros d11a38db83 Proper transparent BG 2024-09-28 11:14:06 -07:00
Enrico Ros 9f10ed1930 Revert "FF: Tryzoom"
This reverts commit 98f8117b
2024-09-28 10:51:01 -07:00
Enrico Ros 8a9e2151b8 Bits 2024-09-28 10:50:44 -07:00
Enrico Ros 98f8117b50 FF: Tryzoom 2024-09-28 10:45:30 -07:00
Enrico Ros 21d2d7be30 FF: Fixup shift to omit background 2024-09-28 10:24:44 -07:00
Enrico Ros 3a644ec4d5 FF: Fixup with Chat llm 2024-09-28 10:13:47 -07:00
Enrico Ros 4cd7936bf3 Fix edit mode for Fixmode 2024-09-27 18:49:29 -07:00
Enrico Ros 19769c8238 Fix chart copy on Safari 2024-09-27 18:30:04 -07:00
Enrico Ros 7ecd1aa371 Misc 2024-09-27 18:29:19 -07:00
Enrico Ros 9cd5194629 Shortcuts: priorities 2024-09-27 18:01:57 -07:00
Enrico Ros a2cda7e791 DataStreamViz: clear canvas 2024-09-27 17:48:09 -07:00
Enrico Ros 1084e3d5e2 DMessage: duplicate without Placeholders 2024-09-27 17:47:53 -07:00
Enrico Ros 7aa02e91c8 Capy 2024-09-27 17:28:11 -07:00
Enrico Ros 35b9bbf0e6 Gemini: fix parsing 2024-09-27 17:28:11 -07:00
Enrico Ros 2ae834366c Messaging 2024-09-27 17:28:11 -07:00
Enrico Ros cdd08b5df3 Fixup: allow thinking before fixing 2024-09-27 17:28:11 -07:00
Enrico Ros 3d566aa102 Clipboard: explain copy errors 2024-09-27 17:28:11 -07:00
Enrico Ros b110580123 Data: updata proompt 2024-09-27 17:28:11 -07:00
Enrico Ros 7df767119b AIX: Temperature override 2024-09-27 17:28:11 -07:00
Enrico Ros 17008c30f6 Disable opacity, as the colors already are sort of premultiplied 2024-09-27 17:28:11 -07:00
Enrico Ros 1efd9bc55a Steam Viz. 2024-09-27 00:28:05 -07:00
Enrico Ros 1e7b77928f Attachments: view images better 2024-09-26 22:27:45 -07:00
Enrico Ros fc8c984cd4 Attachments: view images 2024-09-26 22:16:08 -07:00
Enrico Ros 23cf01d4b4 Attachments: allow to delete a single fragment 2024-09-26 19:54:02 -07:00
Enrico Ros 8dde79c607 Swap 2024-09-26 18:36:35 -07:00
Enrico Ros 78f409b056 Python: open in Colab 2024-09-26 18:35:00 -07:00
Enrico Ros fd4f1ae0c0 Blocks: reduce ABR usage. 2024-09-26 18:21:15 -07:00
Enrico Ros 93797afa7a Blocks: rationalize, reduce PH usage and ABR usage. 2024-09-26 18:14:29 -07:00
Enrico Ros 5242d09b53 Reduce CPPH 2024-09-26 15:54:14 -07:00
Enrico Ros d9cb9e6aed Improve Open in external editors. 2024-09-26 14:42:39 -07:00
Enrico Ros 913fa45e73 Increase FS contrast. 2024-09-26 13:34:16 -07:00
Enrico Ros b21bd47ea5 Minutiae 2024-09-26 13:28:20 -07:00
Enrico Ros 340c298572 FS and presenter mode 2024-09-26 13:21:38 -07:00
Enrico Ros 06e899343b Cleaner chat message menu 2024-09-26 12:35:40 -07:00
Enrico Ros 104b95a5a4 Fix send of partial while mic'ing 2024-09-26 12:19:28 -07:00
Enrico Ros 1d9b309552 Clean icons 2024-09-26 12:11:18 -07:00
Enrico Ros 7c3d7a8596 Proper edit mentions 2024-09-26 12:00:56 -07:00
Enrico Ros 966f57cb0e Proper reset on Beam/Merge 2024-09-26 11:53:08 -07:00
Enrico Ros 36260aaf8d Message stats on Beam/Merge 2024-09-26 11:34:47 -07:00
Enrico Ros 3158d5b340 Gemini 1.5 - also allow latest 2024-09-26 03:23:31 -07:00
Enrico Ros 938a896de3 Gemini 1.5 002 - Fix #648 2024-09-26 03:21:13 -07:00
Enrico Ros 7573f014d0 Gemini: update models 2024-09-26 03:16:10 -07:00
Enrico Ros 76b8a1582b LLMAttachmentButton: moved explanation 2024-09-26 01:43:53 -07:00
Enrico Ros 96acd7a307 LLMAttachmentButton: reduce ellipses 2024-09-26 01:43:53 -07:00
Enrico Ros a41688f378 LLMAttachmentButton: reorder 2024-09-26 01:43:52 -07:00
Enrico Ros ff9b1650f9 Bits 2024-09-26 01:43:52 -07:00
Enrico Ros 116bdcdd43 Chart: shift to add background 2024-09-25 22:26:56 -07:00
Enrico Ros bb8e7a283c Chart: good boy 2024-09-25 22:07:01 -07:00
Enrico Ros 825c565a24 Chart: improve fixup 2024-09-25 21:35:44 -07:00
Enrico Ros fe35c2ec82 Chart: apply theme 2024-09-25 21:35:38 -07:00
Enrico Ros 21451af9b3 Download/Copy chart images 2024-09-25 20:15:47 -07:00
Enrico Ros 0852dc5dc9 Add Download utils 2024-09-25 20:08:48 -07:00
Enrico Ros e90b71b2c2 Improve Camera & Screen capture format deliberacy. 2024-09-25 20:08:37 -07:00
Enrico Ros 6ea2674f35 Camera: switch to JPEG from PNG (4x smaller, neglegible loss, as it's a noisy source, and also rescaled) 2024-09-25 20:05:14 -07:00
Enrico Ros 62f809a8d3 Extract canvasUtils 2024-09-25 17:50:55 -07:00
Enrico Ros 0eb04a3f6a Misc 2024-09-25 17:44:35 -07:00
Enrico Ros 367894abc9 Charting @2x. 2024-09-25 17:36:43 -07:00
Enrico Ros febf758aa7 Typo 2024-09-25 16:54:10 -07:00
Enrico Ros a2407157d1 Undo partially. 2024-09-25 16:50:18 -07:00
Enrico Ros 6eccdf74d1 Charts: DPR*2 test 2024-09-25 16:26:09 -07:00
Enrico Ros 57ebb8f9fb AIX/tRPC: disable batching to stay under 1MB (Vercel limitation) 2024-09-25 15:14:36 -07:00
Enrico Ros 1d02079b09 Zustand: stabilize 2024-09-25 15:14:36 -07:00
Enrico Ros 6a7e9ea131 useDeep. 2024-09-25 02:23:30 -07:00
Enrico Ros 8c5a8d2044 Charts: removed devDependency 2024-09-25 02:04:09 -07:00
Enrico Ros 6d47b6024a Charts: User Fix. 2024-09-25 01:40:58 -07:00
Enrico Ros e7bd6f6746 Agi Code Fixup Framework 2024-09-25 01:19:18 -07:00
Enrico Ros d3a7e2a310 Blocks: propagate an inner replacement function 2024-09-24 23:27:20 -07:00
Enrico Ros d901cafe82 Roll implicits 2024-09-24 23:26:53 -07:00
Enrico Ros 77e374b92b Roll prisma 2024-09-24 23:26:53 -07:00
Enrico Ros 0989796f87 EnhancedRenderCode: auto-open 2024-09-24 20:24:13 -07:00
Enrico Ros 1e61998b50 ChartJS: improvements 2024-09-24 20:11:37 -07:00
Enrico Ros 4a896be01b ChartJS: defaults 2024-09-24 16:27:25 -07:00
Enrico Ros a44408c87c Aix: express the error 2024-09-24 16:16:54 -07:00
Enrico Ros 504d2b7c5a ChartJS: compress the generation code 2024-09-24 16:08:09 -07:00
Enrico Ros 9446f0b23d Improve ChartJS handling 2024-09-24 15:40:20 -07:00
Enrico Ros 671ba95975 Notification avatar. 2024-09-24 14:00:16 -07:00
Enrico Ros 6fc5acfeb9 Drop the charts module as-is, will fix later. 2024-09-24 10:03:15 -07:00
Enrico Ros 1236d7c1ac Fix shift+ctrl+enter on system/assistant messages. 2024-09-23 22:59:06 -07:00
Enrico Ros ef2ee9280d More visible tooltips 2024-09-23 15:36:03 -07:00
Enrico Ros 3e05f751e3 presentErrorToDevelopers 2024-09-23 14:08:56 -07:00
Enrico Ros b0f2ad6742 Drag in conversations 2024-09-23 14:06:59 -07:00
Enrico Ros 63a82a6da6 Drag in conversations 2024-09-23 14:01:44 -07:00
Enrico Ros 57082b23d8 Debug errors. 2024-09-23 12:31:19 -07:00
Enrico Ros 361511fc5d Roll packages. 2024-09-23 08:43:45 -07:00
Enrico Ros f81beb5cae Camera: done for real. 2024-09-22 15:36:55 -07:00
Enrico Ros 2318cd3329 Camera: done. 2024-09-22 15:34:48 -07:00
Enrico Ros 0fa3ea0ff6 Camera: flip better 2024-09-22 15:29:37 -07:00
Enrico Ros 00093e42be Camera: style 2024-09-22 15:29:32 -07:00
Enrico Ros cfa7ce2019 Camera: flip 2024-09-22 15:15:40 -07:00
Enrico Ros f1397eff4a Camera: final render 2024-09-22 14:59:11 -07:00
Enrico Ros 67a4a79a6c Camera: darker render 2024-09-22 14:37:20 -07:00
Enrico Ros 29fba943de Camera: lighter render 2024-09-22 14:23:11 -07:00
Enrico Ros 69e6fb4dbd Camera: lighter render 2024-09-22 12:55:27 -07:00
Enrico Ros 96cbd95996 Camera: relist devices on permissions change and devices change 2024-09-22 12:39:50 -07:00
Enrico Ros e88180a6f5 Camera: add button 2024-09-22 12:19:34 -07:00
Enrico Ros 6b817cde0a Camera: improve 2024-09-22 11:21:30 -07:00
Enrico Ros b7b7dfb4af Roll deps 2024-09-22 10:43:59 -07:00
Enrico Ros afdfb83fc8 Lints 2024-09-22 10:42:22 -07:00
Enrico Ros f3a1fa624a Fix 2024-09-22 10:35:17 -07:00
Enrico Ros 90c05ba2d9 .ignore 2024-09-22 10:33:55 -07:00
Enrico Ros de3aa4a5f7 Double-mode attachments 2024-09-22 10:33:14 -07:00
Enrico Ros 2258dee8c7 Change Models/Personas 2024-09-22 02:45:01 -07:00
Enrico Ros feec32b3ac Bits 2024-09-22 02:14:54 -07:00
Enrico Ros e189f30285 Notify on responses 2024-09-22 02:14:50 -07:00
Enrico Ros 58e97d20fd Dropdowns: shortcuts 2024-09-22 00:17:07 -07:00
Enrico Ros 378948e522 Optima Dropdowns: controllable 2024-09-22 00:11:17 -07:00
Enrico Ros a19804d450 Bits 2024-09-21 23:56:03 -07:00
Enrico Ros c445c36f84 Composer: improve showing actions 2024-09-21 23:36:23 -07:00
Enrico Ros fa9886e2dc Composer: quality cleanup 2024-09-21 23:29:41 -07:00
Enrico Ros b7c7609ac4 Attachment Compatibility: Send & Beam 2024-09-21 23:03:17 -07:00
Enrico Ros 217a40c19c Keep the image attachments while editing text 2024-09-21 03:24:31 -07:00
Enrico Ros 5cb568023b Correct duplication. 2024-09-21 02:44:00 -07:00
Enrico Ros 8ced2593ff Safari: preliminary workaround for WebP encoding issues 2024-09-20 15:48:57 -07:00
Enrico Ros 4db373e46e Disambiguate Clone and Branch 2024-09-20 15:00:18 -07:00
Enrico Ros 79a870a752 Aix: potentially fix a beam issue 2024-09-20 03:44:23 -07:00
Enrico Ros e6d68a4970 Aix: debug abort status 2024-09-20 03:44:03 -07:00
Enrico Ros 3087e2316f Aix: debug abort status 2024-09-20 03:43:54 -07:00
Enrico Ros c59a7cc0bc Aix: remove stopped empty messages 2024-09-20 03:43:40 -07:00
Enrico Ros c948b58eb5 Aix: all for a dot-dot-dot 2024-09-20 03:05:12 -07:00
Enrico Ros fde57ca12d Aix: push throttling down a level 2024-09-20 02:44:00 -07:00
Enrico Ros e9cebe435a Pricing: note on Perplexity's per-request 2024-09-20 01:40:14 -07:00
Enrico Ros 3280a58dd0 Perplexity: updated models. Fixes #642. 2024-09-20 01:38:52 -07:00
Enrico Ros 597214b955 Perplexity: move models. 2024-09-20 01:32:10 -07:00
Enrico Ros d43f84e31e Docs: begin a Tips & Tricks (will add to it over time) 2024-09-20 01:26:13 -07:00
Enrico Ros 7ad118d51b Aix: push down the pendingIncomplete 2024-09-20 01:00:22 -07:00
Enrico Ros d980d97227 Aix: continue cleanup 2024-09-20 00:32:28 -07:00
Enrico Ros ee7c1cc12b Metrics: cleanups 2024-09-20 00:28:13 -07:00
Enrico Ros 94200cfc6d Aix: continued client renaming 2024-09-19 23:24:26 -07:00
Enrico Ros 8c5a2bce0d Aix: improve Low-Level 2024-09-19 23:08:36 -07:00
Enrico Ros 259505190b More uniform configuration 2024-09-19 21:38:57 -07:00
Enrico Ros e407eba674 Aix: move code away from the client 2024-09-19 21:37:09 -07:00
Enrico Ros 13462b6b71 Fix order of precedence of esc for chat stop vs mic 2024-09-19 20:52:53 -07:00
Enrico Ros 15661b3b8c User-Attach data personas: Fix auto-select of the first converter. 2024-09-19 20:34:00 -07:00
Enrico Ros b97c4c5a43 FF: PDF multimodal 2024-09-19 18:04:20 -07:00
Enrico Ros aeda478d51 FF: Fix Safari Attachment appearance 2024-09-19 16:05:05 -07:00
Enrico Ros 9bd6b12789 Unzero. 2024-09-19 15:01:57 -07:00
Enrico Ros 476a212ee8 LiveFile: doc update2 2024-09-19 13:38:13 -07:00
Enrico Ros 0470285338 LiveFile: doc update 2024-09-19 13:34:13 -07:00
Enrico Ros ab28ae2940 LiveFile: doc 2024-09-19 13:31:55 -07:00
Enrico Ros 169fa86ec4 Composer: mic: autoscroll and perfect match 2024-09-19 12:10:27 -07:00
Enrico Ros cafd491e35 Merge remote-tracking branch 'origin/main' into big-agi-2
# Conflicts:
#	docs/README.md
#	docs/environment-variables.md
2024-09-19 11:35:38 -07:00
Enrico Ros b8ae9648e6 LiveFile: unsupported on Safari 2024-09-19 11:23:59 -07:00
Enrico Ros 0de8d5dd1c Sel: resilient and not logging 2024-09-19 11:22:15 -07:00
Enrico Ros 356b15a3ea Sel: resilient 2024-09-19 11:20:22 -07:00
Enrico Ros 2002255c07 o1: port refer to 2024-09-19 11:08:47 -07:00
Enrico Ros b19a4be485 Sel fixes 2024-09-19 11:08:36 -07:00
Enrico Ros eec845486d FF: Mic Placeholder 2024-09-19 04:22:00 -07:00
Enrico Ros 29f7224b22 Roll deps 2024-09-19 01:56:31 -07:00
Enrico Ros e7a4c92e61 FF: Open Files debug 2024-09-19 01:56:09 -07:00
Enrico Ros 4d59ba6797 Mistral: update models 2024-09-18 21:05:07 -07:00
Enrico Ros acae4c31ab Editing: Don't disappear docs 2024-09-18 20:40:03 -07:00
Enrico Ros f1449b60e2 Mistral: update models and pricing 2024-09-18 20:29:24 -07:00
Enrico Ros 32739fa15c Mistral: update models and pricing 2024-09-18 20:28:45 -07:00
Enrico Ros fff385b5e8 Pmix supports a {{LowRL:...}} for models to deeply steer 2024-09-18 20:07:44 -07:00
Enrico Ros 40faa35678 Roll Mermaid 10 -> 11 2024-09-18 20:06:15 -07:00
Enrico Ros 78af46ed4a Perfect Data Analyst 2024-09-18 18:31:31 -07:00
Enrico Ros ea94fc2185 Perfect Data Analyst 2024-09-18 18:27:27 -07:00
Enrico Ros c8abb75194 Reorder Data Analyst 2024-09-18 18:10:51 -07:00
Enrico Ros 6a59ad338d Prompt Examples can require user attachments. This includes a neat files-auto-convert-to-fragments immediate pipeline. 2024-09-18 18:06:20 -07:00
Enrico Ros 40aa737480 Personas: auto-expand examples on Extra 2024-09-18 18:01:49 -07:00
Enrico Ros 717a6c90ef openFilesForAttaching: await completion (may mean full conversion and AI processing) 2024-09-18 17:53:47 -07:00
Enrico Ros f4b1b292b7 Data Analysis persona 2024-09-18 17:49:43 -07:00
Enrico Ros 446df24f5a HTML pmix 2024-09-18 17:49:14 -07:00
Enrico Ros 39ab5cabf1 Personas: allow for user-action personas 2024-09-18 17:06:13 -07:00
Enrico Ros 2671ff1228 Examples: improve on mobile 2024-09-18 17:05:40 -07:00
Enrico Ros 1932c31c35 Move Modals 2024-09-18 15:59:45 -07:00
Enrico Ros 9b1b6ebceb Roll next 2024-09-18 14:51:29 -07:00
Enrico Ros f683d263ad o1 hotfix for images 2024-09-18 14:13:32 -07:00
Enrico Ros 53c87cc560 Typo 2024-09-18 14:13:07 -07:00
Enrico Ros 63c90dc70d LLM shortnames 2024-09-18 13:54:48 -07:00
Enrico Ros 20927d4da6 Shiftclick on llm 2024-09-18 13:54:19 -07:00
Enrico Ros e1664458c5 Edit: shift-doubleclick to quickly edit any fragment 2024-09-18 12:43:18 -07:00
Enrico Ros 09da682bcf Better shiftlogs 2024-09-18 12:42:52 -07:00
Enrico Ros ac70a7d8c2 Edit: margin 2024-09-18 12:16:28 -07:00
Enrico Ros 638155eae7 Edit: consistent placement 2024-09-18 12:16:21 -07:00
Enrico Ros 782c0cf172 Link help-feature-microphone to the README 2024-09-17 16:22:17 -07:00
Enrico Ros c3b907f94c Improve bubble 2024-09-17 15:49:11 -07:00
Enrico Ros 78a773dec7 support for strikethrough 2024-09-17 15:43:55 -07:00
Enrico Ros b1ffe04ccb show Free (local) chats 2024-09-17 14:51:56 -07:00
Enrico Ros cf9568aaa0 Fix thinking message 2024-09-17 14:51:40 -07:00
Enrico Ros 5e2d609332 Roll packages, incl. pdfjs, tesseract 2024-09-17 14:19:25 -07:00
Enrico Ros 1962f119e5 FF: Speech reco Typo. 2024-09-17 13:43:25 -07:00
Enrico Ros 06d2bf2ba5 Update help-feature-microphone.md 2024-09-17 11:30:39 -07:00
Enrico Ros 9b902e0f8b Update help-feature-microphone.md 2024-09-17 11:29:50 -07:00
Enrico Ros 05e74a7cd8 Update help-feature-microphone.md 2024-09-17 02:50:04 -07:00
Enrico Ros 4ea0d3b974 FF: Safari fix. 2024-09-17 01:59:40 -07:00
Enrico Ros 0b1a914015 FF: Speech reco comments. 2024-09-17 01:56:15 -07:00
Enrico Ros 6c405c3807 FF: Speech reco fixes. 2024-09-17 01:53:54 -07:00
Enrico Ros 49cbda39b8 Improve Browser/OS clustering 2024-09-17 01:53:46 -07:00
Enrico Ros f9d511c4b4 FF: Microphone update. 2024-09-16 16:47:13 -07:00
Enrico Ros 30c7421877 FF: Microphone help. 2024-09-16 13:47:20 -07:00
Enrico Ros 91a5878460 Help: microphone troubleshooting. 2024-09-16 13:08:36 -07:00
Enrico Ros 1af77749e9 FF: Microphone support. More debuggable. 2024-09-16 13:07:51 -07:00
Enrico Ros d3fdd5f85a FF: Sidebar: Better Icon 2024-09-15 23:59:42 -07:00
Enrico Ros f5c819f576 Cam ok. 2024-09-15 23:26:34 -07:00
Enrico Ros 4640b13195 Fix chat bubble and camera 2024-09-15 23:12:53 -07:00
Enrico Ros 52a89c3d76 Proper highlight 2024-09-15 22:18:09 -07:00
Enrico Ros a92b605c25 Note on #631. 2024-09-15 20:08:13 -07:00
Enrico Ros 2de8a8f2c0 Bits. 2024-09-15 20:07:52 -07:00
Enrico Ros 9e5f332dc6 Untangle #596 2024-09-15 20:00:01 -07:00
Enrico Ros fce21ad8eb Merge pull request #629 from darshmashru/patch-1
Fixed a redirection link typo
2024-09-15 00:12:51 -07:00
Enrico Ros 36b4ee9589 Reasoning costs breakdown for o1-preview, o1-mini support. 2024-09-14 13:37:41 -07:00
Enrico Ros ec24b70d81 Full o1-preview, o1-mini support. 2024-09-14 12:57:04 -07:00
Enrico Ros b3c2794a60 Attach: Camera icon smaller on mobile 2024-09-13 22:20:26 -07:00
Enrico Ros 194115231a Roll tiktoken and zustand 2024-09-13 17:19:36 -07:00
Enrico Ros 175015eade Roll packages 2024-09-13 17:15:58 -07:00
Enrico Ros 6ce3cf9e29 Roll next 2024-09-13 17:08:31 -07:00
Enrico Ros 8358949c9b FF: Roll tRPC to fix the "invalid response or stream interrupted." issue - bug: unstable_httpBatchStreamLink gets broken when resolver returns null 2024-09-13 17:05:31 -07:00
Enrico Ros 78d8b69bc7 Attach: restart on non-assistant 2024-09-13 17:02:22 -07:00
Enrico Ros 80a5cca30e Attach: File 2024-09-13 17:02:13 -07:00
Enrico Ros 21e7756a74 Attach: Camera icon just under the mic on mobile 2024-09-13 16:43:55 -07:00
Enrico Ros b1b23e7c4e Merge branch 'main' into big-agi-2
# Conflicts:
#	src/modules/llms/server/openai/models.data.ts
2024-09-13 14:14:41 -07:00
Enrico Ros bfa73ec6c5 Merge branch 'main-stable' 2024-09-13 14:10:08 -07:00
Enrico Ros 39c5c7c9ba Call out to Big-AGI 2 2024-09-13 14:06:12 -07:00
Enrico Ros e64a5e59ef 1.16.8 Release 2024-09-13 13:50:00 -07:00
Enrico Ros 574c2cf0e3 Call out to Big-AGI 2 2024-09-13 13:49:11 -07:00
Enrico Ros 1d3321b336 OpenAI: o1 support label 2024-09-13 11:02:33 -07:00
Enrico Ros de25e5822d OpenAI: o1 relabel 2024-09-13 10:59:40 -07:00
Enrico Ros 6a904c9f37 OpenAI: 3.5 non legacy 2024-09-13 10:59:32 -07:00
Enrico Ros 30c3283572 OpenAI: add o1 2024-09-13 10:53:42 -07:00
Enrico Ros 10bba19079 OpenAI: add ChatGPT-4o-latest 2024-09-13 10:53:32 -07:00
Enrico Ros 713079f2f2 OpenAI: bits 2024-09-13 10:53:20 -07:00
Enrico Ros 6e16e989ac OpenAI: move 4o-mini 2024-09-13 10:53:09 -07:00
Enrico Ros 4e89e0b1e4 OpenAI: clean IDs 2024-09-13 10:52:19 -07:00
Enrico Ros 6067c289ab OpenAI: remove vision previews 2024-09-13 10:52:00 -07:00
Enrico Ros 508c4bf80c Merge branch 'main' into big-agi-2
# Conflicts:
#	src/modules/llms/server/openai/models.data.ts
2024-09-13 10:24:47 -07:00
Enrico Ros 93b03bf87c Merge branch 'main-stable' 2024-09-13 10:21:27 -07:00
Enrico Ros 32ebfea9cb OpenAI: reorder 2024-09-13 10:20:52 -07:00
Darsh Mashru f1f28bca61 Fixed a redirection link typo
Changed "config-local-ollama" to "config-local-ollama.md" in link
2024-08-27 22:32:11 +05:30
Enrico Ros 1960e0bb3a Prod: fix titles 2024-08-27 03:07:35 -07:00
Enrico Ros 362eb46a7a Prod: document notImplemented() 2024-08-26 01:08:38 -07:00
Enrico Ros 9d86c30267 Prod: Better Pane 2024-08-26 01:04:56 -07:00
Enrico Ros 7a34fb4aba Prod: Chat Pane 2024-08-26 00:07:25 -07:00
Enrico Ros f3ccb46570 Prod: More panel improvements 2024-08-25 23:52:27 -07:00
Enrico Ros 2c60571702 Prod: Improve Panel 2024-08-25 23:29:24 -07:00
Enrico Ros 4c073202c0 Prod: Improve Restart & messaging 2024-08-25 23:29:04 -07:00
Enrico Ros 015534dbeb Optima: route the app menu to the optima panel, on mobile and when the app requests it 2024-08-25 03:57:56 -07:00
Enrico Ros 2ca0f0fc1c Optima: More Panel 2024-08-25 03:00:21 -07:00
Enrico Ros 7bea2a8191 Optima: Panel 2024-08-25 02:42:31 -07:00
Enrico Ros e828aa8580 Optima: appMenu rename, add panel 2024-08-25 02:21:35 -07:00
Enrico Ros b4285832e5 Optima: reorg 2024-08-25 02:07:41 -07:00
Enrico Ros f5a2313e46 Arrow 2024-08-24 21:01:14 -07:00
Enrico Ros 1ae14e94ae Prod: avatar label tooltip 2024-08-24 16:31:30 -07:00
Enrico Ros f396ce189a Prod: txt 2024-08-24 15:02:48 -07:00
Enrico Ros e83ae9150c Prod: fix share icons 2024-08-24 15:01:16 -07:00
Enrico Ros a93f99d5a2 Reorder 2024-08-24 05:24:21 -07:00
Enrico Ros fb055b6cf6 LFS: mention patch, but don't show it 2024-08-24 05:22:31 -07:00
Enrico Ros ce2f327b79 Allow for Bold edits 2024-08-24 05:12:49 -07:00
Enrico Ros 15694a59ba Improve PlantUML/Mermaid error messages 2024-08-24 05:03:46 -07:00
Enrico Ros 54e890b8e2 Anthropic: default to saving money 2024-08-24 04:44:27 -07:00
Enrico Ros efbbc8ec43 LiveEnhance: false by default 2024-08-24 04:41:12 -07:00
Enrico Ros cec3065830 Beam: fix generators 2024-08-24 04:40:55 -07:00
Enrico Ros 9b98c43b92 --!AIX;
remove much pre-AIX code.
2024-08-24 04:39:53 -07:00
Enrico Ros 0603a48e1e Beam: multimodal output, re-beam the correct model 2024-08-24 04:32:53 -07:00
Enrico Ros e001fc5449 Beam: port to AIX 2024-08-24 03:44:51 -07:00
Enrico Ros b0c46f4fe8 Improve render code menu 2024-08-24 03:35:46 -07:00
Enrico Ros f2f9365d64 Nothing 2024-08-23 00:40:59 -07:00
Enrico Ros c62423d7e3 Agi: what can I do? (I've been thinking about you) 2024-08-22 17:11:42 -07:00
Enrico Ros f4e488d658 Aix: disable different abort checks 2024-08-22 15:23:55 -07:00
Enrico Ros 87b57ff8ac Metrics: type 2024-08-22 04:34:12 -07:00
Enrico Ros e13070e15c Metrics: display Anthropic savings 2024-08-22 04:24:25 -07:00
Enrico Ros c4ce659c88 Aix: fix warning on abort while fetching hasn't completed 2024-08-22 04:12:45 -07:00
Enrico Ros 3e4a6432f0 Aix: fix Anthropic cached metrics presence 2024-08-22 02:28:40 -07:00
Enrico Ros 721fc0a33f Aix: fix full-stack 2024-08-22 02:28:40 -07:00
Enrico Ros 7354ff4023 Aix: select metrics for Aix CG 2024-08-21 23:15:30 -07:00
Enrico Ros a70e31e199 Fix Fred's demo 2024-08-21 23:01:02 -07:00
Enrico Ros 2958b2a96a AIX: large Client API improvement. Add DMessageGenerator (Aix)
Fix a number of bugs, including the last packet from the reassembler being ignored.
2024-08-21 04:37:25 -07:00
Enrico Ros a4ccd53ccc Support hiding messages from the AI 2024-08-20 17:15:29 -07:00
Enrico Ros dd428f433c Aix: begin clean 2024-08-20 15:40:28 -07:00
Enrico Ros 8f577396d5 Vnd.Ant.Cache: done 2024-08-20 14:47:15 -07:00
Enrico Ros 4ca7b60162 Vnd.Ant.Cache: only when > 1000 tokens 2024-08-20 14:38:07 -07:00
Enrico Ros 48b85edf20 Vnd.Ant.Cache: explain auto-cache in the menu 2024-08-19 22:43:46 -07:00
Enrico Ros f9980deac4 Vnd.Ant.Cache: proper Auto-Caching: in-proto, pre-submit, w/+manual, immediate setting, any-submit, remove pmix time 2024-08-19 15:22:03 -07:00
Enrico Ros 9dda4ff241 reduce usage of useModelsStore 2024-08-19 13:57:48 -07:00
Enrico Ros 3ad83f79ff Debug 2024-08-19 13:12:36 -07:00
Enrico Ros 3361fb3921 Aix: User Breakpoint full support. Supported by Anthropic. 2024-08-18 03:14:52 -07:00
Enrico Ros 25b88237a0 Anthropic cache breakpoint: UI and DMessage support (as a User Flag) 2024-08-18 02:06:47 -07:00
Enrico Ros bb20234a74 Vendors: instanceLimit optional, and 1 by default 2024-08-18 02:01:24 -07:00
Enrico Ros 88bf939d23 ChatMessage: Try ListItem -> Box 2024-08-18 02:01:24 -07:00
Enrico Ros 7c1d2cad66 Begin of Metrics 2024-08-18 02:01:24 -07:00
Enrico Ros 71f5ab96d4 Models: support breakpoints 2024-08-18 02:01:24 -07:00
Enrico Ros 746dd0ad05 DConversation: min 2024-08-17 23:43:41 -07:00
Enrico Ros d4324a8ba9 DMessage: cleanups 2024-08-17 23:42:19 -07:00
Enrico Ros 2550f345fc DMessage: flag 2024-08-17 23:30:13 -07:00
Enrico Ros 8d6ae13d65 Close post-dialog 2024-08-17 23:26:09 -07:00
Enrico Ros 1df31946c2 Come on 2024-08-17 23:13:14 -07:00
Enrico Ros 79108537d7 Even more vars update 2024-08-17 23:03:25 -07:00
Enrico Ros 5f61ccb6c3 More vars update 2024-08-17 23:00:49 -07:00
Enrico Ros 02739a9951 Tokens: update vars 2024-08-17 22:59:17 -07:00
Enrico Ros af49ee72b6 ERC: Save As 2024-08-17 20:05:40 -07:00
Enrico Ros 47b146aa38 fix padding 2024-08-17 16:26:18 -07:00
Enrico Ros 9ae8542100 ERC: /all 2024-08-17 16:18:21 -07:00
Enrico Ros 77596ffdfb Share: shorter IDs 2024-08-17 16:12:11 -07:00
Enrico Ros 07665ece59 Share: fix workspace 2024-08-17 16:12:11 -07:00
Enrico Ros c1fbd72785 Cleanup rate limiter 2024-08-17 15:46:22 -07:00
Enrico Ros ae43a1d8af Good metrics for non-streaming too: 2024-08-17 15:30:22 -07:00
Enrico Ros 6265868658 Chat Generation metrics: 2024-08-17 15:20:35 -07:00
Enrico Ros c6d4f2834e Non-linear pricing support. 2024-08-17 03:26:59 -07:00
Enrico Ros 77777da122 Rewind (no one's got time for this) 2024-08-17 02:52:40 -07:00
Enrico Ros 93ac4d59a3 Try to centralize - yet doesn't build 2024-08-17 02:42:17 -07:00
Enrico Ros e483050608 AIX: Define ListModels' output, and use it everywhere 2024-08-17 02:15:36 -07:00
Enrico Ros 4f1afc3221 Models Pricing: update all 2024-08-17 02:06:14 -07:00
Enrico Ros c098afe818 React deps 2024-08-16 23:53:59 -07:00
Enrico Ros 21045f5e72 Refactor: Source to Service, and move the store 2024-08-16 23:53:02 -07:00
Enrico Ros e827e9810a Gfx bug 2024-08-16 04:39:22 -07:00
Enrico Ros 9bc6fd6ad1 AIX: Anthropic: update pricing #623 2024-08-16 04:12:32 -07:00
Enrico Ros 590843f2a5 AIX: Anthropic: Disable breakpoint on the system message. Too short for typical chats (for now). #623 2024-08-16 04:11:50 -07:00
Enrico Ros d4bba26a2b AIX: Anthropic: Model-Driven Auto-Prompt-Caching. Fixes #623
Note: if there aren't enough tokens in the chat, the Anthropic API will throw. Nothing to do there for now.
We will wait for Anthropic to step in and fix the issue before fixing something on our end that's clearly not our issue.
2024-08-16 03:48:29 -07:00
Enrico Ros b591e1ab64 FormLabel: tooltips: top & arrow 2024-08-16 03:20:31 -07:00
Enrico Ros 245add3e15 Revert "Anthropic: fix #618" - Anthropic came out with Caching/Cost reduction and this gets in the way.
This reverts commit dfe6d3cf72.
2024-08-16 03:08:34 -07:00
Enrico Ros 42c8095665 Style fix 2024-08-16 02:21:26 -07:00
Enrico Ros 17f7057ec3 ChatMessage: bits 2024-08-16 00:05:31 -07:00
Enrico Ros c4a6f60562 ChatMessage: marking done 2024-08-16 00:00:35 -07:00
Enrico Ros 0faf0c4422 ChatMessage: improve selection matching 2024-08-15 23:29:34 -07:00
Enrico Ros e6163d227a ChatMessage: add highlighting 2024-08-15 22:53:25 -07:00
Enrico Ros 81bbd9f4f5 ChatMessage: improve sel matching 2024-08-15 22:52:46 -07:00
Enrico Ros 380e5fa664 ChatMessage: improve fragments bucket splitting 2024-08-15 22:52:26 -07:00
Enrico Ros ebfc67ed4a Fix render bug 2024-08-15 21:19:09 -07:00
Enrico Ros 1a215390e2 Render of highlighted Markdown 2024-08-15 20:33:47 -07:00
Enrico Ros 8f9d5cd5d7 Markdown: reorder renderers 2024-08-15 19:42:21 -07:00
Enrico Ros 128b259288 LFS: Overwrite (simple) 2024-08-15 18:12:41 -07:00
Enrico Ros e96c9247c3 Prioritize shortcut matching by level 2024-08-14 13:51:10 -07:00
Enrico Ros a7812b7bb9 Esc to cancel gen 2024-08-14 13:47:53 -07:00
Enrico Ros 2f7de4f43b Fix shift+ctrl+enter, big times 2024-08-14 13:30:37 -07:00
Enrico Ros cbcdb8a572 Mimes: add Python Notebooks support 2024-08-14 12:53:19 -07:00
Enrico Ros 6ed57cca24 ERC x LFS: extract patching hook 2024-08-14 02:42:59 -07:00
Enrico Ros 8fa7181a6d Rename folder 2024-08-14 02:05:46 -07:00
Enrico Ros 7400a03ee8 ERC x LFS: begin process 2024-08-14 01:53:51 -07:00
Enrico Ros 1df2b82c56 ERC x LFS: patch box 2024-08-14 01:40:41 -07:00
Enrico Ros 136dcbcd4c ERC x LFS: begin wire 2024-08-14 01:30:54 -07:00
Enrico Ros 29f9f22eff ERC x LFS: UX update2 2024-08-14 01:10:34 -07:00
Enrico Ros b5308caea1 ERC x LFS: UX update 2024-08-14 00:59:09 -07:00
Enrico Ros 0bb4fd4517 ERC x LFS: workspace supports d/d 2024-08-14 00:44:46 -07:00
Enrico Ros c745aae281 ERC x LFS: pick an additional file 2024-08-14 00:06:12 -07:00
Enrico Ros 9194b3b5f5 ERC x LFS: select new files 2024-08-13 23:48:55 -07:00
Enrico Ros 12c5c0a058 ERC x LFS: microstrings 2024-08-13 23:33:10 -07:00
Enrico Ros 04a96e47d7 ERC x LFS: superstrings 2024-08-13 23:32:07 -07:00
Enrico Ros 4ddaa75880 ERC x LFS: strings 2024-08-13 23:27:27 -07:00
Enrico Ros 085ff56654 ERC x LFS: disable auto-pick 2024-08-13 23:24:43 -07:00
Enrico Ros 5251232319 Draw: disclaimer 2024-08-13 23:11:41 -07:00
Enrico Ros 72fb677087 OpenPipe: updated the models list endpoint 2024-08-13 22:55:20 -07:00
Enrico Ros 23be99aef7 LF: note about the former 500ms coalesce idea 2024-08-13 22:52:11 -07:00
Enrico Ros 9f5093bf32 LF: reload from disk 2024-08-13 15:05:40 -07:00
Enrico Ros f386cf9b1b Fix code buttons on mobile 2024-08-13 15:02:32 -07:00
Enrico Ros 6e1bb66dbf LFS: disable on iPhone 2024-08-13 14:40:29 -07:00
Enrico Ros 1c0b8120e5 LFS: disable on Android. 2024-08-13 14:40:05 -07:00
Enrico Ros d342220b09 LFS: debug on Android. 2024-08-13 14:28:26 -07:00
Enrico Ros 1c09786d37 EnhancedRenderCode x LiveFileSync: move picker 2024-08-13 02:35:04 -07:00
Enrico Ros 694cd7483e EnhancedRenderCode x LiveFileSync: Apply To 2024-08-13 02:18:26 -07:00
Enrico Ros aeb6aa52e8 EnhancedRenderCode x LiveFileSync: update 2024-08-13 01:58:59 -07:00
Enrico Ros 04938c80f2 EnhancedRenderCode x LiveFileSync: extract WorkspaceLiveFilePicker 2024-08-13 01:49:27 -07:00
Enrico Ros f99c266255 EnhancedRenderCode x LiveFileSync: starts to look neat 2024-08-13 01:30:06 -07:00
Enrico Ros 830f972c43 EnhancedRenderCode x LiveFileSync: patch icon 2024-08-13 01:03:13 -07:00
Enrico Ros b07d7b81a7 EnhancedRenderCode x LiveFileSync: workspace File selection 2024-08-13 00:56:29 -07:00
Enrico Ros 859453fc02 EnhancedRenderCode x LiveFileSync: glue 2024-08-13 00:04:00 -07:00
Enrico Ros 7810445c39 AutoBlocks: move enhanced-code 2024-08-12 23:47:12 -07:00
Enrico Ros f7f1b5ad21 AutoBlocks: organize code 2024-08-12 23:45:42 -07:00
Enrico Ros bee7ee406d LiveFileSync: restrict to DocAttachmentFragment 2024-08-12 23:42:40 -07:00
Enrico Ros b035b85b15 LFS: begin ERC sync 2024-08-12 22:42:43 -07:00
Enrico Ros 908712045c isMobile: consistency 2024-08-12 22:31:29 -07:00
Enrico Ros 5a4715e608 Uniformly use isMobile: boolean 2024-08-12 22:24:28 -07:00
Enrico Ros 433354e938 LFS: rename 2024-08-12 22:02:28 -07:00
Enrico Ros 3d1efea655 Dynamic LiveFile support (tied to FS API) 2024-08-12 21:54:18 -07:00
Enrico Ros 5b6cb644ae EnhancedRenderCodeMenu: option to disable livefile 2024-08-12 21:37:16 -07:00
Enrico Ros b1abff01ea Rename Livefile hooks 2024-08-12 21:29:37 -07:00
Enrico Ros 4c221f89cc Make the code icon reflect the expand/collapse 2024-08-12 21:20:45 -07:00
Enrico Ros 9ffbd45961 Correct the gap of InReferenceTo (list) 2024-08-12 21:09:51 -07:00
Enrico Ros 8b88d4afe7 OpenPipe: fix (openpipe.name:aix.id) mapping. #615 2024-08-12 17:20:04 -07:00
Enrico Ros 0061fb4c30 OpenPipe: deployed is the default state 2024-08-12 17:03:37 -07:00
Enrico Ros 2f3977ca8d OpenPipe: small adjustment 2024-08-12 16:41:01 -07:00
Enrico Ros 915c876cd4 OpenPipe: add discovery and qualification of fine-tune models. #615 2024-08-12 16:30:23 -07:00
Enrico Ros 42d9d70bdc OpenPipe: fix validity 2024-08-12 15:26:47 -07:00
Enrico Ros 336819a2dd Also #617 2024-08-12 15:21:50 -07:00
Enrico Ros 0ec261f7ca Add error details for #617 2024-08-12 15:20:45 -07:00
Enrico Ros dfe6d3cf72 Anthropic: fix #618 2024-08-12 15:03:33 -07:00
Enrico Ros 8ab35a5fab Prod: fix search... menu on Mobile 2024-08-12 13:22:43 -07:00
Enrico Ros f6c71d98f5 Prod: fix tooltip items v-alignment 2024-08-12 12:29:00 -07:00
Enrico Ros 973e15363f Prod: switch to min cost on mobile 2024-08-12 12:25:56 -07:00
Enrico Ros 0a7a1b7a5f EnhancedRenderCode: on mobile, use the single-tap-collapse/expand 2024-08-12 12:18:34 -07:00
Enrico Ros beb415213a EnhancedRenderCode: expand/collapse done 2024-08-12 12:15:06 -07:00
Enrico Ros 7087d45b62 EnhancedRenderCode: improve expand/collapse 2024-08-12 11:56:56 -07:00
Enrico Ros 395d977e97 EnhancedRenderCode: expand/collapse all 2024-08-12 11:42:39 -07:00
Enrico Ros 6db608e2c8 EnhancedRenderCode: collapse from header 2024-08-12 11:16:16 -07:00
Enrico Ros 2ca025818a EnhancedRenderCode: enhance 2024-08-12 02:02:26 -07:00
Enrico Ros 5dab98bef9 EnhancedRenderCode: extract Menu 2024-08-12 01:29:22 -07:00
Enrico Ros ce29954c6e EnhancedRenderCode: improvements 2024-08-12 01:17:51 -07:00
Enrico Ros cd62e101c1 EnhancedRenderCode: option to turn it off 2024-08-11 23:10:57 -07:00
Enrico Ros 187d85db1f Continue the EnhancedRenderCode 2024-08-11 22:55:44 -07:00
Enrico Ros ad85f743b1 Enhance RenderCodePanelFrame 2024-08-11 22:38:37 -07:00
Enrico Ros 30300a2134 Extract RenderCodePanelFrame 2024-08-11 21:45:34 -07:00
Enrico Ros c9bf43e444 ChatMessage: update Editors 2024-08-11 20:37:13 -07:00
Enrico Ros 8a8e42c01d Confirm bar removal 2024-08-11 19:00:47 -07:00
Enrico Ros 78db1091ac GoodTooltip: outlined 2024-08-11 18:43:27 -07:00
Enrico Ros b4fdf4c7c4 AutoBlocks: introduce EnhancedRenderCode 2024-08-11 01:01:15 -07:00
Enrico Ros 227e51a97d AutoBlocks: improve variants 2024-08-11 00:44:20 -07:00
Enrico Ros b0ca462998 AutoBlocks: pass the semiStableId 2024-08-10 23:48:20 -07:00
Enrico Ros 7187e55afa Message > ContentFragments > ContentPartText_AutoBlocks 2024-08-10 23:41:07 -07:00
Enrico Ros 419c53322d Shortcuts: show when editing 2024-08-10 23:38:19 -07:00
Enrico Ros c86bd3088a AutoBlocks: remove useRef 2024-08-10 22:57:04 -07:00
Enrico Ros b943352569 Workspace: more usages 2024-08-10 22:34:09 -07:00
Enrico Ros 962619de47 Workspace: use an ID provider to remove prop-drilling 2024-08-10 22:24:45 -07:00
Enrico Ros 0fb408af8c Reduce noise. 2024-08-10 21:51:35 -07:00
Enrico Ros f9262e0f1f SuperJSON: This hack is actually still needed. 2024-08-10 21:50:48 -07:00
Enrico Ros 2c3f237ccc SuperJSON: The NextJS-immutability hack doesn't seem to be needed anymore.
With this hack, deserialization of `json` arrays (rather than objects) was also broken,
and would break the downstream tRPC streaming functionality.
2024-08-10 17:16:59 -07:00
Enrico Ros 1680ba4223 Aix Client debugging in Dev 2024-08-10 17:10:43 -07:00
Enrico Ros 14c0e23b75 Test this. 2024-08-10 17:10:18 -07:00
Enrico Ros bc6d9d5de1 Ignore this. 2024-08-10 16:37:55 -07:00
Enrico Ros 973ba8669f Roll deps - not cloudflare/puppeteer, which keeps getting broken 2024-08-10 15:19:59 -07:00
Enrico Ros 37a38c3c89 AutoBlocks: mega dirty prop drill 2024-08-09 05:23:05 -07:00
Enrico Ros 816d97e7d1 AutoBlocks: Code: extract extra buttons hooks 2024-08-09 04:54:55 -07:00
Enrico Ros 89965d09cf AutoBlocks: rename Code renderers 2024-08-09 04:46:40 -07:00
Enrico Ros da10e3214a bits 2024-08-09 04:41:34 -07:00
Enrico Ros 5a29b17b27 LFS: Really ugly prop drill. 2024-08-09 04:41:20 -07:00
Enrico Ros 2f00921698 AutoBlocks: give (and stabilize) and Id 2024-08-09 04:15:54 -07:00
Enrico Ros b2cd19a7e0 AutoBlocks: give (and stabilize) and Id 2024-08-09 04:15:46 -07:00
Enrico Ros d69bd91aca Mermaid: more resilient. 2024-08-09 04:14:52 -07:00
Enrico Ros 2ac84a0b2f Messages: fix layout 2024-08-09 02:01:53 -07:00
Enrico Ros e7c38c3785 RenderBlocks: extract hooks 2024-08-09 01:25:46 -07:00
Enrico Ros c903c7f7ed RenderBlocks: improve 2024-08-09 00:53:28 -07:00
Enrico Ros 9d1c87b3f2 Stabilize some 2024-08-08 23:20:29 -07:00
Enrico Ros 929f419760 Shortcuts: cleanups 2024-08-08 22:54:56 -07:00
Enrico Ros c31662e528 Ephemerals: port as Conversation Handler Overlay Store Slice 2024-08-08 22:46:31 -07:00
Enrico Ros 79151c0528 Workspace: prop-drill to ChatMessage 2024-08-08 21:31:17 -07:00
Enrico Ros d125b97d97 More Style Memos 2024-08-08 21:30:42 -07:00
Enrico Ros 65d9fc1dc7 Styles 2024-08-08 21:01:55 -07:00
Enrico Ros ef30a45388 AppChat: prop-drill Workspace Contents 2024-08-08 20:42:04 -07:00
Enrico Ros c3565d99fa Ephemerals: cleanups 2024-08-08 20:15:19 -07:00
Enrico Ros 1a6fbea8c7 MessageSelectionHeader: sticky 2024-08-08 20:06:43 -07:00
Enrico Ros ab386079b1 Workspace: store 2024-08-08 19:17:34 -07:00
Enrico Ros 448169563c LiveFile: workspace associations 2024-08-08 16:28:01 -07:00
Enrico Ros 1647a528a3 LiveFile: update 2024-08-08 15:41:57 -07:00
Enrico Ros eb78713cc3 LiveFile: cleanups 2024-08-08 15:21:19 -07:00
Enrico Ros ee71013f93 AudioGenerator: TR909 2024-08-08 14:53:25 -07:00
Enrico Ros d2ffec2d4e Adding ViewTransitionUtils: not well supported by React (we have too many state updates and async flows to use this).
Note: this worked in the InReferenceToBubble, migrating it from the composer to the last user message.
2024-08-08 02:31:06 -07:00
Enrico Ros 0132df0bf2 Roll prisma 2024-08-08 01:03:02 -07:00
Enrico Ros bf269ecbac LFS: actions in the Attachment TitleBar 2024-08-07 16:03:29 -07:00
Enrico Ros 8af6ac853b LFS: update expander menu 2024-08-07 15:35:13 -07:00
Enrico Ros aff50499a2 LFS: confirmation before overwrite 2024-08-07 15:25:17 -07:00
Enrico Ros c30fa2aafb LFS: improvements 2024-08-07 15:03:16 -07:00
Enrico Ros 02d6f5c10e LFS: perfect button in the toolbar 2024-08-07 14:43:42 -07:00
Enrico Ros b99869544f LFS: full DND pairing 2024-08-07 13:55:54 -07:00
Enrico Ros e07b5aa988 LFS: pairing 1 2024-08-07 13:42:10 -07:00
Enrico Ros bd873b84c9 Attachment: extract getDataTransferFilesOrPromises 2024-08-07 13:39:45 -07:00
Enrico Ros f28b7ebeb9 DragDrop: extraction done 2024-08-07 13:14:46 -07:00
Enrico Ros cfcffa9a65 LFS: extract LFSB 2024-08-07 13:04:46 -07:00
Enrico Ros 226e4b0f8b useDragDropDataTransfer: improve 2024-08-07 12:55:58 -07:00
Enrico Ros 8b9a103fd3 Extract useDragDropDataTransfer 2024-08-07 12:32:41 -07:00
Enrico Ros 6a0a76df92 LFS: button 2024-08-07 12:03:45 -07:00
Enrico Ros 3d81f2a814 Merge branch 'refs/heads/main' into big-agi-2 2024-08-07 02:53:36 -07:00
Enrico Ros 1aab4a6e51 Merge branch 'refs/heads/main-stable' 2024-08-07 02:52:28 -07:00
Enrico Ros dec280d54d 1.16.7 Release
(cherry picked from commit 22b32d571d)
2024-08-07 02:51:59 -07:00
Enrico Ros 4823e97783 Mapping doc, for the future.
(cherry picked from commit a416cafc4e)
2024-08-07 02:51:59 -07:00
Enrico Ros 6a5685995f OpenAI: update models
(cherry picked from commit 5f5efe6133)
2024-08-07 02:51:59 -07:00
Enrico Ros 22b32d571d 1.16.7 Release 2024-08-07 02:50:10 -07:00
Enrico Ros a416cafc4e Mapping doc, for the future. 2024-08-07 02:46:33 -07:00
Enrico Ros 5f5efe6133 OpenAI: update models 2024-08-07 02:39:41 -07:00
Enrico Ros d066aba00e Style cleanups. 2024-08-07 01:45:09 -07:00
Enrico Ros 83e9965254 useAgiAttachmentPrompts: just. perfect. 2024-08-07 00:39:58 -07:00
Enrico Ros ce4e447032 useAgiAttachmentPrompts: good button, finally 2024-08-07 00:34:02 -07:00
Enrico Ros 568b16d2cf bits 2024-08-07 00:33:13 -07:00
Enrico Ros be2d857f82 useAgiAttachmentPrompts: deaggro 2024-08-07 00:06:07 -07:00
Enrico Ros c4c2fb9d39 useAgiAttachmentPrompts: improved hook 2024-08-06 22:37:09 -07:00
Enrico Ros 79f5d24e2f useAgiAttachmentPrompts: hook 2024-08-06 21:57:03 -07:00
Enrico Ros a69944c019 LiveFile: fix window refocus sync 2024-08-06 21:55:41 -07:00
Enrico Ros e4bb546442 LiveFile: update on window refocus (smart) 2024-08-06 20:36:14 -07:00
Enrico Ros 04ff184c23 Overlays: reject existing in case we are creating a new one. Should not happen, but enables great shortcut behaviors (x d d d x d..) 2024-08-06 19:57:36 -07:00
Enrico Ros 4718e26f96 Overlays: port more 2024-08-06 19:46:21 -07:00
Enrico Ros bd808594cb Overlays: overlay framework 2024-08-06 18:36:41 -07:00
Enrico Ros 00c2186106 Snackbar: clean 2024-08-06 13:57:41 -07:00
Enrico Ros a788b7a41b agiAttachmentPrompts: lower requirement to 1 2024-08-06 13:45:15 -07:00
Enrico Ros 024489939e agiAttachmentPrompts: update microcode2 2024-08-06 02:12:37 -07:00
Enrico Ros 33a0bd2d72 agiAttachmentPrompts: update microcode 2024-08-06 02:05:51 -07:00
Enrico Ros 029bcc7980 Attachments: fix controlled checkboxes 2024-08-06 01:47:13 -07:00
Enrico Ros acb2f6a1aa Attachments: youtube thumbnails 2024-08-06 01:30:12 -07:00
Enrico Ros 67184536a6 Attachments: youtube links as transcripts 2024-08-06 00:37:31 -07:00
Enrico Ros 85aed347cf YT: extract video id extraction 2024-08-05 23:43:13 -07:00
Enrico Ros 910f8c5a2f YT Persona: small cleanup 2024-08-05 23:36:48 -07:00
Enrico Ros bf47d40fdf Settings: improve padding 2024-08-05 20:27:22 -07:00
Enrico Ros c36440d576 DisableMarkdown: flipped the semantic meaning and removed some usages. On is the default 2024-08-05 20:20:04 -07:00
Enrico Ros 2e14c5a3d4 DoubleClickToEdit: default to false 2024-08-05 20:07:24 -07:00
Enrico Ros 7640e027d3 Merge branch 'refs/heads/main' into big-agi-2 2024-08-05 20:02:47 -07:00
Enrico Ros dccb493cf7 ReAct: bits 2024-08-05 20:02:37 -07:00
Enrico Ros 31a7ee0f4d ReAct: update doc 2024-08-05 19:51:42 -07:00
Enrico Ros 3ac1102274 ReAct: update doc 2024-08-05 19:50:20 -07:00
Enrico Ros a1c6cce61d ReAct: update doc 2024-08-05 19:49:05 -07:00
Enrico Ros 433f9a8162 Ephemerals: pinning to keep them on 2024-08-05 19:45:17 -07:00
Enrico Ros d0880da782 Improve Bubble and multi-refer-to 2024-08-05 19:08:04 -07:00
Enrico Ros e331393987 Roll packages 2024-08-05 19:07:52 -07:00
Enrico Ros 7047e98e91 Merge branch 'refs/heads/main' into big-agi-2 2024-08-05 18:05:14 -07:00
Enrico Ros 6c8a8bce88 Documentation: update ReAct 2024-08-05 18:05:03 -07:00
Enrico Ros a78f739935 Documentation: update ReAct 2024-08-05 17:56:38 -07:00
Enrico Ros 40c9b5a668 Documentation: document ReAct 2024-08-05 17:37:49 -07:00
Enrico Ros 46bb02f946 Documentation: document ReAct 2024-08-05 17:37:41 -07:00
Enrico Ros e57d4c724f bits 2024-08-05 16:10:00 -07:00
Enrico Ros d3c940bebc OpenPipe: add recording support, including tags. #615 2024-08-05 16:09:50 -07:00
Enrico Ros d71f94110f AttachmentAutoPrompts: support images 2024-08-04 06:07:55 -07:00
Enrico Ros 50e97e7523 remove logs 2024-08-04 06:07:36 -07:00
Enrico Ros 30ffd1a7ee InReferenceTo: multi-sentence, multi-role 2024-08-04 05:20:50 -07:00
Enrico Ros 030db4f769 Really Fix shortcuts matching 2024-08-04 02:08:40 -07:00
Enrico Ros 454f8620f7 Anthropic: start with the user message, if missing
This copies over the first line of the system prompt.
2024-08-04 02:03:30 -07:00
Enrico Ros f007f57b93 Fix shortcuts matching 2024-08-04 01:45:02 -07:00
Enrico Ros 573658ec7e Attachments: fix mime 2024-08-04 01:03:27 -07:00
Enrico Ros 1fc61f7c78 AutoPrompts: cleanup 2024-08-03 23:35:46 -07:00
Enrico Ros f0240018d6 useAsyncCall: improvements 2024-08-03 23:27:33 -07:00
Enrico Ros 4a40cca39e useAsyncCall: improvements 2024-08-03 23:22:15 -07:00
Enrico Ros 3add2b7a94 useAsyncCall: simplifies some state tracking 2024-08-03 23:09:08 -07:00
Enrico Ros 4fbcda03a5 AutoPrompts: extract 2024-08-03 21:25:24 -07:00
Enrico Ros 0020a49cd0 Gemini: updated default caps 2024-08-03 21:17:01 -07:00
Enrico Ros 7f7e484d4c Gemini: updated the capabilities (interfaces) of Pro/Experimental 2024-08-03 21:13:47 -07:00
Enrico Ros e9a162e952 Client-side error msg change 2024-08-03 21:01:28 -07:00
Enrico Ros 0a0270992d AIX: smallie 2024-08-03 20:59:04 -07:00
Enrico Ros 2d40e1b7ef Gemini: parse all finish reasons, and relax the parser 2024-08-03 20:58:11 -07:00
Enrico Ros 323e69d2eb Aix: client-side human errors 2024-08-03 20:46:18 -07:00
Enrico Ros f125b323b4 client-side add error utils 2024-08-03 20:40:16 -07:00
Enrico Ros b47b171e30 AIX: Client perfect exception handling 2024-08-03 20:24:21 -07:00
Enrico Ros f93a769c85 ChatMessage: 8 lines attachment preview 2024-08-03 19:16:36 -07:00
Enrico Ros fe2103b8cf ChatMessage: fix Content Fragments blank edit state 2024-08-03 19:13:47 -07:00
Enrico Ros 94278068c2 Blocks: tune edit 2024-08-03 19:00:55 -07:00
Enrico Ros b18a3f0fd9 Blocks: disaggro 2024-08-03 18:52:11 -07:00
Enrico Ros 1e5bb5aa7e Roll packages 2024-08-03 18:43:49 -07:00
Enrico Ros 3dd672a526 Blocks: Extract the Toggle button 2024-08-03 18:39:38 -07:00
Enrico Ros 92f3eb3184 Fix 2024-08-03 18:39:38 -07:00
Enrico Ros a8d1eb71c3 Blocks: Show Edit Shortcuts 2024-08-03 18:39:37 -07:00
Enrico Ros 4fb64d2117 Rename2 2024-08-03 16:04:20 -07:00
Enrico Ros e8beaa90ad Rename 2024-08-03 16:04:14 -07:00
Enrico Ros 5c3ecb86e1 Remove showTopWarning 2024-08-03 15:53:17 -07:00
Enrico Ros 13456da524 AutoBlocks: extract styles 2024-08-03 15:47:55 -07:00
Enrico Ros da15ab07e8 Rename 2024-08-03 15:41:08 -07:00
Enrico Ros 350c84fbda Move hooks 2024-08-03 15:32:39 -07:00
Enrico Ros 3efbe65ca6 Disaggro 2024-08-03 15:32:02 -07:00
Enrico Ros 7dffd797a4 Disaggro 2024-08-03 15:30:21 -07:00
Enrico Ros a6318e93a9 Document View: icon 2024-08-03 06:52:47 -07:00
Enrico Ros 7a7ab9b1ec Document View Mimetype: auto-detection of doc view type, and switch for manual override 2024-08-03 06:33:19 -07:00
Enrico Ros 6d8bb46985 Document View Mimetype: attachment pipeline adaptation 2024-08-03 06:03:59 -07:00
Enrico Ros 0b18e6d18a Document View Mimetype: good set of mimetypes 2024-08-03 05:37:03 -07:00
Enrico Ros 02dfda80a2 Document View Mimetype: dev conversion to vdt 2024-08-03 05:36:31 -07:00
Enrico Ros cb1e6f61f5 Document View Mimetype: doc renderer changes 2024-08-03 05:35:29 -07:00
Enrico Ros 2a359dfc4e Fix type 2024-08-03 04:28:32 -07:00
Enrico Ros 9f494288a9 Attachment: add Mime DB 2024-08-03 03:44:49 -07:00
Enrico Ros d90f2181b8 createVanillaStore 2024-08-03 01:56:40 -07:00
Enrico Ros 8be4582b5d Chat-overlay 2024-08-03 01:54:50 -07:00
Enrico Ros 8c817fba7c Roll pdfjs 2024-08-03 01:48:56 -07:00
Enrico Ros 543d32543c t2i: fix? 2024-08-03 00:26:29 -07:00
Enrico Ros f3dfb3383f Blocks: cleanup overlay button tooltip 2024-08-03 00:26:20 -07:00
Enrico Ros 8b733ed1f3 Blocks: external opening 2024-08-02 22:20:06 -07:00
Enrico Ros ffeb35a20b Blocks: over and out 2024-08-02 20:13:45 -07:00
Enrico Ros 2a1fccc43c Blocks: optimize 2024-08-02 19:54:54 -07:00
Enrico Ros a1097d2bb5 Blocks: improve IFrame processing 2024-08-02 19:53:59 -07:00
Enrico Ros b58465a769 Blocks: don't syntax highlight if not rendered 2024-08-02 19:38:51 -07:00
Enrico Ros 0f6af47eee Blocks: deaggro 2024-08-02 19:12:54 -07:00
Enrico Ros 1573d61a7e Blocks: rationalize overlays 2024-08-02 18:49:45 -07:00
Enrico Ros eb575a2320 Blocks: fix mouseover 2024-08-02 18:43:48 -07:00
Enrico Ros bbe4e36bd5 Blocks: extract overlay button 2024-08-02 18:39:48 -07:00
Enrico Ros b7de3669c3 Blocks: extract renderers 2024-08-02 18:27:07 -07:00
Enrico Ros 4011e55823 Blocks: support for extra 2024-08-02 18:23:29 -07:00
Enrico Ros 808992ecea Fix build 2024-08-02 17:55:24 -07:00
Enrico Ros 42596c6054 ContentPartTextEditor: reset min-rows 2024-08-02 17:55:20 -07:00
Enrico Ros 2cb3c82bd5 Blocks: improve button overlays 2024-08-02 17:51:45 -07:00
Enrico Ros 573143c57d Extract PlantUML renderer 2024-08-02 17:15:39 -07:00
Enrico Ros dfd77a3832 Fix showing errors 2024-08-02 17:13:12 -07:00
Enrico Ros c3d54defb7 RenderCode HTML: rename 2024-08-02 16:48:20 -07:00
Enrico Ros ae842984f2 Render User Text Content Fragments as text, not markdown. 2024-08-02 16:44:23 -07:00
Enrico Ros 421c586adb Perfect Composer Mic shortcuts, focus, logic. 2024-08-02 16:36:59 -07:00
Enrico Ros d06f9e17e1 Fix V3 load. 2024-08-02 07:31:07 -07:00
Enrico Ros b26954f326 Measure latency across providers. 2024-08-02 07:30:48 -07:00
Enrico Ros a7ee987e04 Data in-mem: rationalize upgrades 2024-08-02 06:47:13 -07:00
Enrico Ros cbdf48814b Data at Rest & Import/Export: rationalize 2024-08-02 06:15:51 -07:00
Enrico Ros df0854b897 Prepare to define Generator(s) 2024-08-02 04:19:52 -07:00
Enrico Ros 2ea79cf466 Cleanup 2024-08-02 04:19:29 -07:00
Enrico Ros 8e2db899c6 Restore OpenAI importer. 2024-08-02 04:18:43 -07:00
Enrico Ros c24876ba45 Remove cleanups - this may be risky, but let's dogfood it. 2024-08-02 03:54:15 -07:00
Enrico Ros 71bd05bbd1 Gif only in Extra mode. 2024-08-02 03:41:52 -07:00
Enrico Ros 7551848a29 Zen mode: dynamic theming. 2024-08-02 02:36:36 -07:00
Enrico Ros 05c304a053 Cleanup utility functions 2024-08-02 01:48:44 -07:00
Enrico Ros 4caa61da36 UI Complexity settings 2024-08-02 01:24:02 -07:00
Enrico Ros 080655b769 Open Drawers for 100ms at least. 2024-08-02 00:25:37 -07:00
Enrico Ros de4ab78664 Rename duplicate QueryClientProvider 2024-08-01 23:10:30 -07:00
Enrico Ros e72db54027 Open Drawers on press (both mobile and desktop) 2024-08-01 22:34:06 -07:00
Enrico Ros 8984c3d59c Proper separation. 2024-08-01 21:54:16 -07:00
Enrico Ros ce048c0521 Anticrash. 2024-08-01 20:10:04 -07:00
Enrico Ros 6c54220050 AIX: continuation as warning. 2024-08-01 05:43:07 -07:00
Enrico Ros 179ad9bbed AIX: basic continuation (user message). #613 2024-08-01 05:34:27 -07:00
Enrico Ros b6336a1fb0 AIX: cleanup debug 2024-08-01 05:31:24 -07:00
Enrico Ros f2676599c4 Remove react dep 2024-08-01 03:42:47 -07:00
Enrico Ros ba6cac9c2d AIX: handle max-tokens on 10 providers, streaming and non-streaming. #613 2024-08-01 01:44:04 -07:00
Enrico Ros 95633e0a88 AIX: OpenAI: relax finish_reason parsers, as OpenRouter makes a mess 2024-08-01 01:42:00 -07:00
Enrico Ros 515241edca OpenRouter: transmit upstream errors. 2024-08-01 01:01:58 -07:00
Enrico Ros 928231ce06 Together: add tool_calls=null exception.
https://github.com/togethercomputer/together-python/issues/160
2024-08-01 00:28:47 -07:00
Enrico Ros a46c6becbc Azure: improve model naming 2024-08-01 00:27:07 -07:00
Enrico Ros 273889eda0 tRPC fetchers: reduce log 2024-08-01 00:00:02 -07:00
Enrico Ros d0ce4359df OpenRouter: quick add/hide all. Fixes #605 2024-07-31 23:51:16 -07:00
Enrico Ros f1a0a22c2d Optima: optimize 2024-07-31 06:01:55 -07:00
Enrico Ros 64af43de4e Optima: full context removal 2024-07-31 05:00:12 -07:00
Enrico Ros 8c4f896e8a Stabilize the desktop nav (3rd group) 2024-07-31 04:20:41 -07:00
Enrico Ros ce33166c5c Stabilize the markdown renderer 2024-07-31 03:57:12 -07:00
Enrico Ros 10696fd5e7 zustand-5: disable devtools 2024-07-31 03:29:19 -07:00
Enrico Ros d53336baab zustand-5: fix some errors in conversion 2024-07-31 03:17:23 -07:00
Enrico Ros af96060e69 misc: disablePortal won't work for the top bar 2024-07-31 01:37:07 -07:00
Enrico Ros faccc1735f zustand: final removal of 'shallow' 2024-07-31 01:36:55 -07:00
Enrico Ros ab033807c4 roll packages 2024-07-31 00:50:07 -07:00
Enrico Ros 62c6353ca0 Optima: partial renames 2024-07-31 00:49:49 -07:00
Enrico Ros 79c1786bf3 Optima: migrated modals state - great stability 2024-07-30 23:58:53 -07:00
Enrico Ros 4b6759f2ad OptimaLayout: move AppMenu to zustand 2024-07-30 19:19:08 -07:00
Enrico Ros e166fd6703 MP: fix build 2024-07-30 04:41:43 -07:00
Enrico Ros 91f5f07a7f MP: Improve fx. 2024-07-30 04:39:16 -07:00
Enrico Ros 9678b6943d MP: Show empty messages. 2024-07-30 04:39:16 -07:00
Enrico Ros b439308023 Bring back the build. 2024-07-30 02:56:25 -07:00
Enrico Ros 8e1167d848 Remove debug hook. 2024-07-30 02:52:42 -07:00
Enrico Ros 575efb07f4 NextJS page router layout function - faster, lower flicker. 2024-07-30 02:40:33 -07:00
Enrico Ros ce93ab8234 withLayout: optimize 2024-07-30 01:56:28 -07:00
Enrico Ros 73ecc91188 Optima: react to presence/absence of Portal-in content 2024-07-30 00:39:18 -07:00
Enrico Ros f0a0dfc72a Optima: rationalize Portal names 2024-07-30 00:15:09 -07:00
Enrico Ros 95788f5dcd Optima: convert topbar to portals 2024-07-29 23:27:30 -07:00
Enrico Ros af18dc6683 Optima: convert drawers to portals 2024-07-29 23:18:00 -07:00
Enrico Ros 8d6540289d Optima: portals 2024-07-29 22:45:52 -07:00
Enrico Ros 7a5a24f210 Auto-Attachment-Prompt: under Flag 2024-07-29 17:13:24 -07:00
Enrico Ros 1f2f4b61b0 Fix pasting Screenshots 2024-07-29 16:41:28 -07:00
Enrico Ros 71d6bec954 Roll packages 2024-07-29 01:48:12 -07:00
Enrico Ros 4da95a389a Fix the 'shallow' warning once and for all. 2024-07-29 01:45:17 -07:00
Enrico Ros a28936199c Model search box when more than 50. 2024-07-29 01:12:10 -07:00
Enrico Ros da5cb20c3b DebouncedInput: support aggressive focus retention 2024-07-29 01:06:19 -07:00
Enrico Ros f01dc76b7f PageBarDropDown: add optional prepender 2024-07-29 00:41:44 -07:00
Enrico Ros ae7bcb84ab ContentFragments: let broken images be deleted 2024-07-28 22:08:39 -07:00
Enrico Ros 971686af2c FF: Composer: text area actions - intelligent function with attachments 2024-07-26 02:47:40 -07:00
Enrico Ros 4608d5fc2d AIX: streaming as a param, return the fragments. 2024-07-26 02:46:39 -07:00
Enrico Ros cb6ffc294c LLMAttachments: rename collection 2024-07-26 00:09:24 -07:00
Enrico Ros 52b1df0b4d Improve shallow object|array[] stabilizer 2024-07-26 00:06:51 -07:00
Enrico Ros 4b7cb28d3b AIX: Client function call tool definition helpers 2024-07-25 23:33:27 -07:00
Enrico Ros b9ab6d87c7 AIX: emit the debug request right away, and ready for a potential start message 2024-07-25 22:59:08 -07:00
Enrico Ros a5055ab67b Install zod-to-json-schema and roll packages 2024-07-25 22:55:50 -07:00
Enrico Ros f72f9f32cf OpenAI: fix chatGenerate adapter for Doc fragments 2024-07-25 01:29:34 -07:00
Enrico Ros 1eee2b8710 Mistral: FC warnings 2024-07-25 01:29:12 -07:00
Enrico Ros d3aaa8ae75 Lints 2024-07-24 23:31:51 -07:00
Enrico Ros 69e80fd415 Roll packages 2024-07-24 21:39:56 -07:00
Enrico Ros 836760accf Merge branch 'refs/heads/main' into big-agi-2 2024-07-24 21:33:23 -07:00
Enrico Ros cd504285b4 Merge branch 'refs/heads/main-stable' 2024-07-24 21:32:50 -07:00
Enrico Ros 3b4d5691d7 1.16.6: Release. Fixes #604 2024-07-24 21:31:57 -07:00
Enrico Ros 45c09d021a Groq: update output tokens (max 8,000 for 3.1) 2024-07-24 21:27:20 -07:00
Enrico Ros 8ef759fe0f Groq: update Models 2024-07-24 21:27:12 -07:00
Enrico Ros 977bcbb741 AIX: support Tool Invocation 2024-07-24 21:21:00 -07:00
Enrico Ros 3d11b85842 AIX: ReAssembler 2024-07-24 21:19:34 -07:00
Enrico Ros b8d0a5064b Tool Use/Response terrible rendering 2024-07-24 21:19:34 -07:00
Enrico Ros b50b796f15 AIX: fuller view of the last AIX transaction 2024-07-24 21:19:34 -07:00
Enrico Ros 04111e8a06 Labs: DEV: disable streaming UX option 2024-07-24 21:19:34 -07:00
Enrico Ros 432369abec Fragments: improve Data & constructors 2024-07-24 21:15:50 -07:00
Enrico Ros 8743c91275 AIX: Particles: update types 2024-07-24 21:15:20 -07:00
Enrico Ros b79dd3dbe0 AIX: Particle Transmitter: ok - new transmission logic 2024-07-24 21:13:21 -07:00
Enrico Ros d9df5d02be Anthropic: fix {} in the first tool call 2024-07-24 21:11:00 -07:00
Enrico Ros 2413a4d081 Groq: update output tokens (max 8,000 for 3.1) 2024-07-24 21:10:08 -07:00
Enrico Ros 4646394fe3 Server side nanoId: add prefix to distinguish us 2024-07-24 21:02:25 -07:00
Enrico Ros 288006ac1e Groq: update Models 2024-07-24 20:54:42 -07:00
Enrico Ros af65723a2c Groq: add failed_generation reporting 2024-07-24 20:49:14 -07:00
Enrico Ros ac5834f54d FF: snap reassembly 2024-07-24 06:25:44 -07:00
Enrico Ros bdc5143260 FF: snap reassembly 2024-07-24 06:08:11 -07:00
Enrico Ros 067d600fd3 FF: snap reassembly 2024-07-24 06:08:04 -07:00
Enrico Ros ee57c5f78f FF: snap tools 2024-07-24 05:44:45 -07:00
Enrico Ros 45722bbf56 FF: remove function 2024-07-24 05:06:05 -07:00
Enrico Ros 8fee5e0fd3 FF: fix namespacing 2024-07-24 04:51:39 -07:00
Enrico Ros 728c98f26d FF: fix Facton 2024-07-24 04:46:48 -07:00
Enrico Ros daab5ea0bc FF: fix crashes on undefined tokens 2024-07-24 04:15:26 -07:00
Enrico Ros 04e2d6e8eb FF: fix tRPC/superjson crash on 'undefined' values 2024-07-24 04:00:15 -07:00
Enrico Ros 58038a72d3 FF: fix gemini recitation fault 2024-07-24 03:59:07 -07:00
Enrico Ros 38ac0f1287 Aix: move Ollama out 2024-07-24 03:38:41 -07:00
Enrico Ros c870047f44 Aix: complete the (non-throttled) ChatGenerateTransmitter 2024-07-24 03:36:05 -07:00
Enrico Ros c65d472b97 FF: flush 2024-07-24 01:42:36 -07:00
Enrico Ros 239e332a28 FF: fix resource usage parsing 2024-07-24 01:42:10 -07:00
Enrico Ros c42c43165c FF: fix Router double-emission of the 'end' message on 'done-dialect' (Anthropic) 2024-07-24 01:25:40 -07:00
Enrico Ros b1810a2dbe FF: fix Gemini 2024-07-24 01:05:22 -07:00
Enrico Ros bab25bf763 Fix nth-of-type. 2024-07-24 00:41:13 -07:00
Enrico Ros 037ed5cbf6 Reply to on the user part too. Future: add role to the part. 2024-07-24 00:36:58 -07:00
Enrico Ros 1d0de6172f Roll Typescript 2024-07-23 04:33:45 -07:00
Enrico Ros 8a9dfa6143 Bits 2024-07-23 04:33:34 -07:00
Enrico Ros be2de6f90d MP: More details on the AttachmentFragmentEditor 2024-07-23 04:23:25 -07:00
Enrico Ros 604797b3f0 Attachments: more correct file size 2024-07-23 03:49:10 -07:00
Enrico Ros 7c4e08cad3 ScrollToBottom: skip autoscroll 2024-07-23 03:49:10 -07:00
Enrico Ros 075cd45c4c LiveFile: Subsystem complete. 2024-07-23 03:10:27 -07:00
Enrico Ros 096e2784d2 AttachmentButton: massive performance boost 2024-07-23 03:10:27 -07:00
Enrico Ros 0bba84d42d AttachmentButton: fix react issues 2024-07-23 02:31:09 -07:00
Enrico Ros 4a9feef7d1 LiveFile: Central approach 2024-07-22 20:50:35 -07:00
Enrico Ros 818595aeb5 LiveFile: react dep 2024-07-22 16:54:16 -07:00
Enrico Ros c2cd098003 LiveFile: message 2024-07-22 16:19:26 -07:00
Enrico Ros 7639eaa942 LiveFile: useLiveFile 2024-07-22 07:57:24 -07:00
Enrico Ros 96e9f9f780 Roll packages 2024-07-22 04:11:31 -07:00
Enrico Ros d7177dd4b7 LiveFile: style sync 2024-07-22 03:50:24 -07:00
Enrico Ros cd04ae461d LiveFile: small renames 2024-07-22 02:37:43 -07:00
Enrico Ros 5049ff24fa Fix #601 2024-07-22 02:26:15 -07:00
Enrico Ros 1bc22b15e3 LiveFile: Reload: 👍 2024-07-22 02:24:53 -07:00
Enrico Ros d9e46378ba LiveFile: Ready to Load 2024-07-22 02:05:02 -07:00
Enrico Ros 2c30790d4f Conversation: rename _abortController (and don't export/import it) 2024-07-22 02:02:47 -07:00
Enrico Ros f5ccd060a7 Attachments: Auto-select fix 2024-07-21 23:57:37 -07:00
Enrico Ros be40150515 LiveFile: AttachmentFragments 2024-07-21 23:57:15 -07:00
Enrico Ros b6c6317c62 LiveFiles: naming 2024-07-21 20:46:12 -07:00
Enrico Ros 5b00ddc43f LiveFiles: restructure, and store Handle to Attachment fragments 2024-07-21 20:43:52 -07:00
Enrico Ros 75be822b1b Cleanup 2024-07-21 20:11:46 -07:00
Enrico Ros feae7687e8 LiveFiles: relative name conversion on folder drops 2024-07-21 19:52:35 -07:00
Enrico Ros e1ceb02af1 LiveFiles: improve debugging 2024-07-21 19:35:27 -07:00
Enrico Ros 160f440588 LiveFiles: support folders drag/drop 2024-07-21 19:23:13 -07:00
Enrico Ros 3e439e1bef LiveFiles: improve drop 2024-07-21 17:28:08 -07:00
Enrico Ros 073b81cfb9 LiveFiles: async 2024-07-21 17:06:22 -07:00
Enrico Ros 85a832007a AIX: GCTransmitter high-level logic, and remove IntakeHandler 2024-07-20 20:28:45 -07:00
Enrico Ros 2760b7d431 AIX: Update Protocol parsing documentation 2024-07-20 16:17:15 -07:00
Enrico Ros 2bc429851d AIX: sync Readme. 2024-07-20 15:36:48 -07:00
Enrico Ros dbdb94ebcb AIX: PartTransmitter update 2024-07-20 15:36:42 -07:00
Enrico Ros 975672a551 Backup 2024-07-20 15:10:40 -07:00
Enrico Ros 9e095022f4 Roll packages 2024-07-20 15:05:12 -07:00
Enrico Ros 7fcedf452b AIX: OpenAI: split 'assistant' non-streaming wiretypes 2024-07-20 14:59:42 -07:00
Enrico Ros 8618664578 AIX: Remove Oobabooga 2024-07-20 14:59:42 -07:00
Enrico Ros 7405e45db2 AIX: connection options 2024-07-20 14:42:32 -07:00
Enrico Ros 8241386e7f AIX: PartTransmitter 2024-07-20 05:38:56 -07:00
Enrico Ros cf36c4eb8f AIX: update Readme with NS support 2024-07-20 05:37:27 -07:00
Enrico Ros a311531621 AIX: OpenAI: update wiretypes to allow for Mistral/NS 2024-07-20 05:37:14 -07:00
Enrico Ros 2876958ca6 AIX: update README 2024-07-20 04:44:28 -07:00
Enrico Ros 2ad60cddfc Gemini: cleanup Wiretypes 2024-07-20 01:24:46 -07:00
Enrico Ros 12fd0275ee Gemini: document parsing 2024-07-20 01:24:35 -07:00
Enrico Ros 3f66dcb0f6 Gemini: fix FC? 2024-07-20 00:57:50 -07:00
Enrico Ros 6d01c8f41d Gemini: update Wiretypes 2024-07-20 00:44:28 -07:00
Enrico Ros 652b902ece AIX: Update README 2024-07-19 19:13:04 -07:00
Enrico Ros 1225d4da15 AIX: Bits 2024-07-19 18:08:08 -07:00
Enrico Ros f313481727 AIX: Remove Ollama 2024-07-19 17:59:17 -07:00
Enrico Ros 9c84697094 AIX: Api: move away from Intake 2024-07-19 17:33:56 -07:00
Enrico Ros bcd3e3fdb6 AIX: improve architecture diagram 2024-07-19 17:07:24 -07:00
Enrico Ros 05bfbd8028 AIX: sync docs 2024-07-19 15:12:06 -07:00
Enrico Ros 9c07cada05 Effects placeholders 2024-07-19 15:06:03 -07:00
Enrico Ros 3e15ccee59 Empty out filters 2024-07-19 14:58:19 -07:00
Enrico Ros b169b2132c Future SVG filters support 2024-07-19 14:29:51 -07:00
Enrico Ros 6ed461788e Composer Tokens: highlight costs 2024-07-19 14:29:51 -07:00
Enrico Ros c3fea28592 Composer Tokens: extract and cleanup 2024-07-19 13:59:58 -07:00
Enrico Ros fcae1c9902 React: update dependency 2024-07-19 13:39:44 -07:00
Enrico Ros b177ddf3bb AIX: update AixWire namespaces 2024-07-19 13:37:50 -07:00
Enrico Ros 2c64e8e4ec Comment 2024-07-19 03:18:49 -07:00
Enrico Ros bba51ca5f3 MP: use l1Title where available 2024-07-19 03:05:18 -07:00
Enrico Ros a727350f37 MP: Doc: add l1_title 2024-07-19 02:52:46 -07:00
Enrico Ros bde369df29 MP: cleanup types 2024-07-19 02:44:10 -07:00
Enrico Ros 1ba227e449 Roll packages 2024-07-18 16:25:25 -07:00
Enrico Ros 9ad772e39e Merge branch 'refs/heads/main' into feature-multipart
# Conflicts:
#	src/apps/chat/components/message/ChatMessage.tsx
2024-07-18 16:18:36 -07:00
Enrico Ros 68b682ecb9 Merge branch 'refs/heads/main-stable' 2024-07-18 16:17:04 -07:00
Enrico Ros e24fc94af1 Small layout fixes 2024-07-18 15:44:28 -07:00
Enrico Ros a04f91ae64 Improve composer separator 2024-07-17 21:54:25 -07:00
Enrico Ros 4120f7e923 Shortcuts: Active. 2024-07-17 12:21:37 -07:00
Enrico Ros ad28e86d4c Shortcuts: Finalize - looks great 2024-07-17 12:07:58 -07:00
Enrico Ros 9978c45548 Shortcuts: Professional Status Bar 2024-07-17 11:52:48 -07:00
Enrico Ros a874032fba Shortcuts: global rationalization 2024-07-17 09:59:47 -07:00
Enrico Ros b9ba0ad7c9 DEV MODE. Visible/usable only on localhost:3xxx 2024-07-16 17:52:51 -07:00
Enrico Ros 1602664130 AIX: move parser types 2024-07-16 17:24:38 -07:00
Enrico Ros da82810334 Speech Recognition: auto-send on keypress sound 2024-07-16 17:23:50 -07:00
Enrico Ros 73e9357364 Speech Recognition: improve states 2024-07-16 17:23:33 -07:00
Enrico Ros f00a87fc06 Attachments: pure-image website attachments 2024-07-16 03:47:23 -07:00
Enrico Ros 730ed42931 Attachments: show website preview (even if not attached) 2024-07-16 03:32:54 -07:00
Enrico Ros b2787f8bf9 RenderImageURL (and RefDblob) support a plain button render 2024-07-16 03:24:54 -07:00
Enrico Ros d254775f24 Diff: recycle the Add Files button 2024-07-16 02:50:47 -07:00
Enrico Ros 3a6a95704c DesktopDrawer: more visible line compared to 'divider' 2024-07-16 01:56:36 -07:00
Enrico Ros 6bb753d0ae ReplyToBubble: improve inline 2024-07-16 01:56:18 -07:00
Enrico Ros 3aea2b02b7 AIX: Reply-To ordered correctly 2024-07-16 00:53:40 -07:00
Enrico Ros fb9c50f6b3 Text Diff Tool - extends #194 2024-07-16 00:53:11 -07:00
Enrico Ros 332440a6d3 Improve Desktop Nav 2024-07-15 23:42:31 -07:00
Enrico Ros 3b5a6fabee AppTokens: improve 2024-07-15 23:15:05 -07:00
Enrico Ros 426764fcce AIX: Move readme 2024-07-15 21:53:41 -07:00
Enrico Ros 02ca84a467 AIX: Massive updates 2024-07-15 21:49:39 -07:00
Enrico Ros 6fd393949c AIX: Supreme Wire Types 2024-07-15 18:31:07 -07:00
Enrico Ros c8d16c7261 Chat: update Fragments 2024-07-15 18:20:22 -07:00
Enrico Ros 2332372bca AIX: Intake: perfect wire types 2024-07-15 18:18:58 -07:00
Enrico Ros 5bd45e2c2a AIX: Intake: new wire 2024-07-15 15:26:15 -07:00
Enrico Ros 5a7b50ed2f roll packages 2024-07-15 14:27:29 -07:00
Enrico Ros ee469c7759 Merge branch 'refs/heads/main' into feature-multipart 2024-07-15 14:15:16 -07:00
Enrico Ros e075803907 Merge branch 'refs/heads/main-stable' 2024-07-15 14:14:57 -07:00
Enrico Ros 3d57f10a2f Disable play/pause handlers for now
This is meant to have a single key shortcut (e.g. play/pause) to interact with the app.
2024-07-15 13:56:46 -07:00
Enrico Ros 2ece0698cf play/pause handlers 2024-07-15 13:47:42 -07:00
Enrico Ros 43d424f1f8 Improve delete message 2024-07-15 12:57:57 -07:00
Enrico Ros 8428d2af7f AIX: OpenAI basic FC algo
Verified on: Azure, Groq, LMStudio, LocalAI, Mistral, OpenAI, TogetherAI
FC not supported on: Deepseek, Perplexity
FC poorly supported on: OpenRouter (basically only in OpenAI it works)
2024-07-15 03:45:52 -07:00
Enrico Ros ebcb827400 AIX: extract parsers 2024-07-15 02:18:00 -07:00
Enrico Ros e7773f6227 a 2024-07-15 02:10:16 -07:00
Enrico Ros c06250ecb1 AIX: Gemini: improve function calling 2024-07-15 02:05:49 -07:00
Enrico Ros 97786eb396 AIX: Gemini: first code execution 2024-07-15 01:55:40 -07:00
Enrico Ros b1a16517bf AIX: router: Improve dispatch 2024-07-15 01:36:10 -07:00
Enrico Ros 0bfc9545d3 AIX: Gemini: fix wires and parsing 2024-07-15 01:02:23 -07:00
Enrico Ros 9caf7763a5 Bits 2024-07-15 00:09:14 -07:00
Enrico Ros 0db62d0af1 AIX: Gemini: generateContent 2024-07-14 21:41:38 -07:00
Enrico Ros 0bbaf9bf95 AIX: update replyTo 2024-07-14 21:32:52 -07:00
Enrico Ros 80406f855a AIX: misc 2024-07-14 21:31:46 -07:00
Enrico Ros 300b5cafe2 UI: reduce default text size 2024-07-14 21:27:01 -07:00
Enrico Ros cb36cba9ab AIX: dispatch: move adapters 2024-07-14 19:45:39 -07:00
Enrico Ros 7c2026ac37 AIX: Gemini: begin wiring 2024-07-14 19:42:25 -07:00
Enrico Ros 5703c52fd7 AIX: Gemini: optimal wiretypes 2024-07-14 19:34:17 -07:00
Enrico Ros b3eba5c841 AIX: Anthropic: optimal wiretypes 2024-07-14 16:45:35 -07:00
Enrico Ros 4a6d272017 AIX: move dispatch wiretypes 2024-07-14 16:22:09 -07:00
Enrico Ros 26f5f35754 AIX: OpenAI: wiretypes delight 2024-07-14 16:16:22 -07:00
Enrico Ros 8c36502aeb AIX: OpenAI: reduce wiretypes visibility (until necessary) 2024-07-14 16:12:11 -07:00
Enrico Ros 0918d6be07 AIX: OpenAI: perfect wiretypes 2024-07-14 16:04:21 -07:00
Enrico Ros b48b102b35 AIX: intake: lower schema 2024-07-14 15:42:04 -07:00
Enrico Ros 46f98d643f AIX: improve wire types 2024-07-14 15:41:52 -07:00
Enrico Ros a9eccf2819 AIX: dispatch: improve chatGenerate structure 2024-07-14 15:17:55 -07:00
Enrico Ros 98ff38f8e1 Fix code leading spaces removal 2024-07-14 14:37:29 -07:00
Enrico Ros d969f55730 AIX: structure (folders) 2024-07-14 14:28:25 -07:00
Enrico Ros 082236e7d8 AIX: Rationalize hotfixes 2024-07-14 05:05:59 -07:00
Enrico Ros d43c81401e AIX: OpenRouter fixes 2024-07-14 04:44:26 -07:00
Enrico Ros c9824f1486 AIX: Perplexity hotfixes too 2024-07-14 04:32:34 -07:00
Enrico Ros 1e8f49d3a3 AIX: F'n call - F****** Mess 2024-07-14 04:06:32 -07:00
Enrico Ros 42696b82d5 AIX: Azure, Deepseek, Mistral, OpenRouter, Perplexity, Together fixes 2024-07-14 04:06:11 -07:00
Enrico Ros 004596a9c2 Ctrl + Shift + Z to regenerate the last message (very frequent op, frequent shortcut) 2024-07-14 03:50:15 -07:00
Enrico Ros c994f52a79 Bits 2024-07-14 03:49:41 -07:00
Enrico Ros ccff695f3a Fixed tRPC-domain fetchers' errors 2024-07-14 03:08:02 -07:00
Enrico Ros d1c318ed7e Attachments: progress 2024-07-13 22:56:29 -07:00
Enrico Ros 059dbe684c Attachments: vast betterment 2024-07-13 21:55:24 -07:00
Enrico Ros ec3c35095b Attachments: better menu looks 2024-07-13 21:55:24 -07:00
Enrico Ros ad8f5fec5b Attachments: support multiple converters 2024-07-13 18:18:34 -07:00
Enrico Ros 376f1ac5e0 roll packages 2024-07-13 12:45:14 -07:00
Enrico Ros 3978c50afc Browsing: enable page screenshot 2024-07-12 16:53:28 -07:00
Enrico Ros 0d25226c30 Rationalize open blobs in new tab 2024-07-12 16:40:46 -07:00
Enrico Ros f99cc74466 AIX: Reply-To 2024-07-12 15:22:08 -07:00
Enrico Ros 160d09f1d8 Remove obsolete 2024-07-12 14:12:20 -07:00
Enrico Ros f591b1711d Roll tRPC - incredible framework 2024-07-12 14:10:54 -07:00
Enrico Ros b4ce247c71 Replaced old doc 2024-07-12 13:51:20 -07:00
Enrico Ros adc7cd82fa Merge branch 'refs/heads/main' into feature-multipart 2024-07-12 13:49:28 -07:00
Enrico Ros 9327be14b7 LocalAI: new proto fix 2024-07-12 05:19:23 -07:00
Enrico Ros 8fa4fe85c4 Bits 2024-07-12 05:19:13 -07:00
Enrico Ros 2eb61f4777 AIX: Router debug parsing 2024-07-12 04:31:32 -07:00
Enrico Ros 0bdd3addc8 Cleanups 2024-07-12 04:29:31 -07:00
Enrico Ros 756738b540 Fix image tokens estimation 2024-07-12 04:29:20 -07:00
Enrico Ros 6b55bba634 AIX: OpenAI: adapter done 2024-07-12 04:12:35 -07:00
Enrico Ros 3f679ffb6a AIX: Anthropic: improve typing in the intake message conversion 2024-07-12 02:25:27 -07:00
Enrico Ros e87fe870bb AIX: OpenAI: improve FC schema 2024-07-12 01:48:40 -07:00
Enrico Ros 6fc6b23f38 AIX: Intake: improve schemas 2024-07-12 01:48:23 -07:00
Enrico Ros 03d633715a AIX: Anthropic: bits 2024-07-12 01:16:17 -07:00
Enrico Ros 99087ccdf0 FetchFromTRPC: cleanup 2024-07-12 01:15:49 -07:00
Enrico Ros b832025e88 Create 2024-AI-APIs-Comparison.md 2024-07-11 23:06:44 -07:00
Enrico Ros 1e5e3a225c Fix warning on ChatDrawer search 2024-07-11 03:20:11 -07:00
Enrico Ros c6f79b35de Improve Autospeak 2024-07-11 03:11:27 -07:00
Enrico Ros fa97bcc9f5 AIX: Anthropic streaming tool initial support 2024-07-11 02:54:55 -07:00
Enrico Ros a1ef070d49 AIX: client-side controlled debug 2024-07-11 02:54:42 -07:00
Enrico Ros 1db71d9ba7 AIX: dynamic streaming support 2024-07-11 02:31:44 -07:00
Enrico Ros de139cada0 AIX: Dispatch: !streaming 2024-07-11 01:12:02 -07:00
Enrico Ros b994ec8bbc AIX: Anthropic: timeInner 2024-07-11 00:59:15 -07:00
Enrico Ros 90b326da53 Screencap: 200ms delay, to remove the capture window from self 2024-07-11 00:53:28 -07:00
Enrico Ros fa70e6ac9d AIX: Messages API: rescale assistant messages 2024-07-11 00:44:09 -07:00
Enrico Ros a2b5a78454 AIX: from DMessages[] 2024-07-11 00:23:45 -07:00
Enrico Ros 167c944b64 AIX: .chat -> .chatSequence 2024-07-10 23:47:56 -07:00
Enrico Ros 77c7836a93 AIX: Anthropic: cleaner conversion 2024-07-10 23:47:11 -07:00
Enrico Ros 388194e8bc AIX: Anthropic: return token count and rate 2024-07-10 23:46:48 -07:00
Enrico Ros 1f5558a757 AIX: Gemini: wall emoji 2024-07-10 22:53:52 -07:00
Enrico Ros 04c1bd8a1f AIX: Anthropic: hotfix 1 2024-07-10 22:53:23 -07:00
Enrico Ros f431ccf307 AIX: vast improvements to function declarations, function calls, function results, Anthropic requests, image uploads, system prompt extraction 2024-07-10 19:01:11 -07:00
Enrico Ros d06ad58826 Drag/drop bits 2024-07-10 15:16:30 -07:00
Enrico Ros 4d10698cfd Composer: extract the drag/drop component 2024-07-10 15:15:01 -07:00
Enrico Ros a253a5a07a Composer Drop - expand and prioritize vs. Mic 2024-07-10 14:34:26 -07:00
Enrico Ros 3ee3c312ef AIX: First image. 2024-07-10 03:53:33 -07:00
Enrico Ros 83b1e0ffba AIX: Client API first port 2024-07-10 03:30:18 -07:00
Enrico Ros cc7242dfd3 AIX: Aix Client: lightweight types 2024-07-10 02:44:18 -07:00
Enrico Ros 45f6cf29de AIX: Dispatch: port former 2024-07-10 02:43:55 -07:00
Enrico Ros 26dc01e079 AIX: Intake cleanup 2024-07-10 02:43:43 -07:00
Enrico Ros f2659c52e9 AIX: Intake: much better types 2024-07-10 01:40:43 -07:00
Enrico Ros 12d690e264 AIX: Client - Improve types 2024-07-10 00:44:48 -07:00
Enrico Ros 0e0a945686 AIX: Client - Types 2024-07-10 00:12:01 -07:00
Enrico Ros 53cdca277c Cleanups 2024-07-09 23:43:03 -07:00
Enrico Ros 0d7ca3a67e AIX: document the 3 upstream APIs at a features set level 2024-07-09 19:32:21 -07:00
Enrico Ros cab726a327 AIX: fix Gemini with JSON outputs 2024-07-09 19:31:52 -07:00
Enrico Ros 0fbdc465a7 AIX: test streaming 2024-07-09 17:57:18 -07:00
Enrico Ros fcf95457c2 AIX: OpenAI usage parsing 2024-07-09 17:54:11 -07:00
Enrico Ros 415c4e2ec3 OpenAI Wire: full migration 2024-07-09 17:45:20 -07:00
Enrico Ros 7afe4ab477 OpenAI Wire: improve function definition 2024-07-09 17:25:33 -07:00
Enrico Ros 69a58c435b OpenAI Wire: port image generation and moderations 2024-07-09 17:10:42 -07:00
Enrico Ros eecf220bfe Bits 2024-07-09 16:36:45 -07:00
Enrico Ros 10aefa2da3 AIX: undocumented OpenAI types 2024-07-09 16:36:07 -07:00
Enrico Ros ecd0734a6b AIX: new OpenAI types 2024-07-09 16:15:54 -07:00
Enrico Ros 0f6673d6fd Attachments: clean html 2024-07-09 14:15:11 -07:00
Enrico Ros 65feb3f032 Attachments: cleaner html 2024-07-09 13:51:47 -07:00
Enrico Ros 17731931e5 AIX: Ollama: try move 2024-07-09 13:32:57 -07:00
Enrico Ros 06df834435 AIX: Anthropic: try move 2024-07-09 13:25:26 -07:00
Enrico Ros c18806394b AIX: Gemini: try move 2024-07-09 13:00:21 -07:00
Enrico Ros 21ec7219c3 Gemini: update dispatch responses 2024-07-09 12:55:10 -07:00
Enrico Ros b58e0f85f9 Gemini: update dispatch request 2024-07-09 12:39:48 -07:00
Enrico Ros 110ca34e1d Chat Drawer: fix key 2024-07-09 11:23:38 -07:00
Enrico Ros 1d543169e2 AIX: further remove upstream 2024-07-09 11:21:54 -07:00
Enrico Ros 45d464cb93 Style 2024-07-09 11:13:33 -07:00
Enrico Ros f60158f0fe Chat Drawer Filtering: improved 2024-07-09 11:07:10 -07:00
Enrico Ros cf903ab6ce AIX: Restructure 2024-07-09 10:57:11 -07:00
Enrico Ros 6b11291284 AIX: Rename router 2024-07-09 10:07:44 -07:00
Enrico Ros dd3993ec4f AIX: Remove Testing code 2024-07-09 10:07:34 -07:00
Enrico Ros faaf31e426 Filter for Attachments 2024-07-09 09:29:22 -07:00
Enrico Ros 30ad8f107d MP: improve sentinels 2024-07-09 09:27:54 -07:00
Enrico Ros 2922b4c1dc Style 2024-07-09 08:58:46 -07:00
Enrico Ros 958ac6b3b9 Doc Fragments Editor: title 2024-07-09 08:42:39 -07:00
Enrico Ros 548f7e47c5 Fix mime resolution from extension 2024-07-09 08:25:00 -07:00
Enrico Ros 1ebb04bae6 Support Docx. #588 2024-07-09 07:35:47 -07:00
Enrico Ros cb37f05728 Merge branch 'refs/heads/main' into feature-multipart 2024-07-09 06:50:10 -07:00
Enrico Ros 0b3b4a6417 Reverse proxy instructions. Fixes #587 2024-07-09 06:49:48 -07:00
Enrico Ros 7cf30e3a3a Merge branch 'refs/heads/main' into feature-multipart
# Conflicts:
#	src/apps/chat/AppChat.tsx
2024-07-08 17:55:30 -07:00
Enrico Ros 0bf2700687 Close #581 2024-07-08 17:39:23 -07:00
Enrico Ros c773359c0b Update env. 2024-07-08 17:19:33 -07:00
Enrico Ros b80d801acb K8S: link to docs 2024-07-08 17:15:01 -07:00
Enrico Ros 1bdd1dbcc4 Merge branch 'pichuang-k8s' 2024-07-08 17:10:21 -07:00
Enrico Ros 66637feb73 K8S: cleanup 2024-07-08 17:08:54 -07:00
Enrico Ros 22fb33b8a5 Merge branch 'k8s' of https://github.com/pichuang/big-agi into pichuang-k8s 2024-07-08 16:42:44 -07:00
Enrico Ros 8ea3eb7493 Zen mode improvements. Fixes #586 2024-07-08 16:32:36 -07:00
Enrico Ros 3addc4e2ac AIX: fix build 2024-07-07 05:02:37 -07:00
Enrico Ros 7ff7e489ab Merge branch 'refs/heads/main' into feature-multipart
# Conflicts:
#	src/apps/chat/AppChat.tsx
#	src/apps/chat/components/ChatMessageList.tsx
#	src/apps/personas/creator/Creator.tsx
2024-07-07 04:43:21 -07:00
Enrico Ros 95aa0da014 Merge branch 'fork/mapringg/mac-shortcuts' 2024-07-07 04:21:24 -07:00
Enrico Ros b12637267b Small cleanups with shortcut fixes 2024-07-07 04:20:23 -07:00
Enrico Ros 3a44f70db9 AI Persona Creator: Update the react state after 575 2024-07-07 03:55:55 -07:00
Enrico Ros 92206d9740 Merge pull request #575
[BUG] Fixes text on AI Personas Creator panel
2024-07-07 03:52:30 -07:00
Enrico Ros bddd91df2a Merge branch 'fork/mapringg/feature/deepseek-vendor' 2024-07-07 03:36:51 -07:00
Enrico Ros 144ead8cfe Deepseek: cleanups
Mostly reordered the properties in alphabetical order
and made sure that models are listed dynamically (for future changes)
2024-07-07 03:34:45 -07:00
Enrico Ros 185f8e7f44 roll tRPC w/ #5851 2024-07-07 02:52:39 -07:00
Enrico Ros 1538cd83af roll packages 2024-07-07 02:49:06 -07:00
Sorawit Kongnurat 027f7deb3a feat: implement deepseek vendor 2024-07-07 16:02:08 +07:00
Enrico Ros 4043a6098b Aix: handle abort signals on both server and client 2024-07-06 06:24:01 -07:00
Enrico Ros 92b913be98 Aix: use backend fetchers 2024-07-06 05:52:11 -07:00
Enrico Ros 8505ba6b84 Backend Fetchers: improve 2024-07-06 05:38:26 -07:00
Enrico Ros c6973f6b4e OpenRouter: remove non-free 2024-07-06 05:21:10 -07:00
Enrico Ros 94eddaff3f Backend fetchers: allow signals 2024-07-06 04:35:58 -07:00
Sorawit Kongnurat f38be4aff3 feat: replace useGlobalShortcut with useGlobalShortcuts
Ignore alt key for mac users.
2024-07-06 15:41:45 +07:00
Sorawit Kongnurat 3ea78fcf9f Merge branch 'main' into mac-shortcuts 2024-07-06 14:31:58 +07:00
Enrico Ros 78cfcc6206 AIX: improve Gemini and issue reporting 2024-07-05 18:45:23 -07:00
Enrico Ros 9c5d4a18ce Audio: Wire Chime (disabled) 2024-07-05 18:31:05 -07:00
Enrico Ros aa48b4d596 Audio: Add Generator 2024-07-05 17:11:10 -07:00
Enrico Ros 265acd9345 Audio: Add Generator 2024-07-05 16:38:41 -07:00
Enrico Ros 34ec1d5671 Audio: Port Player 2024-07-05 16:33:19 -07:00
Enrico Ros 4a1f4f0a01 Bits 2024-07-05 13:42:47 -07:00
Enrico Ros 850528820f AIX: define new low-level APIs 2024-07-05 02:55:34 -07:00
Enrico Ros 4dc8197c51 paste over 2024-07-04 16:28:04 -07:00
Enrico Ros 42e97eed4c Persona: port Throttle 2024-07-04 03:18:07 -07:00
Enrico Ros 065f30ac38 Persona: port AutoSpeak 2024-07-04 02:55:10 -07:00
Enrico Ros 9e705a12b1 Bits 2024-07-04 02:09:43 -07:00
Enrico Ros b8144f0748 AIX: flow cleanup 1 2024-07-04 01:29:56 -07:00
Enrico Ros e5b5faad3e Style2 2024-07-03 22:36:11 -07:00
Enrico Ros f840c1d424 Style 2024-07-03 20:30:36 -07:00
Enrico Ros eabd268874 AIX: client-side wire 2024-07-03 20:19:52 -07:00
Enrico Ros 06aadc543a AIX: redo all uplink parsers 2024-07-03 19:58:11 -07:00
Enrico Ros 2a410f52b5 AIX: improved all uplinks 2024-07-03 19:57:09 -07:00
Enrico Ros eb7a32ed16 AIX: redo the Upstream engine 2024-07-03 15:55:19 -07:00
Enrico Ros 14118d3056 Tokens: rationalize 2024-07-03 11:42:46 -07:00
Enrico Ros c8b3d8ad9b AIX: exception trap 2024-07-03 01:52:15 -07:00
Enrico Ros a097b32d5c AIX: types migration 2024-07-03 01:31:13 -07:00
Enrico Ros 0a88a9cee6 Cleanup Execute Mode labels 2024-07-03 00:17:36 -07:00
Enrico Ros bef1c0c5fc Extract ChatExecuteMode 2024-07-02 23:51:24 -07:00
Enrico Ros 52e6ef436f change ChatModeIds 2024-07-02 22:48:17 -07:00
Enrico Ros ad0617de90 roll PDFjs 2024-07-02 21:40:09 -07:00
Enrico Ros 1753c1a40a AutoSuggestions: controllable LLM 2024-07-02 21:37:49 -07:00
Enrico Ros 13b7004959 roll packages 2024-07-02 21:33:25 -07:00
Enrico Ros 3b9a21bbf7 AIX: remove tRPC router: not ready - will hand-roll it 2024-07-02 21:32:02 -07:00
Enrico Ros 5f0beb9d00 AIX: move stream debug 2024-07-02 00:38:03 -07:00
Enrico Ros 8411a73589 AIX: test router and client 2024-07-01 23:29:24 -07:00
Enrico Ros 009a3751c0 AIX: update fc schema 2024-07-01 23:28:52 -07:00
Enrico Ros adef88e358 roll packages 2024-07-01 22:44:14 -07:00
Enrico Ros f8b9df7bf0 AIX: function calling types 2024-07-01 21:58:18 -07:00
Enrico Ros c6fa3e1d24 Export: update backup file name 2024-07-01 21:26:31 -07:00
Enrico Ros ae24dd1e28 Bits 2024-07-01 21:26:31 -07:00
Enrico Ros 1efca7dd48 Ollama: update models 2024-06-28 02:32:35 -07:00
Jason Baker 3178f4e7e9 Fixes text on AI Personas Creator panel 2024-06-28 00:12:20 -07:00
Enrico Ros e00f61dcd0 MP: bits 2024-06-25 12:18:02 -07:00
Enrico Ros 6a5774aae7 MP: bifurcate persona generation 2024-06-25 03:27:38 -07:00
Enrico Ros 5119061861 MP: improve history editing 2024-06-25 03:11:52 -07:00
Enrico Ros fdfbae334a MP: re-enable reply to... 2024-06-25 03:03:59 -07:00
Enrico Ros e3fce43e62 Merge pull request #572 from JeremiLorenti/patch-1
Update DallESettings.tsx
2024-06-25 02:15:25 -07:00
Enrico Ros 9251f8ff0e MP: re-enable auto-draw... 2024-06-25 01:49:16 -07:00
Enrico Ros 18ef40f6f4 MP: bifurcate generate-text 2024-06-25 01:42:32 -07:00
Enrico Ros 46887d1d9f MP: reuse more fragment functions 2024-06-25 01:28:57 -07:00
Enrico Ros 632d10e9e3 MP: fix the execution pipeline 2024-06-25 01:08:56 -07:00
Enrico Ros 9fa33eea73 MP: fix editing 2024-06-24 22:29:21 -07:00
Enrico Ros 2c4c13bc2c MP: fix 'ph' reducing and token counting 2024-06-24 22:16:03 -07:00
Enrico Ros 33f8a4eb3a Message pricing: show min, and max on hover 2024-06-24 22:15:29 -07:00
Jeremi Lorenti aa7959a970 Update DallESettings.tsx
Changed the label for the "Hyper-Real" setting from "Relistic" to "Realistic" to correct the spelling mistake and improve clarity in the UI.
2024-06-25 01:12:42 -04:00
Enrico Ros 7471bc0bb2 roll packages 2024-06-24 21:41:22 -07:00
Enrico Ros b257f75e53 Screen Capture: enable for everyone 2024-06-24 20:25:13 -07:00
Enrico Ros 455e279216 MP: enter Docs 2024-06-24 20:19:43 -07:00
Enrico Ros 7fd359852a Browse: get page title too 2024-06-24 18:44:34 -07:00
Enrico Ros 82ecfdbd37 DMessage: remove Sender 2024-06-24 17:41:50 -07:00
Enrico Ros 478452983f MP: port to Embeds 2024-06-24 17:19:13 -07:00
Enrico Ros 5c1a7d485f Merge pull request #570 from blakkd/patch-1
Correct LocalAI URL
2024-06-24 04:39:56 -07:00
Enrico Ros 39c4ce9240 bits 2024-06-24 03:16:58 -07:00
Enrico Ros da49585df5 MP: improve Ego-Fragments 2024-06-24 01:34:54 -07:00
Enrico Ros 0b9bee02fe MP: begin converting Attachments 2024-06-23 21:33:40 -07:00
Enrico Ros 00e5d1ae27 MP: move towards typed parts 2024-06-23 21:16:03 -07:00
blakkd b290d63926 Correct LocalAI URL 2024-06-24 06:10:30 +02:00
Enrico Ros 1b5438cc6c MP: renames 2024-06-23 20:44:48 -07:00
Enrico Ros 17323facce Blocks: cleanups 2024-06-23 20:24:27 -07:00
Enrico Ros bc9dedeea4 MP: cleanup Content fragments 2024-06-23 20:22:05 -07:00
Enrico Ros 1b3a383b53 Blocks: rename to AutoBlocksRenderer 2024-06-23 20:09:27 -07:00
Enrico Ros 4e0a535402 Blocks: cleanups 2024-06-23 19:56:55 -07:00
Enrico Ros 0005db1b33 Blocks: extract iframe rendering 2024-06-23 19:18:28 -07:00
Enrico Ros 5cd74031be Blocks: rename 2024-06-23 19:07:24 -07:00
Enrico Ros facb85b5da Rename to an Anthropic-compatible naming (part 1) 2024-06-23 18:46:41 -07:00
Enrico Ros 5f97d17837 anthropic model naming 2024-06-23 01:10:53 -07:00
Enrico Ros af722e09f8 bits 2024-06-23 00:55:57 -07:00
Enrico Ros 959edf6010 MP: cleanups/enablers 2024-06-22 23:58:15 -07:00
Enrico Ros d08f183394 roll trpc 2024-06-22 23:25:20 -07:00
Enrico Ros da541ae182 MP: Extract Fragments to own file 2024-06-22 23:12:12 -07:00
Enrico Ros 4582c4c03d MP: Typesystem Sentinels 2024-06-22 21:52:30 -07:00
Enrico Ros 8c7d70d434 Debug 2024-06-22 18:01:59 -07:00
Enrico Ros fcf9f9e562 MP: disable images editing 2024-06-22 17:31:21 -07:00
Enrico Ros 7bb0fb294a MP: full document editing 2024-06-22 17:01:50 -07:00
Enrico Ros 2e7b5ba5f0 Fix enter is newline on editing 2024-06-22 16:41:08 -07:00
Enrico Ros 6b017f3678 style 2024-06-22 16:34:41 -07:00
Enrico Ros a303d00900 style 2024-06-22 16:34:26 -07:00
Enrico Ros aaa351dca4 Revert "code block detection: assume the ``` has a newline before the end of block"
Because the Diagrams stopped working in the modal.

This reverts commit ee5fb5361c.
2024-06-22 16:25:17 -07:00
Enrico Ros ee5fb5361c code block detection: assume the ``` has a newline before the end of block 2024-06-22 16:18:37 -07:00
Enrico Ros aaffcdbfeb Style 2024-06-22 16:13:09 -07:00
Enrico Ros a8fefb5a90 Document Editor: inline editing 2024-06-22 16:05:54 -07:00
Enrico Ros 8e3b07fa49 Document Fragment Button: variable height 2024-06-22 15:57:35 -07:00
Enrico Ros 36ac618e88 bits 2024-06-22 15:56:24 -07:00
Enrico Ros ab0eeae1e3 BlocksRenderer: plain code rendering mode 2024-06-22 15:55:32 -07:00
Enrico Ros f74adffa12 MP: Fix overall layout 2024-06-22 15:08:52 -07:00
Enrico Ros 8f23f41e2f bits 2024-06-22 13:20:05 -07:00
Enrico Ros 7d04844c6a DocumentFragment: improve 2024-06-21 03:47:53 -07:00
Enrico Ros c301dcc226 TextAttachmentFragment: works 2024-06-21 03:13:30 -07:00
Enrico Ros 8dd4ece730 PartImageRefDBlob: extract 2024-06-21 02:49:27 -07:00
Enrico Ros 75bd68f9fe PartImageRef: improve bifurcation 2024-06-21 02:18:58 -07:00
Enrico Ros 96af022afa BlocksRenderer: remove isBottom 2024-06-21 02:18:58 -07:00
Enrico Ros c570c68f1b TextAttachments: begin 2024-06-21 02:18:58 -07:00
Enrico Ros 21a226a486 Restore the Bubble menu 2024-06-21 00:06:01 -07:00
Enrico Ros 2695cb8e46 MP: align items correctly 2024-06-21 00:06:01 -07:00
Enrico Ros 2207405ebc MP: improve text part addition 2024-06-20 23:34:42 -07:00
Enrico Ros 3802123147 Double-click to edit: on again (differentiator) 2024-06-20 20:24:05 -07:00
Enrico Ros c6c630f5c6 Auto-UI: add one more message 2024-06-20 20:22:11 -07:00
Enrico Ros 7c76a17c08 RenderCode: borderless 2024-06-20 20:08:43 -07:00
Enrico Ros 5ba7723fa0 shift to delete without confirmation 2024-06-20 19:12:35 -07:00
Enrico Ros 87ff07c850 Debug: print DMessage 2024-06-20 19:05:34 -07:00
Enrico Ros 71e1a2eeec MP: render Image Attachments 2024-06-20 18:48:32 -07:00
Enrico Ros 88fba0f53a MP: cluster fragments 2024-06-20 17:40:54 -07:00
Enrico Ros 07260a8e06 ChatMessage: pass mobile 2024-06-20 17:37:26 -07:00
Enrico Ros c1d155b569 ImageRender(DataRef): Change buttons order 2024-06-20 17:36:10 -07:00
Enrico Ros 7e7cfe1db1 ContentPartImage: introduce a lighter variant 2024-06-20 17:35:27 -07:00
Enrico Ros d27a44ab7f TS 5.5.2 fixes 2024-06-20 14:55:02 -07:00
Enrico Ros 2adcca1cda roll packages 2024-06-20 14:43:43 -07:00
Enrico Ros cf854b7262 Merge branch 'refs/heads/main' into feature-multipart 2024-06-20 12:43:06 -07:00
Enrico Ros ecb0e07312 Merge branch 'refs/heads/main-stable' 2024-06-20 12:42:51 -07:00
Enrico Ros 8b2b88c7cb Merge branch 'refs/heads/main' into feature-multipart 2024-06-20 12:28:53 -07:00
Enrico Ros 9af1a6a16b Merge branch 'refs/heads/main-stable' 2024-06-20 12:28:36 -07:00
Enrico Ros d1ac9adc7e executor: bits 2024-06-20 11:41:31 -07:00
Enrico Ros 513edf90f7 executor: begin cleanups 2024-06-19 19:48:48 -07:00
Enrico Ros 60d47510ab Auto-UI: further improve 2024-06-19 19:33:31 -07:00
Enrico Ros 5b7b9837f0 Chats: group by conversation size 2024-06-19 19:27:29 -07:00
Enrico Ros 333c3327c4 Text areas: deprecate enterIsNewline on text edits that have buttons 2024-06-19 18:59:55 -07:00
Enrico Ros 9723c98940 Auto-suggestions: cleanups 2024-06-19 18:47:38 -07:00
Enrico Ros 97604f3c5b Auto-UI: update 2024-06-19 18:40:30 -07:00
Enrico Ros 044f18da46 bits 2024-06-19 18:08:44 -07:00
Enrico Ros 53946b9523 Llms: begin cleaning up 2024-06-19 18:07:16 -07:00
Enrico Ros fd8f88c5e4 Chat: reorg 2024-06-19 13:29:01 -07:00
Enrico Ros e7d15ce2b0 bits 2024-06-19 12:55:02 -07:00
Enrico Ros ff1d98a87e MP: Improve ownership, restore GC 2024-06-19 11:58:09 -07:00
Enrico Ros accc68cd28 Attachments: cleanup of ownership 2024-06-19 11:57:45 -07:00
Enrico Ros b2c7bc980f DBlobs: type Context and Scope 2024-06-19 11:51:49 -07:00
Enrico Ros 75fbe8d5d8 PDFUtils: skip load in dev 2024-06-19 11:34:18 -07:00
Enrico Ros 13ebf3b3aa Composer: cleanups 2024-06-19 11:13:44 -07:00
Enrico Ros 916d3812db MP: Update follow-up prompts 2024-06-19 09:44:04 -07:00
Enrico Ros 90610c819b MP: AppChat: send logic 2024-06-19 09:22:23 -07:00
Enrico Ros a5f6f62559 Hide the block title when rendering html. 2024-06-19 08:49:16 -07:00
Enrico Ros bfb3501dec MP: Composer: go out in multipart 2024-06-18 16:30:26 -07:00
Enrico Ros c0513c50b1 MP: Attach: cleanups 2024-06-18 15:54:16 -07:00
Enrico Ros bcf4baf004 MP: Attach: rationalize 2024-06-18 15:35:20 -07:00
Enrico Ros 53bf948a04 ChatMessage: extract avatars 2024-06-18 14:47:13 -07:00
Enrico Ros 2186d91f89 MP: ChatMessage: Attachments begin 2024-06-18 14:47:13 -07:00
Enrico Ros aaf856a503 MP: ChatMessage: extract Fragments list 2024-06-18 14:19:57 -07:00
Enrico Ros 8af625b7dc Code: fix render lines suppression 2024-06-18 14:03:30 -07:00
Enrico Ros 4690891757 Code: render lines 2024-06-18 12:57:24 -07:00
Enrico Ros bb3e17c0fa Cleanups 2024-06-18 11:31:49 -07:00
Enrico Ros 7965df5ff2 Text Parts Editor: buttons to edit 2024-06-18 03:55:34 -07:00
Enrico Ros 5b5f0a5a8d Text Parts Editor: style 2024-06-18 02:56:32 -07:00
Enrico Ros fdb087a39b Text Parts Editor: works! 2024-06-18 02:43:34 -07:00
Enrico Ros 97749378d6 Text Parts Editor: begin 2024-06-18 02:43:26 -07:00
Enrico Ros 63dc2301ff Bits 2024-06-18 01:13:00 -07:00
Enrico Ros 5659c0bc70 Auto-UI: Remove bloat 2024-06-18 00:11:32 -07:00
Enrico Ros 1e288ab0fd Auto-UI: Update prompts 2024-06-17 21:37:04 -07:00
Enrico Ros 4f058a0174 RenderHTML: use a simple CSS reset and coalesce timers 2024-06-17 21:06:52 -07:00
Enrico Ros 7284114565 Code render: improve fallback while loading 2024-06-17 20:13:07 -07:00
Enrico Ros 0b2592dbd7 tRPC: un-batch for now 2024-06-17 19:53:38 -07:00
Enrico Ros edfaf6f002 Cleaner errors 2024-06-17 19:49:20 -07:00
Enrico Ros da3990b614 Save toolbar space 2024-06-17 19:49:16 -07:00
Enrico Ros 25740ae13c MP: Image parts support deletion 2024-06-17 19:48:37 -07:00
Enrico Ros fb4c05f698 Bits 2024-06-17 18:48:22 -07:00
Enrico Ros a0c4e37c94 MP: Remove duplicate Placeholdering 2024-06-17 18:23:17 -07:00
Enrico Ros 278caf6f0c MP: Rename PH 2024-06-17 16:33:43 -07:00
Enrico Ros 2ce0c61f83 MP: Add Placeholder and Error parts 2024-06-17 16:23:10 -07:00
Enrico Ros afb25324a7 DMessage: logic to index by fragmentIds 2024-06-17 11:23:47 -07:00
Enrico Ros ba1b761c08 DMessage: add fragment Id (not unique) and a type sentinel 2024-06-17 09:04:56 -07:00
Enrico Ros 0e2d4af617 tRPC-11: workaround a transformation bug in SuperJSON/tRPC/NextJS
May be related to:
- https://github.com/blitz-js/superjson/issues/242
- https://github.com/blitz-js/superjson/issues/283
2024-06-17 00:36:08 -07:00
Enrico Ros 1b0b54a072 tRPC-11: Loading states with React-Query 2024-06-17 00:12:47 -07:00
Enrico Ros 9c629d3c5c tRPC-11: Server 2024-06-17 00:12:47 -07:00
Enrico Ros 173af4e459 Bits 2024-06-17 00:12:47 -07:00
Enrico Ros c0f12c0a5d tRPC-11: Client 2024-06-17 00:12:47 -07:00
Enrico Ros 390605fe66 Roll packages 2024-06-16 17:42:26 -07:00
Enrico Ros e4bd5f865c Migrate to scoped nanoid() 2024-06-16 17:33:46 -07:00
Enrico Ros b31c891772 Fix compile 2024-06-16 17:26:32 -07:00
Enrico Ros 08e4016972 Auto-ui: include prompt auto-mix-in 2024-06-15 17:38:37 -07:00
Enrico Ros aea7eb6ba3 Auto-ui: improve rendering and integration 2024-06-15 17:24:10 -07:00
Enrico Ros 5496750085 Auto-ui: better execution security 2024-06-15 17:23:54 -07:00
Enrico Ros 4b9709898c Auto-ui: improve settings 2024-06-15 16:49:35 -07:00
Enrico Ros 705daac737 RenderHTML: do not scroll the parent frame when keys are pressed within 2024-06-15 02:51:09 -07:00
Enrico Ros a802b32f47 Auto-HTML UI: auto-render
Added DANGER disclaimers in the code and UI. Just a testing mode for fun.
2024-06-15 01:09:32 -07:00
Enrico Ros 8b8db5e447 Auto-HTML UI test 2024-06-15 00:15:58 -07:00
Enrico Ros 3ee44599c7 MP: Auto-diagrams (chat) fix. 2024-06-14 23:52:20 -07:00
Enrico Ros 2955a41ed5 Attachments: lower the image quality a tad (very large files) 2024-06-14 22:46:23 -07:00
Enrico Ros a52802c882 Attachments: when resizing (openai-*), force format conversion 2024-06-14 22:46:10 -07:00
Enrico Ros b46c70512a Beam: fix #552 2024-06-14 18:29:12 -07:00
Enrico Ros 18f91e2eeb Beam: flatter design 2024-06-14 17:53:52 -07:00
Enrico Ros 9296984569 Layout: preserve state on resizes 2024-06-14 15:24:14 -07:00
Enrico Ros 7b835d9855 Draw: use the queue 2024-06-14 08:52:40 -07:00
Enrico Ros ce23b9169b Misc 2024-06-14 01:16:45 -07:00
Enrico Ros 47a535d309 Chat: show has drawings icon 2024-06-13 23:17:53 -07:00
Enrico Ros 6342801aa0 Bits 2024-06-13 22:55:46 -07:00
Enrico Ros 50c00f5516 Bootup to the right drawer opening state 2024-06-13 22:53:15 -07:00
Enrico Ros 4a49678fb6 T2I: rename providerId 2024-06-13 22:34:54 -07:00
Enrico Ros 0f10b8f677 MP: filter chats for images 2024-06-13 22:21:45 -07:00
Enrico Ros d8433b79cc MP: regenerate in place 2024-06-13 21:40:49 -07:00
Enrico Ros f94f640212 MP: share common draw/store logic 2024-06-13 18:19:02 -07:00
Enrico Ros 5cf779757f MP: improve fetch logic? 2024-06-13 17:40:19 -07:00
Enrico Ros d49acf379e DBlobs: show usage if storage persistence fails 2024-06-13 16:36:06 -07:00
Enrico Ros b9bff4abc0 DBlobs: try to persist with the browser 2024-06-13 16:24:06 -07:00
Enrico Ros 6fc4dbe9d1 CSS fix 2024-06-13 16:09:31 -07:00
Enrico Ros cca8132a2c DBlobs: rationalize image usage and GC 2024-06-13 16:02:21 -07:00
Enrico Ros 91654ca219 Chat: option to regenerate images in-place 2024-06-13 03:57:48 -07:00
Enrico Ros 547d7eca59 Draw: gallery empty state 2024-06-13 03:13:41 -07:00
Enrico Ros b86bf31baa DBlob: fixup post-rename 2024-06-13 02:54:43 -07:00
Enrico Ros 5b5b4efe42 Chat symbol: render support 2024-06-13 02:47:21 -07:00
Enrico Ros e9fb65edba DBlobs: refactor DBlobAssetId 2024-06-13 02:42:43 -07:00
Enrico Ros cc1cba9aa8 DBlobs: refactor 2024-06-13 02:06:10 -07:00
Enrico Ros a765c566c8 DBlobs: simplify 2024-06-13 01:19:13 -07:00
Enrico Ros 63e9022b84 add Nanoid 2024-06-13 00:29:16 -07:00
Enrico Ros 368a995e7f DBlobs: rename the table 2024-06-13 00:29:16 -07:00
Enrico Ros c844c66b5a DBlobs: survive hot reloads 2024-06-12 23:27:24 -07:00
Enrico Ros 73b18313e9 Draw: layout 2024-06-12 23:09:48 -07:00
Enrico Ros bdd68dc6c9 DBlobs: sanity fix 2024-06-12 23:08:08 -07:00
Enrico Ros 3901b94382 Draw: add rounded 2024-06-12 22:11:06 -07:00
Enrico Ros 82ac276338 Draw: fix layout 2024-06-12 22:07:16 -07:00
Enrico Ros 02c9f3ebdb Draw: bare bones enhancer 2024-06-12 15:52:10 -07:00
Enrico Ros 364ad63877 Draw: Merge T2I back into DrawCreate 2024-06-12 02:43:44 -07:00
Enrico Ros 5fc4196d01 Draw: fix fallbacks 2024-06-12 02:24:56 -07:00
Enrico Ros 3a1e10bd21 Fix wrapping of radios 2024-06-12 02:10:59 -07:00
Enrico Ros 73519ec562 Draw: configure provider opens up top 2024-06-12 01:15:33 -07:00
Enrico Ros bf9c9916b1 Draw: improve prompt composer 2024-06-12 01:15:04 -07:00
Enrico Ros 01d017c6cd Draw: dynamic header 2024-06-12 00:37:44 -07:00
Enrico Ros ca98ab02d8 Draw: improve numbers 2024-06-12 00:37:36 -07:00
Enrico Ros 347804a02e Draw: fix dom 2024-06-11 23:43:47 -07:00
Enrico Ros 4c80f8dbf4 Draw: improve 2024-06-11 23:41:16 -07:00
Enrico Ros 73ee96040f Draw: heading 2024-06-11 22:09:04 -07:00
Enrico Ros 6180da1333 MP: cleanups 2024-06-11 19:53:44 -07:00
Enrico Ros 2756ff6ad0 MP: fix 2024-06-11 19:50:03 -07:00
Enrico Ros e57491b812 MP: DBlob GC on message/chat deletion 2024-06-11 19:50:00 -07:00
Enrico Ros 9d8ae538d9 Draw: thumbnail in gallery 2024-06-11 19:41:12 -07:00
Enrico Ros dd7defd2c7 DBlobs: auto-gen image thumbnail 2024-06-11 19:41:04 -07:00
Enrico Ros e79ec45b5b Draw: bare bones gallery 2024-06-11 19:13:48 -07:00
Enrico Ros 1a138bbc16 DesktopDrawer: do not get in the way when closed 2024-06-11 19:11:09 -07:00
Enrico Ros b067165471 Draw: cleans 2024-06-11 18:31:37 -07:00
Enrico Ros 6fbcbb9399 Draw: renames 2024-06-11 15:11:22 -07:00
Enrico Ros aaf77b4e20 Draw: renames 2024-06-11 15:06:18 -07:00
Enrico Ros f5cc2e952b Draw: sections 2024-06-11 14:50:02 -07:00
Enrico Ros eeab362567 cleanups 2024-06-11 14:45:49 -07:00
Enrico Ros 834205c426 DBlobs: renames 2024-06-11 14:13:17 -07:00
Enrico Ros fbad8ca62e DBlobs: gc on chat images 2024-06-11 13:48:21 -07:00
Enrico Ros 1e4c6f13c5 MP: show images 2024-06-11 12:56:12 -07:00
Enrico Ros b7c2b3d4cb RenderImageURL: improve greatly 2024-06-11 12:53:55 -07:00
Enrico Ros 0d5b7d36f1 Message Fragments: update v-layout 2024-06-11 12:10:47 -07:00
Enrico Ros 059886fede Mobile menu: shrink a bit 2024-06-11 12:08:22 -07:00
Enrico Ros db7dd0ca43 DBlobs: 'ot' for the origin type 2024-06-11 12:07:53 -07:00
Enrico Ros f4c611b47d DBlobs: reactive live hooks 2024-06-11 01:51:08 -07:00
Enrico Ros 39c32646c5 Merge branch 'refs/heads/main' into feature-multipart 2024-06-10 23:57:05 -07:00
Enrico Ros 1720fffbdc Merge remote-tracking branch 'refs/remotes/opensource/main-stable' 2024-06-10 23:56:43 -07:00
Enrico Ros 6c51cd0d1d Fix Tooltip on errors 2024-06-10 23:54:59 -07:00
Enrico Ros cb9cdc508a MP: rename Content Parts 2024-06-10 23:35:53 -07:00
Enrico Ros 7d037a206f MP: enable multipart edits 2024-06-10 22:41:46 -07:00
Enrico Ros ace10ab4be MP: begin Fragment extraction and simplify BlockRenderer 2024-06-10 21:46:45 -07:00
Enrico Ros bc0a7b6ac3 Rename RenderImageURL 2024-06-10 21:45:40 -07:00
Enrico Ros e77e2045e3 MP: Message porting skel 2024-06-10 19:29:01 -07:00
Enrico Ros abbd55c740 Message: renames 2024-06-09 19:16:46 -07:00
Enrico Ros bf5e80a462 MP: adapt ego attachment, messageSingleTextOrThrow-- 2024-06-09 19:00:01 -07:00
Enrico Ros 121deaae5f bits 2024-06-09 18:01:49 -07:00
Enrico Ros 80317232ba MP: improve fragment typings 2024-06-09 17:44:25 -07:00
Enrico Ros 22f815dcd1 do not load 'pdfjs-dist' during development, to make '--turbo' work 2024-06-09 17:07:36 -07:00
Enrico Ros fb96c3ab47 Merge branch 'refs/heads/main' into feature-multipart
# Conflicts:
#	src/modules/aifn/autosuggestions/autoSuggestions.ts
#	src/modules/aifn/autotitle/autoTitle.ts
2024-06-07 14:24:03 -07:00
Enrico Ros 3b15ad51a1 Merge branch 'refs/heads/main-stable' 2024-06-07 14:23:21 -07:00
Enrico Ros 5066336c75 Merge branch 'refs/heads/main-stable' 2024-06-07 12:16:49 -07:00
Enrico Ros 0807744577 Option to see model interfaces 2024-06-07 12:09:38 -07:00
Enrico Ros 59f871d3ec Merge branch 'refs/heads/main' into feature-multipart
# Conflicts:
#	src/apps/chat/editors/chat-stream.ts
#	src/modules/beam/gather/instructions/ChatGenerateInstruction.tsx
#	src/modules/beam/scatter/beam.scatter.ts
2024-06-06 22:15:17 -07:00
Enrico Ros fed351a2fc Merge branch 'refs/heads/main-stable'
# Conflicts:
#	package-lock.json
#	package.json
#	src/common/util/token-counter.ts
2024-06-06 22:11:43 -07:00
Enrico Ros aeb129e422 roll: minor packages 2024-06-06 11:21:23 -07:00
Enrico Ros 3050b546ac Gemini: update 2024-06-06 10:13:37 -07:00
Enrico Ros 1429726ba6 Gemini: update 2024-06-06 10:10:06 -07:00
Enrico Ros 4075581acd Add Codestral - Fixes #558 2024-06-06 09:59:31 -07:00
Enrico Ros 56774fd974 roll: mermaid 10.9.1 from CDN 2024-06-06 09:36:08 -07:00
Enrico Ros 5e674d2299 Dynamic won't be required from Next 15 2024-06-04 20:49:05 -07:00
Enrico Ros 06f5b6d6ff Silence warnings by declaring asyncFunction available on the browsers side 2024-06-04 20:44:01 -07:00
Enrico Ros b25b4e6c8f roll: next 14.2 2024-06-04 20:05:06 -07:00
Enrico Ros 645e07dba8 roll: pdfjs-dist 2024-06-04 20:04:51 -07:00
Enrico Ros 46181fcaa2 roll: misc 2024-06-04 19:32:08 -07:00
Enrico Ros 8d7ae425f9 roll: cloudflare/puppeteer 2024-06-04 18:34:56 -07:00
Enrico Ros 7d572334a1 roll: misc 2024-06-04 18:19:38 -07:00
Enrico Ros 5dab6f68e6 roll: mui 2024-06-04 18:18:04 -07:00
Enrico Ros d1c595d8db Text 2024-06-04 07:09:56 -07:00
Enrico Ros eaa2635b51 T2I: port TextToImage (partial) 2024-06-03 13:55:11 -07:00
Enrico Ros dc2d226ddb T2I: port image-generate 2024-06-03 13:41:57 -07:00
Enrico Ros 336a4e1f35 T2I: separate data/mime 2024-06-03 13:40:45 -07:00
Enrico Ros 4d3b6b4f43 MP: cleaner contentFragments additions 2024-06-03 12:57:59 -07:00
Enrico Ros a12601b49c Merge remote-tracking branch 'feature-t2i-b64' into feature-multipart
# Conflicts:
#	src/apps/chat/editors/image-generate.ts
2024-06-03 12:05:48 -07:00
Enrico Ros 15a895064e ChatMessage: bits 2024-06-03 12:02:35 -07:00
Enrico Ros 8bd1507ace ChatMessage: Fix Avatar on Mobile 2024-06-03 11:42:46 -07:00
Enrico Ros 89d7ec5d0b ChatMessage: disable diffing 2024-06-03 10:16:55 -07:00
Enrico Ros 670e57735a MP: relax singleTextOrThrow 2024-06-03 10:10:54 -07:00
Enrico Ros fa703c25e8 Attachments: disable GC drafts for now 2024-06-03 09:34:57 -07:00
Enrico Ros f58161b1d1 Attachments: GC drafts 2024-06-03 09:33:53 -07:00
Enrico Ros 8db2a37a59 Attachments: remove DBlobs when setting outputFragments, until GC comes 2024-06-03 09:21:58 -07:00
Enrico Ros bfdb9c2624 Attachments: remove race condition on conversion 2024-06-03 09:15:11 -07:00
Enrico Ros 240e984737 DBlob: types 2024-06-03 09:05:46 -07:00
Enrico Ros fe128c18b1 MP: improve dmessage part/reference functions and cloning 2024-06-03 08:48:42 -07:00
Enrico Ros b208d8c40d MP: fix streaming text 2024-05-26 02:55:55 -07:00
Enrico Ros 556641e1f4 MP: fix V3 chats porting 2024-05-26 02:47:11 -07:00
Enrico Ros 464eb671db MP: upgrade V3 to V4 (store, links, jsons) 2024-05-25 21:13:45 -07:00
Enrico Ros 12b8f1e3ef MP: refine DMessage/DMessageFragment
Once again, large change.
2024-05-25 20:17:43 -07:00
Enrico Ros ab199afe0d Beam: reminder the save/restore on a per-message basis, #483 2024-05-25 15:53:56 -07:00
Enrico Ros fe1a498da0 Beam: also enable method selection on AutoStart 2024-05-25 15:51:37 -07:00
Enrico Ros 4f9d55eb42 Attachments: +Plain Mime 2024-05-25 03:49:21 -07:00
Enrico Ros 70f450f547 Attachments: restored take and copy 2024-05-25 02:56:17 -07:00
Enrico Ros 28fc7deefc MP: rename to contentRef 2024-05-25 00:40:39 -07:00
Enrico Ros 428babf856 Tokens: estimate images tokens 2024-05-25 00:28:15 -07:00
Enrico Ros b824ddf2e3 Attachments: uniform remove 2024-05-24 22:33:33 -07:00
Enrico Ros 2396966740 Tokens: rename the text methods 2024-05-24 22:25:14 -07:00
Enrico Ros 23ca49128a Attachments: consolidation 2024-05-24 19:35:26 -07:00
Enrico Ros ec6bdede20 Attachments: improvements 2024-05-24 18:06:45 -07:00
Enrico Ros 4ada2013d2 Attachments: correct rescaling 2024-05-24 17:31:36 -07:00
Enrico Ros 79afef6bc1 Attachments: more rescaling pains 2024-05-24 16:52:49 -07:00
Enrico Ros e7000df89f Attachments: no upsizing of small images 2024-05-24 16:30:10 -07:00
Enrico Ros 59f77a64ea Attachments: open images from the menu in new tabs 2024-05-24 16:13:29 -07:00
Enrico Ros 8be152666e Attachments: improve conversions/quality 2024-05-24 15:14:50 -07:00
Enrico Ros 10488854ce Attachments: low/high detail modes 2024-05-24 03:44:59 -07:00
Enrico Ros 6586aafed8 Attachments: resize modes for OpenAI, Google, Anthropic 2024-05-24 03:32:25 -07:00
Enrico Ros 4568a60be3 Attachments: image resize 2024-05-24 03:18:12 -07:00
Enrico Ros 193bc8bb8e Attachments: fix multi-image pdf 2024-05-24 02:20:53 -07:00
Enrico Ros ce381b7690 Attachments: rename main to AttachmentDraft, convert to (overlayed) Store Slice 2024-05-24 01:52:25 -07:00
Enrico Ros b238428816 Chat search: sort by date by default 2024-05-24 00:27:31 -07:00
Enrico Ros 0ac37f50cf Attachments: remove old code 2024-05-23 22:29:44 -07:00
Enrico Ros 54b9389b77 MP: Attachments full port, incl. Storage 2024-05-22 02:56:23 -07:00
Enrico Ros a183c26e51 PDFUtils: improve PDF to image 2024-05-22 02:56:23 -07:00
Enrico Ros 01a03d164c ImageUtils: add dimension guessers and converters 2024-05-22 02:56:23 -07:00
Enrico Ros cdff1fde2d TextUtils: update to new uuid 2024-05-22 02:56:23 -07:00
Enrico Ros c38b9998a6 TextUtils: add uuidv4 base64 2024-05-22 02:56:23 -07:00
Enrico Ros 77c1a335ad MP: data at rest cleanup 2024-05-22 02:56:23 -07:00
Enrico Ros 07a0fe6249 MP: text separation 2024-05-22 02:56:23 -07:00
Enrico Ros 204bc46976 MP: append parts to messages 2024-05-22 02:56:23 -07:00
Enrico Ros b910506519 MP: cleanup MP Beam 2024-05-22 02:56:23 -07:00
Enrico Ros 3cef39da17 MP: fix Beam, Rays and Fusions 2024-05-22 02:56:23 -07:00
Enrico Ros 3aea29bcb5 MP: remove typing, support placeholder, improve streaming of updates 2024-05-22 02:56:23 -07:00
Enrico Ros dd0d19168b MP: cleanup conversions 2024-05-22 02:56:22 -07:00
Enrico Ros 6727fcd111 MP: cleanup conversions 2024-05-22 02:56:22 -07:00
Enrico Ros 9d347f4a5a Multi-Part refactor
Partial still. Does not build.
2024-05-22 02:56:22 -07:00
Enrico Ros 084e48ddc2 Desktop Nav: improve menu 2024-05-22 02:55:04 -07:00
Enrico Ros 31e89ce9a1 App: Tokenizer 2024-05-22 02:54:56 -07:00
Enrico Ros baad3ae1c3 Fix Domino issue (crash) by upgrading Turndown to 7.2.0
See:
https://github.com/mixmark-io/turndown/issues/439
https://github.com/fgnass/domino/issues/146
2024-05-21 23:50:32 -07:00
Enrico Ros 7c099cab94 Fix TimeoutError issue 2024-05-18 03:07:04 -07:00
Enrico Ros 811875dd2e idb-keyval: bits 2024-05-16 18:04:27 -07:00
Enrico Ros 127443d550 idb-keyval: crud console fn 2024-05-16 18:03:20 -07:00
Enrico Ros d2064605bf Bits 2024-05-16 04:14:41 -07:00
Enrico Ros 4c6fb61ca8 Draw: enable nav 2024-05-16 04:11:04 -07:00
Enrico Ros 608ba8bcb4 T2I: Adapt callers (fixme) 2024-05-16 04:11:04 -07:00
Enrico Ros b53c054dee T2I: Enrich Generated Output 2024-05-16 04:11:04 -07:00
Enrico Ros 05aa4b547f Mistral: update pricing 2024-05-16 04:02:04 -07:00
Enrico Ros 6afb61d25d Mistral: update
#518
2024-05-16 04:02:03 -07:00
Enrico Ros a7ce5c1ca6 Already Set 2024-05-16 03:25:25 -07:00
Enrico Ros 952bd2bd93 Start opened 2024-05-16 03:03:57 -07:00
Enrico Ros f9d33d4888 Page download: improve 2024-05-16 02:57:50 -07:00
Enrico Ros 81d99f19d4 Beam: bits 2024-05-16 01:41:44 -07:00
Enrico Ros 454a4257da Beam: recall importing rays 2024-05-16 01:35:04 -07:00
Enrico Ros e513b42786 Beam: fix reactive bug 2024-05-16 01:30:37 -07:00
Enrico Ros b607e3c034 Beam: if auto-start, give the chance to change merge model 2024-05-16 01:00:21 -07:00
Enrico Ros d5c3f5012b Tiktoken: in the future, show tokens 2024-05-16 00:55:58 -07:00
Enrico Ros 21d045be59 Update TikToken for perfect token computation on 'o' models. 2024-05-16 00:53:08 -07:00
Enrico Ros a9c1c34dc9 DBlobs: subsystem for storing blobs
Uses Dexie.js fro IndexedDB access.
2024-05-15 23:44:33 -07:00
Enrico Ros 44ab0483b6 DChat: remove IDB migration 2024-05-15 23:43:31 -07:00
Enrico Ros 9eb0cc0b62 Gemini: improve support (incl. interfaces, cost, visibility) 2024-05-14 15:15:53 -07:00
Enrico Ros 2db74867f5 (bits) 2024-05-13 16:24:50 -07:00
Enrico Ros fd30baafb8 Default to the full context window 2024-05-13 16:24:30 -07:00
Enrico Ros 3623eef47f Browse: improve markdown transform 2024-05-13 15:59:46 -07:00
Enrico Ros 7b07bb7884 Browse: full support for markdown transform 2024-05-13 15:38:08 -07:00
Enrico Ros 7946cd6614 Browse: markdown transform as default 2024-05-13 14:49:29 -07:00
Enrico Ros 51b6e30986 Browse: support transform (skel) 2024-05-13 14:34:25 -07:00
Enrico Ros 002df7b0f9 Hold Shift to delete without confirmation: fixes #537 2024-05-13 14:00:43 -07:00
Sorawit Kongnurat 2ac1789312 Use ctrl and remove alt usage with certain hotkeys for mac shortcuts 2024-05-06 16:34:06 +07:00
Phil Huang a705b16493 Add support Kubernetes deployment
- Provide k8s/big-agi-deployment.yaml and env-secrert.yaml
- Add deploy-k8s.md to explain the installation process
2023-10-05 02:36:36 +08:00
1083 changed files with 118130 additions and 28667 deletions
+1
View File
@@ -0,0 +1 @@
commands/code/apply-issue-main.md
+20
View File
@@ -0,0 +1,20 @@
---
description: Increment the AIX monotonic version number
allowed-tools: Bash(git add:*),Bash(git status:*),Bash(git commit:*),Edit,Write
model: haiku
disable-model-invocation: true
---
Increment `Monotonics.Aix` in `src/common/app.release.ts` and commit it.
**Pre-flight checks (MUST pass or abort):**
1. Run `git branch --show-current` - MUST be on `main` branch
2. Run `git status src/common/app.release.ts` - file MUST be unmodified (no changes on this specific file)
**Execute:**
1. Read current `Monotonics.Aix` value from `src/common/app.release.ts`
2. Increment by 1
3. Update ONLY that line
4. Run: `git add src/common/app.release.ts && git commit -m "Roll AIX"`
Confirm new version number.
@@ -0,0 +1,31 @@
---
description: Sync Anthropic API implementation with latest upstream documentation
argument-hint: specific feature to check
---
Please take a look at my API code for Anthropic: message wire types `src/modules/aix/server/dispatch/wiretypes/anthropic.wiretypes.ts`, assembly of the request messages (adapters) `src/modules/aix/server/dispatch/chatGenerate/adapters/anthropic.messageCreate.ts`, and parsing of the response in streaming or not `src/modules/aix/server/dispatch/chatGenerate/parsers/anthropic.parser.ts`.
IMPORTANT: we only support the Messages API (message create). We do NOT support other APIs such as the older Completions API.
We support Anthropic caching natively, and want to make sure tools and state (crafting the history) are also done well.
Then take a look at the newest API information available. Try these sources, and be creative if some are blocked:
**Primary Sources:**
- Docs API: https://docs.claude.com/en/api/messages
- Release notes: https://docs.claude.com/en/release-notes/api
- Tools use: https://docs.claude.com/en/docs/agents-and-tools/tool-use/overview
- Handling stop reasons: https://docs.claude.com/en/api/handling-stop-reasons
**Alternative Sources if primary blocked:**
- Anthropic TypeScript SDK: https://github.com/anthropics/anthropic-sdk-typescript
- Anthropic Python SDK: https://github.com/anthropics/anthropic-sdk-python
- Recent news and announcements: Web Search for "anthropic api changelog" or "new claude api" or "new claude api pricing"
**If all blocked:** Explain what you attempted and ask user to provide documentation manually.
$ARGUMENTS
Check carefully and look if there are any discrepancies in the protocols, the available API surface, the structure of the messages, functionality, logic, etc.
Make sure you look deep in the fields of the requests and responses, especially required fields, streaming event types, and any new response shapes.
Please point out all of the differences in the API whether it's in the final parsing and reassembly of the streaming message, or the protocol changed, etc.
Prioritize breaking changes and new capabilities that would improve the user experience.
+30
View File
@@ -0,0 +1,30 @@
---
description: Sync Google Gemini API implementation with latest upstream documentation
argument-hint: specific feature to check
---
Please take a look at my API code for Google Gemini: message wire types `src/modules/aix/server/dispatch/wiretypes/gemini.wiretypes.ts`, assembly of the request messages (adapters) `src/modules/aix/server/dispatch/chatGenerate/adapters/gemini.generateContent.ts`, and parsing of the response in streaming or not `src/modules/aix/server/dispatch/chatGenerate/parsers/gemini.parser.ts`.
IMPORTANT: we only support the generateContent API, not other Gemini APIs such as embeddings, etc.
Caching is only supported when implicit, we do not explicitly manage Gemini Caches. Same for file uploads and other systems.
Image generation happens through models, i.e. 'Gemini 2.5 Flash - Nano Banana' generates images using AIX from generateContent (chat input).
Then take a look at the newest API information available. Try these sources, and be creative if some are blocked:
**Primary Sources:**
- Docs API 1/2: https://ai.google.dev/api/generate-content
- Docs API 2/2: https://ai.google.dev/api/caching#Content
- Release notes: https://ai.google.dev/gemini-api/docs/changelog
**Alternative Sources if primary blocked:**
- Google AI JavaScript SDK: https://github.com/googleapis/js-genai (check latest commits, README, type definitions)
Recent news and announcements: Web Search for "gemini api changelog" or "nwe gemini api updates" or "new gemini api pricing"
**If all blocked:** Explain what you attempted and ask user to provide documentation manually.
$ARGUMENTS
Check carefully and look if there are any discrepancies in the protocols, the available API surface, the structure of the messages, functionality, logic, etc.
Make sure you look deep in the fields of the requests and responses, especially required fields, streaming event types, and any new response shapes.
Please point out all of the differences in the API whether it's in the final parsing and reassembly of the streaming message, or the protocol changed, etc.
Prioritize breaking changes and new capabilities that would improve the user experience.
+34
View File
@@ -0,0 +1,34 @@
---
description: Sync OpenAI API implementation with latest upstream documentation
argument-hint: specific feature to check
---
Please take a look at my API code for OpenAI: message wire types `src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts`, assembly of the request messages (adapters) `src/modules/aix/server/dispatch/chatGenerate/adapters/openai.chatCompletions.ts`, and parsing of the response in streaming or not `src/modules/aix/server/dispatch/chatGenerate/parsers/openai.parser.ts`.
IMPORTANT: we prioritize the new Responses API, while Chat Completions is still supported but legacy.
We do NOT support other APIs such as Realtime (incl. websockets), etc.
We also do not support Agentic APIs (Agent SDK, AgentKit, ChatKit, Assistants API etc), as we perform similar functionality in AIX (server or client side).
Then take a look at the newest API information available. Try these sources, and be creative if some are blocked:
**Primary Sources:**
- Responses API (AIX prioritizes it): https://platform.openai.com/docs/api-reference/responses/create
- Chat Completions API: https://platform.openai.com/docs/api-reference/chat/create
- Changelog: https://platform.openai.com/docs/changelog
- Models: https://platform.openai.com/docs/models
- Pricing (use Copy Page button to download markdown): https://platform.openai.com/docs/pricing
**Alternative Sources if primary blocked:**
- OpenAI Node.js SDK: https://github.com/openai/openai-node
- OpenAI Python SDK: https://github.com/openai/openai-python
- OpenAI OpenAPI spec: https://github.com/openai/openai-openapi
Recent news and announcements: Web Search for "openai api changelog" or "openai new models" or "openai new prices"
**If all blocked:** Explain what you attempted and ask user to provide documentation manually.
$ARGUMENTS
Check carefully and look if there are any discrepancies in the protocols, the available API surface, the structure of the messages, functionality, logic, etc.
Make sure you look deep in the fields of the requests and responses, especially required fields, streaming event types, and any new response shapes.
Please point out all of the differences in the API whether it's in the final parsing and reassembly of the streaming message, or the protocol changed, etc.
Prioritize breaking changes and new capabilities that would improve the user experience.
@@ -0,0 +1,49 @@
---
description: Sync OpenRouter API implementation with latest upstream documentation
argument-hint: specific feature to check
---
Review the OpenRouter implementation:
- Models list: `src/modules/llms/server/openai/openrouter.wiretypes.ts` (list API response schema)
- Chat wire types: `src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts` (OpenAI-compatible)
- Request adapter: `src/modules/aix/server/dispatch/chatGenerate/adapters/openai.chatCompletions.ts` ('openrouter' dialect)
- Response parser: `src/modules/aix/server/dispatch/chatGenerate/parsers/openai.parser.ts` (shared OpenAI parser)
- Vendor config: `src/modules/llms/vendors/openrouter/openrouter.vendor.ts`
GOAL: Ensure complete support for OpenRouter's API including advanced features like reasoning/thinking tokens, tool use, search integration, and multi-modal capabilities. OpenRouter is OpenAI-compatible but has important extensions and differences.
Use Task tool with subagent_type=Explore and thoroughness="very thorough" to discover:
1. Map API structure - all endpoints, parameters, capabilities from https://openrouter.ai/docs
2. **Advanced features** - How to use: reasoning/thinking tokens (o1, DeepSeek R1), tool use/function calling, search integration, multi-modal (vision/audio)
3. Changelog location - How does OpenRouter communicate API updates and breaking changes?
4. Model metadata - What capabilities are exposed in the models list API? How to detect feature support?
5. OpenAI deviations - Extensions, special headers (HTTP-Referer, X-Title), response fields, streaming differences
Then check the latest API information. Try these sources (be creative if blocked):
**Primary Sources:**
- API Reference: https://openrouter.ai/docs/api-reference
- Chat Completions: https://openrouter.ai/docs/api-reference#chat-completions
- Models List: https://openrouter.ai/docs/api-reference#models-list
- Parameters Guide: https://openrouter.ai/docs/parameters
- Announcements: https://openrouter.ai/announcements (feature launches, API updates, new models)
- Models Directory: https://openrouter.ai/models (check metadata for capabilities)
**Alternative Sources:**
- GitHub: https://github.com/OpenRouterTeam (SDKs, examples, issues for recent changes)
- Web Search: "openrouter api changelog" or "openrouter reasoning tokens" or "openrouter tool use"
**If blocked:** Ask user to provide documentation.
$ARGUMENTS
Focus on discrepancies and gaps:
- **Request/Response structure**: New fields, changed requirements, streaming event types
- **Feature support**: Thinking tokens format, tool calling protocol, search parameters
- **Model capabilities**: How to detect and enable advanced features per model
- **OpenRouter extensions**: Headers, routing, fallbacks, rate limiting (free vs paid)
- **Breaking changes**: Protocol updates, deprecated fields, new required parameters
Report differences in wire types, adapter logic, parser handling, or dialect-specific quirks.
Prioritize new capabilities that improve user experience (reasoning visibility, better tool use, etc.).
When making changes, add comments with date: `// [OpenRouter, 2026-MM-DD]: explanation`
+56
View File
@@ -0,0 +1,56 @@
---
description: Sync xAI Responses API implementation with latest upstream documentation
argument-hint: specific feature to check
---
Review the xAI Responses API implementation:
- xAI wire types: `src/modules/aix/server/dispatch/wiretypes/xai.wiretypes.ts` (xAI-specific request schema, tools)
- Request adapter: `src/modules/aix/server/dispatch/chatGenerate/adapters/xai.responsesCreate.ts` (AIX → xAI Responses API)
- Response parser: `src/modules/aix/server/dispatch/chatGenerate/parsers/openai.responses.parser.ts` (shared with OpenAI Responses)
- Dispatch routing: `src/modules/aix/server/dispatch/chatGenerate/chatGenerate.dispatch.ts` (dialect='xai' routing)
- OpenAI shared types: `src/modules/aix/server/dispatch/wiretypes/openai.wiretypes.ts` (InputItem/OutputItem schemas reused by xAI)
IMPORTANT context:
- We use ONLY the xAI Responses API (`POST /v1/responses`). We do NOT use the Chat Completions API (`/v1/chat/completions`) for xAI anymore.
- xAI's Responses API is similar to OpenAI's but has key differences - the skill should find what changed since our last sync.
- Response streaming/parsing reuses the OpenAI Responses parser since the format is compatible.
- We do NOT implement: Files API, Collections Search, Remote MCP tools, Voice Agent API, Image/Video generation, Batch API, or Deferred Completions.
Then take a look at the newest API information available. Try these sources, and be creative if some are blocked:
**Primary Sources (guide pages work well with WebFetch despite being JS-rendered):**
- Responses API Guide: https://docs.x.ai/docs/guides/chat
- Stateful Responses: https://docs.x.ai/docs/guides/responses-api
- Tools Overview: https://docs.x.ai/docs/guides/tools/overview
- Search Tools (web_search, x_search): https://docs.x.ai/docs/guides/tools/search-tools
- Code Execution Tool: https://docs.x.ai/docs/guides/tools/code-execution-tool
- Function Calling: https://docs.x.ai/docs/guides/function-calling
- Streaming: https://docs.x.ai/docs/guides/streaming-response
- Reasoning: https://docs.x.ai/docs/guides/reasoning
- Structured Outputs: https://docs.x.ai/docs/guides/structured-outputs
- Models & Pricing: https://docs.x.ai/developers/models
- Release Notes: https://docs.x.ai/developers/release-notes
- API Reference: https://docs.x.ai/developers/api-reference#create-new-response
**Alternative Sources if primary blocked:**
- xAI Python SDK: https://github.com/xai-org/xai-sdk-python
- Web Search for "xai grok api changelog 2026" or "xai responses api new features"
**If all blocked:** Explain what you attempted and ask user to provide documentation manually.
$ARGUMENTS
Check carefully for discrepancies between our implementation and the current API docs:
1. **Request fields**: Compare `XAIWire_API_Responses.Request_schema` against current docs - any new, changed, or deprecated parameters?
2. **Tool definitions**: Compare `XAIWire_Responses_Tools` - any new parameters on web_search/x_search/code_interpreter? Any new hosted tool types?
3. **Input/Output item types**: Any xAI-specific output items not handled by the shared OpenAI parser (e.g., x_search_call, web_search_call, code_interpreter_call)?
4. **Streaming events**: Any xAI-specific SSE event types beyond what the OpenAI Responses parser handles?
5. **Response shape**: Usage reporting differences, new fields in the response object?
6. **Adapter logic**: Message role mapping, content type handling, system message approach - still correct?
7. **Include options**: Any new values for the `include` array?
8. **Reasoning config**: Which models support it and with what values?
Prioritize breaking changes and new capabilities that would improve the user experience.
When making changes, add comments with date: `// [xAI, 2026-MM-DD]: explanation`
**Self-update this skill**: After completing the sync, if your research reveals that assumptions in THIS skill file (`.claude/commands/aix/sync-xai-api.md`) are wrong or outdated - e.g., new APIs we now implement, new tool types added, URLs moved, file paths changed - update this skill file to stay accurate for next time.
+34
View File
@@ -0,0 +1,34 @@
---
description: Review in-flight changes for coherence, completeness, and quality
---
Review the current in-flight changes in the big-agi-private repository (dev branch, continuously rebased ~1800 commits on top of main).
**Step 1: Scope and read**
`git diff --stat` + `git status` for breadth. Then full `git diff` (if empty: `git diff --cached`, then `git diff HEAD~1`).
For every file in the diff, read surrounding context in the actual source file - the diff alone hides bugs in adjacent untouched code.
**Step 2: Reverse-engineer the intent**
From the diff, determine the **what**, **how**, and **why**. Present this concisely so the author can confirm or correct,
but don't stop here, continue to the full review in the same response.
**Step 3: Validate**
Run `tsc --noEmit --pretty` and `npm run lint` (in parallel). Report any errors with the review.
If the diff removes/renames identifiers, grep the codebase for stale references to the OLD names. This catches broken guards, stale imports, and incomplete migrations.
**Step 4: Deep review**
Evaluate every file in the diff.
Leave no rocks unturned - correctness, coherence, completeness, excess, generalization, maintenance burden,
codebase consistency, etc.
**Step 5: Prioritized next steps**
Think about what happens when the next developer touches this code.
Rank findings by severity (bug > correctness > cleanup > cosmetic). Be specific about what to change and where.
Remember: design values for this codebase: orthogonal features, features that generalize well, modularized and reusable code,
type-discriminated data, optimized code, zero maintenance burden. Minimize future pain, etc.
+63
View File
@@ -0,0 +1,63 @@
---
description: Sync LLM parameter options between full model dialog and chat side panel
---
Audit and sync LLM parameter configurations between the two UI editors. Goal: identical `value` fields in option arrays + equivalent onChange logic. Labels/descriptions can differ for UI space.
**Files to Compare:**
1. **Full Model Dialog**: `src/modules/llms/models-modal/LLMParametersEditor.tsx` (main branch)
2. **Chat Side Panel**: `src/apps/chat/components/layout-panel/ChatPanelModelParameters.tsx` (main derived branches only)
**Reference Documentation:**
- Parameter system: `kb/systems/LLM-parameters-system.md`
- Parameter registry: `src/common/stores/llms/llms.parameters.ts`
**Task: Perform a comprehensive audit**
1. **Read both files** and extract all option arrays (e.g., `_reasoningEffortOptions`, `_antEffortOptions`, `_geminiThinkingLevelOptions`, etc.)
2. **Check for missing parameters:**
- Parameters handled in `LLMParametersEditor.tsx` but NOT in `ChatPanelModelParameters.tsx`
- Parameters in `ChatPanelModelParameters.tsx`'s `_interestingParameters` array but missing UI controls
- Note: The side panel intentionally shows only "interesting" parameters - focus on those listed in `_interestingParameters`
3. **Check for value mismatches** between corresponding option arrays:
- Different number of options (e.g., 3 vs 4 options)
- Same label but different `value` (this causes the bug in issue #926)
- Different labels for the same `value`
- Missing `_UNSPECIFIED`/Default option in one but not the other
4. **Check onChange handler consistency:**
- Both should remove parameter on `_UNSPECIFIED` selection
- Both should set explicit values the same way
- Watch for conditions like `value === 'high'` that may differ
**Output Format:**
```
## Parameter Sync Audit Report
### Missing Parameters
- [ ] `llmVndXyz` - In full dialog, missing from side panel
### Value Mismatches
- [ ] `_xyzOptions`:
- Full dialog: [values...]
- Side panel: [values...]
- Issue: [description]
### Handler Inconsistencies
- [ ] `llmVndXyz` onChange differs: [explanation]
### Recommended Fixes
1. [Specific fix with code snippet if needed]
```
**Fix Direction:** Full dialog is source of truth. Update side panel to match its values when mismatched.
**Notes:**
- Side panel uses shorter descriptions (space-constrained) - that's fine
- Variable names may differ (e.g., `_anthropicEffortOptions` vs `_antEffortOptions`) - that's fine, but same is better
- `value` fields must be identical sets
- `_UNSPECIFIED` must mean the same thing in both
- onChange: remove on `_UNSPECIFIED`, set explicit value otherwise
@@ -0,0 +1,20 @@
---
description: Update Alibaba model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/alibaba.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Models & Pricing: https://www.alibabacloud.com/help/en/model-studio/models
- Billing Guide: https://www.alibabacloud.com/help/en/model-studio/billing-for-model-studio
**Fallbacks if blocked:**
- Search "alibaba model studio latest pricing", "alibaba latest models", "qwen models pricing", or search GitHub for latest model prices and context windows
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,49 @@
---
description: Update Anthropic model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/anthropic/anthropic.models.ts` with latest model definitions.
Reference files (for context only, do not modify):
- `src/modules/llms/server/llm.server.types.ts`
- `src/modules/llms/server/models.mappings.ts`
- `src/common/stores/llms/llms.parameters.ts`
**Workflow: Start with recent changes, then verify the full model list.**
**Primary Sources (append `.md` to any path for clean markdown):**
1. Recent changes: https://platform.claude.com/docs/en/release-notes/overview.md
2. Models & IDs: https://platform.claude.com/docs/en/about-claude/models/overview.md
3. Pricing (base, cache, batch, long context): https://platform.claude.com/docs/en/about-claude/pricing.md
4. Deprecations & retirement dates: https://platform.claude.com/docs/en/about-claude/model-deprecations.md
**Discovering feature docs:** The release notes and models overview markdown
contain inline links to feature-specific pages (thinking modes, effort,
context windows, what's-new pages, etc.). When a new capability is
referenced, follow those links - append `.md` to get markdown. Examples of
pages you might discover this way:
- `about-claude/models/whats-new-claude-*` - per-generation changes
- `build-with-claude/extended-thinking` - thinking budget configuration
- `build-with-claude/effort` - effort parameter levels
- `build-with-claude/adaptive-thinking` - adaptive thinking mode
**Fallback web pages** (crawl if `.md` paths break or structure changes):
- https://platform.claude.com/docs/en/about-claude/models/overview
- https://platform.claude.com/docs/en/about-claude/pricing
- https://platform.claude.com/docs/en/release-notes/overview
- https://claude.com/pricing
**Fallbacks if blocked:** Check the Anthropic TypeScript SDK at
https://github.com/anthropics/anthropic-sdk-typescript, or web-search
for "anthropic models latest pricing" / "anthropic latest models".
**Important:**
- Review the full model list for additions, removals, and price changes
- For new models: check which `parameterSpecs` are needed (thinking mode,
effort levels, 1M context, skills, web tools) by reading the linked
feature docs and comparing with existing model entries
- When thinking/effort semantics change between generations
(e.g. adaptive vs manual thinking), document in comments
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,22 @@
---
description: Update DeepSeek model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/deepseek.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Pricing: https://api-docs.deepseek.com/quick_start/pricing
- Model List: https://api-docs.deepseek.com/api/list-models
- Release Notes: https://api-docs.deepseek.com/updates (check for version updates like V3.2-Exp)
**Note:** DeepSeek frequently releases new versions with significant pricing changes. Always check release notes first.
**Fallbacks if blocked:** Search "deepseek api latest pricing", "deepseek latest models", "deepseek models list" or search GitHub for latest model prices and context windows
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,91 @@
---
description: Update/validate dynamic vendor model parsers (OpenRouter, TogetherAI, Alibaba, Azure, Novita, ChutesAI, FireworksAI, TLUS, LM Studio, LocalAI, FastAPI)
---
Validate that the dynamic (API-fetched) vendor model parsers are up to date and not silently broken.
These vendors do NOT have hardcoded model lists - they fetch models from APIs at runtime. But their parsers, filters, heuristic detection, and capability mapping can break if upstream APIs change. This skill covers all dynamic vendors NOT covered by the other `llms:update-models-{vendor}` skills.
## Vendors to Validate
### High Risk
**OpenRouter** - `src/modules/llms/server/openai/models/openrouter.models.ts`
- Most complex parser. Vendor-specific parameter inheritance (Anthropic thinking variants, Gemini thinking/image, OpenAI reasoning effort, xAI/DeepSeek reasoning).
- Hardcoded family ordering list (lines ~24-37) - check if new leading vendors are missing.
- Hardcoded old/deprecated model hiding list (lines ~39-49) - check if stale.
- Cache pricing detection (Anthropic-style vs OpenAI-style) - verify format still valid.
- Variant injection for Anthropic thinking/non-thinking - verify still correct.
- Reference: https://openrouter.ai/docs/models
### Medium Risk
**Novita** - `src/modules/llms/server/openai/models/novita.models.ts`
- Features array mapping (`function-calling`, `reasoning`, `structured-outputs`) and input modalities parsing.
- Pricing unit conversion (hundredths of cent per million → dollars per 1K).
- Hostname heuristic: `novita.ai`.
**ChutesAI** - `src/modules/llms/server/openai/models/chutesai.models.ts`
- Custom `max_model_len` field for context window.
- Assumes all models support Vision + Functions (aggressive).
- Hostname heuristic: `.chutes.ai`.
**FireworksAI** - `src/modules/llms/server/openai/models/fireworksai.models.ts`
- Relies on provider capability flags: `supports_chat`, `supports_image_input`, `supports_tools`.
- Hostname heuristic: `fireworks.ai/`.
**TogetherAI** - `src/modules/llms/server/openai/models/together.models.ts`
- Type allow-list (`type: 'chat'`), vision detection by string match.
- Custom wire schema with pricing conversion.
**TLUS** - `src/modules/llms/server/openai/models/tlusapi.models.ts`
- Detected by response structure (`total_models`, `free_models`, `pro_models` fields).
- Capability enum mapping (`text`, `vision`, `audio`, `tool-calling`, `reasoning`, `websearch`).
- Tier-based pricing (`free` vs paid).
**Alibaba** - `src/modules/llms/server/openai/models/alibaba.models.ts`
- Model list was cleared (dynamic-only). Exclusion patterns for non-chat models.
- Assumes 128K context and Vision+Functions for all models (overly permissive).
- Check if hardcoded data should be restored now that naming has stabilized.
### Low Risk (local/generic - validate only if issues reported)
**Azure** - `src/modules/llms/server/openai/models/azure.models.ts`
- Custom deployments API, not `/v1/models`. User-specific. Deployment name fallback logic.
**LM Studio** - `src/modules/llms/server/openai/models/lmstudio.models.ts`
- Local service, native API (`/api/v1/models`). GGUF metadata parsing, capability flags.
**LocalAI** - `src/modules/llms/server/openai/models/localai.models.ts`
- Local service. String-based hide list, vision/reasoning detection by name pattern.
**FastAPI** - `src/modules/llms/server/openai/models/fastapi.models.ts`
- Generic passthrough. Detected by `owned_by === 'fastchat'`. Minimal parsing.
## Validation Checklist
For each vendor (prioritize High > Medium > Low):
1. **Read the parser file** and check for:
- Deny/allow lists that may be stale (new model families missing)
- Capability assumptions that may be wrong (e.g. "all models support vision")
- Field names that may have changed upstream
- Pricing conversion math that may use wrong units
2. **Check upstream docs** (where available) for:
- API response schema changes
- New model types or capability fields
- Deprecated fields
3. **Cross-reference with OpenRouter** (aggregator):
- OpenRouter surfaces models from many of these vendors
- If OpenRouter shows capabilities that a vendor's parser misses, the parser is stale
4. **Fix issues found** - update parsers, filters, deny lists as needed.
5. Run `tsc --noEmit` after changes.
**Important:**
- Do NOT convert dynamic vendors to hardcoded lists - the dynamic approach is intentional
- Focus on parser correctness, not model coverage
- Flag any vendor whose API response format seems to have changed substantially
@@ -0,0 +1,21 @@
---
description: Update Gemini model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/gemini/gemini.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.types.ts`, `src/modules/llms/server/llm.server.types.ts`, and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Models: https://ai.google.dev/gemini-api/docs/models
- Pricing: https://ai.google.dev/gemini-api/docs/pricing
- Changelog: https://ai.google.dev/gemini-api/docs/changelog
**Fallbacks if blocked:** Check Google AI JS SDK at https://github.com/googleapis/js-genai, search "gemini models latest pricing", "gemini latest models", or search GitHub for latest model prices and context windows
**Important:**
- Ignore context windows (auto-determined at runtime) and training cutoffs (not supported)
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review, do NOT remove comments
- Flag broken links or unexpected content
@@ -0,0 +1,19 @@
---
description: Update Groq model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/groq.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Source:**
- Fetch https://console.groq.com/docs/models.md directly (markdown format, no search needed)
- Pricing: https://groq.com/pricing/
**Do NOT use web search.** The `.md` endpoint provides structured markdown content directly.
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,19 @@
---
description: Update Kimi model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/moonshot.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources (fetch directly, no search needed):**
- Pricing: https://platform.moonshot.ai/docs/pricing/chat
- API Reference: https://platform.moonshot.ai/docs/api/chat
**Do NOT use web search.** Fetch the URLs directly, or ask the user to provide data, if unaccessible.
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,24 @@
---
description: Update Mistral model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/mistral.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Models: https://docs.mistral.ai/getting-started/models/models_overview/
- Pricing: https://mistral.ai/pricing#api-pricing
- Changelog: https://docs.mistral.ai/getting-started/changelog/
**Fallbacks if blocked:**
- Search "mistral [model-name] latest pricing", "mistral api latest pricing", "mistral latest models", or search GitHub for latest model prices and context windows
- Cross-reference: pricepertoken.com, helicone.ai, artificialanalysis.ai
- Check Mistral API list models response
- As last resort: Use Chrome DevTools MCP to render pricing table
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,44 @@
---
description: Update Ollama model definitions with latest featured models
---
Update `src/modules/llms/server/ollama/ollama.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Automated Workflow:**
```bash
# 1. Fetch the HTML (sorted by newest for stable ordering)
curl -s "https://ollama.com/library?sort=newest" -o /tmp/ollama-newest.html
# 2. Parse it with the script
node .claude/scripts/parse-ollama-models.js > /tmp/ollama-parsed.txt 2>&1
# 3. Review the parsed output
cat /tmp/ollama-parsed.txt
```
The parser outputs: `modelName|pulls|capabilities|sizes`
- Example: `deepseek-r1|66200000|tools,thinking|1.5b,7b,8b,14b,32b,70b,671b`
**Primary Sources:**
- Model Library: https://ollama.com/library?sort=newest
- Parser script: `.claude/scripts/parse-ollama-models.js`
**Fallbacks if blocked:** Check https://github.com/ollama/ollama, search "ollama featured models", "ollama latest models", or search GitHub for latest model info
**Important:**
- Parser filtering rules:
- Top 30 newest models are always included (regardless of pull count)
- After top 30, only models with 50K+ pulls are included
- Models with 'cloud' capability are automatically excluded
- Models with 'embedding' capability are automatically excluded
- Sort them in the EXACT same order as the source (newest first, for stable ordering)
- Extract tags: 'tools' → hasTools, 'vision' → hasVision, 'embedding' → isEmbeddings (note the 's'), 'thinking' → tags only
- Extract 'b' tags (1.5b, 7b, 32b) to tags field
- Set today's date (YYYYMMDD format) for newly added models only
- Update OLLAMA_LAST_UPDATE constant to today's date
- Do NOT change dates of existing models
- Review the full model list for additions, removals, and changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments and newlines to make diffs easy to review
@@ -0,0 +1,26 @@
---
description: Update OpenAI model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/openai.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Manual hint:** For pricing page, expand all tables before copying content.
**Primary Sources:**
- Models: https://platform.openai.com/docs/models (use Copy Page button)
- Pricing: https://platform.openai.com/docs/pricing (expand tables first)
**Known Issue:** OpenAI docs block automated access (403 Forbidden). Manual browser access required.
**Fallbacks if blocked:**
- Search "openai models latest pricing", "openai latest models" for third-party aggregators, or search GitHub for latest model prices and context windows
- OpenAI Node SDK (https://github.com/openai/openai-node) has limited model metadata only
- As last resort: Use Chrome DevTools MCP to navigate and extract from official docs
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,19 @@
---
description: Update OpenPipe model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/openpipe.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Base Models: https://docs.openpipe.ai/base-models
- Pricing: https://docs.openpipe.ai/pricing/pricing
**Fallbacks if blocked:** Search "openpipe models latest pricing", "openpipe latest models", "openpipe base models", or search GitHub for latest model prices and context windows
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,20 @@
---
description: Update Perplexity model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/perplexity.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Models: https://docs.perplexity.ai/getting-started/models
- Pricing: https://docs.perplexity.ai/getting-started/pricing
- Changelog: https://docs.perplexity.ai/changelog/changelog
**Fallbacks if blocked:** Search "perplexity api latest pricing", "perplexity latest models", or search GitHub for latest model prices and context windows
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,23 @@
---
description: Update xAI model definitions with latest pricing and capabilities
---
Update `src/modules/llms/server/openai/models/xai.models.ts` with latest model definitions.
Reference `src/modules/llms/server/llm.server.types.ts` and `src/modules/llms/server/models.mappings.ts` for context only. Focus on the model file, do not descend into other code.
**Primary Sources:**
- Models & Pricing: https://docs.x.ai/docs/models?cluster=us-east-1#detailed-pricing-for-all-grok-models
**Known Issue:** docs.x.ai blocks automated access (403 Forbidden). Use fallbacks below.
**Fallbacks if blocked:**
- Search "xai grok latest pricing", "xai latest models", "xai api models", or search GitHub for latest model prices and context windows
- Random sites? https://the-rogue-marketing.github.io/grok-api-latest-llms-pricing-october-2025/ (find a newer version), https://langdb.ai/app/providers/xai/ (browse by model, limited coverage)
- As last resort: Use Chrome DevTools MCP to access docs.x.ai
**Important:**
- Review the full model list for additions, removals, and price changes
- Minimize whitespace/comment changes, focus on content
- Preserve comments to make diffs easy to review
- Flag broken links or unexpected content
@@ -0,0 +1,57 @@
---
description: Verify model parameterSpecs match API-validated sweep data
argument-hint: openai | anthropic | gemini | xai (or empty for all)
---
# Verify LLM Parameters
Compare model `parameterSpecs` in definition files against API-validated sweep data.
If `$ARGUMENTS` provided, verify only that dialect, which includes reading the pair of sweep results and model defintions. Otherwise verify all four, and read the pairs in sequence.
## Files
**Sweep results** (source of truth for select parameters):
- `tools/develop/llm-parameter-sweep/llm-{dialect}-parameters-sweep.json`
By the time you see these files, the repo owner has already updated them via `tools/develop/llm-parameter-sweep/sweep.sh` (very long running, 15 min per vendor).
**Model definitions (source of truth for model defintions for the user and application, including constants, interfaces, supported parameters and sometimes allowed parameter values)**:
- OpenAI: `src/modules/llms/server/openai/models/openai.models.ts`
- Anthropic: `src/modules/llms/server/anthropic/anthropic.models.ts`
- Gemini: `src/modules/llms/server/gemini/gemini.models.ts`
- xAI: `src/modules/llms/server/openai/models/xai.models.ts`
## Task
The sweep data is the source of truth for allowed model parameter values or value ranges.
For each model in the sweep, verify the model definition exposes exactly those capabilities - no more, no less. This includes:
- The parameter is present in parameterSpecs
- The paramId variant covers exactly the values from the sweep, if applicable
- etc.
Report models where the definition doesn't match the sweep.
## Parameter Mapping
Example parameter mapping. Note that new parameters may have been added to both the definition, and the sweep.
The objective of the sweep is to hint at model definition values, but the model definitions are what matters for Big-AGI,
and need to be carefully updated, otherwise thousands of clients may break.
| Dialect | Sweep Key | Model paramId |
|-----------|--------------------------|------------------------------|
| OpenAI | `oai-reasoning-effort` | `llmVndOaiEffort` |
| OpenAI | `oai-verbosity` | `llmVndOaiVerbosity` |
| OpenAI | `oai-image-generation` | `llmVndOaiImageGeneration` |
| OpenAI | `oai-web-search` | `llmVndOaiWebSearchContext` |
| Anthropic | `ant-effort` | `llmVndAntEffort` |
| Anthropic | `ant-thinking-budget` | `llmVndAntThinkingBudget` |
| Gemini | `gemini-thinking-level` | `llmVndGemEffort` |
| Gemini | `gemini-thinking-budget` | `llmVndGeminiThinkingBudget` |
| xAI | `xai-web-search` | `llmVndXaiWebSearch` |
## Output
Report first for every model the expected values from the sweep, then the actual values from the definition, then the mismatches.
Finally make one table for each dialect listing all models with mismatches and the specific issues.
+56
View File
@@ -0,0 +1,56 @@
---
description: Generate changelog bullets for big-agi.com/changes
argument-hint: date like "2026-01-10" or empty for auto-detect
---
Generate changelog bullets for a single entry in https://big-agi.com/changes
**Step 1: Find the starting date**
IMPORTANT: This repo rebases frequently, so commits are INTERLEAVED throughout history.
New commits can appear at line 10, 500, or 1800. Use AUTHOR DATE (`%ad`) to filter - it's preserved during rebases.
If `$ARGUMENTS` provided, use it as the cutoff date.
If NO argument:
1. Fetch https://big-agi.com/changes to get the most recent changelog date
2. Use that date as the cutoff
**Step 2: Get commits by author date**
Filter commits by author date to catch ALL new commits regardless of position in history:
```bash
# For commits after Jan 10, 2026 (adjust date pattern as needed)
git log --oneline --no-merges --format="%h %ad %s" --date=short | grep "2026-01-1[1-9]\|2026-01-2\|2026-02"
# Verify interleaving by checking line numbers
git log --oneline --no-merges --format="%h %ad %s" --date=short | grep -n "2026-01-1[1-9]"
```
The line numbers prove commits are scattered (e.g., lines 14, 638, 1156, 1803 = interleaved).
**Step 3: Write bullets**
Real examples from big-agi.com/changes:
- "Gemini 3 Flash support with 4-level thinking: high, medium, low, minimal"
- "Cloud Sync launched! - long awaited and top requested"
- "Deepseek V3.2 Speciale comes with almost Gemini 3 Pro performance but 20 times cheaper"
- "Anthropic Opus 4.5 with controls for effort (speed tradeoff), thinking budget, search"
- "Login with email, via magic link"
- "Mobile UX fixes for popups drag/interaction"
**Rules:**
1. **Order by importance** - most significant changes first, minor fixes last
2. **Feature-first, no verb prefixes** - "Gemini 3 support" not "Add Gemini 3 support"
3. **Model names lead** when it's about LLMs
4. **Specific details** - "4-level thinking: high, medium, low, minimal" not "multiple thinking levels"
5. **One-liners** - short, no fluff
6. **Consolidate commits** - 10 persona editor commits = 1 bullet
7. **No corporate speak** - no "enhanced", "streamlined", "robust", "leverage"
**Skip:** WIP, internal refactors, KB docs, automation, review cleanups, trivial fixes, deps bumps, CI changes.
**Output:** Just bullets, ready to paste. 2-5 bullets but adapt depending on scope, especially
in relation to the usual https://big-agi.com/changes entries.
+113
View File
@@ -0,0 +1,113 @@
---
description: Execute the Big-AGI release process
argument-hint: version like "2.0.4" or empty to auto-increment patch
---
Execute the release process for Big-AGI. Go step-by-step, waiting for user approval between major steps.
## Step 1: Determine Version
If `$ARGUMENTS` provided, use it. Otherwise, read `package.json` and increment patch version.
## Step 2: Update Files
1. **package.json** - Update `version` field
2. **src/common/app.release.ts** - Increment `Monotonics.NewsVersion` (e.g., 203 → 204)
3. **src/apps/news/news.data.tsx** - Add new entry at top of `NewsItems` array
For the news entry, ask user for release name and key highlights.
**News entry style** - Draft is a starting point, user will refine:
- Models lead when model-heavy, grouped together
- Callout features get own bullet with colon explanation
- UX items grouped, minimal bold
- Fixes last, brief
- Release name stays subtle - don't oversell the theme
Use `<B>`, `<B issue={N}>`, `<B href='url'>`. Re-read file after user edits.
4. User runs `npm i` to update lockfile
## Step 3: README
Update `README.md`:
- Line ~46: Update model examples if new flagship models
- Line ~147: Add release bullet above previous version
**Style:** `- Open X.Y.Z: **Name** feature1, feature2, feature3`
## Step 4: Git Operations
User commits changes, then:
```bash
git tag vX.Y.Z
git push opensource vX.Y.Z
```
## Step 5: GitHub Release
Create release with `gh release create`. Structure:
```
# Big-AGI X.Y.Z - Name
## What's New
### **Headline Feature**
1-2 sentences explaining the main theme. Then bullet points for specifics.
### **Also New**
- Bullet list of other features
- Keep it scannable
**Full Changelog**: https://github.com/enricoros/big-AGI/compare/vPREV...vNEW
## Get Started
Available now at [big-agi.com](https://big-agi.com), via Docker, or self-host from source.
```
## Step 6: Announcements
Draft for user to post:
**Twitter** - Thematic, not feature dumps. Talk about what it means, not what it lists:
```
Big-AGI Open X.Y.Z is out!
[Theme - e.g., "Lots of love to models: native support, latest protocols, total configuration - puts you in control."]
[One more angle, natural prose]
[Optional link]
```
**Discord** - Structured with bold headers:
```
## :partyblob: Big-AGI **Open** X.Y.Z
**Category:** Items
**Category:** Items
**More:** Count of commits/fixes
```
## Tone Guide
**Good:**
- "Lots of love to models: native support, latest protocols, total configuration"
- "UX quality of life improvements, from Google Drive to message reorder"
- "Gemini 3 Flash support with 4-level thinking: high, medium, low, minimal"
**Bad:**
- "Rolling out the red carpet for top models!" (too salesy)
- "Enhanced and streamlined the robust model experience" (corporate speak)
- "Added support for Gemini 3 Flash model with multiple thinking levels" (verb prefix, vague)
## Reference
Find previous copy at:
- **GitHub releases:** https://github.com/enricoros/big-AGI/releases
- **News entries:** `src/apps/news/news.data.tsx`
- **README:** `README.md` release notes section
- **Changelog:** https://big-agi.com/changes
Match the existing tone - professional but human, specific not generic, features not marketing.
+113
View File
@@ -0,0 +1,113 @@
#!/usr/bin/env node
/**
* Parse Ollama models from HTML (sorted by newest for stable ordering)
*
* Usage:
* 1. Fetch HTML: curl -s "https://ollama.com/library?sort=newest" -o /tmp/ollama-newest.html
* 2. Parse: node .claude/scripts/parse-ollama-models.js
*
* Outputs: pipe-delimited format: modelName|pulls|capabilities|sizes
* Example: deepseek-r1|66200000|tools,thinking|1.5b,7b,8b,14b,32b,70b,671b
*
* Filtering rules:
* - Top 30 newest models are always included (regardless of pull count)
* - After top 30, only models with 50K+ pulls are included
* - Models with 'cloud' capability are always excluded
* - Models with 'embedding' capability are always excluded
*
* Pull counts are rounded to significant figures for stable diffs:
* - >=10M: round to 100K (e.g., 109,123,456 -> 109,100,000)
* - >=1M: round to 10K (e.g., 5,432,100 -> 5,430,000)
* - <1M: round to 1K (e.g., 88,700 -> 89,000)
*/
const fs = require('fs');
const htmlPath = process.argv[2] || '/tmp/ollama-newest.html';
const TOP_N_ALWAYS_INCLUDE = 30;
const MIN_PULLS_THRESHOLD = 50000;
if (!fs.existsSync(htmlPath)) {
console.error(`Error: HTML file not found at ${htmlPath}`);
console.error('Please fetch it first with:');
console.error(' curl -s "https://ollama.com/library?sort=newest" -o /tmp/ollama-newest.html');
process.exit(1);
}
const html = fs.readFileSync(htmlPath, 'utf8');
// Split into model sections - each starts with <a href="/library/
const modelSections = html.split(/<a href="\/library\//);
const allParsedModels = [];
for (let i = 1; i < modelSections.length; i++) {
const section = modelSections[i].substring(0, 5000); // Large enough window to capture all data
// Extract model name (first quoted string)
const nameMatch = section.match(/^([^"]+)"/);
if (!nameMatch) continue;
const name = nameMatch[1];
// Extract pulls using x-test-pull-count
const pullsMatch = section.match(/x-test-pull-count>([^<]+)</);
let pulls = 0;
if (pullsMatch) {
const pullStr = pullsMatch[1].replace(/,/g, '');
if (pullStr.includes('M')) {
pulls = Math.floor(parseFloat(pullStr) * 1000000);
} else if (pullStr.includes('K')) {
pulls = Math.floor(parseFloat(pullStr) * 1000);
} else {
pulls = parseInt(pullStr);
}
}
// Extract capabilities (tools, vision, embedding, thinking, cloud)
const capabilities = [];
const capabilityRegex = /x-test-capability[^>]*>([^<]+)</g;
let capMatch;
while ((capMatch = capabilityRegex.exec(section)) !== null) {
capabilities.push(capMatch[1].trim());
}
// Extract sizes (1.5b, 7b, etc.)
const sizes = [];
const sizeRegex = /x-test-size[^>]*>([^<]+)</g;
let sizeMatch;
while ((sizeMatch = sizeRegex.exec(section)) !== null) {
sizes.push(sizeMatch[1].trim());
}
// Skip models with 'cloud' or 'embedding' capability
if (capabilities.includes('cloud') || capabilities.includes('embedding')) {
continue;
}
allParsedModels.push({ name, pulls: roundPulls(pulls), capabilities, sizes });
}
// Apply filtering: top 30 always included, rest need 50K+ pulls
const models = allParsedModels.filter((model, index) => {
return index < TOP_N_ALWAYS_INCLUDE || model.pulls >= MIN_PULLS_THRESHOLD;
});
/**
* Round pulls to significant figures for stable output.
* This reduces churn from daily fluctuations while preserving magnitude.
*/
function roundPulls(pulls) {
if (pulls >= 10000000) return Math.round(pulls / 100000) * 100000; // >=10M: round to 100K
if (pulls >= 1000000) return Math.round(pulls / 10000) * 10000; // >=1M: round to 10K
return Math.round(pulls / 1000) * 1000; // <1M: round to 1K
}
// Output in pipe-delimited format (in the order they appear on the page)
models.forEach(m => {
const caps = m.capabilities.join(',');
const tags = m.sizes.join(',');
console.log(`${m.name}|${m.pulls}|${caps}|${tags}`);
});
const topNCount = Math.min(TOP_N_ALWAYS_INCLUDE, allParsedModels.length);
const thresholdCount = models.length - topNCount;
console.error(`\nTotal models: ${models.length} (top ${topNCount} newest + ${thresholdCount} with ${MIN_PULLS_THRESHOLD / 1000}K+ pulls)`);
+49
View File
@@ -0,0 +1,49 @@
{
"permissions": {
"allow": [
"Bash(cat:*)",
"Bash(cp:*)",
"Bash(curl:*)",
"Bash(eslint:*)",
"Bash(find:*)",
"Bash(gh issue list:*)",
"Bash(gh issue view:*)",
"Bash(git branch:*)",
"Bash(git cherry-pick:*)",
"Bash(git describe:*)",
"Bash(git grep:*)",
"Bash(git log:*)",
"Bash(git ls-tree:*)",
"Bash(git mv:*)",
"Bash(git show:*)",
"Bash(grep:*)",
"Bash(head:*)",
"Bash(ls:*)",
"Bash(mkdir:*)",
"Bash(node:*)",
"Bash(npm install)",
"Bash(npm install:*)",
"Bash(npm run:*)",
"Bash(npx eslint:*)",
"Bash(npx tsc:*)",
"Bash(rg:*)",
"Bash(rm:*)",
"Bash(sed:*)",
"Bash(tail:*)",
"Bash(tree:*)",
"Bash(tsc:*)",
"Read(//tmp/**)",
"Skill(llms:update-models*)",
"WebFetch",
"WebFetch(domain:big-agi.com)",
"WebSearch",
"mcp__chrome-devtools",
"mcp__github",
"mcp__ide__getDiagnostics"
],
"deny": [
"Read(node_modules)",
"Read(node_modules/**)"
]
}
}
+15 -40
View File
@@ -1,43 +1,18 @@
# big-AGI non-code files
/docs/
/dist/
README.md
*
# Ignore build and log files
Dockerfile
/.dockerignore
!app/
!kb/
!pages/
!public/
!src/
!tools/
# Node build artifacts
/node_modules
/.pnp
.pnp.js
!*.mjs
!middleware_BASIC_AUTH.ts
!middleware.ts
!next.config.ts
!package*.json
!tsconfig.json
# next.js
/.next/
/out/
# production
/build
# versioning
.git/
.github/
# IDEs
.idea/
# debug
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*
# local env files
.env*.local
# vercel
.vercel
# typescript
*.tsbuildinfo
next-env.d.ts
!LICENSE
!README.md
-3
View File
@@ -1,3 +0,0 @@
{
"extends": "next/core-web-vitals"
}
+70
View File
@@ -0,0 +1,70 @@
name: 🔥 Make AI Fix This
description: Bug, question, or feedback - AI analyzes and changes Big-AGI appropriately
labels: [ 'claude-triage' ]
body:
- type: markdown
attributes:
value: |
Thanks for opening an issue! Our AI will analyze it and change Big-AGI appropriately.
**What happens next:**
- AI searches the codebase and documentation
- You get a response, typically within 30 minutes
- Ticket gets follow-up and community votes
- type: textarea
attributes:
label: What's happening?
description: Describe the bug, feature request, or question. Be as detailed as you can.
placeholder: |
Bug example: "In Beam, Anthropic models seem to have search off..."
Model request: "Add Claude Opus 4.5 out today, see https://..."
Feature example: "Add the option to to save frequent prompt templates for reuse..."
validations:
required: true
- type: dropdown
attributes:
label: Where does this happen?
description: If this is a bug or issue, where are you experiencing it?
options:
- Big-AGI Pro (big-agi.com)
- Self-deployed from GitHub
- Docker deployment
- Local development
- Not applicable (question/feedback)
- Other
validations:
required: false
- type: dropdown
attributes:
label: Impact on your workflow
description: How does this affect your use of Big-AGI?
options:
- Blocking - Can't use Big-AGI
- High - Major feature broken
- Medium - Workaround exists
- Low - Minor inconvenience
- None - Just a question/suggestion
validations:
required: false
- type: textarea
attributes:
label: Environment (if applicable)
description: Device, OS, browser - only if reporting a bug
placeholder: |
Device: Macbook Pro M3
OS: macOS 15.2
Browser: Chrome 131
validations:
required: false
- type: textarea
attributes:
label: Additional context
description: Screenshots, error messages, or anything else that helps
placeholder: Paste screenshots or error messages here
validations:
required: false
+19 -2
View File
@@ -5,14 +5,29 @@ labels: [ 'type: bug' ]
body:
- type: markdown
attributes:
value: Thank you for reporting a bug.
value: Thank you for reporting a bug. Please help us by providing accurate environment information.
- type: dropdown
attributes:
label: Environment
description: (required) Where are you experiencing this issue?
options:
- Big-AGI Pro (big-agi.com)
- Self-deployed from GitHub
- Docker container (specify in description)
- Local development
- Other
validations:
required: true
- type: textarea
attributes:
label: Description
description: (required) Please provide a clear description. Please also provide the steps to reproduce.
description: (required) Please provide a clear description and **steps to reproduce**.
placeholder: 'Concise description + steps to reproduce.'
validations:
required: true
- type: textarea
attributes:
label: Device and browser
@@ -20,10 +35,12 @@ body:
placeholder: 'Device: (e.g., iPhone 16, Pixel 9, PC, Macbook...), OS: (e.g., iOS 17, Windows 12), Browser: (e.g., Chrome 119, Safari 18, Firefox..)'
validations:
required: true
- type: textarea
attributes:
label: Screenshots and more
placeholder: 'Attach screenshots, or add any additional context here.'
- type: checkboxes
attributes:
label: Willingness to Contribute
@@ -32,7 +32,6 @@ assignees: enricoros
- [ ] verify deployment on Vercel
- [ ] verify container on GitHub Packages
- [ ] update the GitHub release
- [ ] push as stable `git push opensource main:main-stable`
- Announce:
- [ ] Discord announcement
- [ ] Twitter announcement
+69
View File
@@ -0,0 +1,69 @@
version: 2
updates:
- package-ecosystem: docker
directory: /
schedule:
interval: weekly
commit-message:
prefix: "chore(deps)"
ignore:
- dependency-name: "node"
versions: [">=25", "<26"] # Node 25 breaks the build because of a dummy localStorage object
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
commit-message:
prefix: "chore(deps)"
# Disabled npm updates for now - will need precise package pinning, as some packages changed behavior upstream
# - package-ecosystem: npm
# directory: /
# schedule:
# interval: weekly
# commit-message:
# prefix: "chore(deps)"
# cooldown:
# semver-patch: 3
# semver-minor: 7
# semver-major: 14
# # Ignore packages intentionally pinned due to upstream issues
# ignore:
# # Issue #857: v11.6+ breaks streaming; tried 11.4.4/11.6/11.7, only 11.5.1 works
# - dependency-name: "@trpc/*"
# versions: [">=11.5.1", "<12"]
# # Pinned during tRPC #857 debugging - may be safe to unpin, test first
# - dependency-name: "@tanstack/react-query"
# versions: [">=5.90.10", "<6"]
# # Pinned because 5.0.8 changes signatures so return set({ .. }) != void;
# - dependency-name: "zustand"
# versions: [">=5.0.7", "<6"]
# groups:
# next:
# patterns:
# - "@next/*"
# - "eslint-config-next"
# - "next"
# react:
# patterns:
# - "react"
# - "react-dom"
# - "@types/react"
# - "@types/react-dom"
# emotion:
# patterns:
# - "@emotion/*"
# mui:
# patterns:
# - "@mui/*"
# dnd-kit:
# patterns:
# - "@dnd-kit/*"
# prisma:
# patterns:
# - "@prisma/*"
# - "prisma"
# vercel:
# patterns:
# - "@vercel/*"
+59
View File
@@ -0,0 +1,59 @@
name: Claude Code DM
on:
issues:
types: [opened, assigned]
issue_comment:
types: [created]
pull_request_review:
types: [submitted]
pull_request_review_comment:
types: [created]
jobs:
claude-dm:
# Only allow repository owner to trigger DMs with @claude (blocks other users and bots)
if: |
github.actor == 'enricoros' &&
github.triggering_actor == 'enricoros' &&
((github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude'))) ||
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')))
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: write # Required for code creation and commits
issues: write
pull-requests: write
actions: read # Required for Claude to read CI results on PRs
id-token: write # required to use OIDC to authenticate to Claude Code API
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0 # 1 -> 0: full history helps with git blame, etc.
- name: Run Claude Code DM Response
id: claude
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# Security: Only users with write access can trigger (DMs allow code execution)
# Note: contents:write permission enables code creation and commits
# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read
# Optional: Add claude_args to customize behavior and configuration
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.claude.com/en/docs/claude-code/cli-reference for available options
claude_args: |
--model claude-opus-4-6
--max-turns 100
--allowedTools "Edit,Read,Write,WebFetch,WebSearch,Bash(cat:*),Bash(cp:*),Bash(find:*),Bash(git branch:*),Bash(grep:*),Bash(ls:*),Bash(mkdir:*),Bash(npm run:*),Bash(gh issue:*),Bash(gh search:*),Bash(gh label:*),Bash(gh pr:*),SlashCommand"
+83
View File
@@ -0,0 +1,83 @@
name: Claude Code Auto-Triage Issues
on:
issues:
types: [ opened ]
jobs:
claude-issue-triage:
# Optional: Skip for bot users and direct mentions in the body (handled by claude-dm.yml)
if: |
github.event.issue.user.type != 'Bot' &&
!contains(github.event.issue.body, '@claude')
runs-on: ubuntu-latest
timeout-minutes: 30
permissions:
contents: read
issues: write
pull-requests: read # was write, but we're not altering PRs here
actions: read
id-token: write # required to use OIDC to authenticate to Claude Code API
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0 # 1 -> 0: full history helps with git blame, etc.
- name: Analyze issue and provide help
uses: anthropics/claude-code-action@v1
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
# Security: Allow any user to trigger triage (automated issue help is safe)
github_token: ${{ secrets.GITHUB_TOKEN }}
allowed_non_write_users: '*'
# track_progress: true # Enables tracking comments
show_full_output: ${{ github.event.repository.private }} # security: do not log verbosely in private repo
# This is an optional setting that allows Claude to read CI results on PRs
additional_permissions: |
actions: read
prompt: |
REPO: ${{ github.repository }}
ISSUE NUMBER: #${{ github.event.issue.number }}
A user has reported an issue. Please help them by:
1. Deep think about the issue:
**Understand the problem**: Analyze the issue description and any error messages
**Search for context**:
- Use the repository's CLAUDE.md for high level guidance and especially kb/ documentation
- Look in relevant code files, including kb/ documentation
**Use web search**: When potentially outside Big-AGI (e.g. user configuration), search the web for similar errors or related issues
**Provide a solution**:
- Provide multiple solutions if uncertain, and say so
- Analyze the code and suggest specific fixes with code examples
- If possible also suggest fixes or workarounds for immediate relief
- Reference specific files and line numbers
- Suggest workarounds for immediate relief if applicable
- Use web search to find similar issues and solutions
- Test selectively and even npm install and run build if needed to verify the solution
2. Always add the 'claude-triage' issue label to indicate this issue was triaged by Claude
3. Comment with:
- Very brief thank you note, if applicable
- Initial assessment
- Next steps or clarification needed
- Link duplicates if found
Remember: design values for this codebase: orthogonal features, features that generalize well, modularized and reusable code,
type-discriminated data, optimized code, zero maintenance burden. Minimize future pain, etc.
IMPORTANT: You are in READ-ONLY triage mode. Analyze and suggest solutions in your comment, but do NOT attempt to push code changes.
If you're uncertain, say so and suggest next steps.
Be welcoming, helpful, professional, solution-focused and no-BS.
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
# or https://docs.claude.com/en/docs/claude-code/cli-reference for available options
claude_args: |
--model claude-opus-4-6
--max-turns 75
--allowedTools "Edit,Read,Write,WebFetch,WebSearch,Bash(cat:*),Bash(cp:*),Bash(find:*),Bash(git branch:*),Bash(grep:*),Bash(ls:*),Bash(mkdir:*),Bash(npm run:*),Bash(gh issue:*),Bash(gh search:*),Bash(gh label:*),Bash(gh pr:*),SlashCommand"
+133 -26
View File
@@ -12,34 +12,130 @@ name: Create and publish Docker images
on:
push:
branches:
- main
#- main-stable # Disabled as the v* tag is used for stable releases
- main # Primary branch (Big-AGI Open)
tags:
- 'v*' # Trigger on version tags (e.g., v1.7.0)
- 'v2.*' # Stable releases (v2.0.0, v2.1.0, etc.)
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build-and-push-image:
runs-on: ubuntu-latest
# Build job: runs on native runners for each platform (no QEMU emulation)
build:
strategy:
fail-fast: false
matrix:
include:
- platform: linux/amd64
runner: ubuntu-latest
- platform: linux/arm64
runner: ubuntu-24.04-arm
runs-on: ${{ matrix.runner }}
name: Build ${{ matrix.platform }}
timeout-minutes: 30
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Prepare
run: |
platform=${{ matrix.platform }}
echo "PLATFORM_PAIR=${platform//\//-}" >> $GITHUB_ENV
echo "IMAGE_NAME_LC=${IMAGE_NAME,,}" >> $GITHUB_ENV
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Checkout repository
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
with:
fetch-depth: 1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata for Docker
id: meta
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
labels: |
org.opencontainers.image.title=Big-AGI Open
org.opencontainers.image.description=Big-AGI Open - Multi-model AI workspace for experts who need to think broader, decide smarter, and build with confidence.
org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}
org.opencontainers.image.documentation=https://big-agi.com
- name: Build and push by digest
id: build
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294 # v7.0.0
with:
context: .
file: Dockerfile
platforms: ${{ matrix.platform }}
labels: ${{ steps.meta.outputs.labels }}
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_LC }}
build-args: |
NEXT_PUBLIC_GA4_MEASUREMENT_ID=${{ secrets.GA4_MEASUREMENT_ID }}
NEXT_PUBLIC_BUILD_HASH=${{ github.sha }}
NEXT_PUBLIC_BUILD_REF_NAME=${{ github.ref_name }}
outputs: type=image,push-by-digest=true,name-canonical=true,push=true,oci-mediatypes=true
provenance: false
cache-from: type=gha,scope=${{ github.repository }}-${{ matrix.platform }}
cache-to: type=gha,scope=${{ github.repository }}-${{ matrix.platform }},mode=max
- name: Export digest
run: |
mkdir -p ${{ runner.temp }}/digests
digest="${{ steps.build.outputs.digest }}"
touch "${{ runner.temp }}/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
name: digests-${{ env.PLATFORM_PAIR }}
path: ${{ runner.temp }}/digests/*
if-no-files-found: error
retention-days: 1
# Merge job: combines platform-specific images into a unified multi-arch manifest
merge:
name: Merge manifests
runs-on: ubuntu-latest
timeout-minutes: 10
needs: build
permissions:
contents: read
packages: write
steps:
- name: Prepare
run: echo "IMAGE_NAME_LC=${IMAGE_NAME,,}" >> $GITHUB_ENV
- name: Download digests
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
path: ${{ runner.temp }}/digests
pattern: digests-*
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4.0.0
- name: Log in to the Container registry
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
@@ -47,23 +143,34 @@ jobs:
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf # v6.0.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
# Development: main branch
type=raw,value=development,enable=${{ github.ref == 'refs/heads/main' }}
type=raw,value=stable,enable=${{ github.ref == 'refs/heads/main-stable' }}
type=ref,event=tag # Use the tag name as a tag for tag builds
type=semver,pattern={{version}} # Generate semantic versioning tags for tag builds
type=sha # Just in case none of the above applies
- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:
context: .
file: Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
build-args: NEXT_PUBLIC_GA4_MEASUREMENT_ID=${{ secrets.GA4_MEASUREMENT_ID }}
# Latest: v2.x releases (safe default)
type=raw,value=latest,enable=${{ startsWith(github.ref, 'refs/tags/v2.') }}
# Stable: v2.x releases (alias)
type=raw,value=stable,enable=${{ startsWith(github.ref, 'refs/tags/v2.') }}
# Version tags (v2.0.0, 2.0.0)
type=ref,event=tag
type=semver,pattern={{version}}
- name: Create manifest list and push
working-directory: ${{ runner.temp }}/digests
run: |
docker buildx imagetools create \
$(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
--annotation='index:org.opencontainers.image.title=Big-AGI Open' \
--annotation='index:org.opencontainers.image.description=Big-AGI Open - Multi-model AI workspace for experts who need to think broader, decide smarter, and build with confidence.' \
--annotation='index:org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}' \
--annotation='index:org.opencontainers.image.documentation=https://big-agi.com' \
$(printf '${{ env.REGISTRY }}/${{ env.IMAGE_NAME_LC }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY }}/${{ env.IMAGE_NAME_LC }}:${{ steps.meta.outputs.version }}
+15 -1
View File
@@ -3,6 +3,10 @@
# Frontend Build: ignore API files disabled for this build
/app/**/*.backup
# Supabase - ignored for now
/supabase/
/*.sql
# dependencies
/node_modules
/.pnp
@@ -41,4 +45,14 @@ yarn-error.log*
next-env.d.ts
# other
.idea/
.idea/
# Ingore k8s/env-secret.yaml
./k8s/env-secret.yaml
/certificates
.env*.local
/.run/dev (ENV).run.xml
/src/modules/3rdparty/aider/scratch*
# Ignore temporary CC files
/tmpclaude*
-3
View File
@@ -1,3 +0,0 @@
overrides=@mui/material@^5.0.0:
dependencies:
@mui/material: replaced-by=@mui/joy
+1
View File
@@ -0,0 +1 @@
24
+237
View File
@@ -0,0 +1,237 @@
# CLAUDE.md
Guidance to Claude Code when working with code in this repository.
## Architecture Overview
Big-AGI is a Next.js 15 application with a sophisticated modular architecture built for professional AI interactions.
### Development Commands
Dev servers may be already running on ports 3000, 3001, 3002, or 3003 (not always this app - other projects may occupy these ports). Never start or stop dev servers, let the user do it.
```bash
# Validate (~5s, safe while dev server runs, do NOT use `next build` ~45s for same checks)
tsc --noEmit --pretty && npm run lint # Type check (~3.5s) + ESLint (~2s)
eslint src/path/to/file.ts # Lint specific file
# Full build (~60s+, only when suspecting runtime/bundle issues)
npm run build # next build runs compile+lint+types but stops at first type-error file; tsc shows all at once
# Database & External Services
# npm run supabase:local-update-types # Generate TypeScript types
# npm run stripe:listen # Listen for Stripe webhooks
```
### Git/GitHub remotes
The `gh` command is available to interact with GitHub from the terminal, but **NEVER PUSH TO ANY BRANCH**. The user manages all 'write' git operations.
- `opensource` -> `enricoros/big-AGI` (public, default branch: `main`, MIT) - community issues/PRs/releases
- `private` -> `big-agi/big-agi-private` (private, default branch: `dev`) - main dev repo with `dev`->`staging`->`prod` pipeline
### Core Directory Structure
You are started from the root of the repository (i.e. where the git folder is or scripts should be run from).
**ISSUE ALL COMMANDS FROM THE ROOT, OMITTING 'cd' COMMANDS. DO NOT CHAIN CD AND OTHER COMMANDS**
**NEVER RUN COMPOUND `cd` COMMANDS LIKE `cd some-folder && command` - ONLY RUN `command` FROM THE ROOT, ALWAYS.**
The directory structure is as follows:
```
/app/api/ # Next.js App Router (API routes only, mostly -> /src/server/)
/pages/ # Next.js Pages Router (file-based, mostly -> /src/apps/)
/src/
├── apps/ # Feature applications (self-contained modules)
├── modules/ # Reusable business logic and integrations
├── common/ # Shared infrastructure and utilities
└── server/ # Backend API layer with tRPC
/kb/ # Knowledge base for modules, architectures
```
### Key Technologies
- **Frontend**: Next.js 15, React 18, Material-UI Joy, Emotion (CSS-in-JS)
- **State Management**: Zustand with localStorage/IndexedDB (single cell) persistence
- **API Layer**: tRPC with TanStack React Query for type-safe communication
- **Runtime**: Edge Runtime for AI operations, Node.js for data processing
### "Apps" Architecture Pattern
Each app in `/src/apps/` is a self-contained feature module:
- Main component (`App*.tsx`)
- Local state store (`store-app-*.ts`)
- Feature-specific components and layouts
- Runtime configurations
Example apps: `chat/`, `call/`, `beam/`, `draw/`, `personas/`, `settings-modal/`
### Modules Architecture Pattern
Modules in `/src/modules/` provide reusable business logic:
- **`aix/`** - AI communication framework for real-time streaming
- **`beam/`** - Multi-model AI reasoning system (scatter/gather pattern)
- **`blocks/`** - Content rendering (markdown, code, images, etc.)
- **`llms/`** - Language model abstraction supporting 20+ vendors
### Key Subsystems & Their Patterns
#### AIX - Real-time AI Communication
**Location**: `/src/modules/aix/`
**Pattern**: Client-server streaming architecture with provider abstraction
- **Client** -> tRPC -> **Server** -> **AI Providers**
- Handles streaming/non-streaming responses with batching and error recovery
- Particle-based streaming: `AixWire_Particles` -> `ContentReassembler` -> `DMessage`
- Provider-agnostic through adapter pattern (OpenAI, Anthropic, Gemini protocols)
#### Beam - Multi-Model Reasoning
**Location**: `/src/modules/beam/`
**Pattern**: Scatter/Gather for parallel AI processing
- **Scatter**: Multiple models (rays) process input in parallel
- **Gather**: Fusion algorithms combine outputs
- Real-time UI updates via vanilla Zustand stores
- BeamStore per conversation via ConversationHandler
#### Conversation Management
**Location**: `/src/common/stores/chat/` and `/src/common/chat-overlay/`
**Pattern**: Overlay architecture with handler per conversation
- `ConversationHandler` orchestrates chat, beam, ephemerals
- Per-chat stores: `PerChatOverlayStore` + `BeamStore`
- Message structure: `DMessage` -> `DMessageFragment[]`
- Supports multi-pane with independent conversation states
#### Layout System ("Optima")
The Optima layout system provides:
- **Responsive design** adapting desktop/mobile
- **Drawer(left)/Toolbar/Panel(right)** composition
- **Portal-based rendering** for flexible component placement
Located in `/src/common/layout/optima/`
### Storage System
Big-AGI uses a local-first architecture with Zustand + IndexedDB:
- **Zustand** stores for in-memory state management
- **localStorage** for persistent settings/all storage (via Zustand persist middleware)
- **IndexedDB** for persistent chat-only storage (via Zustand persist middleware) on a single key-val cell
- **Local-first** architecture with offline capability
Key storage patterns:
- Stores use `createIDBPersistStorage()` for IndexedDB persistence
- Version-based migrations handle data structure changes
- Partialize/merge functions control what gets persisted
- Rehydration logic repairs and upgrades data on load
Located in `/src/common/stores/` with stores like:
- `chat/store-chats.ts`: Conversations and messages
- `llms/store-llms.ts`: Model configurations
### State Management Patterns
1. **Global Stores** (Zustand with IndexedDB persistence)
- `store-chats`: Conversations and messages
- `store-llms`: Model configurations
- `store-ux-labs`: UI preferences and labs features
- **Zustand pattern**: Always wrap multi-property selectors with `useShallow` from `zustand/react/shallow` to prevent re-renders on reference changes
2. **Per-Instance Stores** (Vanilla Zustand)
- `store-beam_vanilla`: Beam scatter/gather state
- `store-perchat_vanilla`: Chat overlay state
- `store-attachment-drafts_vanilla`: Attachment drafts
- High-performance, no React integration
3. **Module Stores**
- Feature-specific configuration and state
- Example: `store-module-beam`, `store-module-t2i`
### User Flows & Interdependencies
#### Chat Message Flow
1. User input -> `Composer` -> `DMessage` creation
2. `ConversationHandler.messageAppend()` -> Store update
3. `_handleExecute()` / `ConversationHandler.executeChatMessages()` -> AIX client request
4. AIX streaming -> `ContentReassembler` -> UI updates
5. Zustand auto-persistence -> IndexedDB
#### Beam Multi-Model Flow
1. User triggers Beam -> `BeamStore.open()` state update
2. Scatter: Parallel `aixChatGenerateContent()` to N models
3. Real-time ray updates -> UI progress
4. Gather: User selects fusion -> Combined output
5. Result -> New message in conversation
### Development Patterns
#### TypeScript & Code Quality
- Type-safe through strict TypeScript interfaces
- Clear interface-first approach for modules and components
- Use latest TypeScript 5.9+ features
- Use forward-looking patterns to minimize future refactors (e.g., discriminated unions, `satisfies` operator, as const assertions)
- Type guards and exhaustiveChecks for robustness
- Type inference where possible
- Runtime validation with Zod schemas for API inputs/outputs (usually server-side, with the client importing as types the inferred types)
#### Module Integration
- Modules register with central registries (e.g., `vendors.registry.ts`)
- Configuration objects define module behavior
#### API Patterns
- **tRPC routers** for type-safe API endpoints
- **Zod schemas** for runtime validation
- **tRPC procedures middleware** for authorization and logging (authorization is on a httpOnly cookie)
- **Edge functions** for performance-critical operations
#### Security Considerations
- API keys in environment variables only (server-side); on the client they're in localStorage for now, but we want to move away from this
- XSS protection through proper content escaping
#### Writing Style
- **Never use emdashes (—).** Use normal dashes (-) instead, in all generated text, code comments, and documentation.
## Common Development Tasks
### Testing & Quality
- Run `npm run lint` before committing
- Type-check with `tsc --noEmit`
- Test critical user flows manually
### Debugging Storage Issues
- Check IndexedDB: DevTools -> Application -> IndexedDB -> `app-chats`
- Monitor Zustand state: Use Zustand DevTools
- Check migration logs in console during rehydration
## Server Architecture
The server uses a split architecture with two tRPC routers:
### Edge Network (`trpc.router-edge`)
Distributed edge runtime for low-latency AI operations:
- **AIX** [1] - AI streaming and communication
- **LLM Routers** [1] - Vendor-specific operations such as list models (OpenAI, Anthropic, Gemini, Ollama)
- **Speex** [1] - Unified TTS router (ElevenLabs, Inworld, and other TTS vendors)
- **External Services** - Google Search, YouTube transcripts
[1]: also supports client-side fetch (CSF) via client-side inclusion (rebundling with stubs),
for direct browser-to-API communication when possible (CORS), to reduce latency and network barriers
Located at `/src/server/trpc/trpc.router-edge.ts`
### Cloud Network (`trpc.router-cloud`)
Centralized server for data processing operations:
- **Browse** - Web scraping and content extraction
- **Trade** - Import/export functionality (ChatGPT, markdown, JSON)
Located at `/src/server/trpc/trpc.router-cloud.ts`
**Key Pattern**: Edge runtime for AI (fast, distributed), Cloud runtime for data ops (centralized, Node.js)
@kb/KB.md
@kb/vision-inlined.md
As a side note, the product tiers (independent, non-VC-funded) are: **Open** (self-host, MIT) · **Free** (big-agi.com) · **Pro** (paid, includes Sync + backup). All tiers use the user's own API keys.
+39 -12
View File
@@ -1,7 +1,9 @@
# Base
FROM node:18-alpine AS base
ENV NEXT_TELEMETRY_DISABLED 1
# syntax=docker/dockerfile:1
# check=skip=CopyIgnoredFile
# Base
FROM node:24-alpine AS base
ENV NEXT_TELEMETRY_DISABLED=1
# Dependencies
FROM base AS deps
@@ -11,8 +13,11 @@ WORKDIR /app
COPY package*.json ./
COPY src/server/prisma ./src/server/prisma
# link ssl3 for latest Alpine
RUN sh -c '[ ! -e /lib/libssl.so.3 ] && ln -s /usr/lib/libssl.so.3 /lib/libssl.so.3 || echo "Link already exists"'
# Install dependencies, including dev (release builds should use npm ci)
ENV NODE_ENV development
ENV NODE_ENV=development
RUN npm ci
@@ -20,20 +25,37 @@ RUN npm ci
FROM base AS builder
WORKDIR /app
# Deployment type marker
ENV NEXT_PUBLIC_DEPLOYMENT_TYPE=docker
# Optional build version arguments at build time
ARG NEXT_PUBLIC_BUILD_HASH
ENV NEXT_PUBLIC_BUILD_HASH=${NEXT_PUBLIC_BUILD_HASH}
ARG NEXT_PUBLIC_BUILD_REF_NAME
ENV NEXT_PUBLIC_BUILD_REF_NAME=${NEXT_PUBLIC_BUILD_REF_NAME}
# Optional argument to configure GA4 at build time (see: docs/deploy-analytics.md)
ARG NEXT_PUBLIC_GA4_MEASUREMENT_ID
ENV NEXT_PUBLIC_GA4_MEASUREMENT_ID=${NEXT_PUBLIC_GA4_MEASUREMENT_ID}
# Optional argument to configure PostHog at build time (see: docs/deploy-analytics.md)
ARG NEXT_PUBLIC_POSTHOG_KEY
ENV NEXT_PUBLIC_POSTHOG_KEY=${NEXT_PUBLIC_POSTHOG_KEY}
# Optional argument to configure Google Drive Picker at build time (can reuse AUTH_GOOGLE_ID value)
ARG NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID
ENV NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID=${NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID}
# Copy development deps and source
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Build the application
ENV NODE_ENV production
ENV NODE_ENV=production
RUN npm run build
# Reduce installed packages to production-only
RUN npm prune --production
RUN npm prune --omit=dev
# Runner
@@ -41,18 +63,23 @@ FROM base AS runner
WORKDIR /app
# As user
RUN addgroup --system --gid 1001 nodejs
RUN adduser --system --uid 1001 nextjs
RUN addgroup --system --gid 1001 nodejs \
&& adduser --system --uid 1001 nextjs \
&& apk add --no-cache openssl
# Copy Built app
COPY --from=builder --chown=nextjs:nodejs /app/public ./public
COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next
COPY --from=builder --chown=nextjs:nodejs /app/node_modules ./node_modules
COPY --from=builder --chown=nextjs:nodejs /app/src/server/prisma ./src/server/prisma
# Instead of `COPY --from=builder --chown=nextjs:nodejs /app/.next ./.next`, we only extract some parts, excluding .next/cache which is build time only:
COPY --from=builder --chown=nextjs:nodejs /app/.next/BUILD_ID ./.next/
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
COPY --from=builder --chown=nextjs:nodejs /app/.next/server ./.next/server
COPY --from=builder --chown=nextjs:nodejs /app/.next/types ./.next/types
COPY --from=builder --chown=nextjs:nodejs /app/.next/*.json ./.next/
# Minimal ENV for production
ENV NODE_ENV production
ENV PATH $PATH:/app/node_modules/.bin
ENV NODE_ENV=production
# Run as non-root user
USER nextjs
@@ -61,4 +88,4 @@ USER nextjs
EXPOSE 3000
# Start the application
CMD ["next", "start"]
CMD ["/app/node_modules/.bin/next", "start"]
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023-2024 Enrico Ros
Copyright (c) 2023-2026 Enrico Ros
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+270 -95
View File
@@ -1,39 +1,212 @@
# BIG-AGI 🧠✨
<div align="center">
Welcome to big-AGI, the AI suite for professionals that need function, form,
simplicity, and speed. Powered by the latest models from 12 vendors and
open-source servers, `big-AGI` offers best-in-class Chats,
[Beams](https://github.com/enricoros/big-AGI/issues/470),
and [Calls](https://github.com/enricoros/big-AGI/issues/354) with AI personas,
visualizations, coding, drawing, side-by-side chatting, and more -- all wrapped in a polished UX.
<img width="256" height="256" alt="Big-AGI Logo" src="https://big-agi.com/assets/logo-bright-github.svg" />
Stay ahead of the curve with big-AGI. 🚀 Pros & Devs love big-AGI. 🤖
<h1><a href="https://big-agi.com">Big-AGI</a></h1>
[![Official Website](https://img.shields.io/badge/BIG--AGI.com-%23096bde?style=for-the-badge&logo=vercel&label=launch)](https://big-agi.com)
[![Use Free ⋅ Go Pro](https://img.shields.io/badge/Use_Free-Get_Pro-d5ec31?style=for-the-badge&logo=rocket&logoColor=white&labelColor=000)](https://big-agi.com)
[![Deploy on Docker](https://img.shields.io/badge/Self--Host-Docker-blue?style=for-the-badge&logo=docker&logoColor=white&labelColor=000)](https://github.com/enricoros/big-AGI/pkgs/container/big-agi)
[![Deploy on Vercel](https://img.shields.io/badge/Vercel-Deploy-blue?style=for-the-badge&logo=vercel&logoColor=white&labelColor=000)](https://vercel.com/new/clone?repository-url=https://github.com/enricoros/big-agi)
[![Discord](https://img.shields.io/discord/1098796266906980422?style=for-the-badge&label=Discord&logo=discord&logoColor=white&labelColor=000000&color=purple)](https://discord.gg/MkH4qj2Jp9)
<br/>
[![GitHub Monthly Commits](https://img.shields.io/github/commit-activity/m/enricoros/big-agi?style=for-the-badge&x=3&logo=github&logoColor=white&label=commits&labelColor=000&color=green)](https://github.com/enricoros/big-agi/commits)
[![GHCR Pulls](https://img.shields.io/badge/ghcr.io-800k_dl-12b76a?style=for-the-badge&logo=Xdocker&logoColor=white&labelColor=000&color=A8E6CF)](https://github.com/enricoros/big-AGI/pkgs/container/big-agi)
[![Contributors](https://img.shields.io/github/contributors/enricoros/big-agi?style=for-the-badge&x=2&logo=Xgithub&logoColor=white&label=cooks&labelColor=000&color=A8E6CF)](https://github.com/enricoros/big-AGI/graphs/contributors)
[![License: MIT](https://img.shields.io/badge/License-MIT-A8E6CF?style=for-the-badge&labelColor=000)](https://opensource.org/licenses/MIT)
<br/>
Or fork & run on Vercel
[![Open an Issue](https://img.shields.io/badge/Open_Issue-AI_Will_Help-ff8c00?style=for-the-badge&logo=fireship&logoColor=fff&labelColor=8b0000)](https://github.com/enricoros/big-agi/issues/new?template=ai-triage.yml)
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-AGI&env=OPENAI_API_KEY&envDescription=Backend%20API%20keys%2C%20optional%20and%20may%20be%20overridden%20by%20the%20UI.&envLink=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-AGI%2Fblob%2Fmain%2Fdocs%2Fenvironment-variables.md&project-name=big-AGI)
[//]: # ([![Uptime Robot ratio &#40;30 days&#41;]&#40;https://img.shields.io/uptimerobot/ratio/m801796948-868b22ed7ceaa0acac4dc765?style=for-the-badge&labelColor=000&color=green&#41;]&#40;https://stats.uptimerobot.com/59MXcnmjrM&#41;)
[//]: # ([![Open Version]&#40;https://img.shields.io/github/v/release/enricoros/big-AGI?label=Open+Release&style=flat-square&logo=github&logoColor=white&labelColor=000&#41;]&#40;https://github.com/enricoros/big-AGI/releases/latest&#41;)
[//]: # (![GitHub Stars]&#40;https://img.shields.io/github/stars/enricoros/big-agi?style=flat-square&logo=github&logoColor=white&labelColor=000&color=yellow&#41;)
[//]: # ([![GitHub Forks]&#40;https://img.shields.io/github/forks/enricoros/big-agi?style=flat-square&logo=github&logoColor=white&labelColor=000&#41;]&#40;#&#41;)
[//]: # ([![Follow on X]&#40;https://img.shields.io/twitter/follow/enricoros?style=flat-square&logo=X&logoColor=white&labelColor=000&color=000&#41;]&#40;https://x.com/enricoros&#41;)
## 👉 [roadmap](https://github.com/users/enricoros/projects/4/views/2) 👉 [installation](docs/installation.md) 👉 [documentation](docs/README.md)
</div>
> Note: bigger better features (incl. Beam-2) are being cooked outside of `main`.
<br/>
[//]: # (big-AGI is an open book; see the **[ready-to-ship and future ideas]&#40;https://github.com/users/enricoros/projects/4/views/2&#41;** in our open roadmap)
# Big-AGI Open 🧠
### What's New in 1.16.1...1.16.5 · Jul 18, 2024 (patch releases)
This is the open-source foundation of **Big-AGI**, ___the multi-model AI workspace for experts___.
Big-AGI is the multi-model AI workspace for experts: Engineers architecting systems. Founders making decisions. Researchers validating hypotheses.
You need to think broader, decide faster, and build with confidence, then you need Big-AGI.
It comes packed with **world-class features** like Beam, and is praised for its **best-in-class AI chat UX**.
**As an independent, non-VC-funded project, Pro subscriptions at $10.99/mo fund development for everyone, including the free and open-source tiers.**
![LLM Vendors](https://img.shields.io/badge/20+_LLM_Services-500+_Models-black?style=for-the-badge&logo=anthropic&logoColor=white&labelColor=purple)&nbsp;
[![Feature Beam](https://img.shields.io/badge/AI--Validation-BEAM-000?style=for-the-badge&labelColor=purple)](https://big-agi.com/beam)&nbsp;
[![Feature Inspector](https://img.shields.io/badge/Expert_Mode-AI_Inspector-000?style=for-the-badge&labelColor=purple)](https://big-agi.com/inspector)
### What makes Big-AGI different:
**Intelligence**: with [Beam & Merge](https://big-agi.com/beam) for multi-model de-hallucination, native search, and bleeding-edge AI models like Opus 4.6, Nano Banana Pro, Kimi K2.5 or GPT 5.4 -
**Control**: with personas, data ownership, requests inspection, unlimited usage with API keys, and *no vendor lock-in* -
and **Speed**: with a local-first, over-powered, zero-latency, madly optimized web app.
<table>
<tr>
<td align="center" width="25%">
<b>🧠 Intelligence</b><br/>
<img src="https://img.shields.io/badge/Multi--Model-Trust-4285F4?style=for-the-badge" alt="Multi-Model"/>
</td>
<td align="center" width="25%">
<b>✨ Experience</b><br/>
<img src="https://img.shields.io/badge/Clean-UX-34A853?style=for-the-badge" alt="Clean UX"/>
</td>
<td align="center" width="25%">
<b>⚡ Performance</b><br/>
<img src="https://img.shields.io/badge/Zero-Latency-EA4335?style=for-the-badge" alt="Zero Latency"/>
</td>
<td align="center" width="25%">
<b>🔒 Control</b><br/>
<img src="https://img.shields.io/badge/No-Lock--in-FBBC04?style=for-the-badge" alt="No Lock-in"/>
</td>
</tr>
<tr>
<td align="center" valign="top">
Beam & Merge<br/>
No context junk<br/>
Purest AI outputs
</td>
<td align="center" valign="top">
Flow-state interface<br/>
Highly customizable<br/>
Best-in-class UX
</td>
<td align="center" valign="top">
Local-first<br/>
Highly parallel<br/>
Madly optimized
</td>
<td align="center" valign="top">
No vendor lock-in<br/>
Your API keys<br/>
AI Inspector
</td>
</tr>
</table>
### Who uses Big-AGI:
Loved by engineers, founders, researchers, self-hosters, and IT departments for its power, reliability, and transparency.
<img width="830" height="370" alt="image" src="https://github.com/user-attachments/assets/513c4f77-0970-4a56-b23b-1416c8246174" />
Choose Big-AGI because you don't need another clone or slop - you need an AI tool that scales with you.
### Show me a screenshot:
Sure - here is real-world screeengrab as I'm writing this, while running a Beam to extract SVG from an image with Sonnet 4.5, Opus 4.1, GPT 5.1, Gemini 2.5 Pro, Nano Banana, etc.
<img alt="Real-world screen capture as of Nov 15 2025, 2am" src="https://github.com/user-attachments/assets/853f4160-27cb-4ac9-826b-402f1e63d4af" />
## Get Started
| Tier | Best For | What You Get | Setup |
|------------------------------------------------------|-------------------|---------------------------------------------------------------|-------------|
| Big-AGI Open (self-host) | **IT** | First to get new models support. Maximum control and privacy. | 5-30 min |
| [big-agi.com](https://big-agi.com) Free | **Everyone** | Full core experience, improved Beam, new Personas, best UX. | **2 min**\* |
| **[big-agi.com](https://big-agi.com) Pro** $10.99/mo | **Professionals** | Everything + **Sync** across unlimited devices + 1GB storage | **2 min**\* |
\*: **Configuration requires your API keys**. *Big-AGI does not charge for model usage or limit your access*.
**Why Pro?** As an independent project, Pro subscriptions fund all development. Early subscribers shape the roadmap directly.
[![Use Free ⋅ Go Pro](https://img.shields.io/badge/Use_Free-Get_Pro-d5ec31?style=for-the-badge&logo=rocket&logoColor=white&labelColor=000)](https://big-agi.com)
**Self-host and developers** (full control)
- Develop locally or self-host with Docker on your own infrastructure [guide](docs/installation.md)
- Or fork & run on Vercel:
[![Deploy on Vercel](https://img.shields.io/badge/Deploy-black?style=for-the-badge&logo=vercel&logoColor=white&labelColor=000)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-AGI&env=OPENAI_API_KEY&envDescription=Backend%20API%20keys%2C%20optional%20and%20may%20be%20overridden%20by%20the%20UI.&envLink=https%3A%2F%2Fgithub.com%2Fenricoros%2Fbig-AGI%2Fblob%2Fmain%2Fdocs%2Fenvironment-variables.md&project-name=big-AGI)
[//]: # (**For the latest Big-AGI:**)
[//]: # (- [**Big-AGI Open**]&#40;https://github.com/enricoros/big-AGI/tree/main&#41; - Open Source, latest models and features &#40;main branch&#41;)
[//]: # (- [**Big-AGI Pro**]&#40;https://big-agi.com&#41; - Hosted with Cloud Sync)
---
## Our Philosophy
We're an independent, non-VC-funded project with a simple belief: **AI should elevate you, not replace you**.
This is why we built Big-AGI to be **local-first**, madly optimized to 0-latency, launched multi-model first to
defeat hallucinations, designed Beam around the **humans in the loop**, re-wrote frameworks and abstractions
so you **are not vendor locked-in**, and obsessed over a powerful UI that works, just works.
NOTE: this is a powerful tool - if you need a toy UI or clone, this ain't it.
---
## Release Notes
👉 **[See the Live Release Notes](https://big-agi.com/changes)**
- Open 2.0.4: **Hyper Params** **Opus 4.6**, **GPT-5.4**, **Gemini 3.1 Pro**, AWS Bedrock, parameter accuracy, Anthropic continuation/Fast mode
- Open 2.0.3: **Red Carpet** **Kimi K2.5**, **Gemini 3 Flash**, **GPT 5.2**, Google Drive, Inworld, Novita.ai, Speech/UX improvements
- Open 2.0.2: **Speex** multi-vendor speech synthesis, **Opus 4.5**, **Gemini 3 Pro**, **Nano Banana Pro**, **Grok 4.1**, **GPT-5.1**, **Kimi K2** + 280 fixes
### What's New in 2.0 · Oct 31, 2025 · Open
- **Big-AGI Open** is ready and more productive and faster than ever, with:
- **Beam 2**: multi-modal, program-based, follow-ups, save presets
- Top-notch AI models support including **agentic models** and **reasoning models**
- **Image Generation** and editing with Nano Banana and gpt-image-1
- **Web Search** with citations for supported models
- **UI** & Mobile UI overhaul with peeking and side panels
- And all of the [Big-AGI 2 changes](https://github.com/enricoros/big-AGI/issues/567#issuecomment-2262187617) and more
- Built for the future, madly optimized
<img width="830" height="385" alt="image" src="https://github.com/user-attachments/assets/ad52761d-7e3f-44d8-b41e-947ce8b4faa1" />
#### **Open** links: 👉 [changelog](https://big-agi.com/changes) 👉 [installation](docs/installation.md) 👉 [roadmap](https://github.com/users/enricoros/projects/4/views/2) 👉 [documentation](docs/README.md)
**For teams and institutions:** Need shared prompts, SSO, or managed deployments? Reach out at enrico@big-agi.com. We're actively collecting requirements from research groups and IT departments.
<details>
<summary>5,000 Commits Milestone</summary>
Hit 5k commits last week. That's a lot of code.
Recent work has been intense:
- Chain of thought reasoning across multiple LLMs: **OpenAI o3** and o1, **DeepSeek R1**, **Gemini 2.0 Flash Thinking**, and more
- Beam is real - ~35% of our users run it daily to compare models
- New AIX framework lets us scale features we couldn't before
- UI is faster than ever. Like, terminal-fast
The new architecture is solid and the speed improvements are real.
![5000e-830px](https://github.com/user-attachments/assets/42f7420b-9331-421b-9a18-2e653aaa7d9b)
</details>
<details>
<summary>What's New in 1.16.1...1.16.13 · (patch releases)</summary>
- 1.16.13: Docker fix ([#840](https://github.com/enricoros/big-AGI/issues/840))
- 1.16.12: Dockerfile update ([#840](https://github.com/enricoros/big-AGI/issues/840))
- 1.16.11: v1 final release, documentation updates
- 1.16.10: OpenRouter models support
- 1.16.9: Docker Gemini fix, R1 models support
- 1.16.8: OpenAI ChatGPT-4o Latest, o1 models support
- 1.16.7: OpenAI support for GPT-4o 2024-08-06
- 1.16.6: Groq support for Llama 3.1 models
- 1.16.5: GPT-4o Mini support
- 1.16.4: 8192 tokens support for Claude 3.5 Sonnet
- 1.16.3: Anthropic Claude 3.5 Sonnet model support
- 1.16.2: Improve web downloads, as text, markdwon, or HTML
- 1.16.2: Improve web downloads, as text, markdown, or HTML
- 1.16.2: Proper support for Gemini models
- 1.16.2: Added the latest Mistral model
- 1.16.2: Tokenizer support for gpt-4o
- 1.16.2: Updates to Beam
- 1.16.1: Support for the new OpenAI GPT-4o 2024-05-13 model
### What's New in 1.16.0 · May 9, 2024 · Crystal Clear
</details>
<details>
<summary>What's New in 1.16.0 · May 9, 2024 · Crystal Clear</summary>
- [Beam](https://big-agi.com/blog/beam-multi-model-ai-reasoning) core and UX improvements based on user feedback
- Chat cost estimation 💰 (enable it in Labs / hover the token counter)
@@ -44,14 +217,20 @@ Or fork & run on Vercel
- Models update: **Anthropic**, **Groq**, **Ollama**, **OpenAI**, **OpenRouter**, **Perplexity**
- Code soft-wrap, chat text selection toolbar, 3x faster on Apple silicon, and more [#517](https://github.com/enricoros/big-AGI/issues/517), [507](https://github.com/enricoros/big-AGI/pull/507)
#### 3,000 Commits Milestone · April 7, 2024
</details>
<details>
<summary>3,000 Commits Milestone · April 7, 2024</summary>
![big-AGI Milestone](https://github.com/enricoros/big-AGI/assets/32999/47fddbb1-9bd6-4b58-ace4-781dfcb80923)
- 🥇 Today we <b>celebrate commit 3000</b> in just over one year, and going stronger 🚀
- 📢️ Thanks everyone for your support and words of love for Big-AGI, we are committed to creating the best AI experiences for everyone.
### What's New in 1.15.0 · April 1, 2024 · Beam
</details>
<details>
<summary>What's New in 1.15.0 · April 1, 2024 · Beam</summary>
- ⚠️ [**Beam**: the multi-model AI chat](https://big-agi.com/blog/beam-multi-model-ai-reasoning). find better answers, faster - a game-changer for brainstorming, decision-making, and creativity. [#443](https://github.com/enricoros/big-AGI/issues/443)
- Managed Deployments **Auto-Configuration**: simplify the UI models setup with backend-set models. [#436](https://github.com/enricoros/big-AGI/issues/436)
@@ -61,6 +240,8 @@ Or fork & run on Vercel
- 1.15.1: Support for Gemini Pro 1.5 and OpenAI Turbo models
- Beast release, over 430 commits, 10,000+ lines changed: [release notes](https://github.com/enricoros/big-AGI/releases/tag/v1.15.0), and changes [v1.14.1...v1.15.0](https://github.com/enricoros/big-AGI/compare/v1.14.1...v1.15.0)
</details>
<details>
<summary>What's New in 1.14.1 · March 7, 2024 · Modelmorphic</summary>
@@ -68,7 +249,7 @@ Or fork & run on Vercel
- New **[Perplexity](https://www.perplexity.ai/)** and **[Groq](https://groq.com/)** integration (thanks @Penagwin). [#407](https://github.com/enricoros/big-AGI/issues/407), [#427](https://github.com/enricoros/big-AGI/issues/427)
- **[LocalAI](https://localai.io/models/)** deep integration, including support for [model galleries](https://github.com/enricoros/big-AGI/issues/411)
- **Mistral** Large and Google **Gemini 1.5** support
- Performance optimizations: runs [much faster](https://twitter.com/enricoros/status/1756553038293303434?utm_source=localhost:3000&utm_medium=big-agi), saves lots of power, reduces memory usage
- Performance optimizations: runs [much faster](https://x.com/enricoros/status/1756553038293303434?utm_source=localhost:3000&utm_medium=big-agi), saves lots of power, reduces memory usage
- Enhanced UX with auto-sizing charts, refined search and folder functionalities, perfected scaling
- And with more UI improvements, documentation, bug fixes (20 tickets), and developer enhancements
@@ -131,92 +312,86 @@ https://github.com/enricoros/big-AGI/assets/1590910/a6b8e172-0726-4b03-a5e5-10cf
</details>
For full details and former releases, check out the [changelog](docs/changelog.md).
For full details and former releases, check out the [archived versions changelog](docs/changelog.md).
## 👉 Key Features ✨
## 👉 Supported Models & Integrations
| ![Advanced AI](https://img.shields.io/badge/Advanced%20AI-32383e?style=for-the-badge&logo=ai&logoColor=white) | ![100+ AI Models](https://img.shields.io/badge/100%2B%20AI%20Models-32383e?style=for-the-badge&logo=ai&logoColor=white) | ![Flow-state UX](https://img.shields.io/badge/Flow--state%20UX-32383e?style=for-the-badge&logo=flow&logoColor=white) | ![Privacy First](https://img.shields.io/badge/Privacy%20First-32383e?style=for-the-badge&logo=privacy&logoColor=white) | ![Advanced Tools](https://img.shields.io/badge/Fun%20To%20Use-f22a85?style=for-the-badge&logo=tools&logoColor=white) |
Delightful UX with latest models exclusive features like Beam for **multi-model AI validation**.
> ![LLM Vendors](https://img.shields.io/badge/20_LLM_Services-500+_Models-black?style=for-the-badge&logo=openai&logoColor=white&labelColor=purple)&nbsp;
> [![Feature Beam](https://img.shields.io/badge/AI--Validation-BEAM-000?style=for-the-badge&logo=anthropic&labelColor=purple)](https://big-agi.com/beam)
| ![Advanced AI](https://img.shields.io/badge/Advanced%20AI-32383e?style=for-the-badge&logo=ai&logoColor=white) | ![500+ AI Models](https://img.shields.io/badge/500%2B%20AI%20Models-32383e?style=for-the-badge&logo=ai&logoColor=white) | ![Flow-state UX](https://img.shields.io/badge/Flow--state%20UX-32383e?style=for-the-badge&logo=flow&logoColor=white) | ![Privacy First](https://img.shields.io/badge/Privacy%20First-32383e?style=for-the-badge&logo=privacy&logoColor=white) | ![Advanced Tools](https://img.shields.io/badge/Fun%20To%20Use-f22a85?style=for-the-badge&logo=tools&logoColor=white) |
|---------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| **Chat**<br/>**Call**<br/>**Beam**<br/>**Draw**, ... | Local & Cloud<br/>Open & Closed<br/>Cheap & Heavy<br/>Google, Mistral, ... | Attachments<br/>Diagrams<br/>Multi-Chat<br/>Mobile-first UI | Stored Locally<br/>Easy self-Host<br/>Local actions<br/>Data = Gold | AI Personas<br/>Voice Modes<br/>Screen Capture<br/>Camera + OCR |
![big-AGI screenshot](docs/pixels/big-AGI-compo-20240201_small.png)
You can easily configure 100s of AI models in big-AGI:
### AI Models & Vendors
| **AI models** | _supported vendors_ |
|:--------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Opensource Servers | [LocalAI](https://localai.com) (multimodal) · [Ollama](https://ollama.com/) · [Oobabooga](https://github.com/oobabooga/text-generation-webui) |
| Local Servers | [LM Studio](https://lmstudio.ai/) |
| Multimodal services | [Azure](https://azure.microsoft.com/en-us/products/ai-services/openai-service) · [Google Gemini](https://ai.google.dev/) · [OpenAI](https://platform.openai.com/docs/overview) |
| Language services | [Anthropic](https://anthropic.com) · [Groq](https://wow.groq.com/) · [Mistral](https://mistral.ai/) · [OpenRouter](https://openrouter.ai/) · [Perplexity](https://www.perplexity.ai/) · [Together AI](https://www.together.ai/) |
| Image services | [Prodia](https://prodia.com/) (SDXL) |
| Speech services | [ElevenLabs](https://elevenlabs.io) (Voice synthesis / cloning) |
Configure 100s of AI models from 20+ providers:
Add extra functionality with these integrations:
| **AI models** | _supported vendors_ |
|:--------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Opensource Servers | [LocalAI](https://localai.io/) · [Ollama](https://ollama.com/) |
| Local Servers | [LM Studio](https://lmstudio.ai/) (non-open) |
| Multimodal services | [Anthropic](https://anthropic.com) · [AWS Bedrock](https://aws.amazon.com/bedrock/) · [Azure](https://azure.microsoft.com/en-us/products/ai-services/openai-service) · [Google Gemini](https://ai.google.dev/) · [OpenAI](https://platform.openai.com/docs/overview) |
| LLM services | [Alibaba](https://www.alibabacloud.com/en/product/modelstudio) · [DeepSeek](https://deepseek.com) · [Groq](https://wow.groq.com/) · [Mistral](https://mistral.ai/) · [Moonshot](https://www.moonshot.cn/) · [OpenPipe](https://openpipe.ai/) · [OpenRouter](https://openrouter.ai/) · [Perplexity](https://www.perplexity.ai/) · [Together AI](https://www.together.ai/) · [xAI](https://x.ai/) · [Z.ai](https://z.ai/) |
| OpenAI-compatible | Any OpenAI-compatible endpoint - models, pricing, and capabilities are auto-detected |
| Image services | OpenAI · Google Gemini (Nano Banana) · LocalAI |
| Speech services | [ElevenLabs](https://elevenlabs.io) · [Inworld](https://inworld.ai) · [OpenAI TTS](https://platform.openai.com/docs/guides/text-to-speech) · LocalAI · Browser (Web Speech API) |
| **More** | _integrations_ |
|:-------------|:---------------------------------------------------------------------------------------------------------------|
| Web Browse | [Browserless](https://www.browserless.io/) · [Puppeteer](https://pptr.dev/)-based |
| Web Search | [Google CSE](https://programmablesearchengine.google.com/) |
| Code Editors | [CodePen](https://codepen.io/pen/) · [StackBlitz](https://stackblitz.com/) · [JSFiddle](https://jsfiddle.net/) |
| Sharing | [Paste.gg](https://paste.gg/) (Paste chats) |
| Tracking | [Helicone](https://www.helicone.ai) (LLM Observability) |
### Additional Integrations
[//]: # (- [x] **Flow-state UX** for uncompromised productivity)
[//]: # (- [x] **AI Personas**: Tailor your AI interactions with customizable personas)
[//]: # (- [x] **Sleek UI/UX**: A smooth, intuitive, and mobile-responsive interface)
[//]: # (- [x] **Efficient Interaction**: Voice commands, OCR, and drag-and-drop file uploads)
[//]: # (- [x] **Privacy First**: Self-host and use your own API keys for full control)
[//]: # (- [x] **Advanced Tools**: Execute code, import PDFs, and summarize documents)
[//]: # (- [x] **Seamless Integrations**: Enhance functionality with various third-party services)
[//]: # (- [x] **Open Roadmap**: Contribute to the progress of big-AGI)
<br/>
## 🚀 Installation
To get started with big-AGI, follow our comprehensive [Installation Guide](docs/installation.md).
The guide covers various installation options, whether you're spinning it up on
your local computer, deploying on Vercel, on Cloudflare, or rolling it out
through Docker.
Whether you're a developer, system integrator, or enterprise user, you'll find step-by-step instructions
to set up big-AGI quickly and easily.
[![Installation Guide](https://img.shields.io/badge/Installation%20Guide-blue?style=for-the-badge&logo=read-the-docs&logoColor=white)](docs/installation.md)
Or bring your API keys and jump straight into our free instance on [big-AGI.com](https://big-agi.com).
<br/>
# 🌟 Get Involved!
[//]: # ([![Official Discord]&#40;https://img.shields.io/discord/1098796266906980422?label=discord&logo=discord&logoColor=%23fff&style=for-the-badge&#41;]&#40;https://discord.gg/MkH4qj2Jp9&#41;)
[![Official Discord](https://discordapp.com/api/guilds/1098796266906980422/widget.png?style=banner2)](https://discord.gg/MkH4qj2Jp9)
- [ ] 📢️ [**Chat with us** on Discord](https://discord.gg/MkH4qj2Jp9)
- [ ]**Give us a star** on GitHub 👆
- [ ] 🚀 **Do you like code**? You'll love this gem of a project! [_Pick up a task!_](https://github.com/users/enricoros/projects/4/views/4) - _easy_ to _pro_
- [ ] 💡 Got a feature suggestion? [_Add your roadmap ideas_](https://github.com/enricoros/big-agi/issues/new?&template=roadmap-request.md)
- [ ] ✨ [Deploy](docs/installation.md) your [fork](docs/customizations.md) for your friends and family, or [customize it for work](docs/customizations.md)
<br/>
[//]: # ([![GitHub stars]&#40;https://img.shields.io/github/stars/enricoros/big-agi&#41;]&#40;https://github.com/enricoros/big-agi/stargazers&#41;)
[//]: # ([![GitHub forks]&#40;https://img.shields.io/github/forks/enricoros/big-agi&#41;]&#40;https://github.com/enricoros/big-agi/network&#41;)
[//]: # ([![GitHub pull requests]&#40;https://img.shields.io/github/issues-pr/enricoros/big-agi&#41;]&#40;https://github.com/enricoros/big-agi/pulls&#41;)
[//]: # ([![License]&#40;https://img.shields.io/github/license/enricoros/big-agi&#41;]&#40;https://github.com/enricoros/big-agi/LICENSE&#41;)
| **More** | _integrations_ |
|:--------------|:---------------------------------------------------------------------------------------------------------------|
| Web Browse | [Browserless](https://www.browserless.io/) · [Puppeteer](https://pptr.dev/)-based |
| Web Search | [Google CSE](https://programmablesearchengine.google.com/) |
| Code Editors | [CodePen](https://codepen.io/pen/) · [StackBlitz](https://stackblitz.com/) · [JSFiddle](https://jsfiddle.net/) |
| Observability | [Helicone](https://www.helicone.ai) |
---
2023-2024 · Enrico Ros x [big-AGI](https://big-agi.com) · License: [MIT](LICENSE) · Made with 💙
## 🚀 Installation
Self-host with Docker, deploy on Vercel, or develop locally. Full setup guide:
[![Installation Guide](https://img.shields.io/badge/Installation%20Guide-blue?style=for-the-badge&logo=read-the-docs&logoColor=white)](docs/installation.md)
Or use the hosted version at [big-agi.com](https://big-agi.com) with your API keys.
---
## 👋 Community & Contributing
### Connect
[![Official Discord](https://discordapp.com/api/guilds/1098796266906980422/widget.png?style=banner2)](https://discord.gg/MkH4qj2Jp9)
⭐ [Star the repo](https://github.com/enricoros/big-agi) if Big-AGI is useful to you
### Contribute
**🤖 AI-Powered Issue Assistance**
When you open an issue, our custom AI triage system (powered by [Claude Code](https://github.com/anthropics/claude-code-action) with Big-AGI architecture documentation) analyzes it, searches the codebase, and provides solutions - typically within 30 minutes. We've trained the system on our modules and subsystems so it handles most issues effectively. Your feedback drives development!
[![Open an Issue](https://img.shields.io/badge/Open_Issue-AI_Will_Help-ff8c00?style=for-the-badge&logo=fireship&logoColor=fff&labelColor=8b0000)](https://github.com/enricoros/big-agi/issues/new?template=ai-triage.yml)
[![Request Feature](https://img.shields.io/badge/Request_Feature-Roadmap_Idea-orange?style=for-the-badge&logo=lightbulb&logoColor=white)](https://github.com/enricoros/big-agi/issues/new?&template=roadmap-request.md)
[![Good First Issues](https://img.shields.io/badge/Good_First_Issues-Start-blue?style=for-the-badge&logo=github&logoColor=white)](https://github.com/users/enricoros/projects/4/views/4)
[![Customization](https://img.shields.io/badge/Fork_&_Customize-Your_Own-purple?style=for-the-badge&logo=git&logoColor=white)](docs/customizations.md)
[![Roadmap](https://img.shields.io/badge/Open_Roadmap-View-0366d6?style=for-the-badge&logo=github&logoColor=white)](https://github.com/users/enricoros/projects/4/views/2)
#### Contributors
<a href="https://github.com/enricoros/big-agi/graphs/contributors">
<img src="https://contrib.rocks/image?repo=enricoros/big-agi&max=48&columns=12" />
</a>
---
## License
MIT License · [Third-Party Notices](src/modules/3rdparty/THIRD_PARTY_NOTICES.md)
**2023-2026** · [Enrico Ros](https://www.enricoros.com) × [Token Fabrics](https://www.tokenfabrics.com)
+39
View File
@@ -0,0 +1,39 @@
import { fetchRequestHandler } from '@trpc/server/adapters/fetch';
import { appRouterCloud } from '~/server/trpc/trpc.router-cloud';
import { createTRPCFetchContext } from '~/server/trpc/trpc.server';
import { posthogServerSendException } from '~/server/posthog/posthog.server';
const handlerNodeRoutes = (req: Request) => fetchRequestHandler({
endpoint: '/api/cloud',
router: appRouterCloud,
req,
createContext: createTRPCFetchContext,
onError: async function({ path, error, type, ctx }) {
// -> DEV error logging
if (process.env.NODE_ENV === 'development')
console.error(`❌ tRPC-cloud failed on ${path ?? 'unk-path'}: ${error.message}`);
// -> Capture node errors
await posthogServerSendException(error, undefined, {
domain: 'trpc-onerror',
runtime: 'nodejs',
endpoint: path ?? 'unknown',
method: req.method,
url: req.url,
additionalProperties: {
error_code: error.code,
error_type: type,
},
});
},
});
// NOTE: the following statement breaks the build on non-pro deployments, and conditionals don't work either
// so we resorted to raising the timeout from 10s to 60s in the vercel.json file instead
// export const maxDuration = 60;
export const runtime = 'nodejs';
export const dynamic = 'force-dynamic';
export { handlerNodeRoutes as GET, handlerNodeRoutes as POST };
+20
View File
@@ -0,0 +1,20 @@
import { fetchRequestHandler } from '@trpc/server/adapters/fetch';
import { appRouterEdge } from '~/server/trpc/trpc.router-edge';
import { createTRPCFetchContext } from '~/server/trpc/trpc.server';
const handlerEdgeRoutes = (req: Request) => fetchRequestHandler({
endpoint: '/api/edge',
router: appRouterEdge,
req,
createContext: createTRPCFetchContext,
onError:
process.env.NODE_ENV === 'development'
? ({ path, error }) => console.error(`\n❌ tRPC-edge failed on ${path ?? 'unk-path'}: ${error.message}`)
: undefined,
});
// NOTE: we don't set maxDuration explicitly here - however we set it in the Vercel project settings, raising to the limit of 300s
// export const maxDuration = 60;
export const runtime = 'edge';
export { handlerEdgeRoutes as GET, handlerEdgeRoutes as POST };
-2
View File
@@ -1,2 +0,0 @@
export const runtime = 'edge';
export { elevenLabsHandler as POST } from '~/modules/elevenlabs/elevenlabs.server';
-2
View File
@@ -1,2 +0,0 @@
export const runtime = 'edge';
export { llmStreamingRelayHandler as POST } from '~/modules/llms/server/llm.server.streaming';
-19
View File
@@ -1,19 +0,0 @@
import { fetchRequestHandler } from '@trpc/server/adapters/fetch';
import { appRouterEdge } from '~/server/api/trpc.router-edge';
import { createTRPCFetchContext } from '~/server/api/trpc.server';
const handlerEdgeRoutes = (req: Request) =>
fetchRequestHandler({
router: appRouterEdge,
endpoint: '/api/trpc-edge',
req,
createContext: createTRPCFetchContext,
onError:
process.env.NODE_ENV === 'development'
? ({ path, error }) => console.error(`❌ tRPC-edge failed on ${path ?? "<no-path>"}: ${error.message}`)
: undefined,
});
export const runtime = 'edge';
export { handlerEdgeRoutes as GET, handlerEdgeRoutes as POST };
-23
View File
@@ -1,23 +0,0 @@
import { fetchRequestHandler } from '@trpc/server/adapters/fetch';
import { appRouterNode } from '~/server/api/trpc.router-node';
import { createTRPCFetchContext } from '~/server/api/trpc.server';
const handlerNodeRoutes = (req: Request) =>
fetchRequestHandler({
router: appRouterNode,
endpoint: '/api/trpc-node',
req,
createContext: createTRPCFetchContext,
onError:
process.env.NODE_ENV === 'development'
? ({ path, error }) => console.error(`❌ tRPC-node failed on ${path ?? '<no-path>'}: ${error.message}`)
: undefined,
});
export const runtime = 'nodejs';
// NOTE: the following statement breaks the build on non-pro deployments, and conditionals don't work either
// so we resorted to raising the timeout from 10s to 25s in the vercel.json file instead
// export const maxDuration = 25;
export const dynamic = 'force-dynamic';
export { handlerNodeRoutes as GET, handlerNodeRoutes as POST };
+1 -4
View File
@@ -1,8 +1,6 @@
# Very simple docker-compose file to run the app on http://localhost:3000 (or http://127.0.0.1:3000).
#
# For more examples, such runnin big-AGI alongside a web browsing service, see the `docs/docker` folder.
version: '3.9'
# For more examples, such running big-AGI alongside a web browsing service, see the `docs/docker` folder.
services:
big-agi:
@@ -11,4 +9,3 @@ services:
- "3000:3000"
env_file:
- .env
command: [ "next", "start", "-p", "3000" ]
+74
View File
@@ -0,0 +1,74 @@
---
unlisted: true
---
# AIX dispatch server - API features comparison
This is updated as of 2024-07-09, and includes the latest features and capabilities of the three major AI APIs: Anthropic, Gemini, and OpenAI.
The comparison covers a wide range of features, including function calling, vision, system instructions, etc.
| Feature Category | Specific Feature | Anthropic | Gemini | OpenAI |
|------------------------------------------|-------------------------------|--------------------------------------------------------------------|------------------------------------------------------------------|---------------------------------------------------------------------|
| **Message Structure** |
| | Role types | user, assistant | user, model | user, assistant, system, tool |
| | Named participants | No | No | Yes |
| | Content array | Yes | Yes | Yes |
| **Content Types and Multimodal Support** |
| | Text generation | Yes | Yes | Yes |
| | Image understanding | Yes | Yes | Yes |
| | Audio processing | No | **Yes** | No |
| | Video processing | No | **Yes** | No |
| **Image Handling** |
| | Supported formats | JPEG, PNG, GIF, WebP | JPEG, PNG, WebP, HEIC, HEIF | PNG, JPEG, WebP, non-animated GIF |
| | Max image size | 5MB per image | (20MB per prompt) | 20MB per image |
| | Image detail level | N/A | N/A | **Low, high, auto** |
| | Image resolution | max: 1568x1568 | min: 768x768, max: 3072x3072 | min: 512x512, max: 2048 x 2048 |
| | Token calculation for images | (width * height)/750; max 1,600 | 258 tokens | 85 + 170 * {patches} |
| | Image retention | Deleted after processing | Not specified | Deleted after processing |
| **Audio and Video Handling** |
| | Audio formats | N/A | WAV, MP3, AIFF, AAC, OGG, FLAC | N/A |
| | Video formats | N/A | MP4, MPEG, MOV, AVI, MPG, WebM, WMV, 3GPP | N/A |
| **System Instructions and Tool Use** |
| | System instructions | Yes (array of text blocks) | Yes (parts array) | Yes (as system message) |
| **Function/Tool Handling** |
| | Parallel tool calls | No | No | **Yes** |
| | Tool Declaration | Defined in `tools` array | Defined in `tools` array | Defined in `tools` array |
| | FC name restrictions | Yes | Yes (max 63 chars) | Yes (max 64 chars) |
| | FC declaration | name, description, input_schema | name, description, parameters | name, description, parameters |
| | FC options structure | JSON Schema for input | Object with properties | JSON Schema for parameters |
| | FC Force invocation | Via `tool_choice` parameter | Via `toolConfig` parameter | Via `tool_choice` parameter |
| | FC Model invocation | Model generates a `tool_use` block with predicted parameters | Generates a `functionCall` part with predicted parameters | Generates a message.`tool_calls` item with predicted arguments |
| | FC Execution | Client-side | Client-side | Client-side |
| | FC Result injection | Client appends a `user` message with a `tool_result` content block | Client appends a `function` message with `functionResponse` part | Client sends a new `tool` message with `tool_call_id` and `content` |
| | Built-in Code execution | No | **Yes** | No |
| | Tool use with vision | Yes | Yes | Yes |
| **Generation Configuration** |
| | temperature | Yes | Yes | Yes |
| | max_tokens | Yes | Yes | Yes |
| | stop_sequences | Yes | Yes | Yes |
| | top_k | Yes | Yes | **No** |
| | top_p | Yes | Yes | Yes |
| | seed | No | No | **Yes** |
| | Multiple candidates | No | No | Yes (with 'n' parameter, breaks streaming?) |
| **Streaming and Response Structure** |
| | Streaming support | Yes | Yes | Yes |
| | Streaming initiation | stream=true | streamGenerateContent path | stream=true |
| | Streaming event types | **Multiple specific types** | Not specified | Single delta type |
| | Response container | content (array) | candidates (array) | choices (array) |
| **Usage Metrics and Error Handling** |
| | Token counts | Yes | Yes | Yes |
| | Detailed token breakdown | input, output | prompt, cached, candidates, total | prompt, completion, total |
| | Usage in stream | No | No | **Optional** |
| | Error handling in response | Not specified | Not specified | **Yes (undocumented)** |
| | Error handling in stream | Not specified | Not specified | **Yes (undocumented)** |
| **Advanced Features** |
| | JSON mode | **Partial (via structured prompts)** | **Yes (responseMimeType)** | **Yes** |
| | Output consistency techniques | **Yes (multiple methods)** | Not specified | Not specified |
| | Logprobs | No | No | **Yes (disabled in schema)** |
| | System fingerprint | No | No | **Yes** |
| | Semantic caching | No | **Yes** | No |
| | Assistant prefill | **Yes** | No | No |
| | Preferred formatting | **XML tags, JSON** | Not specified | Markdown |
| **Safety and Compliance** |
| | Safety settings in request | **Stop sequences** | **Detailed category-based** | **Moderation API** |
| | Safety feedback in response | Yes | Yes | Not specified |
+60 -38
View File
@@ -1,59 +1,81 @@
# big-AGI Documentation
# Big-AGI Documentation
Find all the information you need to get started, configure, and effectively use big-AGI.
Information you need to get started, configure, and use big-AGI productively.
[//]: # (## Quick Start)
👉 **[Changelog](https://big-agi.com/changes)** - See what's new
[//]: # (- **[Introduction]&#40;big-agi.md&#41;**: Overview of big-AGI's features.)
## Getting Started
## Configuration Guides
Essential guides:
Detailed guides to configure your big-AGI interface and models.
- **[FAQ](help-faq.md)**: Common questions and answers
- **[Enabling Microphone](help-feature-microphone.md)**: Configure speech recognition in your browser
- **[Data Ownership](help-data-ownership.md)**: How your data is stored and managed
- **[Live File](help-feature-livefile.md)**: Live file attachment feature
👉 The following applies to the users of big-AGI.com, as the public instance is empty and to be configured by the user.
## AI Services
- **Cloud Model Services**:
- **[Azure OpenAI](config-azure-openai.md)**
- **[OpenRouter](config-openrouter.md)**
- easy API key: **Anthropic**, **Google AI**, **Groq**, **Mistral**, **OpenAI**, **Perplexity**, **TogetherAI**
How to set up AI models and features in big-AGI.
> 👉 The following applies to users of big-AGI.com, as the public instance is empty and requires user configuration.
- **Cloud AI Services**:
- Easy API key configuration:
[Alibaba](https://bailian.console.alibabacloud.com/?apiKey=1#/api-key),
[Anthropic](https://console.anthropic.com/settings/keys),
[AWS Bedrock](https://console.aws.amazon.com/bedrock/),
[Deepseek](https://platform.deepseek.com/api_keys),
[Google Gemini](https://aistudio.google.com/app/apikey),
[Groq](https://console.groq.com/keys),
[Mistral](https://console.mistral.ai/api-keys/),
[Moonshot](https://platform.moonshot.cn/console/api-keys),
[OpenAI](https://platform.openai.com/api-keys),
[OpenPipe](https://app.openpipe.ai/settings),
[Perplexity](https://www.perplexity.ai/settings/api),
[TogetherAI](https://api.together.xyz/settings/api-keys),
[xAI](https://x.ai/api),
[Z.ai](https://z.ai/)
- **[Azure OpenAI](config-azure-openai.md)** guide
- **[OpenRouter](config-openrouter.md)** guide
- **OpenAI-compatible endpoints**: Any provider with an OpenAI-compatible API works out of the box - models, pricing, and capabilities are auto-detected
- **Local Model Servers**:
- **[LocalAI](config-local-localai.md)**
- **[LM Studio](config-local-lmstudio.md)**
- **[Ollama](config-local-ollama.md)**
- **[Oobabooga](config-local-oobabooga.md)**
- **Local AI Integrations**:
- [LocalAI](config-local-localai.md), [LM Studio](config-local-lmstudio.md), [Ollama](config-local-ollama.md)
- **Advanced Feature Configuration**:
- **[Browse](config-feature-browse.md)**: Enable web page download through third-party services or your own cloud (advanced)
- **ElevenLabs API**: Voice and cutom voice generation, only requires their API key
- **Google Search API**: guide not yet available, see the Google options in '[Environment Variables](environment-variables.md)'
- **Prodia API**: Stable Diffusion XL image generation, only requires their API key, alternative to DALL·E
- **Enhanced AI Features**:
- **[Web Browsing](config-feature-browse.md)**: Enable web page download through third-party services or your own cloud
- **Web Search**: Google Search API (see '[Environment Variables](environment-variables.md)')
- **Image Generation**: GPT Image (gpt-image-1), Nano Banana, DALL·E 3 and 2
- **Voice Synthesis**: ElevenLabs, Inworld, OpenAI TTS, LocalAI, or browser Web Speech API
- **[Google Drive](config-feature-google-drive.md)**: Attach files from Google Drive
## Deployment
## Deployment & Customization
System integrators, administrators, whitelabelers: instead of using the public big-AGI instance on get.big-agi.com, you can deploy your own instance.
> 👉 The following applies to developers and experts who deploy their own big-AGI instance.
Step-by-step deployment and system configuration instructions.
For deploying a custom big-AGI instance:
- **[Installation](installation.md)**: Set up your own instance of big-AGI and related products
- build from source or use pre-built
- locally, in the public cloud, or on your own servers
- **[Installation Guide](installation.md)**, including:
- Set up your own big-AGI instance
- Source build or pre-built options
- Local, cloud, or on-premises deployment
- **Advanced Customizations**:
- **[Source code alterations guide](customizations.md)**: source code primer and alterations guidelines
- **[Basic Authentication](deploy-authentication.md)**: Optional, adds a username and password wall
- **[Database Setup](deploy-database.md)**: Optional, enables "Chat Link Sharing"
- **[Environment Variables](environment-variables.md)**: 📌 Pre-configures models and services
- **Advanced Setup**:
- **[Source Code Customization](customizations.md)**: Modify the source code
- **[Access Control](deploy-authentication.md)**: Optional, add basic user authentication
- **[Reverse Proxy](deploy-reverse-proxy.md)**: Optional, enables custom domains and SSL
- **[Docker Deployment](deploy-docker.md)**: Deploy with Docker containers
- **[Kubernetes](deploy-k8s.md)**: Deploy on Kubernetes clusters
- **[Analytics](deploy-analytics.md)**: Set up usage analytics
- **[Environment Variables](environment-variables.md)**: Pre-configures models and services
## Support and Community
Join our community or get support:
## Community & Support
- Check the [changelog](https://big-agi.com/changes) for the latest updates
- Visit our [GitHub repository](https://github.com/enricoros/big-AGI) for source code and issue tracking
- Check the latest updates and features on [Changelog](changelog.md) or the in-app [News](https://get.big-agi.com/news)
- Connect with us and other users on [Discord](https://discord.gg/MkH4qj2Jp9) for discussions, help, and sharing your experiences with big-AGI
- Join our [Discord](https://discord.gg/MkH4qj2Jp9) for discussions and help
Thank you for choosing big-AGI. We're excited to see what you'll build.
Let's build something great.
+28 -11
View File
@@ -1,21 +1,39 @@
## Changelog
## Archived Versions - Changelog
This is a high-level changelog. Calls out some of the high level features batched
by release.
- For the live changelog, see [big-agi.com/changes](https://big-agi.com/changes)
- For the live roadmap, please see [the GitHub project](https://github.com/users/enricoros/projects/4/views/2)
### 1.17.0 - Jun 2024
> NOTE: with the release of 2.0.0 we switching to [big-agi.com/changes](https://big-agi.com/changes) for the
> continuously updated changelog.
- milestone: [1.17.0](https://github.com/enricoros/big-agi/milestone/17)
- work in progress: [big-AGI open roadmap](https://github.com/users/enricoros/projects/4/views/2), [help here](https://github.com/users/enricoros/projects/4/views/4)
### What's New in 2 · Oct 31, 2025 · Open
### What's New in 1.16.1...1.16.5 · Jul 18, 2024 (patch releases)
- **Big-AGI Open** is ready and more productive and faster than ever, with:
- **Beam 2**: multi-modal, program-based, follow-ups, save presets
- Top-notch AI models support including **agentic models** and **reasoning models**
- **Image Generation** and editing with Nano Banana and gpt-image-1
- **Web Search** with citations for supported models
- **UI** & Mobile UI overhaul with peeking and side panels
- And all of the [Big-AGI 2 changes](https://github.com/enricoros/big-AGI/issues/567#issuecomment-2262187617) and more
- Built for the future, madly optimized
### What's New in 1.16.1...1.16.13 · (patch releases)
- 1.16.13: Docker fix (#840)
- 1.16.12: Dockerfile update (#840)
- 1.16.11: v1 final release, documentation updates
- 1.16.10: OpenRouter models support
- 1.16.9: Docker Gemini fix, R1 models support
- 1.16.8: OpenAI ChatGPT-4o Latest, o1 models support
- 1.16.7: OpenAI support for GPT-4o 2024-08-06
- 1.16.6: Groq support for Llama 3.1 models
- 1.16.5: GPT-4o Mini support
- 1.16.4: 8192 tokens support for Claude 3.5 Sonnet
- 1.16.3: Anthropic Claude 3.5 Sonnet model support
- 1.16.2: Improve web downloads, as text, markdwon, or HTML
- 1.16.2: Improve web downloads, as text, markdown, or HTML
- 1.16.2: Proper support for Gemini models
- 1.16.2: Added the latest Mistral model
- 1.16.2: Tokenizer support for gpt-4o
@@ -43,7 +61,7 @@ by release.
### What's New in 1.15.0 · April 1, 2024 · Beam
- ⚠️ [**Beam**: the multi-model AI chat](https://big-agi.com/blog/beam-multi-model-ai-reasoning). find better answers, faster - a game-changer for brainstorming, decision-making, and creativity. [#443](https://github.com/enricoros/big-AGI/issues/443)
- Managed Deployments **Auto-Configuration**: simplify the UI mdoels setup with backend-set models. [#436](https://github.com/enricoros/big-AGI/issues/436)
- Managed Deployments **Auto-Configuration**: simplify the UI models setup with backend-set models. [#436](https://github.com/enricoros/big-AGI/issues/436)
- Message **Starring ⭐**: star important messages within chats, to attach them later. [#476](https://github.com/enricoros/big-AGI/issues/476)
- Enhanced the default Persona
- Fixes to Gemini models and SVGs, improvements to UI and icons
@@ -55,7 +73,7 @@ by release.
- New **[Perplexity](https://www.perplexity.ai/)** and **[Groq](https://groq.com/)** integration (thanks @Penagwin). [#407](https://github.com/enricoros/big-AGI/issues/407), [#427](https://github.com/enricoros/big-AGI/issues/427)
- **[LocalAI](https://localai.io/models/)** deep integration, including support for [model galleries](https://github.com/enricoros/big-AGI/issues/411)
- **Mistral** Large and Google **Gemini 1.5** support
- Performance optimizations: runs [much faster](https://twitter.com/enricoros/status/1756553038293303434?utm_source=localhost:3000&utm_medium=big-agi), saves lots of power, reduces memory usage
- Performance optimizations: runs [much faster](https://x.com/enricoros/status/1756553038293303434?utm_source=localhost:3000&utm_medium=big-agi), saves lots of power, reduces memory usage
- Enhanced UX with auto-sizing charts, refined search and folder functionalities, perfected scaling
- And with more UI improvements, documentation, bug fixes (20 tickets), and developer enhancements
- [Release notes](https://github.com/enricoros/big-AGI/releases/tag/v1.14.0), and changes [v1.13.1...v1.14.0](https://github.com/enricoros/big-AGI/compare/v1.13.1...v1.14.0) (233 commits, 8,000+ lines changed)
@@ -135,7 +153,7 @@ https://github.com/enricoros/big-AGI/assets/1590910/a6b8e172-0726-4b03-a5e5-10cf
- **Overheat LLMs**: Push the creativity with higher LLM temperatures. [#256](https://github.com/enricoros/big-agi/issues/256)
- **Model Options Shortcut**: Quick adjust with `Ctrl+Shift+O`
- Optimized Voice Input and Performance
- Latest Ollama and Oobabooga models
- Latest Ollama models
- For developers: **Password Protection**: HTTP Basic Auth. [Learn How](https://github.com/enricoros/big-agi/blob/main/docs/deploy-authentication.md)
### What's New in 1.6.0 - Nov 28, 2023 · Surf's Up
@@ -167,7 +185,7 @@ For Developers:
first request to get the configuration. See
https://github.com/enricoros/big-agi/blob/main/src/modules/backend/backend.router.ts.
- CloudFlare developers: please change the deployment command to
`rm app/api/trpc-node/[trpc]/route.ts && npx @cloudflare/next-on-pages@1`,
`rm app/api/cloud/[trpc]/route.ts && npx @cloudflare/next-on-pages@1`,
as we transitioned to the App router in NextJS 14. The documentation in
[docs/deploy-cloudflare.md](../docs/deploy-cloudflare.md) is updated
@@ -184,7 +202,6 @@ For Developers:
- **Camera OCR** - real-world AI - take a picture of a text, and chat with it
- **Anthropic models** support, e.g. Claude
- **Backup/Restore** - save chats, and restore them later
- **[Local model support with Oobabooga server](../docs/config-local-oobabooga)** - run your own LLMs!
- **Flatten conversations** - conversations summarizer with 4 modes
- **Fork conversations** - create a new chat, to try with different endings
- New commands: /s to add a System message, and /a for an Assistant message
+48 -28
View File
@@ -14,7 +14,7 @@ If you have an `API Endpoint` and `API Key`, you can configure big-AGI as follow
1. Launch the `big-AGI` application
2. Go to the **Models** settings
3. Add a Vendor and select **Azure OpenAI**
- Enter the Endpoint (e.g., 'https://your-openai-api-1234.openai.azure.com/')
- Enter the Endpoint (e.g., 'https://your-resource-name.openai.azure.com')
- Enter the API Key (e.g., 'fd5...........................ba')
The deployed models are now available in the application. If you don't have a configured
@@ -23,6 +23,36 @@ Azure OpenAI service instance, continue with the next section.
In addition to using the UI, configuration can also be done using
[environment variables](environment-variables.md).
## Server Configuration
For server deployments, set these environment variables:
```bash
AZURE_OPENAI_API_ENDPOINT=https://your-resource-name.openai.azure.com
AZURE_OPENAI_API_KEY=your-api-key
```
This enables Azure OpenAI for all users without requiring individual API keys. For more details, see [environment-variables.md](environment-variables.md).
## Azure OpenAI API Versions
Azure OpenAI supports both traditional deployment-based API and the next-generation v1 API:
### Next-Generation v1 API (Default)
- **Enabled by default** for GPT-5-like models (GPT-5, GPT-6, o3, o4, etc.)
- Uses direct `/openai/v1/responses` endpoint without deployment IDs
- Optimized for advanced reasoning models and new features
- Can be disabled by setting `AZURE_OPENAI_DISABLE_V1=true`
### Traditional Deployment-Based API
- Uses `/openai/deployments/{deployment-name}/...` endpoints
- Required for older models and when v1 API is disabled
- Needs deployment ID for all API calls
### Known Limitations
- **Web Search Tool**: Azure OpenAI does not support the `web_search_preview` tool that's available in OpenAI's API
- Models with web search capabilities will have this feature automatically disabled on Azure
## Setting Up Azure
### Step 1: Azure Account & Subscription
@@ -34,18 +64,7 @@ In addition to using the UI, configuration can also be done using
- Fill in the required fields and click on **Create**
- Note down the **Subscription ID** (e.g., `12345678-1234-1234-1234-123456789012`)
### Step 2: Apply for Azure OpenAI Service
We'll now be creating "OpenAI"-specific resources on Azure. This requires to 'apply',
and acceptance should be quick (even as low as minutes).
1. Visit [Azure OpenAI Service](https://aka.ms/azure-openai)
2. Click on **Apply for access**
- Fill in the required fields (including the subscription ID) and click on **Apply**
Once your application is accepted, you can create OpenAI resources on Azure.
### Step 3: Create Azure OpenAI Resource
### Step 2: Create Azure OpenAI Resource
For more information, see [Azure: Create and deploy OpenAI](https://learn.microsoft.com/en-us/azure/ai-services/openai/how-to/create-resource?pivots=web-portal)
@@ -55,31 +74,32 @@ For more information, see [Azure: Create and deploy OpenAI](https://learn.micros
![Creating an OpenAI service](pixels/config-azure-openai-create.png)
- Select the subscription
- Select a resource group or create a new one
- Select the region. Note that the region determines the available models.
> For instance, **Canada East** offers GPT-4-32k models, For the full list, see [GPT-4 models](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models)
- Select the region. **Important**: The region determines which models are available.
> Popular regions like **East US**, **West Europe**, and **Australia East** typically have the best model availability. For the latest model availability by region, see [Azure OpenAI Model Availability](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models)
- Name the service (e.g., `your-openai-api-1234`)
- Select a pricing tier (e.g., `S0` for standard)
- Select: "All networks, including the internet, can access this resource."
- Click on **Review + create** and then **Create**
After creating the resource, you can access the API Keys and Endpoints. At any point, you can go to
the OpenAI Service instance page to get this information.
After creating the resource, you can access the API Keys and Endpoints:
- Click on **Go to resource**
- Click on **Develop**
- Copy the `Endpoint`, called "Language API", e.g. 'https://your-openai-api-1234.openai.azure.com/'
- Copy `KEY 1`
1. Click on **Go to resource** (or navigate to your Azure OpenAI resource)
2. In the left sidebar, under **Resource Management**, click on **Keys and Endpoint**
3. Copy the required information:
- **Endpoint**: e.g., 'https://your-resource-name.openai.azure.com/'
- **Key**: Copy either KEY 1 or KEY 2 (both work identically)
### Step 4: Deploy Models
### Step 3: Deploy Models
By default, Azure OpenAI resource instances don't have models available. You need to deploy the models you want to use.
1. Click on **Model Deployments > Manage Deployments**
2. Click on **+Create New Deployment**
![Deploying a model](pixels/config-azure-openai-deploy.png)
- Select the model you want to deploy
- Optionally select a version
- name the model, e.g., `gpt4-32k-0613`
1. In your Azure OpenAI resource, click on **Model deployments** in the left sidebar
2. Click on **Create new deployment**
3. Fill in the deployment details:
- **Select a model**: Choose from available models
- **Model version**: Select the latest version or a specific one
- **Deployment name**: Give it a meaningful name
4. Click **Deploy**
Repeat as necessary for each model you want to deploy.
+55
View File
@@ -0,0 +1,55 @@
# Google Drive Integration
Attach files from Google Drive directly in the chat composer.
## Setup
### 1. Enable APIs
In [Google Cloud Console](https://console.cloud.google.com/):
1. Go to **APIs & Services > Library**
2. Enable **Google Drive API** and **Google Picker API**
### 2. Configure OAuth
1. Go to **APIs & Services > OAuth consent screen**
2. Create consent screen (External or Internal)
3. Add scope: `https://www.googleapis.com/auth/drive.file`
4. Add test users if in testing mode
### 3. Create Credentials
1. Go to **APIs & Services > Credentials**
2. Create **OAuth client ID** (Web application)
3. Add JavaScript origins:
- `http://localhost:3000` (dev)
- `https://your-domain.com` (prod)
### 4. Set Environment Variable
```bash
NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID=your-client-id.apps.googleusercontent.com
```
## Usage
- Click **Drive** button in attachment menu
## Supported Files
| Type | Export Format |
|-----------------|---------------------|
| Regular files | Downloaded directly |
| Google Docs | Markdown (.md) |
| Google Sheets | CSV (.csv) |
| Google Slides | PDF (.pdf) |
| Google Drawings | SVG (.svg) |
## Troubleshooting
**Picker won't open**: Check `NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID` is set and APIs are enabled.
**OAuth errors**: Verify your domain is in authorized JavaScript origins. Add yourself as test user if app is in testing mode.
**Download fails**: Check file permissions and that Drive API is enabled.
+3 -1
View File
@@ -41,6 +41,8 @@ In addition to using the UI, configuration can also be done using
### Integration: Models Gallery
> Note: The Gallery Admin feature described below may have been removed or renamed in recent versions of big-AGI.
If the running LocalAI instance is configured with a [Model Gallery](https://localai.io/models/):
- Go to Models > LocalAI
@@ -54,7 +56,7 @@ If the running LocalAI instance is configured with a [Model Gallery](https://loc
At the time of writing, LocalAI does not publish the model `context window size`.
Every model is assumed to be capable of chatting, and with a context window of 4096 tokens.
Please update the [src/modules/llms/transports/server/openai/models.data.ts](../src/modules/llms/server/openai/models.data.ts)
Please update the [src/modules/llms/server/models.mappings.ts](../src/modules/llms/server/models.mappings.ts)
file with the mapping information between LocalAI model IDs and names/descriptions/tokens, etc.
# 🤝 Support
+2 -1
View File
@@ -81,7 +81,8 @@ Then, edit the nginx configuration file `/etc/nginx/sites-enabled/default` and a
proxy_buffering off;
proxy_cache off;
# Longer timeouts
# Longer timeouts (1hr)
keepalive_timeout 3600;
proxy_read_timeout 3600;
proxy_connect_timeout 3600;
proxy_send_timeout 3600;
-61
View File
@@ -1,61 +0,0 @@
# Local LLM Integration with `text-web-ui` :llama:
Integrate local Large Language Models (LLMs) with
[oobabooga/text-generation-webui](https://github.com/oobabooga/text-generation-webui),
a specialized interface that includes a custom variant of the OpenAI API for a smooth integration process.
_Last updated on Dec 7, 2023_
### Components
The implementation of local LLMs involves the following components:
* **text-generation-webui**: A Python application with a Gradio web UI for operating Large Language Models.
* **Local Large Language Models "LLMs"**: Use large language models on your personal computer with consumer-grade GPUs or CPUs.
* **big-AGI**: An LLM UI that offers features such as Personas, OCR, Voice Support, Code Execution, AGI functions, and more.
## Instructions
This guide assumes that **big-AGI** is already installed on your system. Note that the text-generation-webui IP address must be accessible from the server running **big-AGI**.
### Text-web-ui Installation & Configuration:
1. Install [text-generation-webui](https://github.com/oobabooga/text-generation-webui#Installation):
- Follow the instructions in the official page (basicall clone the repo and run a script) [~10 minutes]
- Stop the Web UI as we need to modify the startup flags to enable the OpenAI API
2. Enable the **openai extension**
- Edit `CMD_FLAGS.txt`
- Make sure that `--listen --api` is present and uncommented
3. Restart text-generation-webui
- Double-click on "start"
- You should see something like:
```
2023-12-07 21:51:21 INFO:Loading the extension "openai"...
2023-12-07 21:51:21 INFO:OpenAI-compatible API URL:
http://0.0.0.0:5000
...
INFO: Uvicorn running on http://0.0.0.0:5000 (Press CTRL+C to quit)
Running on local URL: http://0.0.0.0:7860
```
- This shows that:
- The Web UI is running on port 7860: http://127.0.0.1:7860
- **The OpenAI API is running on port 5000: http://127.0.0.1:5000**
4. Load your first model
- Open the text-generation-webui at [127.0.0.1:7860](http://127.0.0.1:7860/)
- Switch to the **Model** tab
- Download, for instance, `TheBloke/Llama-2-7B-Chat-GPTQ`
- Select the model once it's loaded
### Integrating text-web-ui with big-AGI:
1. Integrating Text-Generation-WebUI with big-AGI:
- Go to Models > Add a model source of type: **Oobabooga**
- Enter the address: `http://127.0.0.1:5000`
- If running remotely, replace 127.0.0.1 with the IP of the machine. Make sure to use the **IP:Port** format
- Load the models
- The active model must be selected and LOADED on the text-generation-webui as it doesn't support model switching or parallel requests.
- Select model & Chat
![config-oobabooga-0.png](pixels/config-oobabooga-0.png)
Enjoy the privacy and flexibility of local LLMs with `big-AGI` and `text-generation-webui`!
+4 -5
View File
@@ -1,8 +1,7 @@
# OpenRouter Configuration
[OpenRouter](https://openrouter.ai) is a standalone, premium service
that provides access to <Link href='https://openrouter.ai/docs#models' target='_blank'>exclusive AI models</Link>
such as GPT-4 32k, Claude, and more. These models are typically not available to the public.
that provides access to a wide range of AI models from multiple providers through a single API.
This document details the process of integrating OpenRouter with big-AGI.
### 1. OpenRouter Account Setup and API Key Generation
@@ -20,7 +19,7 @@ This document details the process of integrating OpenRouter with big-AGI.
![feature-openrouter-add.png](pixels/feature-openrouter-add.png)
3. Input the API key into the **OpenRouter API Key** field, and load the Models.
![feature-openrouter-configure.png](pixels/feature-openrouter-configure.png)
4. OpenAI GPT4-32k and other models will now be accessible and selectable in the application.
4. Models from all supported providers will now be accessible and selectable in the application.
In addition to using the UI, configuration can also be done using
[environment variables](environment-variables.md).
@@ -30,5 +29,5 @@ In addition to using the UI, configuration can also be done using
OpenRouter independently manages its service and pricing and is not affiliated with big-AGI.
For more detailed information, please visit [this page](https://openrouter.ai/docs#models).
Please note that running large models such as GPT-4 32k can be costly and may rapidly consume
credits - a single prompt may cost $1 or more, at the time of writing.
Please note that running large models can be costly and may rapidly consume credits.
Check model pricing on the OpenRouter website before use.
+31 -9
View File
@@ -31,17 +31,14 @@ At time of writing, big-AGI has only 2 operations that run on Node.js Functions:
browsing (fetching web pages) and sharing. They both can exceed 10 seconds, especially
when fetching large pages or waiting for websites to be completed.
We provide `vercel_PRODUCTION.json` to raise the duration to 25 seconds (from a default of 10), to use it,
make sure to rename it to `vercel.json` before build.
From the Vercel Project > Settings > General > Build & Development Settings,
you can for instance set the build command to:
```bash
mv vercel_PRODUCTION.json vercel.json; next build
next build
```
### Change the Personas
### Change the Personas (v1.x only)
Edit the `src/data.ts` file to customize personas. This file houses the default personas. You can add, remove, or modify these to meet your project's needs.
@@ -52,19 +49,44 @@ Edit the `src/data.ts` file to customize personas. This file houses the default
Adapt the UI to match your project's aesthetic, incorporate new features, or exclude unnecessary ones.
- [ ] Adjust `src/common/app.theme.ts` for theme changes: colors, spacing, button appearance, animations, etc
- [ ] Modify `src/common/app.config.tsx` to alter the application's name
- [ ] Update `src/common/app.nav.tsx` to revise the navigation bar
- [ ] Modify `src/common/app.release.ts` to alter the application's name
- [ ] Update `src/common/app.nav.ts` to revise the navigation bar
### Add a Message of the Day
You can display a temporary announcement banner at the top of the app using the `NEXT_PUBLIC_MOTD` environment variable.
- Set this variable in your deployment environment
- The message supports template variables:
- `{{app_build_hash}}`: Current git commit hash
- `{{app_build_pkgver}}`: Package version
- `{{app_build_time}}`: Build timestamp as date
- `{{app_deployment_type}}`: Deployment type (local, docker, vercel, etc.)
- Users can dismiss the message (until next page refresh)
- Use it for version announcements, maintenance notices, or feature highlights
Example: `NEXT_PUBLIC_MOTD=🚀 New features available in {{app_build_pkgver}}! Try the improved Beam.`
## Testing & Deployment
Test your application thoroughly using local development (refer to README.md for local build instructions). Deploy using your preferred hosting service. big-AGI supports deployment on platforms like Vercel, Docker, or any Node.js-compatible service, especially those supporting NextJS's "Edge Runtime."
- [deploy-cloudflare.md](deploy-cloudflare.md): for Cloudflare Workers deployment
- [deploy-cloudflare.md](deploy-cloudflare.md): for Cloudflare Pages deployment (limited support)
- [deploy-docker.md](deploy-docker.md): for Docker deployment instructions and examples
- [deploy-k8s.md](deploy-k8s.md): for Kubernetes deployment instructions and examples
## Debugging
We introduced the `/info/debug` page that provides a detailed overview of the application's environment, including the API keys, environment variables, and other configuration settings.
The application includes a client-side logging system. You can view recent logs via the UI (Settings > Tools > Logs).
For deeper debugging during development:
1. **Debug Page**: Access the `/info/debug` page for an overview of the application's environment, configuration, API status, and environment variables available to the client.
2. **Conditional Breakpoints**: To automatically pause execution in your browser's developer tools when critical errors (`error`, `critical`, `DEV` levels) are logged to the console, set the following environment variable in your local `.env.local` file and restart your development server:
```bash
NEXT_PUBLIC_DEBUG_BREAKS=true
```
This allows you to inspect the application state at the exact moment an important error occurs. This feature only works in development mode (`npm run dev`) and requires the environment variable to be explicitly set to `true`.
<br/>
+51 -34
View File
@@ -2,8 +2,9 @@
The open-source big-AGI project provides support for the following analytics services:
- **Vercel Analytics**: automatic when deployed to Vercel
- **Google Analytics 4**: manual setup required
- **PostHog Analytics**: manual setup required
- **Vercel Analytics**: automatic when deployed to Vercel
The following is a quick overview of the Analytics options for the deployers of this open-source project.
big-AGI is deployed to many large-scale and enterprise though various ways (custom builds, Docker, Vercel, Cloudflare, etc.),
@@ -11,32 +12,6 @@ and this guide is for its customization.
## Service Configuration
### Vercel Analytics
- Why: understand coarse traction, and identify deployment issues - all without tracking individual users
- What: top pages, top referrers, country of origin, operating system, browser, and page speed metrics
Vercel Analytics and Speed Insights are local API endpoints deployed to your domain, so everything stays within your
domain. Furthermore, the Vercel Analytics service is privacy-friendly, and does not track individual users.
This service is avaialble to system administrators when deploying to Vercel. It is automatically enabled when deploying to Vercel.
The code that activates Vercel Analytics is located in the `src/pages/_app.tsx` file:
```tsx
const MyApp = ({ Component, emotionCache, pageProps }: MyAppProps) => <>
...
{isVercelFromFrontend && <VercelAnalytics debug={false} />}
{isVercelFromFrontend && <VercelSpeedInsights debug={false} sampleRate={1 / 2} />}
...
</>;
```
When big-AGI is served on Vercel hosts, the ```process.env.NEXT_PUBLIC_VERCEL_URL``` environment variable is trueish, and
analytics will be sent by default to the Vercel Analytics service which is deployed by Vercel IF configured from the
Vercel project dashboard.
In summary: to turn it on: activate the `Analytics` service in the Vercel project dashboard.
### Google Analytics 4
- Why: user engagement and retention, performance insights, personalization, content optimization
@@ -51,13 +26,55 @@ server/container will be able to report analytics to your Google Analytics 4 pro
As of Feb 27, 2024, this feature is in development.
### PostHog Analytics
- Why: feature usage tracking, user journeys, conversion optimization, product analytics
- What: page views, page leave events, user interactions, and deployment context
PostHog provides comprehensive product analytics with privacy controls. It helps understand how users interact with big-AGI's features, identify opportunities for improvement, and optimize the user experience.
To enable PostHog, set the `NEXT_PUBLIC_POSTHOG_KEY` environment variable at build time. PostHog is configured with tracking optimization and privacy in mind:
- Uses a proxy endpoint (`/a/ph`) to avoid ad blockers
- Respects user opt-out preferences via local storage
- Tracks only essential information without PII
- Adds deployment context for better segmentation
The implementation follows PostHog's best practices for Next.js applications and includes manual page view tracking for proper single-page application support.
### Vercel Analytics
- Why: understand coarse traction, and identify deployment issues - all without tracking individual users
- What: top pages, top referrers, country of origin, operating system, browser, and page speed metrics
Vercel Analytics and Speed Insights are local API endpoints deployed to your domain, so everything stays within your
domain. Furthermore, the Vercel Analytics service is privacy-friendly, and does not track individual users.
This service is avaialble to system administrators when deploying to Vercel. It is automatically enabled when deploying to Vercel.
The code that activates Vercel Analytics is located in the `pages/_app.tsx` file:
```tsx
const MyApp = ({ Component, emotionCache, pageProps }: MyAppProps) => <>
...
{Is.Deployment.VercelFromFrontend && <VercelAnalytics debug={false} />}
{Is.Deployment.VercelFromFrontend && <VercelSpeedInsights debug={false} sampleRate={1 / 2} />}
...
</>;
```
When big-AGI is served on Vercel hosts, the `process.env.NEXT_PUBLIC_VERCEL_URL` environment variable is trueish, and
analytics will be sent by default to the Vercel Analytics service which is deployed by Vercel IF configured from the
Vercel project dashboard.
In summary: to turn it on: activate the `Analytics` service in the Vercel project dashboard.
## Configurations
| Scope | Default | Description / Instructions |
|-----------------------------------------------------------------------------------------|------------------|-------------------------------------------------------------------------------------------------------------------------|
| Your source builds of big-AGI | None | **Vercel**: enable Vercel Analytics from the dashboard. · **Google Analytics**: set environment variable at build time. |
| Your docker builds of big-AGI | None | **Vercel**: n/a. · **Google Analytics**: set environment variable at `docker build` time. |
| [big-agi.com](https://big-agi.com) | Vercel + Google | The main website ([privacy policy](https://big-agi.com/privacy)) hosted for free for anyone. |
| [official Docker packages](https://github.com/enricoros/big-AGI/pkgs/container/big-agi) | Google Analytics | **Vercel**: n/a · **Google Analytics**: set to the big-agi.com Google Analytics for analytics and improvements. |
| Scope | Default | Description / Instructions |
|-------------------------------------------------------------------------------------------------------------------------|---------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Your **Source** builds of big-AGI | None | **Google Analytics**: set environment variable at build time · **PostHog**: set environment variable at build time · **Vercel**: enable Vercel Analytics from the dashboard |
| Your **Docker** builds of big-AGI | None | (**Vercel**: n/a) · **Google Analytics**: set environment variable at `docker build` time · **PostHog**: set environment variable at `docker build` time. |
| [get.big-agi.com](https://get.big-agi.com) (**Big-AGI 1.x Legacy**) | Vercel + Google + PostHog | The main website ([privacy policy](https://big-agi.com/privacy)) hosted for free for anyone. |
| [prebuilt Docker packages](https://github.com/enricoros/big-AGI/pkgs/container/big-agi) (**Big-AGI 1.x**, 'latest' tag) | Google Analytics | **Vercel**: n/a · **Google Analytics**: set to the big-agi.com Google Analytics for analytics and improvements · **PostHog**: n/a |
Note: this information is updated as of Feb 27, 2024 and can change at any time.
Note: this information is updated as of March 3, 2025 and can change at any time.
+1 -1
View File
@@ -19,7 +19,7 @@ To enable it in `big-AGI`, you **must manually build the application**:
- Build `big-AGI` with HTTP authentication enabled:
- Clone the repository
- Rename `middleware_BASIC_AUTH.ts` to `middleware.ts`
- Build: usual simple build procedure (e.g. [Deploy manually](../README.md#-deploy-manually) or [Deploying with Docker](deploy-docker.md))
- Build: usual simple build procedure (e.g. [Deploy manually](installation.md#Local-Production-build) or [Deploying with Docker](deploy-docker.md))
- Configure the following [environment variables](environment-variables.md) before launching `big-AGI`:
```dotenv
+12 -10
View File
@@ -1,18 +1,20 @@
---
unlisted: true
---
# Deploying a Next.js App on Cloudflare Pages
> WARNING: Cloudflare Pages does not support traditional NodeJS runtimes, but only Edge Runtime functions.
> WARNING: Cloudflare Pages only supports Edge Runtime functions, not the full Node.js runtime.
>
> In this project we use Prisma connected to serverless Postgres, which at the moment cannot run on
> edge functions, so we cannot deploy this project on Cloudflare Pages.
> The cloud router in this project requires a Node.js runtime for Supabase SDK, authentication,
> sync, and other server-side features that cannot run on Cloudflare's edge runtime.
>
> Workaround: Step 3.4. has been added below, to DELETE the NodeJS traditional runtime - which means that some
> Workaround: Step 3.4. has been added below, to DELETE the Node.js cloud router - which means that some
> parts of this application will not work.
> - [Side effects](https://github.com/enricoros/big-agi/blob/main/src/apps/chat/trade/server/trade.router.ts#L19):
> Sharing functionality to DB, and import from ChatGPT share, and post to Paste.GG will not work
> - [Side effects](https://github.com/enricoros/big-agi/blob/main/src/modules/trade/server/trade.router.ts):
> Sharing functionality, import from ChatGPT share, and post to Paste.GG will not work
> - Cloud features (sync, auth, payments) will not be available
> - See [Issue 174](https://github.com/enricoros/big-agi/issues/174).
>
> Longer term: follow [prisma/prisma: Support Edge Function deployments](https://github.com/prisma/prisma/issues/21394)
> and convert the Node runtime to Edge runtime once Prisma supports it.
This guide provides steps to deploy your Next.js app on Cloudflare Pages.
It is based on the [official Cloudflare developer documentation](https://developers.cloudflare.com/pages/framework-guides/deploy-a-nextjs-site/),
@@ -34,7 +36,7 @@ Fork the repository to your personal GitHub account.
2. On this page, set your **Project name**, **Production branch** (e.g., main), and your Build settings
3. Choose `Next.js` from the **Framework preset** dropdown menu
4. Set a custom **Build Command**:
- `rm app/api/trpc-node/[trpc]/route.ts && npx @cloudflare/next-on-pages@1`
- `rm app/api/cloud/[trpc]/route.ts && npx @cloudflare/next-on-pages@1`
- see the tradeoffs for this deletion on the notice at the top
5. Keep the **Build output directory** as default
6. Click the **Save and Deploy** button
+17
View File
@@ -31,6 +31,12 @@ file.
### Official Images: [ghcr.io/enricoros/big-agi](https://github.com/enricoros/big-agi/pkgs/container/big-agi)
#### Available Tags
- **`:latest`** / **`:stable`** - Latest stable release (recommended)
- **`:development`** - Main branch (bleeding edge)
- **`:v2.0.0`** - Specific versions
#### Run using *docker* 🚀
```bash
@@ -59,6 +65,17 @@ To make local services running on your host machine accessible to a Docker conta
<br/>
### Reverse Proxy Configuration
A reverse proxy is a server that sits in front of big-AGI's container and can forwards web
requests to it. Often used to run multiple web applications, expose them to the internet,
increase security.
If you're deploying big-AGI behind a reverse proxy, you may want to see
our [Reverse Proxy Deployment Guide](deploy-reverse-proxy.md) for more information.
<br/>
### More Information
The [`Dockerfile`](../Dockerfile) describes how to create a Docker image. It establishes a Node.js environment,
+85
View File
@@ -0,0 +1,85 @@
# Deploy `big-AGI` with Kubernetes ☸️
In this tutorial, we will guide you through the process of deploying big-AGI
in a Kubernetes environment using the kubectl command-line tool.
## First Deployment
### Step 1: Clone the big-AGI repository
```bash
$ git clone https://github.com/enricoros/big-agi
$ cd ./big-agi/docs/k8s
```
### Step 2: Create the namespace
```bash
$ kubectl create namespace ns-big-agi
```
### Step 3: Fill in the key information into env-secret.yaml
All variables are optional. By default, Kubernetes Secret uses Base64 for
encode/decode, so please don't do a git commit after filling in the keys
to avoid leaking sensitive information.
We provide an empty `env-secret.yaml` file as a template.
You can fill in the necessary information using a text editor.
```bash
$ nano env-secret.yaml
```
### Step 4: Deploying Kubernetes Resources
```bash
$ kubectl apply -f big-agi-deployment.yaml -f env-secret.yaml
```
### Step 5: Verifying the Resource Statuses
```bash
$ kubectl -n ns-big-agi get svc,pod,deployment
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/svc-big-agi ClusterIP 10.0.198.118 <none> 3000/TCP 63m
NAME READY STATUS RESTARTS AGE
pod/deployment-big-agi-xxxxxxxx-yyyyy 1/1 Running 0 39m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/deployment-big-agi 1/1 1 1 63m
```
### Step 6: Testing the Service
You can test the service by port-forwarding the service to your local machine:
```bash
$ kubectl -n ns-big-agi port-forward service/svc-big-agi 3000
Forwarding from 127.0.0.1:3000 -> 3000
Forwarding from [::1]:3000 -> 3000
```
Now you can access the service at `http://localhost:3000`, and you should see the big-AGI homepage.
## Updating big-AGI
To update big-AGI to the latest version:
1. Pull the latest changes from the repository:
```bash
$ git pull origin main
```
2. Apply the updated deployment:
```bash
$ kubectl apply -f big-agi-deployment.yaml
```
This will trigger a rolling update of the deployment with the latest image.
**Note**: If you're deploying big-AGI behind a reverse proxy, you may need to configure
your proxy to support streaming. See our [Reverse Proxy Deployment Guide](deploy-reverse-proxy.md) for more information.
Note: For production use, consider setting up an Ingress Controller or Load Balancer instead of using port-forward.
+58
View File
@@ -0,0 +1,58 @@
# Advanced: Deploying big-AGI behind a Reverse Proxy
Note: if you don't have a reverse proxy set up, you can skip this guide.
If you're deploying big-AGI behind a reverse proxy, you may want to configure your proxy to support streaming output.
This guide provides instructions on how to configure your reverse proxy to support streaming output from big-AGI.
This is for advanced deployments, and you should have a basic understanding of how reverse proxies work.
## Nginx Configuration
If you're using Nginx as your reverse proxy, add the following configuration to your server block:
```nginx
server {
listen 80;
server_name your-domain.com;
location / {
# ...your specific proxy_pass configuration, example below...
proxy_pass http://localhost:3000; # Assuming big-AGI is running on port 3000
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# ...
# Important: Disable buffering for the streaming responses (SSE)
chunked_transfer_encoding on; # Turn on chunked transfer encoding
proxy_buffering off; # Turn off proxy buffering
proxy_cache off; # Turn off caching
tcp_nodelay on; # Turn on TCP NODELAY option, disable delay ACK algorithm
tcp_nopush on; # Turn on TCP NOPUSH option, disable Nagle algorithm
# Important: Longer timeouts (5 min)
keepalive_timeout 300;
proxy_connect_timeout 300;
proxy_read_timeout 300;
proxy_send_timeout 300;
}
}
```
This configuration disables caching and buffering, enables chunked transfer encoding, and adjusts TCP settings to optimize for streaming content.
## Troubleshooting
If you're experiencing issues with streaming not working, especially when deploying behind a reverse proxy,
ensure that your proxy is configured to support streaming output as described above.
## Additional Resources
- For Docker deployments, see our [Docker Deployment Guide](deploy-docker.md)
- For Kubernetes deployments, see our [Kubernetes Deployment Guide](deploy-k8s.md)
- For general installation instructions, see our [Installation Guide](installation.md)
If you continue to experience issues, please reach out to our [community support channels](../README.md#-get-involved).
@@ -19,7 +19,6 @@ services:
- .env
environment:
- PUPPETEER_WSS_ENDPOINT=ws://browserless:3000
command: [ "next", "start", "-p", "3000" ]
depends_on:
- browserless
-14
View File
@@ -1,14 +0,0 @@
# Why big-AGI?
Placeholder for a document that demonstrates the productivity and unique features of Big-AGI.
## Exclusive features
- [x] Call AGI
- [x] Continuous Voice mode
- [x] Diagram generation
- [ ] ...
## Productivity Features
- [x] Multi-window to never wait
- [x] Multi-Chat to explore different solutions
- [x] Rendering of graphs, charts, mindmaps
- [ ] ...
+67 -39
View File
@@ -3,7 +3,7 @@
This document provides an explanation of the environment variables used in the big-AGI application.
**All variables are optional**; and _UI options_ take precedence over _backend environment variables_,
which take place over _defaults_. This file is kept in sync with [`../src/server/env.mjs`](../src/server/env.mjs).
which take place over _defaults_. This file is kept in sync with [`../src/server/env.server.ts`](../src/server/env.server.ts).
### Setting Environment Variables
@@ -23,45 +23,57 @@ MDB_URI=
OPENAI_API_KEY=
OPENAI_API_HOST=
OPENAI_API_ORG_ID=
ALIBABA_API_HOST=
ALIBABA_API_KEY=
AZURE_OPENAI_API_ENDPOINT=
AZURE_OPENAI_API_KEY=
ANTHROPIC_API_KEY=
ANTHROPIC_API_HOST=
BEDROCK_BEARER_TOKEN=
BEDROCK_ACCESS_KEY_ID=
BEDROCK_SECRET_ACCESS_KEY=
BEDROCK_SESSION_TOKEN=
BEDROCK_REGION=
DEEPSEEK_API_KEY=
GEMINI_API_KEY=
GROQ_API_KEY=
LOCALAI_API_HOST=
LOCALAI_API_KEY=
MISTRAL_API_KEY=
MOONSHOT_API_KEY=
OLLAMA_API_HOST=
OPENPIPE_API_KEY=
OPENROUTER_API_KEY=
PERPLEXITY_API_KEY=
TOGETHERAI_API_KEY=
XAI_API_KEY=
# Model Observability: Helicone
HELICONE_API_KEY=
# Text-To-Speech
ELEVENLABS_API_KEY=
ELEVENLABS_API_HOST=
ELEVENLABS_VOICE_ID=
# Text-To-Image
PRODIA_API_KEY=
# Google Custom Search
GOOGLE_CLOUD_API_KEY=
GOOGLE_CSE_ID=
# Browse
PUPPETEER_WSS_ENDPOINT=
# Backend Analytics
BACKEND_ANALYTICS=
# Search
GOOGLE_CLOUD_API_KEY=
GOOGLE_CSE_ID=
# Text-To-Speech: ElevenLabs
ELEVENLABS_API_KEY=
ELEVENLABS_API_HOST=
ELEVENLABS_VOICE_ID=
# Backend HTTP Basic Authentication (see `deploy-authentication.md` for turning on authentication)
HTTP_BASIC_AUTH_USERNAME=
HTTP_BASIC_AUTH_PASSWORD=
# Frontend variables
# Frontend variables
NEXT_PUBLIC_MOTD=
NEXT_PUBLIC_GA4_MEASUREMENT_ID=
NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID=
NEXT_PUBLIC_PLANTUML_SERVER_URL=
NEXT_PUBLIC_POSTHOG_KEY=
```
## Backend Variables
@@ -80,24 +92,38 @@ For Database configuration see [deploy-database.md](deploy-database.md).
The following variables when set will enable the corresponding LLMs on the server-side, without
requiring the user to enter an API key
| Variable | Description | Required |
|-----------------------------|-------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| `OPENAI_API_KEY` | API key for OpenAI | Recommended |
| `OPENAI_API_HOST` | Changes the backend host for the OpenAI vendor, to enable platforms such as Helicone and CloudFlare AI Gateway | Optional |
| `OPENAI_API_ORG_ID` | Sets the "OpenAI-Organization" header field to support organization users | Optional |
| `AZURE_OPENAI_API_ENDPOINT` | Azure OpenAI endpoint - host only, without the path | Optional, but if set `AZURE_OPENAI_API_KEY` must also be set |
| `AZURE_OPENAI_API_KEY` | Azure OpenAI API key, see [config-azure-openai.md](config-azure-openai.md) | Optional, but if set `AZURE_OPENAI_API_ENDPOINT` must also be set |
| `ANTHROPIC_API_KEY` | The API key for Anthropic | Optional |
| `ANTHROPIC_API_HOST` | Changes the backend host for the Anthropic vendor, to enable platforms such as [config-aws-bedrock.md](config-aws-bedrock.md) | Optional |
| `GEMINI_API_KEY` | The API key for Google AI's Gemini | Optional |
| `GROQ_API_KEY` | The API key for Groq Cloud | Optional |
| `LOCALAI_API_HOST` | Sets the URL of the LocalAI server, or defaults to http://127.0.0.1:8080 | Optional |
| `LOCALAI_API_KEY` | The (Optional) API key for LocalAI | Optional |
| `MISTRAL_API_KEY` | The API key for Mistral | Optional |
| `OLLAMA_API_HOST` | Changes the backend host for the Ollama vendor. See [config-local-ollama.md](config-local-ollama) | |
| `OPENROUTER_API_KEY` | The API key for OpenRouter | Optional |
| `PERPLEXITY_API_KEY` | The API key for Perplexity | Optional |
| `TOGETHERAI_API_KEY` | The API key for Together AI | Optional |
| Variable | Description | Required |
|-----------------------------|----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| `OPENAI_API_KEY` | API key for OpenAI | Recommended |
| `OPENAI_API_HOST` | Changes the backend host for the OpenAI vendor, to enable platforms such as Helicone and CloudFlare AI Gateway | Optional |
| `OPENAI_API_ORG_ID` | Sets the "OpenAI-Organization" header field to support organization users | Optional |
| `ALIBABA_API_HOST` | The Alibaba AI OpenAI-compatible endpoint | Optional |
| `ALIBABA_API_KEY` | The API key for Alibaba AI | Optional |
| `AZURE_OPENAI_API_ENDPOINT` | Azure OpenAI endpoint - host only, without the path | Optional, but if set `AZURE_OPENAI_API_KEY` must also be set |
| `AZURE_OPENAI_API_KEY` | Azure OpenAI API key, see [config-azure-openai.md](config-azure-openai.md) | Optional, but if set `AZURE_OPENAI_API_ENDPOINT` must also be set |
| `AZURE_OPENAI_DISABLE_V1` | Disables the next-generation v1 API for GPT-5-like models (set to 'true' to disable) | Optional, defaults to enabled |
| `AZURE_OPENAI_API_VERSION` | API version for traditional deployment-based endpoints | Optional, defaults to '2025-04-01-preview' |
| `AZURE_DEPLOYMENTS_API_VERSION` | API version for the deployments listing endpoint | Optional, defaults to '2023-03-15-preview' |
| `ANTHROPIC_API_KEY` | The API key for Anthropic | Optional |
| `ANTHROPIC_API_HOST` | Changes the backend host for the Anthropic vendor, for proxies or custom endpoints | Optional |
| `BEDROCK_BEARER_TOKEN` | Bedrock long-term API key (`ABSK...`). Takes priority over IAM credentials. Short-term keys only work for runtime, not model listing | Optional |
| `BEDROCK_ACCESS_KEY_ID` | AWS IAM Access Key ID for Bedrock (Claude models via AWS) | Optional, but if set `BEDROCK_SECRET_ACCESS_KEY` must also be set |
| `BEDROCK_SECRET_ACCESS_KEY` | AWS IAM Secret Access Key for Bedrock | Optional, but if set `BEDROCK_ACCESS_KEY_ID` must also be set |
| `BEDROCK_SESSION_TOKEN` | AWS Session Token for temporary/STS credentials | Optional |
| `BEDROCK_REGION` | AWS region for Bedrock (e.g., `us-east-1`, `us-west-2`, `eu-west-1`) | Optional, defaults to `us-east-1` |
| `DEEPSEEK_API_KEY` | The API key for Deepseek AI | Optional |
| `GEMINI_API_KEY` | The API key for Google AI's Gemini | Optional |
| `GROQ_API_KEY` | The API key for Groq Cloud | Optional |
| `LOCALAI_API_HOST` | Sets the URL of the LocalAI server, or defaults to http://127.0.0.1:8080 | Optional |
| `LOCALAI_API_KEY` | The (Optional) API key for LocalAI | Optional |
| `MISTRAL_API_KEY` | The API key for Mistral | Optional |
| `MOONSHOT_API_KEY` | The API key for Moonshot AI | Optional |
| `OLLAMA_API_HOST` | Changes the backend host for the Ollama vendor. See [config-local-ollama.md](config-local-ollama.md) | |
| `OPENPIPE_API_KEY` | The API key for OpenPipe | Optional |
| `OPENROUTER_API_KEY` | The API key for OpenRouter | Optional |
| `PERPLEXITY_API_KEY` | The API key for Perplexity | Optional |
| `TOGETHERAI_API_KEY` | The API key for Together AI | Optional |
| `XAI_API_KEY` | The API key for xAI | Optional |
### LLM Observability: Helicone
@@ -117,19 +143,17 @@ Enable the app to Talk, Draw, and Google things up.
| Variable | Description |
|:---------------------------|:------------------------------------------------------------------------------------------------------------------------|
| **Text-To-Speech** | [ElevenLabs](https://elevenlabs.io/) is a high quality speech synthesis service |
| **Text-To-Speech** | ElevenLabs, Inworld, OpenAI TTS, LocalAI, and browser Web Speech API are supported |
| `ELEVENLABS_API_KEY` | ElevenLabs API Key - used for calls, etc. |
| `ELEVENLABS_API_HOST` | Custom host for ElevenLabs |
| `ELEVENLABS_VOICE_ID` | Default voice ID for ElevenLabs |
| **Text-To-Image** | [Prodia](https://prodia.com/) is a reliable image generation service |
| `PRODIA_API_KEY` | Prodia API Key - used with '/imagine ...' |
| | *Note: OpenAI TTS and LocalAI TTS reuse credentials from your configured LLM services (no separate env vars needed)* |
| **Google Custom Search** | [Google Programmable Search Engine](https://programmablesearchengine.google.com/about/) produces links to pages |
| `GOOGLE_CLOUD_API_KEY` | Google Cloud API Key, used with the '/react' command - [Link to GCP](https://console.cloud.google.com/apis/credentials) |
| `GOOGLE_CSE_ID` | Google Custom/Programmable Search Engine ID - [Link to PSE](https://programmablesearchengine.google.com/) |
| **Browse** | |
| `PUPPETEER_WSS_ENDPOINT` | Puppeteer WebSocket endpoint - used for browsing (pade downloadeing), etc. |
| **Backend** | |
| `BACKEND_ANALYTICS` | Semicolon-separated list of analytics flags (see backend.analytics.ts). Flags: `domain` logs the responding domain. |
| `HTTP_BASIC_AUTH_USERNAME` | See the [Authentication](deploy-authentication.md) guide. Username for HTTP Basic Authentication. |
| `HTTP_BASIC_AUTH_PASSWORD` | Password for HTTP Basic Authentication. |
@@ -137,10 +161,14 @@ Enable the app to Talk, Draw, and Google things up.
The value of these variables are passed to the frontend (Web UI) - make sure they do not contain secrets.
| Variable | Description |
|:----------------------------------|:-----------------------------------------------------------------------------------------|
| `NEXT_PUBLIC_GA4_MEASUREMENT_ID` | The measurement ID for Google Analytics 4. (see [deploy-analytics](deploy-analytics.md)) |
| `NEXT_PUBLIC_PLANTUML_SERVER_URL` | The URL of the PlantUML server, used for rendering UML diagrams. (code in RederCode.tsx) |
| Variable | Description |
|:----------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `NEXT_PUBLIC_DEBUG_BREAKS` | (optional, development) When set to 'true', enables automatic debugger breaks on DEV/error/critical logs in development builds |
| `NEXT_PUBLIC_MOTD` | Message of the Day - displays a dismissible banner at the top of the app (see [customizations](customizations.md) for the template variables). Example: 🔔 Welcome to our deployment! Version {{app_build_pkgver}} built on {{app_build_time}}. |
| `NEXT_PUBLIC_GA4_MEASUREMENT_ID` | (optional) The measurement ID for Google Analytics 4. (see [deploy-analytics](deploy-analytics.md)) |
| `NEXT_PUBLIC_GOOGLE_DRIVE_CLIENT_ID` | (optional) Google OAuth Client ID for Drive Picker. Can reuse `AUTH_GOOGLE_ID`. See [Google Drive](config-feature-google-drive.md) |
| `NEXT_PUBLIC_PLANTUML_SERVER_URL` | The URL of the PlantUML server, used for rendering UML diagrams. Allows using custom local servers. |
| `NEXT_PUBLIC_POSTHOG_KEY` | (optional) Key for PostHog analytics. (see [deploy-analytics](deploy-analytics.md)) |
> Important: these variables must be set at build time, which is required by Next.js to pass them to the frontend.
> This is in contrast to the backend variables, which can be set when starting the local server/container.
+46
View File
@@ -0,0 +1,46 @@
---
unlisted: true
---
# Big-AGI Advanced Tips & Tricks
> 🚨 This file is not meant for publication, and it's just been created as a handbook with tips
> and tricks to make Big-AGI more efficient and productive. 🚨
Welcome to the advanced tips and tricks guide for Big-AGI. This document will help you make the most of the platform's existing features.
---
## Hidden Gems
- **Shift + Double-Click** on a chat message to **edit** it.
- **Shift + Trash Icon** to **delete** a chats and messages without confirmation.
- also applies elsewhere: delete Attachments, etc.
- **Shift + Click** on **New Chat** to create an incognito chat.
- Drag a big-AGI saved chat into Big-AGI to load (or attach) it.
## Not-so-obvious Shortcuts
- When sending a message:
- Enter is for newlines
- **Shift + Enter** to send the message.
- **Ctrl + Enter** to **Beam** the message.
- **Alt/Option + Enter** to send the message without an answer.
- When editing a message:
- **Ctrl + Enter** to **Save** the changes.
- **Shift + Ctrl + Enter** to **Save & Regenerate**.
- Scroll between messages:
- **Ctrl + Up/Down** to scroll between **messages** and/or **Beams**.
## Worth the Effort:
- [LiveFile](help-feature-livefile.md) works on **Chrome**: Pair and synchronize your documents and code blocks with files on your local system: refresh, save, update them.
## Best User Hacks:
-
---
Note: this document is just at the beginning. It's here so we can capture
the best tips over time.
+105
View File
@@ -0,0 +1,105 @@
# Big-AGI Data Ownership Guide
Big-AGI is a **client-first** web application, which means it prioritizes speed and data ownership compared to cloud apps.
Your *API keys*, *chat history*, and *settings* live in your
browser's [local storage](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage), not
on cloud servers.
You can use Big-AGI in two ways:
1. Run it yourself (open-source)
2. Use big-agi.com (hosted service)
This guide explains how the open-source version handles your data. You can verify everything in [the source code](https://github.com/enricoros/big-agi).
## Client-Side Storage
Within Big-AGI almost all chat/keys data is handled client-side in your browser using two
standard browser storage mechanisms:
- **Local Storage**: API keys, settings, and configurations ([learn more](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage))
- **IndexedDB**: Chat history and larger files ([learn more](https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API))
The Big-AGI backend mainly passes requests to AI services (OpenAI, Anthropic, etc.). It doesn't store your data, except for the chat-sharing function if used.
You can see your data in your browser's local storage and IndexedDB - try it yourself:
1. In Chrome: Open DevTools (press F12 on Windows, ⌘ + ⌥ + I on Mac)
2. Click 'Application' > 'Local Storage'
3. See your settings and API keys
![Browser local storage showing API keys and chat data](pixels/data_ownership_local_storage.png)
### Sync for Authenticated Users
Users with accounts on big-agi.com who opt into Sync (a Pro feature) have their entity data - such as conversations and personas - replicated to the server for multi-device access.
Server-side data is isolated per-user using Row Level Security (RLS), ensuring that no other user can access your synced data.
Sync is entirely optional; without it, all data remains local to your browser.
### What This Means For You
Storing data in your browser means:
- Your data stays on **one device/browser only**
- Clearing browser data **erases your chats** - make backups
- Anyone using your browser can see your chats and keys
- Running your own server needs technical skills
### Local Device Identifier
Big-AGI generates a _device identifier_ that combines timestamp and random components, stored only on your device. This identifier:
- Is used only for the **optional sync functionality** between your devices
- Helps maintain data consistency when using Big-AGI across multiple devices
- Remains completely local unless you explicitly enable sync
- Is not used for tracking, analytics, or telemetry
- Can be deleted anytime by clearing local storage
- Is fully transparent - see the implementation in `src/common/stores/store-client.ts`
## How Data Flows
AI interactions in Big-AGI, such as chats, AI titles, text to speech, browsing, flow through three components:
1. **Browser** (client/installed App) - Stores your keys & data locally
2. **Backend** (routing server) - Passes requests to AI services
3. **AI Services** - Where the actual AI processing happens
### Self-Deployed Version: Your Infrastructure
You run the server. Your data only leaves when making AI requests.
The keys and chats are under your control and pass through your code, and are sent to
the upstream AI services on a per-request basis.
![data_ownership_local.png](pixels/data_ownership_deployed.png)
### Web Version: Using big-agi.com
Your data passes through the hosted Big-AGI edge network to reach AI services. The keys
and chats pass through Big-AGI's edge network to reach the AI services on a per-request basis,
and then are send to the upstream AI services.
![data_ownership_hosted.png](pixels/data_ownership_hosted.png)
## Security Best Practices
**Basic Security**:
- **Never share API keys**
- **Don't use shared computers**
- Use private browsing for one-off sessions
- Use trusted networks
- Back up your data
**When Running Your Own Server**:
- Use [environment variables](environment-variables.md) for API keys
- Run on trusted infrastructure
- Keep your installation updated
## TL;DR
Your API keys and chats stay in your browser. The server only passes requests to AI services.
Use big-agi.com for convenience, or [run it yourself](installation.md) for full control.
Need help? Join our [Discord](https://discord.gg/MkH4qj2Jp9) or open a [GitHub issue](https://github.com/enricoros/big-agi/issues).
+28
View File
@@ -0,0 +1,28 @@
# Frequently Asked Questions
Quick answers to common questions about Big-AGI. For detailed documentation, see our [Website Docs](https://big-agi.com/docs).
### Versions
<details open>
<summary><b>How do I check my Big-AGI version?</b></summary>
You can see the version in the _News_ section of the app, as per the image below.
![Version location in Big-AGI](https://github.com/user-attachments/assets/cd295094-0114-420f-a5b9-0d762e59b506)
</details>
<details open>
<summary><b>How do I verify my Vercel deployment version?</b></summary>
You can go in the **deployments** section of your Vercel project, and at a quick glance see
what is the latest deployment status, time, and link to the source code.
![Vercel deployments view](https://github.com/user-attachments/assets/664b8c3d-496e-4595-ad5e-898bdb82507c)
Each deployment links directly to its source code commit.
</details>
---
Missing something? [Open an issue](https://github.com/enricoros/big-agi/issues/new) or [join our Discord](https://discord.gg/MkH4qj2Jp9).
+167
View File
@@ -0,0 +1,167 @@
# LiveFile: Synchronize Your Documents with Local Files
## Introduction
**LiveFile** is a powerful feature in big-AGI that allows you to **pair and synchronize
your documents and code blocks** with files on your local system.
This feature enables a **two-way connection between big-AGI and your local files on disk**,
saving you time and effort.
With LiveFile, you can:
- **Pair** documents and code blocks with local files.
- **Monitor** changes in local files and update content in big-AGI.
- **Refresh** chat attachments with the latest content.
- **Save** edits made in big-AGI back to your local files.
- **Store** AI-generated code and content.
---
## Requirements
- **Supported Browsers:**
- **Google Chrome** (desktop)
- **Microsoft Edge** (desktop)
- **Operating Systems:**
- **Desktop platforms only**
- **Note:** Mobile devices (iOS and Android) are **not supported** due to browser limitations.
- **File Types:**
- Designed for **text-based files** (e.g., `.txt`, `.md`, `.js`, `.py`).
- **Performance:**
- Can handle **dozens of files efficiently**.
- **Limitations:**
- **File Size Limit**:
- Supports text files up to **10 MB**.
- **Pairing Persistence:**
- LiveFile connections **do not persist across sessions**.
- After reloading the page, you will need to re-pair your files.
- **Saving Overwrites:**
- Saving changes in big-AGI will **overwrite the entire file**.
- Use external tools for version control or incremental backups.
---
## Enabling LiveFile
LiveFile can be enabled automatically or manually in your Big-AGI workflow.
### Automatic Pairing
When you:
- **Attach**, **drop**, or **paste** a file into a chat message,
LiveFile is **automatically enabled** for that attachment. This means you can start
monitoring and reloading changes without any additional setup.
### Manual Pairing
For existing attachments or code blocks that:
- **Do not have LiveFile enabled** (e.g., created on other devices),
- **Are AI-generated code snippets without an associated file**,
You can manually pair them with a local file.
#### Pairing Attachments
1. **Select the Attachment:**
- Click on the attachment in the chat to view it in the previewer.
2. **Initiate Pairing:**
- Click on **"Pair File"** (🔗).
- If you have open LiveFiles, they will be listed for easy selection.
- Alternatively, you can select a new file from your local system.
3. **Grant Permissions**
- When prompted, allow big-AGI to access the file.
#### Pairing Code Blocks
1. **Access Code Block Options:**
- Click on the code block to reveal the header with options.
2. **Initiate Pairing:**
- Click the **"Pair File"** button (🔗).
- Select from your open LiveFiles or choose a new file.
3. **Confirm Pairing:**
- Grant permission when prompted.
---
## Using LiveFile
### Monitoring Changes
- **Automatic Monitoring:**
- LiveFile watches for changes in your paired local files.
- If the file is modified outside of big-AGI, you'll be shown the changes in the LiveFile bar.
- There is also a **"Replace with File"** option to manually load the latest content and see the changes.
- **Refreshing Content:**
- Click **"Replace with File"** (🔄) to load the latest content from the paired file into big-AGI.
### Saving Edits Back to Paired Files
- **Editing Attachments or Code Blocks:**
- Modify the content directly within big-AGI.
- Attachments: Click on the attachment to open the previewer and click on "Edit" to make changes.
- Code Blocks: Select "Edit" on the chat message to update code blocks.
- **Saving Changes:**
- Click **"Save to File"** (💾) to overwrite the local file with your changes.
- **Note:** This action overwrites the entire file. Ensure this is what you want before proceeding.
---
## Best Practices
- **Monitor External Changes:**
- Refresh content in big-AGI if the local file has been modified outside the application.
- **Use a Version Control System:**
- For critical files, consider using Git or other version control systems to track and monitor changes, authorship, and history.
---
## Troubleshooting
- **LiveFile Options Not Visible:**
- Ensure you are using a **supported desktop browser**.
- Check that you have the latest version of big-AGI.
- **Permission Issues:**
- Confirm that you granted big-AGI permission to access your files.
- Check your browser's settings to ensure file access is allowed.
---
## Technical Details
LiveFile uses the [File System Access API](https://developer.mozilla.org/en-US/docs/Web/API/File_System_Access_API) to
interact with your local files securely. It leverages the [browser-fs-access](https://github.com/GoogleChromeLabs/browser-fs-access) library,
an open-source project by Google Chrome Labs, which provides an easy interface to the File System Access API with fallbacks for broader browser support.
- **Security:**
- Access to files requires explicit user permission.
- **Performance:**
- Designed to handle dozens of files efficiently (tested on hundreds).
- Works with the Big-AGI attachment system to recursively add directories.
- **Browser Support:**
- Fully supported on **Google Chrome** and **Microsoft Edge** desktop versions.
---
## Another Big-AGI First!
You can significantly boost your productivity and streamline your workflow within big-AGI
by understanding how to utilize LiveFile's features fully.
This Feature is in Beta as there are a few limitations and improvements to be made.
Join us in enjoying and enhancing this feature on [big-AGI.com](https://big-agi.com), or
[GitHub](https://github.com/enricoros/big-AGI) for support and [Discord](https://discord.gg/MkH4qj2Jp9)
to share the love.
+141
View File
@@ -0,0 +1,141 @@
# Enabling Microphone Access for Speech Recognition
This guide explains how to enable microphone access for speech recognition in various browsers and mobile devices.
Ensuring microphone access is essential for using voice features in applications like big-AGI.
## Desktop Browsers
### Google Chrome (All Platforms, recommended)
1. Open the website (e.g., big-AGI) in Chrome.
2. Click the **lock icon** in the address bar.
3. In the dropdown, find **"Microphone"**.
- Set it to **"Allow"**.
4. If "Microphone" isn't listed:
- Click on **"Site settings"**.
- Find **"Microphone"** in the permissions list.
- Change the setting to **"Allow"**.
5. **Refresh** the page.
### Safari (macOS)
**[Watch the video tutorial: How to enable Speech Recognition in Safari](https://vimeo.com/1010342201)**
If you're seeing a "Speech Recognition permission denied" error, follow these steps:
1. Open **System Settings**.
- Go to **Privacy & Security** > **Speech Recognition**.
- Enable Safari in the list of allowed applications.
- Quit & Open Safari.
2. Click **Safari** in the top menu bar.
- Select **Settings**.
- Go to the **Websites** tab.
- Select **Microphone** from the sidebar.
- Find big-AGI (or localhost for developers) in the list and set it to **Allow**.
- Close the Settings window.
3. **Refresh** the page.
This quick and simple fix should get essential voice input working in big-AGI on your Mac.
### Microsoft Edge (Windows)
1. Open the website in Edge.
2. Click the **lock icon** in the address bar.
3. Click **"Permissions for this site"**.
4. Find **"Microphone"**.
- Set it to **"Allow"**.
5. **Refresh** the page.
### Firefox (All Platforms)
> **Note:** The Speech Recognition API is **not supported** in Firefox. If you're using Firefox, please switch to a supported browser to use speech recognition
> features.
## Mobile Devices
### Android (Chrome)
1. Open the website in Chrome.
2. Tap the **lock icon** in the address bar.
3. Tap **"Permissions"**.
4. Find **"Microphone"**.
- Set it to **"Allow"**.
5. **Refresh** the page.
### iOS (Safari)
1. Open the **Settings** app on your device.
2. Scroll down and tap **"Safari"**.
3. Tap **"Microphone"**.
4. Ensure **"Ask"** or **"Allow"** is selected.
5. Return to Safari and open the website.
6. If prompted, allow microphone access.
7. **Refresh** the page.
### iOS (Chrome)
> **Note:** Chrome on iOS uses Safari's engine due to system limitations. Microphone permissions are managed through iOS settings.
1. Open the **Settings** app.
2. Scroll down and tap **"Chrome"**.
3. Ensure **"Microphone"** is toggled **on**.
4. Open Chrome and navigate to the website.
5. If prompted, allow microphone access.
6. **Refresh** the page.
## Troubleshooting
If you're still experiencing issues after enabling microphone access:
**Check System Permissions (macOS):**
- Open **System Settings**.
- Go to **"Privacy & Security"**.
- Select the **"Privacy"** tab.
- Click **"Microphone"** in the sidebar.
- Ensure your browser (e.g., Chrome, Safari) is checked.
- You may need to unlock the settings by clicking the lock icon at the bottom.
**Check Microphone Access (Windows):**
- Open **Settings**.
- Go to **"Privacy"** > **"Microphone"**.
- Ensure **"Allow apps to access your microphone"** is **on**.
- Scroll down and make sure your browser is allowed.
**Close Other Applications:**
- Close any applications that might be using the microphone.
**Restart the Browser:**
- Close all browser windows and reopen.
**Update Your Browser:**
- Ensure you're using the latest version.
**Check for Browser Extensions:**
- Disable extensions that might block access to the microphone.
For persistent issues, consult your browser's official support resources or contact big-AGI support.
## Technical Details
Big-AGI uses the [Web Speech API (SpeechRecognition)](https://developer.mozilla.org/en-US/docs/Web/API/SpeechRecognition)
to transcribe spoken words into text. This API provides real-time transcription with live previews and works on most
modern mobile and desktop browsers.
**Note on Browser Support:**
| Browser | Support Level | Notes |
|----------------|-----------------|------------------------------------------------------------------------|
| Google Chrome | ✅ Recommended | Fully supported on desktop and Android. Preferred for best experience. |
| Safari | ✅ Supported | Requires macOS/iOS 14 or later. |
| Microsoft Edge | ✅ Supported | Fully supported on desktop. |
| Firefox | ❌ Not Supported | SpeechRecognition API not available. |
**Recommendation:**
For the best experience with speech recognition features, we strongly recommend using Google Chrome.
Ensure your browser is up to date to benefit from the latest features and security updates.
+39 -8
View File
@@ -7,7 +7,7 @@ process for your own instance of big-AGI and related products.
**Try big-AGI** - You don't need to install anything if you want to play with big-AGI
and have your API keys to various model services. You can access our free instance on [big-AGI.com](https://big-agi.com).
The free instance runs the latest `main-stable` branch from this repository.
The free instance runs the latest `main` branch from this repository.
## 🧩 Build-your-own
@@ -72,9 +72,8 @@ Create your GitHub fork, create a Vercel project over that fork, and deploy it.
### Deploy on Cloudflare
Deploy on Cloudflare's global network by installing big-AGI on
Cloudflare Pages. Check out the [Cloudflare Installation Guide](deploy-cloudflare.md)
for step-by-step instructions.
> Note: Cloudflare Pages deployment has limitations due to Edge Runtime constraints.
> See the [Cloudflare guide](deploy-cloudflare.md) for details and known issues.
### Docker Deployments
@@ -99,10 +98,42 @@ or follow the steps below for a quick start.
```
Access your big-AGI instance at `http://localhost:3000`.
### Midori AI Subsystem for Docker Deployment
If you deploy big-AGI behind a reverse proxy, you may want to check out the [Reverse Proxy Configuration Guide](deploy-reverse-proxy.md).
Follow the instructions found on [Midori AI Subsystem Site](https://io.midori-ai.xyz/subsystem/manager/)
for your host OS. After completing the setup process, install the Big-AGI docker backend to the Midori AI Subsystem.
### Kubernetes Deployment
Deploy big-AGI on a Kubernetes cluster for enhanced scalability and management. Follow these steps for a Kubernetes deployment:
1. Clone the big-AGI repository:
```bash
git clone https://github.com/enricoros/big-AGI.git
cd big-AGI
```
2. Configure the environment variables:
```bash
cp docs/k8s/env-secret.yaml env-secret.yaml
vim env-secret.yaml # Edit the file to set your environment variables
```
3. Apply the Kubernetes configurations:
```bash
kubectl create namespace ns-big-agi
kubectl apply -f docs/k8s/big-agi-deployment.yaml -f env-secret.yaml
```
4. Verify the deployment:
```bash
kubectl -n ns-big-agi get svc,pod,deployment
```
5. Access the big-AGI application:
```bash
kubectl -n ns-big-agi port-forward service/svc-big-agi 3000:3000
```
Your big-AGI instance is now accessible at `http://localhost:3000`.
For more detailed instructions on Kubernetes deployment, including updating and troubleshooting, refer to our [Kubernetes Deployment Guide](deploy-k8s.md).
## Enterprise-Grade Installation
@@ -114,6 +145,6 @@ Enjoy all the features of big-AGI without the hassle of infrastructure managemen
Join our vibrant community of developers, researchers, and AI enthusiasts. Share your projects, get help, and collaborate with others.
- [Discord Community](https://discord.gg/MkH4qj2Jp9)
- [Twitter](https://twitter.com/yourusername)
- [X (Twitter)](https://x.com/enricoros)
For any questions or inquiries, please don't hesitate to [reach out to our team](mailto:hello@big-agi.com).
+52
View File
@@ -0,0 +1,52 @@
---
apiVersion: v1
kind: Namespace
metadata:
name: ns-big-agi
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: big-agi
name: deployment-big-agi
namespace: ns-big-agi
spec:
replicas: 1
selector:
matchLabels:
app: big-agi
strategy: {}
template:
metadata:
labels:
app: big-agi
spec:
containers:
- image: ghcr.io/enricoros/big-agi:latest
name: big-agi
ports:
- containerPort: 3000
args:
- next
- start
- -p
- "3000"
envFrom:
- secretRef:
name: env
---
apiVersion: v1
kind: Service
metadata:
labels:
app: big-agi
name: svc-big-agi
namespace: ns-big-agi
spec:
ports:
- name: "http"
port: 3000
targetPort: 3000
selector:
app: big-agi
+49
View File
@@ -0,0 +1,49 @@
---
apiVersion: v1
kind: Secret
metadata:
name: env
namespace: ns-big-agi
type: Opaque
stringData:
# IMPORTANT: This file contains sensitive information. Do not commit changes to version control.
# All variables are optional. Fill in only the ones you need.
#
# For the latest information on all the environment variables, see /docs/environment-variables.md
#
# LLMs
OPENAI_API_KEY: ""
OPENAI_API_HOST: ""
OPENAI_API_ORG_ID: ""
ALIBABA_API_HOST: ""
ALIBABA_API_KEY: ""
AZURE_OPENAI_API_ENDPOINT: ""
AZURE_OPENAI_API_KEY: ""
ANTHROPIC_API_KEY: ""
ANTHROPIC_API_HOST: ""
DEEPSEEK_API_KEY: ""
GEMINI_API_KEY: ""
GROQ_API_KEY: ""
LOCALAI_API_HOST: ""
LOCALAI_API_KEY: ""
MISTRAL_API_KEY: ""
MOONSHOT_API_KEY: ""
OLLAMA_API_HOST: ""
OPENPIPE_API_KEY: ""
OPENROUTER_API_KEY: ""
PERPLEXITY_API_KEY: ""
TOGETHERAI_API_KEY: ""
XAI_API_KEY: ""
# Browse
PUPPETEER_WSS_ENDPOINT: ""
# Search
GOOGLE_CLOUD_API_KEY: ""
GOOGLE_CSE_ID: ""
# Text-To-Speech: Eleven Labs
ELEVENLABS_API_KEY: ""
ELEVENLABS_API_HOST: ""
ELEVENLABS_VOICE_ID: ""
Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 234 KiB

+47
View File
@@ -0,0 +1,47 @@
---
unlisted: true
---
# ReAct: question answering with Reasoning and Actions
## What is ReAct?
[ReAct](https://arxiv.org/abs/2210.03629) (Reason+Act) is a classis AI question-answering feature,
that combines reasoning with actions to provide informed answers.
Within Big-AGI, users can invoke ReAct to ask complex questions that require multiple steps to answer.
| Mode | Activation | Information Sources | Reasoning Visibility | When to Use |
|-------|-----------------------------------|------------------------------------------------------|------------------------------------|--------------------------------------------------|
| Chat | Just type and send | **Pre-trained knowledge only** | Only shows final response | Quick answers, general knowledge queries |
| ReAct | Type "/react" before the question | **Web loads, Web searches, Wikipedia, calculations** | Shows step-by-step thought process | Complex, multi-step, or research-based questions |
Example of ReAct in action, taking a question about current events, googling results, opening a page, and summarizing the information:
https://github.com/user-attachments/assets/c3480428-9ab8-4257-a869-2541bf44a062
The following tools are implemented in Big-AGI:
- **browse**: loads web pages (URLs) and extracts information, using a correctly configured `Tools > Browsing` API
- **search**: searches the web to produce page URLs, using a correctly configured `Tools > Google Search` ([Google Programmable Search Engine](https://programmablesearchengine.google.com/about/)) API
- **wikipedia**: looks up information on Wikipedia pages
- **calculate**: performs mathematical calculations by executing typescript code
- warning: (!) unsafe and dangerous, do not use for untrusted code/LLMs
## How to Use ReAct in Big-AGI
1. **Invoking ReAct**: Type "/react" followed by your question in the chat.
2. **What to Expect**:
- An ephemeral space will show the AI's thought process and actions, showing all the steps taken.
- The final answer will appear in the main chat.
3. **Available Actions**: Web searches, Wikipedia lookups, calculations, and optionally web browsing.
## Good to know:
- **ReAct operates in isolation** from the main chat history.
- It **will take longer than standard responses** due to multiple steps.
- Web searches and browsing may have privacy implications, and require **tool configuration** in the UI.
- Errors or limitations in accessing external resources may affect results.
- ReAct does not use the [Tool or Function Calling](https://platform.openai.com/docs/guides/function-calling) feature of AI models, rather uses the old school approach of parsing and executing actions.
+17
View File
@@ -0,0 +1,17 @@
import { defineConfig } from "eslint/config";
import path from "node:path";
import { fileURLToPath } from "node:url";
import js from "@eslint/js";
import { FlatCompat } from "@eslint/eslintrc";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all
});
export default defineConfig([{
extends: compat.extends("next/core-web-vitals"),
}]);
+39
View File
@@ -0,0 +1,39 @@
## Knowledge Base
Architecture and system documentation is available in the `/kb/` knowledge base, for use by AI agents and developers.
**Structure:**
- `/kb/KB.md` - Already in context: this text
- `/kb/vision-inlined.md` - Already in context (next section): long-term vision and north stars
- `/kb/modules/` - Core business logic (e.g. AIX)
- `/kb/systems/` - Infrastructure (routing, startup)
### Modules Documentation
#### AIX - AI Communication Framework
- **[AIX.md](modules/AIX.md)** - AIX streaming architecture documentation
- **[AIX-callers-analysis.md](modules/AIX-callers-analysis.md)** - Analysis of AIX entry points, call chains, common and different rendering, error handling, etc.
#### CSF - Client-Side Fetch
- **[CSF.md](systems/client-side-fetch.md)** - Direct browser-to-API communication for LLM requests
### Systems Documentation
#### Core Platform Systems
- **[app-routing.md](systems/app-routing.md)** - Next.js routing, provider stack, and display state hierarchy
- **[LLM-parameters-system.md](systems/LLM-parameters-system.md)** - Language model parameter flow across the system
- **[LLM-vendor-integration.md](modules/LLM-vendor-integration.md)** - Adding new LLM providers
### KB Guidelines
#### Writing Style
- **Direct and factual** - No marketing language
- **Present tense** - "AIX handles streaming" not "AIX will handle"
- **Active voice** - "The system processes" not "Processing is done by"
- **Concrete examples** - Show actual code/config when helpful, briefly
#### Maintenance
- Remove outdated knowledge base information when detected
- Keep cross-references current when files move
+145
View File
@@ -0,0 +1,145 @@
# AIX Chat Generation Calls Analysis
This document analyzes all AIX function callers and their patterns for message removal, placeholder handling, and error management.
## AIX Function Architecture
### Three-Tier Call Hierarchy
**Core AIX Functions** (Direct tRPC API callers):
- `aixChatGenerateContent_DMessage_FromConversation` - 9 callers (conversation streaming)
- `aixChatGenerateContent_DMessage_orThrow` - 6 callers (direct request/response)
- `aixChatGenerateText_Simple` - 12 callers (text-only utilities)
**Utility Layer** (Hooks & Functions):
- Conversation management, persona processing, content generation utilities
**UI Layer** (React Components):
- User-facing interfaces with rich error states and fallback mechanisms
## Core Function Callers Analysis
### Conversation-Based Callers (`_FromConversation`)
| **Caller** | **Context** | **Message Removal** | **Placeholder** | **Error Handling** |
|------------|-------------|-------------------|----------------|-------------------|
| **Chat Persona** | `'conversation'` | `messageWasInterruptedAtStart()``removeMessage()` | None | Error fragments |
| **XE Chat Generate** | `'conversation'` | `messageWasInterruptedAtStart()``removeMessage()` | `'...'` placeholder | Error fragments via messageEditor |
| **Beam Scatter** | `'beam-scatter'` | `messageWasInterruptedAtStart()` → empty message | `SCATTER_PLACEHOLDER` | Ray status update |
| **Beam Gather** | `'beam-gather'` | `messageWasInterruptedAtStart()` → clear fragments | `GATHER_PLACEHOLDER` | Re-throw errors |
| **Beam Follow-up** | `'beam-followup'` | `messageWasInterruptedAtStart()` → remove message | `FOLLOWUP_PLACEHOLDER` | Status updates |
| **ScratchChat** | `'scratch-chat'` | `aborted && !fragments` → array removal | `SCRATCH_CHAT_PLACEHOLDER` | Error fragments |
| **Telephone** | `'call'` | None | None | Basic handling |
| **ReAct Agent** | `'chat-react-turn'` | None | None | Append errors |
| **Variform** | `'_DEV_'` | None | None | Throw errors |
### Direct Request Callers (`aixChatGenerateContent_DMessage`)
| **Caller** | **Context** | **Message Removal** | **Error Handling** |
|------------|-------------|-------------------|-------------------|
| **Auto Follow-ups** | `'chat-followup-*'` | `fragmentDelete()` on failure | `fragmentReplace()` with error |
| **Gen CR Diffs** | `'aifn-gen-cr-diffs'` | None | State-based handling |
| **Code Fixup** | `'fixup-code'` | None | Throw errors |
| **Attachment Prompts** | `'chat-attachment-prompts'` | None | Throw errors |
### Text-Only Utilities (`aixChatGenerateText_Simple`)
| **Utility** | **Purpose** | **Error Strategy** | **Called By** |
|-------------|-------------|-------------------|---------------|
| **conversationTitle** | Auto-generate chat titles | Try/catch with fallback | UI components |
| **conversationSummary** | Generate summaries | Try/catch with fallback | Chat drawer |
| **useStreamChatText** | Generic text streaming | Error state management | FlattenerModal |
| **useLLMChain** | Multi-step processing | Step-by-step handling | Persona creation |
| **imaginePromptFromText** | Text → image prompts | Simple propagation | Image generation |
| **aifnBeamGenerateBriefing** | Beam summaries | Null return on error | Beam completion |
| **useAifnPersonaGenIdentity** | Extract persona identity | Query error handling | Persona flows |
| **DiagramsModal** | Generate diagrams | Component error state | Manual generation |
## Message Removal Patterns
### 1. Complete Message Removal
- **Chat Persona**: `messageWasInterruptedAtStart()``messageEditor.removeMessage()`
- **ScratchChat**: `outcome === 'aborted' && !fragments?.length` → array removal
- **Trigger**: Message aborted before any content generated
### 2. Fragment-Level Management
- **Beam Gather**: Clear fragments array but keep message structure
- **Auto Follow-ups**: Delete specific placeholder fragments on failure
- **Purpose**: Maintain message structure while removing failed content
### 3. Empty Message Replacement
- **Beam Scatter**: Replace with `createDMessageEmpty()` but preserve ray structure
- **Purpose**: Keep UI structure intact while indicating failure
### 4. No Removal Strategy
- **Text-only functions**: Use fallback values, error states, or null returns
- **Simple callers**: Propagate errors upstream for handling
## Error Handling by Layer
### UI Layer (Components)
- **Pattern**: Rich error states with user-facing messages
- **Examples**: DiagramsModal, FlattenerModal
- **Features**: Retry mechanisms, fallback UI, loading states
### Utility Layer (Hooks/Functions)
- **Pattern**: Graceful degradation with fallbacks
- **Examples**: conversationTitle, conversationSummary
- **Features**: Silent failures, default values, try/catch blocks
### Core Layer (Direct API)
- **Pattern**: Minimal handling, error propagation
- **Examples**: Code Fixup, Attachment Prompts
- **Features**: Assumes upstream error handling
## Key Implementation Details
### Message Removal Detection
```typescript
// Core detection logic
function messageWasInterruptedAtStart(message: Pick<DMessage, 'generator' | 'fragments'>): boolean {
return message.generator?.tokenStopReason === 'client-abort' && message.fragments.length === 0;
}
```
### Placeholder Management
- **Initialization**: `createPlaceholderVoidFragment(placeholderText)`
- **Replacement**: During streaming updates or on completion
- **Cleanup**: Delete on error to avoid stale content
### Context Patterns
- **Production**: `'conversation'`, `'beam-scatter'`, `'scratch-chat'`
- **Features**: `'chat-followup-*'`, `'fixup-code'`, `'ai-diagram'`
- **Development**: `'_DEV_'`
## Best Practices
### Message Removal
- Use `messageWasInterruptedAtStart()` for consistent detection
- Only remove messages with no content that were client-aborted
- Consider UI context when choosing removal vs. clearing strategy
### Error Handling
- **Fragment-level**: Use `messageEditor.fragmentReplace()` with error fragments
- **Message-level**: Use `messageEditor.removeMessage()` or array removal
- **Status-level**: Update component state for UI feedback
### Placeholder Management
- Initialize with descriptive placeholders using `createPlaceholderVoidFragment()`
- Replace during streaming updates
- Clean up on error to prevent stale content
## Architectural Insights
1. **Layered Error Handling**: Sophistication increases closer to UI
2. **Context Specialization**: Different contexts for different use cases
3. **Streaming vs Non-Streaming**: Conversation functions stream, utilities typically don't
4. **Message vs Fragment Management**: Different strategies for different UI needs
The most sophisticated handling is in **Beam modules** and **Chat Persona** with comprehensive removal logic, while simpler callers rely on upstream error handling.
## Code References
- **Core function**: `src/modules/aix/client/aix.client.ts:aixChatGenerateContent_DMessage_FromConversation`
- **Removal check**: `src/common/stores/chat/chat.message.ts:388:messageWasInterruptedAtStart()`
- **Placeholder creation**: `src/common/stores/chat/chat.fragments.ts:createPlaceholderVoidFragment()`
+190
View File
@@ -0,0 +1,190 @@
# AIX
AIX is a client/server library for integrating advanced AI capabilities into web applications.
## Overview
AIX provides real-time, type-safe communication between a Typescript application and AI providers.
Built with tRPC, it manages the lifecycle of AI-generated content from request to rendering, supporting both streaming and non-streaming AI providers.
## Features
- Content Generation
- Multi-Modal streaming/non-streaming
- Throttled batching and error handling
- Server-side timeout/retry
- Function Calling and Code Execution
- Complex AI Workflows (future)
- Embeddings / Information Retrieval / Image Manipulation (future)
## AIX Providers support
| Service | Chat | Function Calling | Multi-Modal Input | Cont. (1) | Streaming | Idiosyncratic |
|------------|------------|------------------|-------------------|-----------|-----------|---------------|
| Alibaba | ✅ | ✅ | | ✅ | Yes + 📦 | |
| Anthropic | ✅ | ✅ + Parallel | Img: ✅ | ✅ | Yes + 📦 | |
| Azure | ✅ | ✅ | | ✅ | Yes + 📦 | |
| Deepseek | ✅ | ❌ (rejected) | | ✅ | Yes + 📦 | |
| Gemini | ✅ | ✅ + Parallel | Img: ✅ | ✅ | Yes + 📦 | Code ex.: ✅ |
| Groq | ✅ | ✅ + Parallel | | ✅ | Yes + 📦 | |
| LM Studio | ✅ | ❌ (not working) | | ❌ | Yes + 📦 | |
| Local AI | ✅ | ✅ | | ❌ | Yes + 📦 | |
| Mistral | ✅ | ✅ | | ✅ | Yes + 📦 | |
| OpenAI | ✅ | ✅ + Parallel | Img: ✅ | ✅ | Yes + 📦 | |
| OpenPipe | ✅ | ✅ | Img: ✅ | ✅ | Yes + 📦 | |
| OpenRouter | ✅ | ❌ (inconsistent) | | ✅ | Yes + 📦 | |
| Perplexity | ✅ | ❌ (rejected) | | ✅ | Yes + 📦 | |
| TogetherAI | ✅ | ✅ | | ✅ | Yes + 📦 | |
| xAI | | | | | | |
| Z.ai | ✅ | ✅ | Img: ✅ | ✅ | Yes + 📦 | Thinking mode |
| Ollama (2) | ❌ (broken) | ? | | | | |
Notes:
- 1: Continuation marks: a. sends reason=max-tokens (streaming/non-streaming), b. TBA
- 2: Ollama has not been ported to AIX yet due to the custom APIs.
## 1. System Architecture
The subsystem comprises three main components:
1. **Client (e.g. Next.js Frontend)**
- Initiates requests
- Renders AI-generated content in real-time
- Reconstructs streamed data
2. **Server (e.g. Next.js Backend)**
- Acts as an intermediary between client and AI providers
- Handles request preparation, dispatching, and response processing
- Streams responses back to the client
3. **Upstream AI Providers**
- Generate AI content based on requests
### ChatGenerate workflow:
1. Request Initialization: AIX Client prepares and sends request (systemInstruction, messages=AixWire_Parts[], etc.) to AIX Server
2. Dispatch Preparation: AIX Server prepares for upstream communication
3. AI Provider Interaction: AIX Server communicates with AI Provider (streaming or non-streaming)
4. Data Decoding, Transformation and Transmission: AIX Server sends AixWire_Particles to AIX Client
5. Client-side Processing: Client's ContentReassembler processes AixWire_Particles into a list (likely a single) of multi-fragment (DMessageContentFragment[]) messages
6. Completion: AIX Server sends 'done' control message, AIX Client finalizes data update
7. Error Handling: AIX Server sends specific error messages when necessary
## 2. Files and Folders
AIX is organized into the following files and folders:
1. Client-Side (`/client/`):
- `aix.client.ts`: Main client-side entry point for AIX operations.
- `aix.client.chatGenerateRequest.ts`: Handles conversion of chat messages to AIX-compatible format (AixWire_Content, AixWire_Parts, etc.).
2. Server-Side (`/server/`):
- API (`/server/api/`) - Client to Server communication:
- `aix.router.ts`: Defines the tRPC router for AIX operations.
- `aix.wiretypes.ts`: Contains Zod schemas for types and calls incoming from the client (AixWire_Parts, AixWire_Content, AixWire_Tooling, AixWire_API, ...), and outgoing (AixWire_Particles)
- Dispatch (`/server/dispatch/`) - Server to AI Provider communication:
- `/server/dispatch/chatGenerate/`: Content Generation with chat-style inputs:
- `./adapters/`: Adapters for creating API requests for different AI protocols (Anthropic, Bedrock, Gemini, OpenAI Chat Completions, OpenAI Responses, xAI Responses).
- `./parsers/`: Parsers for parsing streaming/non-streaming responses from different AI protocols (Anthropic, Bedrock Converse, Gemini, OpenAI, OpenAI Responses).
- `chatGenerate.dispatch.ts`: Creates a pipeline to execute Chat Generation to a specific provider.
- `ChatGenerateTransmitter.ts`: Used to serialize and transmit AixWire_Particles to the client.
- `/server/dispatch/wiretypes/`: AI provider Wire Types:
- Type definitions for different AI providers/protocols (Anthropic, Bedrock Converse, Gemini, OpenAI, xAI).
- `stream.demuxers.ts`: Handles demuxing of different stream formats.
## 3. Architecture Diagram
```mermaid
sequenceDiagram
participant AIX Client
participant AIX Server
participant PartTransmitter
participant AI Provider
AIX Client ->> AIX Client: Initialize ContentReassembler
AIX Client ->> AIX Client: Convert DMessage*Part to AixWire_Parts
AIX Client ->> AIX Server: Send messages (arrays of AixWire_Parts)
AIX Server ->> AIX Server: Prepare Dispatch (Upstream request, demux, parsing)
alt Dispatch Preparation Error
AIX Server ->> AIX Client: Send `dispatch-prepare` error message
else Dispatch Fetch
AIX Server ->> AI Provider: Send AI-provider specific stream/non-stream request
AIX Server ->> AIX Client: Send 'start' control message
AIX Server ->> PartTransmitter: Initialize part particle serialization
alt Streaming AI Provider
loop Until stream end or error
AI Provider ->> AIX Server: Stream response chunk
AIX Server ->> AIX Server: Demux chunk into DispatchEvents
loop For each AI-provider specific DispatchEvent
AIX Server ->> AIX Server: Parse DispatchEvent
AIX Server ->> PartTransmitter: (Parser) Calls serialization functions
PartTransmitter ->> PartTransmitter: Generate and throttle AixWire_PartParticles
PartTransmitter -->> AIX Server: Yield AixWire_PartParticle
end
AIX Server ->> AIX Client: Send accumulated AixWire_PartParticles
end
AIX Server ->> PartTransmitter: Request any remaining particles
PartTransmitter -->> AIX Server: Yield any final AixWire_PartParticles
AIX Server ->> AIX Client: Send final AixWire_PartParticles (if any)
else Non-Streaming AI Provider
AI Provider ->> AIX Server: Send AI-provider specific complete response
alt AI-provider specific full-response parser
AIX Server ->> AIX Server: Parse full response
AIX Server ->> PartTransmitter: Call particle serialization functions
PartTransmitter ->> PartTransmitter: Generate AixWire_PartParticle
PartTransmitter -->> AIX Server: Yield ALL AixWire_PartParticle
end
AIX Server ->> AIX Client: Send all AixWire_PartParticles
end
AIX Server ->> AIX Client: Send 'done' control message
loop For each received batch of particles
AIX Client ->> AIX Client: ContentReassembler processes particles into DMessage*Part
alt DMessageTextPart
AIX Client ->> AIX Client: Update UI with text content
else DMessageImageRefPart
AIX Client ->> AIX Client: Load and display image
else DMessageToolInvocationPart
AIX Client ->> AIX Client: Process tool invocation (dev only)
else DMessageToolResponsePart
AIX Client ->> AIX Client: Process tool response (dev only)
else DMessageErrorPart
AIX Client ->> AIX Client: Display error message
else DMessageDocPart
AIX Client ->> AIX Client: Process and display document
else DVoidPlaceholderPart
AIX Client ->> AIX Client: Handle placeholder (non-submitted)
end
end
AIX Client ->> AIX Client: Finalize data update
end
alt Error Handling
AIX Server ->> AIX Client: Send 'error' specific control messages
end
note over AIX Server, AI Provider: Server-side Timeout/Retry mechanism
loop Retry on timeout (server-side)
AIX Server ->> AI Provider: Retry request
end
note over AIX Client: Client-side Timeout mechanism
AIX Client ->> AIX Client: Timeout if no response received within set time
```
---
### 2025-03-14 Update
AIX is used in production in Big-AGI and is stable and performant.
The code is tightly coupled with the tRPC framework and the rest of our codebase,
so it is not recommended to use it outside of our ecosystem.
For a great Typescript alternative we recommend the Vercel AI SDK.
+126
View File
@@ -0,0 +1,126 @@
# LLM Vendor Integration Guide
How to add support for new LLM providers in Big-AGI. There are two integration paths, and
the dynamic backend path is strongly preferred for new vendors.
## Integration Paths
### Path 1: Dynamic Backend (preferred)
For any provider with an **OpenAI-compatible API** (which is nearly all new providers).
**Surface area**: 1-2 files, no UI changes, no registry changes.
A dynamic backend provides:
- Hostname-based auto-detection when the user adds the provider's API URL
- Automatic model list parsing with vendor-specific metadata (pricing, context windows, capabilities)
- Zero UI code - uses the existing "Custom OpenAI-compatible" service setup
**Files touched**:
- `src/modules/llms/server/openai/models/{vendor}.models.ts` (required) - model definitions + hostname heuristic
- `src/modules/llms/server/openai/wiretypes/{vendor}.wiretypes.ts` (optional) - Zod schemas for vendor-specific wire format
- `src/modules/llms/server/listModels.dispatch.ts` - add heuristic to the detection chain (2 lines)
**What the model file must export**:
```typescript
// 1. Hostname heuristic - returns true when the user's API URL matches this vendor
export function vendorHeuristic(hostname: string): boolean {
return hostname.includes('.vendor-domain.com');
}
// 2. Model converter - transforms vendor's /v1/models response to ModelDescriptionSchema[]
export function vendorModelsToModelDescriptions(wireModels: unknown): ModelDescriptionSchema[] {
// Parse wire format, map to ModelDescriptionSchema with:
// - id, label, description
// - contextWindow, maxCompletionTokens
// - interfaces (Chat, Vision, Fn, Reasoning, etc.)
// - chatPrice (input/output per token)
// - parameterSpecs (temperature, etc.)
}
```
**Existing examples**: `novita.models.ts`, `chutesai.models.ts`, `fireworksai.models.ts`
MUST also provide the updated vendor icon like other icons in `src/common/components/icons/vendors/`.
Make sure all the information is available if in the future we want to promote those to full registered vendors.
### Path 2: Registered Vendor (heavyweight, discouraged for new providers)
Full first-class integration with dedicated UI, own dialect, and registry entry. Reserved for
providers with **non-OpenAI protocols** (Anthropic, Gemini, Ollama) or providers with enough
user demand to warrant a dedicated setup flow.
**Surface area**: 5+ files across 3 directories.
**Files touched**:
- `src/modules/llms/vendors/{vendor}/{vendor}.vendor.ts` - IModelVendor implementation
- `src/modules/llms/vendors/{vendor}/{VendorName}ServiceSetup.tsx` - React UI setup component
- `src/modules/llms/vendors/vendors.registry.ts` - registry entry + ModelVendorId union
- `src/modules/llms/server/openai/models/{vendor}.models.ts` - model definitions
- `src/modules/llms/server/listModels.dispatch.ts` - dispatch case
- Possibly server protocol adapter if not OpenAI-compatible
- Possibly more files, e.g. wires, etc.
- See existing providers and commits that added them for full scope
**When to use this path**: Only when the provider has a meaningfully different API protocol
(not OpenAI-compatible), or when there is significant user demand AND the provider offers
unique capabilities that benefit from dedicated UI (e.g., Ollama's local model management).
When using this path, please add links to upstream documentation. Make sure all constants
are correctly handled everywhere, especially for provider-based switches.
## Decision Criteria
| Question | Dynamic | Registered |
|----------|---------|------------|
| OpenAI-compatible API? | Yes - use dynamic | Only if not OAI-compatible |
| Needs custom auth UI? | No - uses generic fields | Yes - custom setup form |
| Unique protocol? | No | Yes (Anthropic, Gemini, Ollama) |
| User demand level | Any | High + sustained |
| Maintenance burden | Minimal | Significant (5+ files) |
## For External Contributors / Vendor Requests
When vendors or community members request integration via GitHub issues:
1. **Point them to the dynamic backend path** - it's faster to implement, review, and maintain
2. **Requirements for a dynamic backend PR**:
- Model file with heuristic + converter exporting `ModelDescriptionSchema[]`
- Wire types if the vendor's `/v1/models` response has non-standard fields
- Vendor icon (SVG preferred) in `src/common/components/icons/vendors/`
- Two-line addition to the heuristic chain in `listModels.dispatch.ts`
3. **Do not accept**: New registered vendors for OpenAI-compatible providers. The maintenance
cost of a full vendor (UI component, registry entry, dispatch case) is not justified when
dynamic detection achieves the same result with a fraction of the code.
## Architecture Notes
### How Dynamic Detection Works
In `listModels.dispatch.ts`, the `case 'openai':` handler:
1. Fetches `/v1/models` from the user-provided API host
2. Runs the hostname through a chain of heuristics (in order)
3. First matching heuristic's converter is used to parse models
4. Falls back to stock OpenAI parsing if no heuristic matches
### Hostname Security
Hostname matching uses `llmsHostnameMatches()` from `openai.access.ts` which parses the
URL properly to prevent DNS spoofing. Always use `.includes()` on the parsed hostname,
never on the raw URL string.
### Key Types
- `ModelDescriptionSchema` (`llm.server.types.ts`) - output type for all model converters
- `DModelInterfaceV1` (`llms.types.ts`) - capability flags (Chat, Vision, Fn, Reasoning, etc.)
- `IModelVendor` (`vendors/IModelVendor.ts`) - interface for registered vendors only
- `ManualMappings` / `KnownModel` (`models.mappings.ts`) - server-side model patches
### File Locations
- Dynamic backends: `src/modules/llms/server/openai/models/`
- Wire types: `src/modules/llms/server/openai/wiretypes/`
- Dispatch: `src/modules/llms/server/listModels.dispatch.ts`
- Registered vendors: `src/modules/llms/vendors/*/`
- Vendor icons: `src/common/components/icons/vendors/`
- Type definitions: `src/modules/llms/server/llm.server.types.ts`
+120
View File
@@ -0,0 +1,120 @@
# LLM Parameters System
This document describes how parameters flow through Big-AGI's LLM parameters system, from definition to API invocation.
## System Overview
The LLM parameters system operates across five layers that transform parameters from global definitions to vendor-specific API calls. Each layer serves a specific purpose in the parameter resolution pipeline.
## Parameter Flow Architecture
### Layer 1: Parameter Registry
**File**: `src/common/stores/llms/llms.parameters.ts`
The `DModelParameterRegistry` defines all available parameters with their constraints and metadata. Each parameter includes type information, validation rules, and default behavior.
**Default Value System**: The registry supports multiple default mechanisms:
- `nullable` - Parameters that can be explicitly null to skip API transmission
- `initialValue` - Parameter's base default (e.g., `llmVndOaiRestoreMarkdown: true`)
### Layer 2: Model Specifications
**File**: `src/modules/llms/server/llm.server.types.ts`
Models declare which parameters they support through `parameterSpecs` arrays. Each spec can override registry defaults:
```typescript
parameterSpecs: [
{ paramId: 'llmVndAntThinkingBudget', initialValue: 1024 }, // Override default
{ paramId: 'llmVndGeminiThinkingBudget', rangeOverride: [0, 8192] }, // Custom range
]
```
**Parameter Visibility**: The `hidden` flag removes parameters from the UI while keeping them functional. Models can also mark parameters as `required`.
### Layer 3: Client Configuration
The system provides two UI configurators with different scopes:
#### Full Model Configuration Dialog
**File**: `src/modules/llms/models-modal/LLMParametersEditor.tsx`
Shows all non-hidden parameters from model's `parameterSpecs`. Used in the models modal for complete configuration.
#### ChatPanel Quick Controls
**File**: `src/apps/chat/components/layout-panel/ChatPanelModelParameters.tsx`
Shows only parameters that are:
- In model's `parameterSpecs`
- Listed in `_interestingParameters` array
- Not marked as `hidden`
**Value Resolution**: Both UIs use `getAllModelParameterValues()` to merge:
1. **Fallback values** - Implicit parameters get their `LLMImplicitParametersRuntimeFallback` values
2. **Initial values** - Model's `initialParameters` (populated during model creation)
3. **User values** - User's `userParameters` (highest priority)
### Layer 4: AIX Translation
**File**: `src/modules/aix/client/aix.client.ts`
The AIX client transforms DLLM parameters to wire protocol format. This layer handles parameter precedence rules and name transformations.
**Client Options**: The system supports parameter overrides through `llmOptionsOverride` and complete replacement via `llmUserParametersReplacement`.
### Layer 5: Vendor Adaptation
**Files**: `src/modules/aix/server/dispatch/chatGenerate/adapters/*.ts`
Server-side adapters translate AIX parameters to vendor APIs. Each vendor may interpret parameters differently:
- **OpenAI**: `vndEffort` -> `reasoning_effort`
- **Perplexity**: Reuses OpenAI parameter format
- **OpenAI Responses API**: Maps to structured reasoning config with additional logic
## Parameter Initialization Process
When a model is loaded:
1. **Model Creation**: `_createDLLMFromModelDescription()` creates the DLLM with empty `initialParameters`
2. **Initial Value Application**: `applyModelParameterSpecsInitialValues()` populates initial values from:
- Model spec `initialValue` (highest priority)
- Registry `initialValue` (fallback)
3. **Runtime Resolution**: `getAllModelParameterValues()` creates final parameter set:
- Required fallbacks (for missing required parameters)
- Initial parameters (model defaults)
- User parameters (user overrides)
## Special Parameter Behaviors
**Hidden Parameters**: Parameters like `llmRef` are marked `hidden: true` in the registry and never appear in the UI, but remain functional for system use.
**Nullable Parameters**: Parameters with `nullable` configuration can be explicitly set to `null` to prevent transmission to the API, distinct from being undefined.
**Range Overrides**: Models can override parameter ranges (e.g., different Gemini models support different thinking budget ranges).
**Parameter Interactions**: The UI implements business logic like disabling web search when reasoning effort is 'minimal'.
## Type Safety Mechanisms
The system maintains type safety through:
- `DModelParameterId` union from registry keys
- `DModelParameterValue<T>` conditional types for values
- `DModelParameterSpecAny` interfaces for specifications
- Runtime validation via Zod schemas at API boundaries
## Model Variant Pattern
Some vendors use model variants to enable features, for instance:
- **Anthropic**: Creates separate `idVariant: 'thinking'` entries forcing value of hidden parameters
- **Google/OpenAI**: Parameters directly on base models
## Migration and Compatibility
The architecture supports parameter evolution:
- **Precedence Rules**: Newer parameters take priority during AIX translation
- **Graceful Degradation**: Unknown parameters log warnings but don't break functionality
## Key Implementation Files
- **Registry**: `src/common/stores/llms/llms.parameters.ts`
- **Specifications**: `src/modules/llms/server/llm.server.types.ts`
- **UI Controls**: `src/modules/llms/models-modal/LLMParametersEditor.tsx`
- **AIX Translation**: `src/modules/aix/client/aix.client.ts`
- **Wire Types**: `src/modules/aix/server/api/aix.wiretypes.ts`
- **Vendor Adapters**: `src/modules/aix/server/dispatch/chatGenerate/adapters/*.ts`
+151
View File
@@ -0,0 +1,151 @@
# Big-AGI Routing & Display States
This document describes the routing architecture and display state hierarchy in Big-AGI, from top-level providers down to component-level states.
## Overview
Big-AGI uses Next.js Pages Router with a provider stack that determines what users see based on application state and configuration.
## Quick Reference: Route Configurations
| Route | Purpose | Key Features |
|-------|---------|--------------|
| `/` | Main chat app | Default application |
| `/call` | Voice interface | Voice-to-voice AI conversations |
| `/personas` | Persona management | Create and manage AI personas |
| ... | | |
## Decision Flow Diagram
The routing decisions follow a hierarchy from system-level provider configuration down to component-level states.
```mermaid
flowchart TD
Start([Navigate to Route]) --> Root[_app.tsx]
Root --> Theme[ProviderTheming]
Theme --> Error[ErrorBoundary]
Error --> Bootstrap[ProviderBootstrapLogic]
Bootstrap --> BootCheck{Bootstrap Checks}
BootCheck -->|News| News[↗️ /news]
BootCheck -->|Continue| Router{Router}
Router -->|/| Chat[Chat App]
Router -->|/personas,/call,/beam...| OtherApps[Other Apps]
Router -->|/news| NewsApp[News App]
Chat --> ChatStates{Chat States}
ChatStates -->|No Models| ZeroModels[🟡 Setup Models]
ChatStates -->|No Conv| ZeroConv[🟡 Select Chat]
ChatStates -->|No Msgs| PersonaGrid[Choose Persona]
ChatStates -->|Ready| Active[🟢 Active Chat]
Active --> Features[Features:<br/>• Chat Bar<br/>• Beam Mode<br/>• Attachments]
style ZeroModels fill:#fff4cc
style ZeroConv fill:#fff4cc
style Active fill:#ccffcc
style Chat fill:#f0f8ff
style OtherApps fill:#f0f8ff
style NewsApp fill:#f0f8ff
```
## Display State Hierarchy
```
_app.tsx (Root)
├── ProviderTheming ← Always Applied
├── ErrorBoundary ← Always Applied
├── ProviderBootstrapLogic ← Always Applied
│ ├── Tiktoken preload & Model auto-config
│ ├── Storage maintenance & cleanup
│ └── News Redirect (if conditions met)
└── Page Component
├── AppChat (/) → Default app
│ ├── CMLZeroModels → If no models configured
│ ├── CMLZeroConversation → If no conversation selected
│ └── PersonaGrid → If conversation empty
└── Other Apps → Personas, Call, Draw, News, Beam
```
## Provider Stack
| Provider | Purpose | Key Functions |
|----------|---------|---------------|
| **ProviderTheming** | UI theme management | Theme switching, CSS variables |
| **ErrorBoundary** | Error handling | Catches and displays errors gracefully |
| **ProviderBootstrapLogic** | App initialization | • Tiktoken preload<br>• Model auto-config<br>• Storage cleanup<br>• News redirect logic |
For detailed initialization sequence and provider functions, see [app-startup-sequence.md](app-startup-sequence.md), if present.
## Application Routes
### Primary Apps
- `/` → AppChat (default)
- `/call` → Voice call interface
- `/beam` → Multi-model reasoning
- `/draw` → Image generation
- `/personas` → Personas app
- `/news` → News/updates
### Zero States
#### Chat App Zero States
**CMLZeroModels**
- **Location**: `/src/apps/chat/components/messages-list/CMLZeroModels.tsx`
- **Triggered**: No LLM sources configured
- **Shows**: Welcome screen with "Setup Models" button
**CMLZeroConversation**
- **Location**: `/src/apps/chat/components/messages-list/CMLZeroConversation.tsx`
- **Triggered**: No conversation selected
- **Shows**: "Select/create conversation" prompt
**PersonaGrid**
- **App**: Chat (when conversation is empty)
- **Triggered**: Conversation exists but has no messages
- **Shows**: Persona selector interface
#### Feature-Specific Zero States
**Beam Tutorial**
- **Feature**: Beam (multi-model reasoning)
- **Component**: `ExplainerCarousel`
- **Triggered**: First-time Beam usage
- **Shows**: Interactive feature walkthrough
## Common Scenarios
### New User First Visit
1. Navigates to `/` → Provider stack loads
2. Bootstrap runs → No news redirect (first visit)
3. Chat loads → **CMLZeroModels** (no models configured)
4. User clicks "Setup Models" → Configuration flow
### Returning User with Saved State
1. Navigates to `/` → Provider stack loads
2. IndexedDB restores state → Previous conversation loaded
3. Chat loads → **Active chat interface** (bypasses all zero states)
4. All messages and context preserved from last session
### Shared Chat Viewer
1. Navigates to `/link/chat/[id]` → Full provider stack
2. Views read-only chat → May see "Import" option
3. If importing → Checks for duplicates, creates new local conversation
## Storage System
Big-AGI uses a local-first architecture:
- **Zustand** for reactive state management
- **IndexedDB** for persistent storage via Zustand persist middleware
- **Version-based migrations** for data structure upgrades
Key stores:
- `app-chats`: Conversations and messages (IndexedDB)
- `app-llms`: Model configurations (IndexedDB)
- `app-ui`: UI preferences (localStorage)
+13
View File
@@ -0,0 +1,13 @@
# CSF - Client-Side Fetch
Client-Side Fetch (CSF) enables direct browser-to-API communication, bypassing the server for LLM requests. When enabled, the browser makes requests directly to vendor APIs (e.g., `api.openai.com`, `api.groq.com`) instead of routing through the Next.js server. This reduces latency, decreases server load, and is particularly useful for local models where the browser can communicate directly with Ollama or LM Studio.
## Implementation
CSF is implemented as an opt-in setting stored as `csf: boolean` in each vendor's service settings. The vendor interface exposes `csfAvailable?: (setup) => boolean` to determine if CSF can be enabled (typically checking if an API key or host is configured). The actual execution happens in `aix.client.direct-chatGenerate.ts` which dynamically imports when CSF is active, making direct fetch calls using the same wire protocols as the server.
All 20+ supported vendors (OpenAI, Anthropic, Gemini, Ollama, LocalAI, Deepseek, Groq, Mistral, xAI, OpenRouter, Perplexity, Together AI, Alibaba, Moonshot, OpenPipe, LM Studio, Z.ai, Azure, Bedrock) support CSF. Cloud vendors require CORS support from the API provider (all tested vendors return `access-control-allow-origin: *`). Local vendors (Ollama, LocalAI, LM Studio) require CORS to be enabled on the local server.
## UI
The CSF toggle appears in each vendor's setup panel under "Advanced" settings, labeled "Direct Connection". It becomes visible when the prerequisites are met (API key present for cloud vendors, host configured for local vendors). The setting is managed through `useModelServiceClientSideFetch` hook which provides `csfAvailable`, `csfActive`, `csfToggle`, and `csfReset` for UI consumption.
+3
View File
@@ -0,0 +1,3 @@
## Strategic Vision
If provided, the following influences the long-term vision, product and architectural goals/north stars for Big-AGI.
-70
View File
@@ -1,70 +0,0 @@
// Non-default build types
const buildType =
process.env.BIG_AGI_BUILD === 'standalone' ? 'standalone'
: process.env.BIG_AGI_BUILD === 'static' ? 'export'
: undefined;
buildType && console.log(` 🧠 big-AGI: building for ${buildType}...\n`);
/** @type {import('next').NextConfig} */
let nextConfig = {
reactStrictMode: true,
// [exports] https://nextjs.org/docs/advanced-features/static-html-export
...buildType && {
output: buildType,
distDir: 'dist',
// disable image optimization for exports
images: { unoptimized: true },
// Optional: Change links `/me` -> `/me/` and emit `/me.html` -> `/me/index.html`
// trailingSlash: true,
},
// [puppeteer] https://github.com/puppeteer/puppeteer/issues/11052
experimental: {
serverComponentsExternalPackages: ['puppeteer-core'],
},
webpack: (config, _options) => {
// @mui/joy: anything material gets redirected to Joy
config.resolve.alias['@mui/material'] = '@mui/joy';
// @dqbd/tiktoken: enable asynchronous WebAssembly
config.experiments = {
asyncWebAssembly: true,
layers: true,
};
// prevent too many small chunks (40kb min) on 'client' packs (not 'server' or 'edge-server')
if (typeof config.optimization.splitChunks === 'object' && config.optimization.splitChunks.minSize)
config.optimization.splitChunks.minSize = 40 * 1024;
return config;
},
// Note: disabled to check whether the project becomes slower with this
// modularizeImports: {
// '@mui/icons-material': {
// transform: '@mui/icons-material/{{member}}',
// },
// },
// Uncomment the following leave console messages in production
// compiler: {
// removeConsole: false,
// },
};
// Validate environment variables, if set at build time. Will be actually read and used at runtime.
// This is the reason both this file and the servr/env.mjs files have this extension.
await import('./src/server/env.mjs');
// conditionally enable the nextjs bundle analyzer
if (process.env.ANALYZE_BUNDLE) {
const { default: withBundleAnalyzer } = await import('@next/bundle-analyzer');
nextConfig = withBundleAnalyzer({ openAnalyzer: true })(nextConfig);
}
export default nextConfig;
+160
View File
@@ -0,0 +1,160 @@
import type { NextConfig } from 'next';
import type { WebpackConfigContext } from 'next/dist/server/config-shared';
import { execSync } from 'node:child_process';
import { readFileSync } from 'node:fs';
// Build information: from CI, or git commit hash
let buildHash = process.env.NEXT_PUBLIC_BUILD_HASH || process.env.GITHUB_SHA || process.env.VERCEL_GIT_COMMIT_SHA; // Docker or custom, GitHub Actions, Vercel
try {
// fallback to local git commit hash
if (!buildHash)
buildHash = execSync('git rev-parse --short HEAD').toString().trim();
} catch {
// final fallback
buildHash = '2-dev';
}
// The following are used by/available to Release.buildInfo(...)
process.env.NEXT_PUBLIC_BUILD_HASH = (buildHash || '').slice(0, 10);
process.env.NEXT_PUBLIC_BUILD_PKGVER = JSON.parse('' + readFileSync(new URL('./package.json', import.meta.url))).version;
process.env.NEXT_PUBLIC_BUILD_TIMESTAMP = new Date().toISOString();
process.env.NEXT_PUBLIC_DEPLOYMENT_TYPE = process.env.NEXT_PUBLIC_DEPLOYMENT_TYPE || (process.env.VERCEL_ENV ? `vercel-${process.env.VERCEL_ENV}` : 'local'); // Docker or custom, Vercel
console.log(` 🧠 \x1b[1mbig-AGI\x1b[0m v${process.env.NEXT_PUBLIC_BUILD_PKGVER} (@${process.env.NEXT_PUBLIC_BUILD_HASH})`);
// Non-default build types
const buildType =
process.env.BIG_AGI_BUILD === 'standalone' ? 'standalone' as const
: process.env.BIG_AGI_BUILD === 'static' ? 'export' as const
: undefined;
buildType && console.log(` 🧠 big-AGI: building for ${buildType}...\n`);
/** @type {import('next').NextConfig} */
let nextConfig: NextConfig = {
reactStrictMode: !process.env.NO_STRICT_MODE, // default: enabled
// [exports] https://nextjs.org/docs/advanced-features/static-html-export
...(buildType && {
output: buildType,
distDir: 'dist',
// disable image optimization for exports
images: { unoptimized: true },
// Optional: Change links `/me` -> `/me/` and emit `/me.html` -> `/me/index.html`
// trailingSlash: true,
}),
// [puppeteer] https://github.com/puppeteer/puppeteer/issues/11052
// NOTE: we may not be needing this anymore, as we use '@cloudflare/puppeteer'
serverExternalPackages: ['puppeteer-core'],
webpack: (config: any, { isServer, webpack /*, dev, nextRuntime*/ }: WebpackConfigContext) => {
// @mui/joy: anything material gets redirected to Joy
config.resolve.alias['@mui/material'] = '@mui/joy';
// @dqbd/tiktoken: enable asynchronous WebAssembly
config.experiments = {
asyncWebAssembly: true,
layers: true,
};
// client-side bundling
if (!isServer) {
/**
* AIX client-side
* We replace certain server-only modules with client-side mocks, to reuse the exact same imports
* while avoiding importing server-only code which would break the build or break at runtime.
*/
const serverToClientMocks: ReadonlyArray<[RegExp, string]> = [
[/\/posthog\.server/, '/posthog.client-mock'],
[/\/env\.server/, '/env.client-mock'],
];
config.plugins = [
...config.plugins,
...serverToClientMocks.map(([pattern, replacement]) =>
new webpack.NormalModuleReplacementPlugin(pattern, (resource: any) => {
// console.log(' 🧠 [WEBPACK REPLACEMENT]:', resource.request, '->', resource.request.replace(pattern, replacement));
resource.request = resource.request.replace(pattern, replacement);
}),
),
];
// cosmetic: fix warnings for (absent!) top-level awaits in the browser (https://github.com/vercel/next.js/issues/64792)
config.output.environment = { ...config.output.environment, asyncFunction: true };
}
// prevent too many small chunks (40kb min) on 'client' packs (not 'server' or 'edge-server')
// noinspection JSUnresolvedReference
if (typeof config.optimization.splitChunks === 'object' && config.optimization.splitChunks.minSize) {
// noinspection JSUnresolvedReference
config.optimization.splitChunks.minSize = 40 * 1024;
}
return config;
},
// Optional Analytics > PostHog
skipTrailingSlashRedirect: true, // required to support PostHog trailing slash API requests
async rewrites() {
return [
{
source: '/a/ph/static/:path*',
destination: 'https://us-assets.i.posthog.com/static/:path*',
},
{
source: '/a/ph/:path*',
destination: 'https://us.i.posthog.com/:path*',
},
{
source: '/a/ph/decide',
destination: 'https://us.i.posthog.com/decide',
},
{
source: '/a/ph/flags',
destination: 'https://us.i.posthog.com/flags',
},
];
},
// Note: disabled to check whether the project becomes slower with this
// modularizeImports: {
// '@mui/icons-material': {
// transform: '@mui/icons-material/{{member}}',
// },
// },
// Uncomment the following leave console messages in production
// compiler: {
// removeConsole: false,
// },
};
// Validate environment variables at build time, if required. Server env vars will be actually read and used at runtime (cloud/edge).
import { env as validateEnv } from '~/server/env.server';
void validateEnv; // Triggers env validation - throws if required vars are missing
// PostHog error reporting with source maps for production builds
import { withPostHogConfig } from '@posthog/nextjs-config';
if (process.env.POSTHOG_API_KEY && process.env.POSTHOG_ENV_ID) {
console.log(' 🧠 \x1b[1mbig-AGI\x1b[0m: building with PostHog issue reporting and source maps...');
nextConfig = withPostHogConfig(nextConfig, {
personalApiKey: process.env.POSTHOG_API_KEY,
envId: process.env.POSTHOG_ENV_ID,
host: 'https://us.i.posthog.com', // backtrace upload host
logLevel: 'error', // lowered, too noisy
sourcemaps: {
enabled: process.env.NODE_ENV === 'production',
project: 'big-agi',
version: process.env.NEXT_PUBLIC_BUILD_HASH,
deleteAfterUpload: false, // false: leave them in the tree, which would also help debugging of open-source installs
},
});
}
// conditionally enable the nextjs bundle analyzer
import withBundleAnalyzer from '@next/bundle-analyzer';
if (process.env.ANALYZE_BUNDLE) {
nextConfig = withBundleAnalyzer({ openAnalyzer: true })(nextConfig) as NextConfig;
}
export default nextConfig;
+7633 -3512
View File
File diff suppressed because it is too large Load Diff
+76 -65
View File
@@ -1,93 +1,104 @@
{
"name": "big-agi",
"version": "1.16.0",
"version": "2.0.4",
"private": true,
"author": "Enrico Ros <enrico.ros@gmail.com>",
"author": "Enrico Ros <enrico@big-agi.com> (https://www.enricoros.com)",
"homepage": "https://big-agi.com",
"repository": "https://github.com/enricoros/big-agi",
"scripts": {
"dev": "next dev",
"dev": "next dev --turbopack",
"dev-debug": "cross-env NODE_OPTIONS='--inspect' next dev",
"dev-https": "next dev --experimental-https",
"build": "next build",
"start": "next start",
"lint": "next lint",
"postinstall": "prisma generate",
"postinstall": "prisma generate --no-hints",
"gen:icon-sprites": "node tools/develop/gen-icon-sprites/generate-llm-sprites.ts",
"db:push": "prisma db push",
"db:studio": "prisma studio",
"vercel:env:pull": "npx vercel env pull .env.development.local"
"vercel:env:pull": "npx vercel env pull .env.development.local",
"sharp:win32_x64": "npm install --os=win32 --cpu=x64 sharp"
},
"prisma": {
"schema": "src/server/prisma/schema.prisma"
},
"dependencies": {
"@emotion/cache": "^11.11.0",
"@emotion/react": "^11.11.4",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/modifiers": "^9.0.0",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@emotion/cache": "^11.14.0",
"@emotion/react": "^11.14.0",
"@emotion/server": "^11.11.0",
"@emotion/styled": "^11.11.5",
"@mui/icons-material": "^5.15.17",
"@mui/joy": "^5.0.0-beta.36",
"@mui/material": "^5.15.17",
"@next/bundle-analyzer": "^14.2.3",
"@next/third-parties": "^14.2.3",
"@prisma/client": "^5.13.0",
"@sanity/diff-match-patch": "^3.1.1",
"@t3-oss/env-nextjs": "^0.10.1",
"@tanstack/react-query": "~4.36.1",
"@trpc/client": "10.44.1",
"@trpc/next": "10.44.1",
"@trpc/react-query": "10.44.1",
"@trpc/server": "10.44.1",
"@vercel/analytics": "^1.2.2",
"@vercel/speed-insights": "^1.0.10",
"browser-fs-access": "^0.35.0",
"cheerio": "^1.0.0-rc.12",
"eventsource-parser": "^1.1.2",
"idb-keyval": "^6.2.1",
"next": "~14.1.4",
"@emotion/styled": "^11.14.1",
"@googleworkspace/drive-picker-react": "^0.2.0",
"@mui/icons-material": "^5.18.0",
"@mui/joy": "^5.0.0-beta.52",
"@next/bundle-analyzer": "~15.1.12",
"@prisma/client": "~5.22.0",
"@tanstack/react-query": "5.90.21",
"@tanstack/react-virtual": "^3.13.22",
"@trpc/client": "11.5.1",
"@trpc/next": "11.5.1",
"@trpc/react-query": "11.5.1",
"@trpc/server": "11.5.1",
"@vercel/analytics": "^1.6.1",
"@vercel/speed-insights": "^1.3.1",
"aws4fetch": "^1.0.20",
"browser-fs-access": "^0.38.0",
"cheerio": "^1.1.2",
"csv-stringify": "^6.6.0",
"dexie": "~4.0.11",
"dexie-react-hooks": "~1.1.7",
"diff": "^8.0.3",
"eventemitter3": "^5.0.4",
"idb-keyval": "^6.2.2",
"mammoth": "^1.11.0",
"nanoid": "^5.1.6",
"next": "~15.1.12",
"nprogress": "^0.2.0",
"pdfjs-dist": "4.2.67",
"plantuml-encoder": "^1.4.0",
"prismjs": "^1.29.0",
"pdfjs-dist": "5.4.54",
"posthog-js": "^1.360.2",
"posthog-node": "^5.28.2",
"prismjs": "^1.30.0",
"puppeteer-core": "^24.39.1",
"react": "^18.3.1",
"react-beautiful-dnd": "^13.1.1",
"react-csv": "^2.2.2",
"react-dom": "^18.3.1",
"react-katex": "^3.0.1",
"react-markdown": "^9.0.1",
"react-player": "^2.16.0",
"react-resizable-panels": "^2.0.19",
"react-timeago": "^7.2.0",
"rehype-katex": "^7.0.0",
"remark-gfm": "^4.0.0",
"react-hook-form": "^7.71.2",
"react-markdown": "^10.1.0",
"react-player": "^3.4.0",
"react-resizable-panels": "^3.0.6",
"react-timeago": "^8.3.0",
"rehype-katex": "^7.0.1",
"remark-gfm": "^4.0.1",
"remark-mark-highlight": "^0.1.1",
"remark-math": "^6.0.0",
"sharp": "^0.33.3",
"superjson": "^2.2.1",
"tesseract.js": "^5.1.0",
"tiktoken": "^1.0.15",
"turndown": "^7.2.0",
"uuid": "^9.0.1",
"zod": "^3.23.8",
"zustand": "^4.5.2"
"sharp": "^0.34.5",
"superjson": "^2.2.6",
"tesseract.js": "^7.0.0",
"tiktoken": "^1.0.22",
"turndown": "^7.2.2",
"zod": "^4.3.6",
"zustand": "5.0.7"
},
"devDependencies": {
"@cloudflare/puppeteer": "0.0.5",
"@types/node": "^20.12.11",
"@posthog/nextjs-config": "~1.6.4",
"@types/node": "^25.5.0",
"@types/nprogress": "^0.2.3",
"@types/plantuml-encoder": "^1.4.2",
"@types/prismjs": "^1.26.4",
"@types/react": "^18.3.1",
"@types/react-beautiful-dnd": "^13.1.8",
"@types/prismjs": "^1.26.6",
"@types/react": "^19.2.14",
"@types/react-csv": "^1.1.10",
"@types/react-dom": "^18.3.0",
"@types/react-katex": "^3.0.4",
"@types/react-timeago": "^4.1.7",
"@types/turndown": "^5.0.4",
"@types/uuid": "^9.0.8",
"eslint": "^8.57.0",
"eslint-config-next": "^14.2.3",
"prettier": "^3.2.5",
"prisma": "^5.13.0",
"typescript": "^5.4.5"
"@types/react-dom": "^19.2.3",
"@types/turndown": "^5.0.6",
"cross-env": "^10.1.0",
"eslint": "^9.39.2",
"eslint-config-next": "~15.1.12",
"prettier": "^3.8.1",
"prisma": "~5.22.0",
"tsx": "^4.21.0",
"typescript": "^5.9.3"
},
"engines": {
"node": "^20.0.0 || ^18.0.0"
"node": "^24.0.0 || ^22.0.0 || ^20.0.0"
}
}
+36 -20
View File
@@ -1,30 +1,44 @@
import * as React from 'react';
import Head from 'next/head';
import dynamic from 'next/dynamic';
import { MyAppProps } from 'next/app';
import { Analytics as VercelAnalytics } from '@vercel/analytics/next';
import { SpeedInsights as VercelSpeedInsights } from '@vercel/speed-insights/next';
import { Brand } from '~/common/app.config';
import { apiQuery } from '~/common/util/trpc.client';
// [server-client-safe] dynamic imports to avoid webpack bundling issues with next/navigation
const VercelAnalytics = dynamic(() => import('@vercel/analytics/next').then(mod => mod.Analytics), { ssr: false });
const VercelSpeedInsights = dynamic(() => import('@vercel/speed-insights/next').then(mod => mod.SpeedInsights), { ssr: false });
import 'katex/dist/katex.min.css';
import '~/common/styles/CodePrism.css';
import '~/common/styles/GithubMarkdown.css';
import '~/common/styles/NProgress.css';
import '~/common/styles/agi.effects.css';
import '~/common/styles/app.styles.css';
import { ErrorBoundary } from '~/common/components/ErrorBoundary';
import { Is } from '~/common/util/pwaUtils';
import { OverlaysInsert } from '~/common/layout/overlays/OverlaysInsert';
import { ProviderBackendCapabilities } from '~/common/providers/ProviderBackendCapabilities';
import { ProviderBootstrapLogic } from '~/common/providers/ProviderBootstrapLogic';
import { ProviderSingleTab } from '~/common/providers/ProviderSingleTab';
import { ProviderSnacks } from '~/common/providers/ProviderSnacks';
import { ProviderTRPCQuerySettings } from '~/common/providers/ProviderTRPCQuerySettings';
import { ProviderTheming } from '~/common/providers/ProviderTheming';
import { hasGoogleAnalytics, OptionalGoogleAnalytics } from '~/common/components/GoogleAnalytics';
import { isVercelFromFrontend } from '~/common/util/pwaUtils';
import { SnackbarInsert } from '~/common/components/snackbar/SnackbarInsert';
import { hasGoogleAnalytics, OptionalGoogleAnalytics } from '~/common/components/3rdparty/GoogleAnalytics';
import { hasPostHogAnalytics, OptionalPostHogAnalytics } from '~/common/components/3rdparty/PostHogAnalytics';
const MyApp = ({ Component, emotionCache, pageProps }: MyAppProps) =>
<>
const Big_AGI_App = ({ Component, emotionCache, pageProps }: MyAppProps) => {
// We are using a nextjs per-page layout pattern to bring the (Optima) layout creation to a shared place
// This reduces the flicker and the time switching between apps, and seems to not have impact on
// the build. This is a good trade-off for now.
const getLayout = Component.getLayout ?? ((page: any) => page);
return <>
<Head>
<title>{Brand.Title.Common}</title>
@@ -33,24 +47,26 @@ const MyApp = ({ Component, emotionCache, pageProps }: MyAppProps) =>
<ProviderTheming emotionCache={emotionCache}>
<ProviderSingleTab>
<ProviderTRPCQuerySettings>
<ProviderBackendCapabilities>
{/* ^ SSR boundary */}
<ProviderBackendCapabilities>
{/* ^ Backend capabilities & SSR boundary */}
<ErrorBoundary outer>
<ProviderBootstrapLogic>
<ProviderSnacks>
<Component {...pageProps} />
</ProviderSnacks>
<SnackbarInsert />
{getLayout(<Component {...pageProps} />)}
<OverlaysInsert />
</ProviderBootstrapLogic>
</ProviderBackendCapabilities>
</ProviderTRPCQuerySettings>
</ErrorBoundary>
</ProviderBackendCapabilities>
</ProviderSingleTab>
</ProviderTheming>
{isVercelFromFrontend && <VercelAnalytics debug={false} />}
{isVercelFromFrontend && <VercelSpeedInsights debug={false} sampleRate={1 / 2} />}
{hasGoogleAnalytics && <OptionalGoogleAnalytics />}
{hasPostHogAnalytics && <OptionalPostHogAnalytics />}
{Is.Deployment.VercelFromFrontend && <VercelAnalytics debug={false} />}
{Is.Deployment.VercelFromFrontend && <VercelSpeedInsights debug={false} sampleRate={1 / 2} />}
</>;
};
// enables the React Query API invocation
export default apiQuery.withTRPC(MyApp);
// Initializes React Query and tRPC, and enables the tRPC React Query hooks (apiQuery).
export default apiQuery.withTRPC(Big_AGI_App);
+25 -6
View File
@@ -2,7 +2,7 @@ import * as React from 'react';
import { AppType, MyAppProps } from 'next/app';
import { default as Document, DocumentContext, DocumentProps, Head, Html, Main, NextScript } from 'next/document';
import createEmotionServer from '@emotion/server/create-instance';
import { getInitColorSchemeScript } from '@mui/joy/styles';
import InitColorSchemeScript from '@mui/joy/InitColorSchemeScript';
import { Brand } from '~/common/app.config';
import { createEmotionCache } from '~/common/app.theme';
@@ -37,21 +37,37 @@ export default function MyDocument({ emotionStyleTags }: MyDocumentProps) {
<meta property='og:site_name' content={Brand.Meta.SiteName} />
<meta property='og:type' content='website' />
{/* Twitter */}
<meta property='twitter:card' content='summary_large_image' />
{/* Twitter / X */}
<meta name='twitter:card' content='summary_large_image' />
<meta property='twitter:url' content={Brand.URIs.Home} />
<meta property='twitter:title' content={Brand.Title.Common} />
<meta property='twitter:description' content={Brand.Meta.Description} />
{Brand.URIs.CardImage && <meta property='twitter:image' content={Brand.URIs.CardImage} />}
<meta name='twitter:site' content={Brand.Meta.TwitterSite} />
<meta name='twitter:card' content='summary_large_image' />
<meta name='twitter:creator' content='@enricoros' />
{/* Author & Structured Data */}
<meta name='author' content='Enrico Ros' />
<link rel='author' href='https://www.enricoros.com' />
<script type='application/ld+json' dangerouslySetInnerHTML={{ __html: JSON.stringify({
'@context': 'https://schema.org',
'@type': 'SoftwareApplication',
'name': 'Big-AGI',
'url': 'https://big-agi.com',
'applicationCategory': 'ProductivityApplication',
'operatingSystem': 'All, Web',
'description': Brand.Meta.Description,
'sameAs': ['https://github.com/enricoros/big-agi', 'https://discord.gg/MkH4qj2Jp9',],
'author': { '@type': 'Person', 'name': 'Enrico Ros', 'url': 'https://www.enricoros.com' },
'publisher': { '@type': 'Organization', 'name': 'Token Fabrics LLC', 'url': 'https://www.tokenfabrics.com' },
}) }} />
{/* Style Sheets (injected and server-side) */}
<meta name='emotion-insertion-point' content='' />
{emotionStyleTags}
</Head>
<body>
{getInitColorSchemeScript()}
<InitColorSchemeScript />
<Main />
<NextScript />
</body>
@@ -100,6 +116,10 @@ MyDocument.getInitialProps = async (ctx: DocumentContext) => {
});
const initialProps = await Document.getInitialProps(ctx);
// Inject the comment before the HTML tag
initialProps.html = `<!-- ❤ Built with Big-AGI -->\n${initialProps.html}`;
// This is important. It prevents Emotion to render invalid HTML.
// See https://github.com/mui/material-ui/issues/26561#issuecomment-855286153
const emotionStyles = extractCriticalToChunks(initialProps.html);
@@ -107,7 +127,6 @@ MyDocument.getInitialProps = async (ctx: DocumentContext) => {
<style
data-emotion={`${style.key} ${style.ids.join(' ')}`}
key={style.key}
// eslint-disable-next-line react/no-danger
dangerouslySetInnerHTML={{ __html: style.css }}
/>
));
+2 -4
View File
@@ -2,9 +2,7 @@ import * as React from 'react';
import { AppCall } from '../src/apps/call/AppCall';
import { withLayout } from '~/common/layout/withLayout';
import { withNextJSPerPageLayout } from '~/common/layout/withLayout';
export default function CallPage() {
return withLayout({ type: 'optima' }, <AppCall />);
}
export default withNextJSPerPageLayout({ type: 'optima' }, () => <AppCall />);
+2 -4
View File
@@ -2,9 +2,7 @@ import * as React from 'react';
import { AppBeam } from '../../src/apps/beam/AppBeam';
import { withLayout } from '~/common/layout/withLayout';
import { withNextJSPerPageLayout } from '~/common/layout/withLayout';
export default function BeamPage() {
return withLayout({ type: 'optima' }, <AppBeam />);
}
export default withNextJSPerPageLayout({ type: 'optima' }, () => <AppBeam />);
+8
View File
@@ -0,0 +1,8 @@
import * as React from 'react';
import { AppDiff } from '../src/apps/diff/AppDiff';
import { withNextJSPerPageLayout } from '~/common/layout/withLayout';
export default withNextJSPerPageLayout({ type: 'optima' }, () => <AppDiff />);
+2 -4
View File
@@ -2,9 +2,7 @@ import * as React from 'react';
import { AppDraw } from '../src/apps/draw/AppDraw';
import { withLayout } from '~/common/layout/withLayout';
import { withNextJSPerPageLayout } from '~/common/layout/withLayout';
export default function DrawPage() {
return withLayout({ type: 'optima' }, <AppDraw />);
}
export default withNextJSPerPageLayout({ type: 'optima' }, () => <AppDraw />);

Some files were not shown because too many files have changed in this diff Show More