Nariman Jelveh
60ea48dbaa
Remove gross legacy tools and docs ( #2873 )
2026-05-01 12:58:36 -07:00
Daniel Salazar
d4d78ac7db
rework: change backend and backend extensions to use simpler code structure and patterns ( #2815 )
...
* fix: dynamodb health checks and client recreation (#2789 )
* wip: no nanoServices groundwork
* feat: data clients in new shape
* wip: auth and perms in new system
* more wip
* middlewaters mainly done
* wip: fsv2 in new layout
* old fs v2 migration
* driver system
* driver and old fs fixes
* ai drivers wip
* stream support
* metering in ai chat driver
* wip: new auth
* rate limit and auth routes
* captcha and anti csrf
* fix: types
* auth store
* app logic
* wip most other dricvers
* fs
* mostly kill all legacy stuff
* fs finish
* fix: redis usage
* ai controller
* driver cleanup
* socket io in v2
* broadcast and crudq stuff
* subdomains
* notifcations and shares
* fix bad syntaxes
* auth wip
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* extensions
* extension setup
* more routes
* sql migrations and default services
* home router
* tier 7
* everything else
* everything else
* remaining missing bits
* server health
* logs
* cleanup
* deps
* cleanup 2
* more cleanup 2
* boot
* fix launch
* config fix
* move file
* fix: tsconfig things
* fix: extension loading
* launching
* fix: drivers
* fix: others
* fix: icons
* fix: file uploads
* fs fixes
* fix: fs api
* fix: dev-center
* config
* add back telemetry
* lint stuff
* husky hooks
* fix: fs oss
* fix: config migration
* config migration
* migrate scripts + replicate
* runner
* fix: merge defafult config
* fix: default region
* fix: api domain
* fix paths in readfile
* fix fs entry default s3
* NS: Remove Referral && Entri Service
* dep cleanups
* fix: static assets
* fix: kv and perms
* fix: driver registrations
* fix: home mapping
* fix: rao
* adding back 500 alarm
* fix: build paths
* fix: fs and kv shapes
* fix: kv shape
* more kv coercing and ai chat matching format as prior
* fix: private app gates
* private app caches
* fix: whole bunch of legacy shape issues
* update template jsonc
* fix caching partial oidc and fs signed paths
* more oidc fixes
* fix: wip
* fix: private apps
* admin route fixes
* fix: last few things hopefully
* claude uploads
* fix security for app only routes
* fix kv system namespace
* stuff
* fix: app and kv and suggested apps
* fix:open item
* fix: FS operations
* fix: default app icons
* add back token-read and WSL support
* metering fixes
* fix: fsEntry
* perm scanners and implicators
* proper download endpoint
* fix: download
* fix anti csrft on v2
* fix file extensions, app icons
* fold in v1 fixes from origin/main into v2 equivalents
Re-applies the v1 fixes that landed on origin/main into their v2
counterparts since the v1 files were deleted on DS/wip during the v2
migration. v1 commits referenced below.
- SQLBatcher: flush immediately when queue hits maxBatchSize instead
of racing the timer (v1 12f48238).
- RedisClient: drop maxRetriesPerRequest from 2 to 1 to shrink failure
window (v1 b6776ab4 ).
- ChatCompletionDriver: default minimumCredits to 1 when unset/zero so
zero-cost precheck doesn't auto-pass (v1 36bd6073 ).
- OpenAiImageProvider: add gpt-image-2 support — open-ended size rules,
token-based cost estimator, arbitrary-size normalizer, isGpt prefix
broadened to gpt-image- (v1 f14f1bf4 ). models.ts auto-merged via
rename detection.
- AppStore: bump row cache TTL from 5m to 24h (v1 6b3196ed ).
Not ported: v1 app-object Redis cache (bdfa12b5/b886dde3) — v2's
#toClient recomputes filetype_associations/created_from_origin per
read; adding a second cache layer is a larger change for a follow-up.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
* remoe anti-csrf from auth routes that had not used them
* more icon fixes
* fix worker functionality
* fix: app and subdomain es
Co-authored-by: Copilot <copilot@github.com >
* fix PUT-761
* fix: PUT-748
* fix: rename fsService
* Add security back to WorkerDriver
* Migrate worker from fsEntry to fs. Fix cache issue
* remove ability to create symlinks
* strict webdav acl
* require auth for wisp
* chore: service renames
* Add metering back to puter peer api
* fix: PUT-760 PUT-749
* fix: PUT-746
* fix: peer cost
Co-authored-by: Copilot <copilot@github.com >
* fix: 771
* change order of peer controller
* fix: create appdata folder for app on get auth token
* fix: align delete site and list sites
* delete: putility
* fix subdomains
* Add support for tilde in subdomains, fix subdomain update
* cleanup PeerController.ts and fix billing oversight (#2844 )
* fix: PUT-786
* fix: bugs
* fix: issues with multiple subdomain queries, or permission checks
* fix: harden response shapes to not contain uneeded fields
* fix: move state to redis
* fix: missing kv methods + better sec
Co-authored-by: Copilot <copilot@github.com >
* fix: subdomainStore limit
* fix: missing path resolution
Co-authored-by: Copilot <copilot@github.com >
* fs fixes
* fix: undef error
* fix fs + cleanup
* fix: npm audit fixes
* heal path entries where missing
Co-authored-by: Copilot <copilot@github.com >
* fix: caching
Co-authored-by: Copilot <copilot@github.com >
* fix: cache inconsistencies
Co-authored-by: Copilot <copilot@github.com >
* fix: app driver metadata
Co-authored-by: Copilot <copilot@github.com >
* remove extraneous comma
* fix: associated app icons
* fix: bad tool call
* Add validation to WorkerDriver#getFilePaths
* misc fs and auth issues
Co-authored-by: Copilot <copilot@github.com >
* fix: oidc errors
Co-authored-by: Copilot <copilot@github.com >
* fix: PUT-797
* fix: legacy appdata_app
Co-authored-by: Copilot <copilot@github.com >
* fix: add alert logs
Co-authored-by: Copilot <copilot@github.com >
* fix: error handling
* Disable sharecontroller
* fix: remove private user identifier for ai
* fix: private app fixes
* Add backback signup_server
* fix: completionId size
Co-authored-by: Copilot <copilot@github.com >
* fix: revalidate path for oidc
* fix: revalidate path for oidc
* fix: email validation
Co-authored-by: Copilot <copilot@github.com >
* fix: user create query
* fix: middleware extensions
Co-authored-by: Copilot <copilot@github.com >
* use x-forwarded-for for req ip forwarded
* fix: missing last_activity ts
* feat: add cache broadcast to subdomains
* fix: update config typing
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: ProgrammerIn-wonderland <3838shah@gmail.com >
Co-authored-by: Copilot <copilot@github.com >
Co-authored-by: Nariman Jelveh <nj@puter.com >
Co-authored-by: velzie <velzie@velzie.rip >
2026-04-30 12:13:43 -07:00
Daniel Salazar
22c1cd8be4
lint: fix eslint indentation for switch cases ( #2520 )
...
also trying to preserve call indentations, but afraid its not exactly the same, but fairly close
2026-02-20 17:22:00 -08:00
KernelDeimos
b5d719e110
lint: [+] no-useless-computed-key:error
2026-02-19 16:23:38 -05:00
KernelDeimos
f429d5f76a
chore: fix eslint issues
2026-02-08 15:27:11 -05:00
Daniel Salazar
fbb2080a66
fix: don't use ai aggregators if we have the model ourselves ( #2424 )
...
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test-backend (24.x) (push) Has been cancelled
test / API tests (node env, api-test) (24.x) (push) Has been cancelled
test / puterjs (node env, vitest) (24.x) (push) Has been cancelled
* cleanup: eslint changes
* fix: don't use ai aggregators if we have the model ourselves
2026-02-05 16:30:45 -08:00
Daniel Salazar
797b87b004
cleanup: remove dead cloudwatch call ( #2155 )
2025-12-12 17:08:26 -08:00
Nariman Jelveh
ef9f240a45
Remove terminal phoenix emulator ( #2141 )
...
* Remove terminal and phoenix built-in apps and emulator
This commit removes the terminal and phoenix built-in apps from the backend, database migrations, and permissions. It also deletes the entire emulator and phoenix/terminal app source directories, assets, and related configuration files. References to these apps in the backend module loader and router are removed, and related SQL migrations are updated to reflect their removal.
* Remove emulator references from SelfHostedModule
* Remove emulator integration and related references
* Remove parsers and pty modules
* Update package-lock.json
2025-12-11 16:53:21 -08:00
Nariman Jelveh
7524933ca1
Remove backend-core-0 and inline validation helpers ( #2138 )
...
Deleted the src/backend-core-0 package and moved its validation helpers directly into src/backend/src/validation.js. Updated references in CoreModule.js and helpers.js to use the new local validation module. Adjusted ESLint configs to remove backend-core-0 references.
2025-12-11 13:22:32 -08: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 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test-backend (20.x) (push) Has been cancelled
test / test-backend (22.x) (push) Has been cancelled
test / API tests (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-12-01 20:26:33 -08:00
Daniel Salazar
405e02cf9c
test: claudeService ( #2074 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test-backend (20.x) (push) Has been cancelled
test / test-backend (22.x) (push) Has been cancelled
test / API tests (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-12-01 13:39:55 -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 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-28 23:38:04 -08:00
Daniel Salazar
e2f1200ad5
test: add test infra to run vitest on all of backend wip ( #2023 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-24 19:20:09 -08:00
Daniel Salazar
262b359633
fix: fallback models ( #2005 )
2025-11-21 20:09:19 -08:00
Daniel Salazar
11e057557d
fix: eslint autofixable errors ( #2002 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-21 13:22:19 -08:00
Daniel Salazar
3592c4bfe8
chore: ts lint stuff ( #1934 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
2025-11-06 15:26:40 -08: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
Daniel Salazar
5ff8c7e040
feat: rawBody parser, user metadata column + other misc fixes ( #1904 )
2025-11-04 18:19:55 -08:00
Daniel Salazar
93aaeef9e0
fix: add back non-functional changes ( #1888 )
2025-11-02 06:17:59 -08:00
Daniel Salazar
758bef0582
Revert: commits for user metadata changes ( #1887 )
2025-11-02 06:09:13 -08:00
Daniel Salazar
71fb04cd55
fix: allow stripe header and commit db migration ( #1877 )
...
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / backend (node env, api-test) (22.x) (push) Has been cancelled
test / puterjs (browser env, playwright) (22.x) (push) Has been cancelled
test / puterjs (node env, vitest) (22.x) (push) Has been cancelled
* fix: allow stripe header
* fix: commit db migration
2025-11-01 16:16:49 -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
Daniel Salazar
ff9932b2f3
fix: dbkv raw import ( #1848 )
2025-10-28 13:04:54 -07:00
Daniel Salazar
d1ae2bfe80
chore: update typedefs and fix dbkv issue ( #1840 )
...
* chore: update typedefs
* fix:dbkv decr
2025-10-27 18:13:49 -07:00
Daniel Salazar
3229fe0b61
Revert "Revert: fs metering ( #1790 )" ( #1795 )
...
This reverts commit 4b14ef863c .
2025-10-21 11:07:05 -07:00
Daniel Salazar
4b14ef863c
Revert: fs metering ( #1790 )
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
2025-10-20 21:58:44 -07:00
Daniel Salazar
0260a9cbce
Revert "Revert "Revert "Revert "feat: alert when going over usage limits sign…"
...
This reverts commit f2265cca59 .
2025-10-20 18:45:08 -07:00
Daniel Salazar
f2265cca59
Revert "Revert "Revert "feat: alert when going over usage limits significantl…" ( #1787 )
...
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
This reverts commit 0d0cdce1cf .
2025-10-20 16:51:31 -07:00
Daniel Salazar
0d0cdce1cf
Revert "Revert "feat: alert when going over usage limits significantly + egre…" ( #1786 )
...
This reverts commit 54d73b1998 .
2025-10-20 15:56:34 -07:00
Daniel Salazar
54d73b1998
Revert "feat: alert when going over usage limits significantly + egress meter…" ( #1785 )
...
This reverts commit 27f24118f3 .
2025-10-20 15:25:52 -07:00
Daniel Salazar
27f24118f3
feat: alert when going over usage limits significantly + egress metering ( #1782 )
...
* feat: alert when going over usage limits significantly + meter egress/ingress
* fix: metering roundings
2025-10-20 13:54:21 -07:00
Daniel Salazar
e51d0c4600
feat: metering service allowence checks and subscription integration 🚀 ( #1749 )
...
Docker Image CI / build-and-push-image (push) Has been cancelled
Maintain Release Merge PR / update-release-pr (push) Has been cancelled
release-please / release-please (push) Has been cancelled
test / test (20.x) (push) Has been cancelled
test / test (22.x) (push) Has been cancelled
test / api-test (22.x) (push) Has been cancelled
* feat: metering allowence checks
* fix: bad math
2025-10-15 02:28:25 -07:00
Daniel Salazar
d9c64a9378
feat: manage permission for user to user and dev to app file sharing ( #1567 )
...
* perf: move user-user perm checks to flat kv entries
* feat: manage permission for user to user and dev to app file sharing
* fix typings cuz macos sucks
* fix: mac os typecase
* fix: chore macOs typecase
* fix: bad join of permissions
* feat: add check-permissions endpoint for checking an users perms
* Add 'manage' to permission lists in the Sharing dialog
* fix: manage being allowed through our ACL
---------
Co-authored-by: Nariman Jelveh <nj@puter.com >
2025-10-07 13:46:00 -07:00
KernelDeimos
36ddad0ecc
lint: add config global to extensions
2025-10-01 16:58:46 -04:00
KernelDeimos
62e77a15a2
conf: add block in eslint.config.js for extensions
2025-09-26 15:27:59 -04:00
Daniel Salazar
3fc183297f
revert: eslint config rules ( #1625 )
2025-09-26 10:52:00 -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
KernelDeimos
fe1d78d5bf
conf(eslint): fix backend rule, -@stylistic/quotes
...
This commit fixes the block that's meant to match backend files. There
was an error in the arguments for '@stylistic/indent' which was
effectively disabling the entire block. In vscode, it is very unclear
that this is happening, so I had to manually run this command:
npx eslint "src/backend/**/*.js" --debug
This commit also disables @stylistic/quotes; I disagree with this
rule for several reasons:
1. Sometimes the appropriate quote depends on the contents:
i.e. '""""' + "''''" is cleaner than '""""\'\'\'\''.
2. If you argue that mixing quotes between concatenated strings
(like the previous example) is a bad idea, then I can further
state that this rule forces me to mix quotes:
`we use a ${templateString}` + "but can't do it here"
2025-09-24 16:58:28 -04:00
Daniel Salazar
f8ea790824
feat: add expiry support to DBKV, and eslint config
2025-09-10 11:33:21 -07:00
KernelDeimos
947dca96a2
chore: remove eslint.config.js
...
Docker Image CI / build-and-push-image (push) Waiting to run
Maintain Release Merge PR / update-release-pr (push) Waiting to run
release-please / release-please (push) Waiting to run
test / test (18.x) (push) Waiting to run
test / test (20.x) (push) Waiting to run
test / test (22.x) (push) Waiting to run
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
Nariman Jelveh
40ea2a3f02
Revert "Created test cases for issue #878 "
2024-12-08 11:31:47 -08:00
e5z26
2ca1f71595
removed jsdom in test file
...
removed because wasn't being used
2024-12-07 19:09:22 -05:00
4nshuman
857c3b88b3
added fflate to lint check
2024-10-06 21:27:03 +05:30
4nshuman
822d850513
purge JSZip
2024-10-06 21:25:46 +05:30
KernelDeimos
2a91edb965
chore: add Buffer to eslint
2024-07-07 17:12:55 -04:00
KernelDeimos
edc5743a61
chore: add incubator/ to eslint ignores
2024-07-07 17:12:55 -04:00
KernelDeimos
7c227ad967
chore: update eslint config
2024-07-07 17:12:55 -04:00
Sam Atkins
00765d0fce
chore: Add mods/ directory to eslint
2024-06-24 19:15:02 -04:00