Commit Graph

170 Commits

Author SHA1 Message Date
Daniel Salazar 85d13a9d4b fix: openrouter missing usage (#2008) 2025-11-22 15:54:53 -08:00
Daniel Salazar 02d95db7ed fix: open router cache token metering (#1988) 2025-11-20 17:49:05 -08:00
Nariman Jelveh 7b93d7c15b Add Mistral OCR support and imrpove img2txt API (#1957)
Introduces Mistral OCR integration in backend and updates the `AIInterfaceService` and `MistralAIService` to support new OCR options and response normalization. Updates metering cost map for OCR and annotation usage. Refactors `DriverService` to support interface-specific service aliases. Expands the puter.js `AI.img2txt` API to support flexible options and provider selection, including Mistral OCR.
2025-11-11 17:06:44 -08:00
KernelDeimos 54310ad0ab chore: remove rollup, always use webpack
These two issues have affected us, but go away without rollup:
- https://github.com/npm/cli/issues/4828
- https://github.com/rollup/rollup/issues/6168

We can just use webpack instead; it has never caused build/npm issues.
This migration was done using AI, by pasting error messages over and
over again until everything worked. Since we're not actively working on
terminal and phoenix (dependents of rollup) currently it doesn't make
sense to focus on doing this migration manually, and any errors not
observed in basic use can be remedied later.
2025-11-07 17:17:54 -05:00
KernelDeimos 215bc9020b lint: configure eslint not operator spacing
The styleguide for Puter's backend expects spaces after top-level not
operators inside conditions. This commit adds an AI-generated eslint
plugin and, since it conflicts with the existing space-unary-ops plugin
from stylistic, also adds a wrapped version of space-unary-ops that
ignores top-level not operators so that this plugin will work as
expected.
2025-11-05 16:06:35 -05:00
Nariman Jelveh f823eddfa5 make together.ai image and video models work! (#1881)
* make together ai image models work!

* add video models too!

* add costmaps for together ai image and video
2025-11-03 19:13:39 -08:00
Nariman Jelveh 64f86daddb feat: add speech2text (#1855)
- A new stt driver in `AIInterfaceService` and `PuterAIModule`.
- added methods for audio transcription and translation in the speech-to-text interface.
- updated cost mapping for stt models in `openAiCostMap.ts`.
- Updated permissions and interfaces to support new speech-to-text features.
2025-10-29 12:04:09 -07:00
Xiaochen Cui c93a53ead2 ci: init e2e test for browser env, tidy other tests (#1796)
* ci: init e2e test for browser env

stash changes

* test: update fsentry definition, add tests

stash changes

* test: pass puter-js mkdir test

* test: add test for puter-js move

* tidy code

* tidy code

* doc: add docs for playwright test

* recover memoryfs

* test: puter-js readdir/stat

* test: puter-js write

* test: puter-js read

* test: puter-js move_cart

* test: fix failed tests on move

* tests: rename files

* test: puter-js copy_cart

* tests: puter-js batch/delete, read config from file

* ci: add vitest

* ci: update names and timeout

* ci: simplify playwright-test

* ci: simplify api-test

* move "api-tester" from tools to tests

* test: update example config

* test: remove folder tests/api-tester/ci

* test: unify config location

* test: remove unused files

* ci: fix wrong config

* ci: fix wrong path

* test: add docs

* ci: update timeout, print artifact url
2025-10-28 16:35:37 -07:00
Hariz S. 2487251bb9 Improved public folder file links (#1687)
* Don't update URL when opening public files via direct URL

* Alert user when attempting to open a nonexistent file

* Fix toolbar autohide in public file urls

* Remove extraneous debug logs

* Properly define stat var in public folder URL handling

* Update window URL when focusing an app opened through file URL

* Localize error messages
2025-10-27 15:35:11 -07:00
Nariman Jelveh 2c7343115a Add sora 2 support (#1834)
* Update OpenAI package to version 6.7.0 and add video generation capabilities

- Updated `openai` dependency in `package-lock.json` and `package.json`.
- Introduced new permissions for video generation in `hardcoded-permissions.js`.
- Added video generation service in `AIInterfaceService.js` and registered it in `PuterAIModule.js`.
- Implemented coercion for video streams in `CoercionService.js`.
- Updated driver service to include video generation.
- Added `txt2video` method and options in `AI.js` and corresponding TypeScript definitions in `index.d.ts`.

* Update openaiVideoCostMap.ts

* Revert "Update openaiVideoCostMap.ts"

This reverts commit 9e66f93605.

* change `txt2video` to `txt2vid`
2025-10-27 12:27:52 -07:00
Daniel Salazar 3fb3cf0e60 fix: simplify export import typedef (#1818)
* fix: simplify export import typedef

* feat: expose kvstore methods in the service too

* chore: update versioning
2025-10-24 12:52:58 -07:00
KernelDeimos b80c0ba79e chore: puter.js version 2.1.1 2025-10-22 13:59:19 -04:00
KernelDeimos 547acf6988 Revert "patch version bump for puter-js and putility in it"
This reverts commit 55d07acdee.
2025-10-22 13:59:19 -04:00
jelveh 55d07acdee patch version bump for puter-js and putility in it 2025-10-22 10:44:50 -07:00
KernelDeimos d398dc90fd chore: putility patch version 1.1.1 2025-10-22 13:32:56 -04:00
KernelDeimos 4a69cd26c2 chore: putility minor version 1.1.0 2025-10-22 13:18:34 -04:00
Daniel Salazar 686c2bc966 fix: permission writeback to flat kv perissions (#1774) 2025-10-16 16:30:17 -07:00
KernelDeimos 20c9ac7539 sync: package-lock.json 2025-10-16 18:00:04 -04:00
Nariman Jelveh 61fbc45e3c Add refresh button for updating usage data in Settings (#1760) 2025-10-15 23:42:18 -07:00
Nariman Jelveh aca1292886 adjust usage table styling (#1759) 2025-10-15 18:49:12 -07:00
Daniel Salazar e51d0c4600 feat: metering service allowence checks and subscription integration 🚀 (#1749)
* feat: metering allowence checks

* fix: bad math
2025-10-15 02:28:25 -07:00
KernelDeimos 70c7aa41ac Reapply "Logs Update" (#1730)
This reverts commit 8f7a68ace6.
2025-10-10 15:01:07 -04:00
Neal Shah 8f7a68ace6 Revert "Logs Update" (#1730)
* Revert "fix: quick fix for config context issue"

This reverts commit 0c06040e6c.

* Revert "sync: package-lock.json"

This reverts commit 1e1bd0f2ba.

* Revert "devex: misc log cleanup"

This reverts commit a64a786528.

* Revert "devex: minimal first page load logs"

This reverts commit 196e463c59.

* Revert "devex: minimal initialization logs"

This reverts commit ea9c222c09.

* Revert "fix: add missing await in kv example extension"

This reverts commit 9b34e67d0d.

* Revert "devex: reduce logs at init"

This reverts commit fa221149c2.

* Revert "sync: package.json changes"

This reverts commit 4db73d75a5.

* Revert "fix: remove unused AWS SDK v2 import"

This reverts commit 4d8692fd31.

* Revert "devex: hide `npm install` output unless it fails"

This reverts commit fe03a4b598.

* Revert "devex: rollup via module instead of subprocess"

This reverts commit 360082d8bd.

* Revert "devex: webpack via module instead of subprocess"

This reverts commit 1449d12b0e.

* Optional chain logger
2025-10-09 23:08:01 -04:00
Daniel Salazar a3c6c0b914 Revert "revert: revert devex changes (#1728)" (#1729)
This reverts commit fc725d0130.
2025-10-09 19:16:20 -07:00
Daniel Salazar fc725d0130 revert: revert devex changes (#1728)
* Revert "fix: quick fix for config context issue"

This reverts commit 0c06040e6c.

* Revert "sync: package-lock.json"

This reverts commit 1e1bd0f2ba.

* Revert "devex: misc log cleanup"

This reverts commit a64a786528.

* Revert "devex: minimal first page load logs"

This reverts commit 196e463c59.

* Revert "devex: minimal initialization logs"

This reverts commit ea9c222c09.

* Revert "fix: add missing await in kv example extension"

This reverts commit 9b34e67d0d.

* Revert "devex: reduce logs at init"

This reverts commit fa221149c2.

* Revert "sync: package.json changes"

This reverts commit 4db73d75a5.

* Revert "fix: remove unused AWS SDK v2 import"

This reverts commit 4d8692fd31.

* Revert "devex: hide `npm install` output unless it fails"

This reverts commit fe03a4b598.

* Revert "devex: rollup via module instead of subprocess"

This reverts commit 360082d8bd.

* Revert "devex: webpack via module instead of subprocess"

This reverts commit 1449d12b0e.
2025-10-09 18:43:03 -07:00
KernelDeimos 1e1bd0f2ba sync: package-lock.json 2025-10-09 19:39:02 -04:00
KernelDeimos 4db73d75a5 sync: package.json changes 2025-10-09 19:39:02 -04:00
Nariman Jelveh 6fdea68eec chore: add http-server as a dev dependency and update package scripts (#1718) 2025-10-08 19:13:05 -07:00
Daniel Salazar 0acb884ed0 feat: meter open ai (#1703)
* feat: meter open ai

* fix: dep injections & moderation

* feat: add paging
2025-10-08 12:58:05 -07:00
Daniel Salazar 6d35496252 chore: publish npm (#1698)
* chore: bump puter-js version and publish

* chore: package-lock
2025-10-07 11:56:18 -07:00
Daniel Salazar e3f9455cae test: vitest tests for puter js (#1693) 2025-10-06 15:00:40 -07:00
Daniel Salazar f06bec4cd4 feat: extract and centralize cost maps (#1691) 2025-10-06 14:52:09 -07:00
Eric Dubé 4eaba05136 chore: update package-lock.json with npm v11.6.1
* try: update package-lock.json from Linux/x86 on 11.6.1

* darwin

* darwing

* dev: try updating rollup

* try: npm 11.6.1 delete package-lock.json and run `npm i`

* push darwin pacakge lock

* sync: package-lock.json with npm 11.6.1

---------

Co-authored-by: Daniel Salazar <daniel.salazar@puter.com>
2025-10-03 20:18:13 -04:00
Hariz 6429dcf15e Add 'Set as Desktop Background' context menu item to images (#1635)
* Add 'Set as Desktop Background' context menu item

* Use the `mime` library to detect images in the `UIItem` context menu

---------

Co-authored-by: Nariman Jelveh <nj@puter.com>
2025-09-30 18:06:09 -07:00
jelveh 1195e319a8 update kv.js version in package.json 2025-09-28 22:05:30 -07:00
Nariman Jelveh ebb0162d79 Increase cache efficiency 2025-09-28 21:30:31 -07:00
Nariman Jelveh a0b567da52 chore: update @heyputer/kv.js dependency to version 0.2.0 and initialize cache with dbName in puter-js (#1623) 2025-09-26 10:58:16 -07:00
Daniel Salazar d70d412115 feat: DAV Locks support + refactor of DAV method handler (#1486)
* feat: DAV Locks support + refactor of DAV method handler

* format: Restore old whitespace for CoreModule.js

* fix: options route registering after likecycle hooks

---------

Co-authored-by: Neal Shah <30693865+ProgrammerIn-wonderland@users.noreply.github.com>
2025-09-26 11:00:29 -04:00
Daniel Salazar 9705c58160 dep: updating node dep version to one that supports modules 2025-09-25 12:08:36 -07:00
KernelDeimos fa436a7775 devex: make it impossible to commit eslint errors 2025-09-24 17:41:48 -04:00
KernelDeimos aae3da39f8 sync: package-lock.json 2025-09-23 15:03:09 -04:00
Nariman Jelveh 32962211b4 Revert "Enhance login GUI: improve layout and add show/hide password (#1599)" (#1600)
This reverts commit 9e07fa74b7.
2025-09-21 09:53:12 -07:00
SaifAttar003 9e07fa74b7 Enhance login GUI: improve layout and add show/hide password (#1599) 2025-09-21 09:52:55 -07:00
dependabot[bot] 1475183b06 build(deps): bump multer from 1.4.5-lts.2 to 2.0.2 (#1582)
Bumps [multer](https://github.com/expressjs/multer) from 1.4.5-lts.2 to 2.0.2.
- [Release notes](https://github.com/expressjs/multer/releases)
- [Changelog](https://github.com/expressjs/multer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/expressjs/multer/compare/v1.4.5-lts.2...v2.0.2)

---
updated-dependencies:
- dependency-name: multer
  dependency-version: 2.0.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-18 10:36:39 -07:00
Nariman Jelveh e37166dae0 Cache is king baby! Let's go 🚀 (#1574)
* Implement the first naive version of `readdir` cache

* Purge the entire cache on every single mutation

Right now we're going to use the very naive, but safe, approach to purge the entire cache whenever there is change in the user's fs. We're going to incrementally improve this; but for now, better safe than sorry!

* Add socket event listeners to flush cache on file system item changes

This update introduces event listeners for 'item.added', 'item.renamed', and 'item.moved' events, triggering a cache flush on each event to ensure data consistency in the file system module.

* increase exp time for the cache

* Update readdir.js

* Update index.js
2025-09-17 15:36:42 -07:00
aaryan f4af6874b0 doc: added missing Dutch translations (#1575)
* doc: added missing Dutch translations
- fixes #1515

* Update nl.js

---------

Co-authored-by: jelveh <nj@puter.com>
2025-09-17 08:56:06 -07:00
Nariman Jelveh 1c64aee87e Update package-lock.json 2025-09-13 13:45:49 -07:00
Nariman Jelveh a582c0ee38 Update package-lock.json 2025-09-13 13:19:58 -07:00
Nariman Jelveh 8392396b1b Update Axios 2025-09-13 13:18:01 -07:00
KernelDeimos 5119efaf79 Reapply "feat: support Gemini imagegen service"
This reverts commit 05071b4338.
2025-09-12 19:16:58 -04:00