Commit Graph

179 Commits

Author SHA1 Message Date
Daniel Salazar e2ae313589 feat: refactor ai to have single entry point and follow defined model structure (#2114)
* feat: refactor ai to have single entry point and follow defined model structure

* fix: missing openrouter registration

* fix: dedupe models

* feat: provide usage in stream mode 🚀
2025-12-09 15:59:21 -08:00
KernelDeimos 1d7a5b7c58 fix: downgrade opentelemetry so it works again
We weren't able to see any custom spans, only the builtin
instrumentations for node.js. This commit downgrades opentelemetry so
that we can see custom spans in tools like jaeger as before.
2025-12-09 17:30:52 -05:00
Daniel Salazar 6419d57d84 types: fix puter-js type exports (#2090)
* chore: add typedefs for puter.js

* types: fix puter-js type exports
2025-12-02 21:36:46 -08:00
Daniel Salazar 34134a2e35 chore: add typedefs for puter.js (#2086) 2025-12-02 13:04:26 -08:00
Daniel Salazar c77272012d ci: add test coverage (#2073)
* ci: add test coverage

* ci: add test coverage
2025-12-01 08:56:44 -08:00
Daniel Salazar d978c37e0b ci: package and docker fixes (#2072)
* ci: package and docker fixes

* ci: fix package conflicts
2025-12-01 02:10:36 -08:00
Daniel Salazar cb66c56a6b fix: tsconfig to ignore vite config files (#2048) 2025-11-26 13:26:09 -08:00
Daniel Salazar 001e174b81 fix: oss boot error fixes (#2039) 2025-11-26 11:08:40 -08:00
Daniel Salazar e2f1200ad5 test: add test infra to run vitest on all of backend wip (#2023) 2025-11-24 19:20:09 -08:00
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