Commit Graph

3391 Commits

Author SHA1 Message Date
Eric Dubé 45c072ff93 feat: add public endpoint for models list (#1228)
* feat: add public endpoint for models list

- Created ChatAPIService for public endpoints\n- Added /chat/models and /chat/models/details endpoints\n- Registered service in CoreModule\n- Added tests for the new service\n\nCloses #1227

ai: true

* Update src/backend/src/services/ChatAPIService.js
2025-03-27 17:12:09 -04:00
Ntwari Bruce 39048a9e2e dev: ai command tool use / function calling (#1194)
* Enhanced ai command to perfom other commands

* Enhance AI Command in Puter's shell

* Enahanced ai command to use tooling/function calling

* Fixed circular dependency and added list function to Builtincommand

* Fixed circular dependency and system prompt
2025-03-27 14:31:24 -04:00
KernelDeimos 9180261472 doc: add style doc for backend 2025-03-26 18:07:12 -04:00
Krista Vlastou 4b7e09e157 fix: npm install error on Windows (spawn EINVAL) (#1214) 2025-03-26 14:58:46 -04:00
KernelDeimos 3d3af13979 feat: add startup chime feature
Added ability to play Puter chime sound at startup after login
with a toggle in personalization settings to enable/disable it.

ai: true
2025-03-24 23:19:36 -04:00
KernelDeimos bcd8d0cc82 tweak: clarify Nodemailer section in email testing documentation
- Clarified that the Nodemailer example is for testing MailHog setup\n- Added information about how Puter uses Nodemailer\n- Added references to the EmailService class

ai: true
2025-03-24 21:55:34 -04:00
KernelDeimos 71fd94131e tweak: improve email testing documentation formatting and flow
- Reorganized sections for better readability\n- Added clearer headings and instructions\n- Improved troubleshooting section\n- Enhanced overall document structure

ai: true
2025-03-24 21:50:36 -04:00
gautamthegozi 94d148430a doc: Documentation for Email Testing (#1204)
* Documentation for Email Testing

* Documentation fix

* Fix
2025-03-24 21:48:36 -04:00
KernelDeimos 7bd0c8e3f2 doc: add documentation for robots 2025-03-24 17:58:47 -04:00
Eric Dubé c683b812bc doc: Improve PuterAI module documentation structure (#1216)
* docs: improve PuterAI module documentation structure

- Update docmeta.md to describe top-level doc structure\n- Create README.md for PuterAI module documentation\n- Move requests.md content to api_examples.md\n- Add ai_usage_testing.md in contributors directory\n\nCloses #1215\n\nai: true

* docs: remove original requests.md after content migration

Content has been migrated to api_examples.md with improved organization and structure.\n\nai: true
2025-03-24 17:52:00 -04:00
KernelDeimos 6a3b20f0a8 fix: clarify variable names in puter.ai.chat method
- Renamed 'options' to 'requestParams' to clearly indicate parameters sent to the backend driver\n- Renamed 'settings' to 'userParams' to clearly indicate parameters provided by the user\n- Updated comments to be more descriptive about the purpose of each variable\n\nFixes #1212\n\nai: true
2025-03-24 16:17:58 -04:00
KernelDeimos 64d1b6e663 dev: allow specifying chat driver in puter.js 2025-03-24 15:58:32 -04:00
KernelDeimos 617fb49178 fix: allow fake-chat to report usage for costly model
Modified the event handler in AIChatService to only skip usage reporting for fake-chat when it's not using the costly model, allowing the costly model to properly report its usage and costs.

ai: true
2025-03-24 15:54:40 -04:00
KernelDeimos 7a2851d2cc fix: add _init method to register FakeChatService as a provider
Added _init method to FakeChatService to register itself as a provider with AIChatService, ensuring that the service and its models are properly recognized by the system.

ai: true
2025-03-24 15:54:40 -04:00
KernelDeimos 42c6f92048 feat: add costly model to FakeChatService
Added a new 'costly' model to FakeChatService that simulates incurring costs similar to real AI services. This model can be used for testing cost tracking without incurring actual external API costs.

ai: true
2025-03-24 15:54:40 -04:00
Eric Dubé 67a898ea33 fix: update check_usage_ to only consider past month usage (#1209)
This change modifies the SQL query in check_usage_ to only consider AI usage from the past month when checking against limits, rather than all historical usage.

ai: true
2025-03-24 13:40:01 -04:00
Eric Dubé 1266ef2179 fix(ux): Make it easier to add file extensions to an app in bulk (#1205)
* Add support for pasting multiple file extensions at once in Dev Center

* Fix bulk file extension paste functionality in Dev Center

* fix: add try-catch around tippy

* Fix issues with bulk file extension pasting and add comma key support

* Fix issue with duplicate red tags appearing temporarily

* Implement robust bulk file extension paste functionality in Dev Center

* Fix security issue with JSON.stringify to properly escape < characters
2025-03-23 23:00:17 -04:00
hisham-maarraoui b0efff7a4f feat: show/hide desktop icons option in context menu
* feat: hide icons/show icons feature added to the right-click/secondary click menu on the desktop

* Fix: Changes made to the hide/show desktop icons feature after receiving feedback in the first pull request

* CSS rule added to static CSS file instead of being implemented dynamically
2025-03-21 16:23:17 -04:00
kira-offgrid 868ef4e5a4 fix: cleanup example so bots don't flag it 2025-03-21 13:23:21 -04:00
Anuja Mishra 50817f601e dev: Standardized OpenAI config format and updated documentation issue #1180 (#1195)
* Standardized OpenAI config format and updated documentation issue #1180

* Addressed review comments
2025-03-20 12:50:51 -04:00
KernelDeimos 33a7811e8f fix: alerts being completely broken
PR 1175 introduced a bug that wasn't caught where alert messages are not
properly assigned. Additionally, the default alert type was "warning"
which is a regression. This commit makes "info" the default alert type
and ensures options.message is the first candidate for the alert message
contents.
2025-03-19 12:37:18 -04:00
KernelDeimos 5c3f447b4c dev: expose config path to root context 2025-03-18 15:23:50 -04:00
Franciszek 9cb6b13bb6 i18n: Polish Translation fix (#1193)
* Update README.pl.md

Things I would change:

Line 1: System Operacyjny Internetu -> System Operacyjny Internet
Line 25: system operacyjny internetu -> internetowy system operacyjny
(Original Translation is more like Internet's OS, not Internet OS)

Line 36: Rozwój Lokalny ->  Instalacja Lokalna
(Original does not mean programming, but more like growth or evolution)

Line 97: Połącz się z opiekunami -> Skontaktuj się z opiekunami 
(Original has meaning, like connecting by cable, not contacting)

* Update README.pl.md

Changed:
Instalacja Lokalna -> Lokalne Środowisko Programistyczne.
2025-03-18 12:13:34 -04:00
Het Savani dab5e0a281 fix: file manager sidebar headings contrast (#1191) 2025-03-17 14:05:25 -04:00
KernelDeimos be59f57d68 dev: update puter.js imports to work in cli
This is a step towards getting puter.js to run in node instead of just
in the browser. In node, all the relative imports need to end with the
file extension, and the "type" option in package.json needs to match the
import mechanism used. It was also necessary to migrate
webpack.config.js to ESM syntax, which I would not have done if the
tooling didn't force me to.
2025-03-17 13:21:15 -04:00
ajaykrishnaswamy 782e858b3c Update (and automate) events docs (#1164)
* documentation: new documentation for emit features

* Update events documentation and doc_helper.js script

* Update package.json

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>

* added manual_overrides.json.js file

* Update doc_helper.js to resolve paths relative to project root and update events documentation

* created a new events.md generated file, differences can be seen.

* added and populated events.md file. Can now compare new and old versions

---------

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>
2025-03-16 12:41:14 -04:00
KernelDeimos 947dca96a2 chore: remove eslint.config.js
ESLint cannot support our preferred code style for backend without
writing custom plugins. On frontend, we already decided ESLint wasn't a
good fit several months ago. This commit removes the eslint config to
avoid other developer's editors making unwanted whitespace changes.

In backend, we use spaces within control structure parens. This really
does make the code easier to read. In the future, maybe we'll write our
own linter.
2025-03-16 00:52:56 -04:00
Arunabh Sharma 004e47a4a9 feat: add API to get a list of all available models (#1160)
* add API to get a list of all available models

* modified listModels() and listModelProviders() for readability.

* remove dead code

---------

Co-authored-by: avijh <avi.vijh@gmail.com>
2025-03-16 00:31:33 -04:00
Andrew Shiroma bf3d63a083 feat: create and export UsageLimitedChatService (#1182)
* feat: create and export UsageLimitedChatService for when user exceeds usage limit

* tweak: change comment on usage-limited-chat to better explain action

* fixed whitespace

* tweak: remove test-app from gitignore

* tweak: remove extra spacing in AIChatService usage-limited-chat comment

* tweak: fixed whitespace

* tweak: remove tabbed whitespace in AIChatService

* tweak: remove .qodo from gitignore

* tweak: remove extra enter in AIChatService

* Revert "tweak: remove .qodo from gitignore"

tweak: correct mistake on removing extra enter

This reverts commit e066e294fa.

* tweak: add space at fallback and remove whitespace tabs

* tweak: remove whitespace on brackets

* tweak: remove .qodo and test-app from gitignore

* tweak: add accidentally deleted enter back in

---------

Co-authored-by: Rishabh Shinde <rishabhsshinde27@gail.com>
2025-03-15 19:48:09 -04:00
Arunabh Sharma 9626175d3a chore: upgrade supported node version to 23.9 (#1184)
* upgrade node version to 23.9

* update package-lock.json
2025-03-15 16:03:46 -04:00
Tanveer Brar 3cdbcd83b3 feat: GUI Permission Dialog (#1177)
* Added requestPermission endpoint in SDK, updated IPC handler HeyPuter/puter#1150

* - Updated UIWindowRequestPermission.js to accept multiple permission types
- Updated dialog message for permission window in UIWindowRequestPermission.js
- Updated parameters for call to UIWindowRequestPermission in IPC.js
- Added search_uid.js endpoint to allow GUI searches for fsentry by file UUID HeyPuter#1150

* Updated body and header for Permission Request Dialog HeyPuter#1150
- Replace app uid with app name for header in UIWindowRequestPermission.js
- Added path for file permission request body in UIWindowRequestPermission.js
- Removed previously added search_uid.js api implementation previously as it is replaced by simpler call in gui

* Updated permission description generation in UIWindowRequestPermission.js HeyPuter#1150

* Removed incorrect web handling in IPC.js HeyPuter#1150

* Formatting fixes
2025-03-14 19:37:28 -04:00
Aman Purohit a278a6140b feat: UIAlert with dynamic icon types and default button configurations (#1175)
* UIAlert with dynamic icon types and default button configurations

* Update src/gui/src/UI/UIAlert.js

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>

* Update src/gui/src/UI/UIAlert.js

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>

* fix: improve error handling in UIAlert component and reseting package-lock

* fix: update UIAlert to use 'type' for alert type selection

* fix: update UIAlert to use 'type' for button configuration

---------

Co-authored-by: Eric Dubé <eric.alex.dube@gmail.com>
2025-03-14 19:18:38 -04:00
Saish Pawar 505e7abda2 fix: reposition clock to right (#1181) 2025-03-14 18:38:57 -04:00
KernelDeimos 5c50eb1f8b fix(gui): logo placement with no clock using margin
Flex isn't being used in the top bar correctly, which is causing
unpredictable issues when people implement new elements on the top bar.
The best solution for this is to use proper flex values but right now
it's important to get the layout back to normal for production so I'm
implementing this sub-par fix where we always include a spacer element.
2025-03-14 03:09:08 -04:00
KernelDeimos 8edcf7575d fix(gui): clock padding moving other elements 2025-03-13 14:54:46 -04:00
Saish Pawar 672e2e70ad dev: moved current datetime to toolbar as a widget (#1172)
* move current datetime to toolbar as a widget

* revert interval to 1000ms
2025-03-13 13:28:57 -04:00
Gautam Kumar 11043e9ba1 doc: make default URL easier to notice
* Update README.md

Without clear instructions it wasted a few hours just for setting up.
Atleast no one will face issues with domain name in localhost now

* Making LocalHost website visible

* Making LocalHost website visible v2
2025-03-13 12:09:15 -04:00
Saish Pawar 6236d00ea2 fix: made protocol dynamic in the publishURL displayed on 'Publish As Website' dialogbox (#1170)
* change https to http on UIWindowPublishWebsite

* fix: made protocol string dynamic in the publish as website dialogbox
2025-03-12 15:58:11 -04:00
KernelDeimos 3e74f42c4d fix: thread delete events 2025-03-12 14:57:53 -04:00
KernelDeimos 41d5dbc0da fix: incorrect addition of https prefix for peers 2025-03-12 14:57:42 -04:00
KernelDeimos ad7b7b9513 fix: don't show register when user signup is disabled
closes #1087
2025-03-12 14:52:23 -04:00
KernelDeimos 76bedf5f8f fix: thread subscription updates across regions 2025-03-10 16:29:00 -04:00
KernelDeimos 252647cea6 fix: issues with thread subscriptions
I really screwed that up on my first attempt. Puter apps don't trigger
the user-connected websocket event, which rendered thread subscriptions
in apps useless. Furthermore, the uuid of the thread that was subscribed
too wasn't present in the event, which is also pretty useless.
2025-03-09 20:28:22 -04:00
KernelDeimos 26591e4171 fix: wrong parameter count 2025-03-09 16:48:35 -04:00
KernelDeimos 249d883592 dev: add missing constructors to new puter.js methods
- Also add subscribe() to threads module so I don't lose it in a git
  stash
2025-03-09 16:48:35 -04:00
KernelDeimos daa3449f29 dev: begin adding developer app permissions 2025-03-09 16:48:35 -04:00
Andy Cordero 33c304879a fix(gui): color of the UI on dark mode (e.g. windows control, active sidebar) (#1161)
* update theme service to improve color handling and SVG icon styling

* enhance sidebar item colors for better visibility

* Fix the whitespace
2025-03-09 16:30:16 -04:00
Ntwari Bruce 7ed779bbf3 feat: enhanced ai command to perfom other commands (#1156)
* Enhanced ai command to perfom other commands

* Enhance AI Command in Puter's shell
2025-03-08 17:47:53 -05:00
KernelDeimos 8c497935cf dev: thread subscriptions 2025-03-07 17:27:29 -05:00
KernelDeimos 60cecedc87 dev: add user information to threads 2025-03-07 15:31:40 -05:00