Commit Graph

4713 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