Commit Graph

4663 Commits

Author SHA1 Message Date
KernelDeimos 06d56fd711 fix: update validation for permission endpoints
Permission endpoints would trigger 500 errors in cases where the request
did not have correct types for values in the request body. This migrates
all of these endpoints to use the new `validate_fields` function, which
is intended to make validation of fields clearer and more consistent.
2025-12-02 16:53:48 -05:00
KernelDeimos e5ac7af52d dev: add utility for field validation 2025-12-02 16:53:48 -05:00
KernelDeimos 11a18078be fix: improve response error handling in Perms module 2025-12-02 16:53:48 -05:00
Neal Shah 66d9344407 Fix turnstile auth (#2087)
* attempt to fix turnstile auth
2025-12-02 16:25:18 -05:00
Daniel Salazar 34134a2e35 chore: add typedefs for puter.js (#2086) 2025-12-02 13:04:26 -08:00
Daniel Salazar cce2c4ac27 fix: stricten undef checks (#2082) 2025-12-01 20:26:33 -08:00
Daniel Salazar d3beac0518 fix: wrong order for telemetery init (#2078) 2025-12-01 20:18:03 -08:00
Daniel Salazar 3c579dcc0d fix: TelemetryService (#2077) 2025-12-01 18:11:56 -08:00
KernelDeimos b42a106676 dev(perms): [+] apps-of-user:<user-uuid>:write
This commit also adds a new check to verify that the app which owns the
entity being edited matches. Previously this was not necessary because a
read on the same entity would have always performed the same check and
caused this operation to stop early. (now that an app may have
permission to read entities created by other apps, this is no longer the
case.)
2025-12-01 17:14:41 -05:00
KernelDeimos a71fa826b3 dev(perms): [+] apps-of-user:<user-uuid>:read 2025-12-01 17:14:41 -05:00
KernelDeimos cf9a867190 fix: inaccurate error on update of non-existing
...entity (app, subdomain, etc). When trying to update some non-existing
entity the error message can state that an entity with a particular UID
was not found even if a UID wasn't specified. The UID reported will in
fact be a randomly generated UID because of how default properties work
in entities. This fix makes the error message more specific about which
identifier was used when an entity was not found. This is accomplished
by printing the predicate in a human-readable format.
2025-12-01 17:14:41 -05:00
Daniel Salazar 405e02cf9c test: claudeService (#2074) 2025-12-01 13:39:55 -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 0568b64821 ci: fix docker again (#2071) 2025-12-01 01:47:00 -08:00
Daniel Salazar cc5be578bf ci: cleanup docker build (#2070) 2025-12-01 01:25:08 -08:00
Daniel Salazar 45fb5c32b1 chore: various test related changes (#2069)
* fix: backend tests breaking with permision

* test: cleanup running tests

* chore: config.d.ts
2025-12-01 01:14:44 -08:00
Neal Shah 596f77d888 Working main 2025 11 29 (#2068)
* add logging hook to togetherai image service

* add gemini-3-pro-image to costmap
2025-11-30 11:39:34 -05:00
Daniel Salazar cea94d16cb fix: backend tests breaking with permision (#2067) 2025-11-29 13:50:27 -08:00
Daniel Salazar e8f00e1121 fix: typo in dbkvStore (#2066) 2025-11-29 13:18:37 -08:00
Daniel Salazar dccfa8085e chore: some type and eslint fixes for tests (#2065) 2025-11-28 23:38:04 -08:00
Neal Shah f99c78e4d3 Email read permission for whoami (#2064) 2025-11-28 17:34:26 -05:00
Daniel Salazar f6fa17a575 feat: KV testing (#2061) 2025-11-27 18:45:49 -08:00
KernelDeimos c4e380c140 test: add tests for services in CoreModule 2025-11-27 15:15:56 -05:00
Daniel Salazar f120bc9c58 fix: metering service alerts + missing claude costs (#2058)
* fix: missing haiku costs, updating opus 4.5 id to match documentation

* fix: improve alert logic for metering service misses
2025-11-27 11:45:56 -08:00
jelveh c6af50ea98 Update claudeCostMap.ts 2025-11-27 09:08:14 -08:00
KernelDeimos 8e2ed18fb3 refactor: introduce TestCoreModule for test kernel 2025-11-26 18:58:34 -05:00
Daniel Salazar 59e6418b00 feat: meteringService test suite (#2052) 2025-11-26 15:46:53 -08:00
Neal Shah 6dffa3d6f2 Worker + NodeJS support for puter.ai.txt2img and puter.ai.txt2vid (#2051)
* Attempt to get workers working with AI media generation

* add FileReader polyfill

* fix import path
2025-11-26 18:10:11 -05:00
Daniel Salazar 93eddd2238 feat: MeteringService test fixes for now (#2050) 2025-11-26 15:09:30 -08:00
Nariman Jelveh 6284b390b7 Revert "Create README.tel.md (#2045)" (#2049)
This reverts commit 94a411f30f.
2025-11-26 14:49:40 -08:00
rajucreate 94a411f30f Create README.tel.md (#2045) 2025-11-26 14:49:22 -08:00
PARTH PRATYUSH 14a5f20404 Add Traditional Chinese (繁體中文) Translation for Issue #1501 (#2032)
* i18n(zhtw): add missing Traditional Chinese translations (fix #1501)

This PR adds missing Traditional Chinese (繁體中文) translations to the zhtw.js file.

Translations added:
- confirm_download_file_to_desktop
- downloading_file
- error_download_failed
- Resources
- Storage
- untar / untarring
- uploading / uploading_file
- tar / tarring / download_as_tar
- set_as_background
- error_user_or_path_not_found
- error_invalid_username

Closes #1501

* Fix formatting of confirm download message

---------

Co-authored-by: Nariman Jelveh <nj@puter.com>
2025-11-26 14:45:30 -08:00
2400060033 d4f44be5e4 Update tsconfig.json (#2035)
This update fixes configuration issues in the TypeScript setup by standardizing the tsconfig.json. It sets modern compiler targets (ES2024), uses Node16 module resolution, enables strict type checking, and cleans up test-related exclusions. These changes improve build reliability, prevent casing inconsistencies, and ensure accurate source mapping during development.
2025-11-26 17:38:30 -05:00
KernelDeimos eda1c45ffb test: migrate _test tests to vitest tests 2025-11-26 16:32:07 -05:00
Daniel Salazar cb66c56a6b fix: tsconfig to ignore vite config files (#2048) 2025-11-26 13:26:09 -08:00
KernelDeimos 1a0e727113 clean: rename TestService.mts -> TestService.ts 2025-11-26 14:52:31 -05:00
KernelDeimos d6651498eb fix: minor issue in root package.json 2025-11-26 14:52:31 -05:00
KernelDeimos 5f78552005 fix: update MeteringService and add utility for TestKernel 2025-11-26 14:52:31 -05:00
KernelDeimos e95b0be371 fix: update import in TestService 2025-11-26 14:52:31 -05:00
Daniel Salazar a397707c7b fix: bad export 2025-11-26 14:52:31 -05:00
KernelDeimos 8a05b65ff3 dev(test): enable use of TestKernel in unit tests 2025-11-26 14:52:31 -05:00
Daniel Salazar 001e174b81 fix: oss boot error fixes (#2039) 2025-11-26 11:08:40 -08:00
Neal Shah 47ebbc1b90 Use aliases when calculating max_tokens (#2046) 2025-11-26 13:46:53 -05:00
jelveh 142ed0b902 Add cost mapping for Claude Opus 4.5 2025-11-25 18:51:54 -08:00
jelveh 014b5ac713 Enforce ownership of puter.site subdomains for apps 2025-11-25 15:43:14 -08:00
jelveh 6558bc26e9 Refactor AI model listing and provider retrieval 2025-11-25 13:49:39 -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
KernelDeimos 8eee9ad1df fix(puterfs): use node crypto instead of Web API
By default node has a global `crypto` variable conforming to the
standard for the Web Crypto API. However, this `crypto` object does not
have the `createHash` function, so 'node:crypto' must be imported
instead.
2025-11-24 14:34:55 -05:00
jelveh 613f6379e7 Add Claude Opus 4.5 2025-11-24 11:33:24 -08:00