Commit Graph

3482 Commits

Author SHA1 Message Date
KernelDeimos ea241540b9 dev: add WeatherService
- adds weather service
- updates IdentificationService to add ip_user property
2025-04-29 13:43:53 -04:00
KernelDeimos 29dbf3a517 dev: URLs to files in public directories
Already existing was the functionality to go to puter.local/@username to
access the Public folder belonging to "username". This commit adds the
ability for relative paths such as puter.local/@username/document.md to
access /username/Public/document.md in the suggested app for handling
".md" files.
2025-04-28 17:40:02 -04:00
KernelDeimos 3856ddcc8f dev: add default parameters for driver interfaces 2025-04-25 16:03:22 -04:00
KernelDeimos c5c17bae3a dev: add cost calculation for NewsDataService 2025-04-25 14:14:58 -04:00
KernelDeimos 78ae6f6bf2 dev: begin implementing driver for newsdata.io 2025-04-24 17:04:30 -04:00
KernelDeimos 89b8c8de1d fix: add missing null check 2025-04-24 16:09:32 -04:00
KernelDeimos b7efa6f894 fix: handle problematic null or undefined case
This is the product of a couple hours of debugging. We can now remove
the uuid entry from the cache for a deleted user without the strange
lockup behavior that was being observed previously. However, it is still
explained exactly how this happened; while this commit addresses the
cause it does not represent an actual understanding of the issue.

What is known is the following:
- /delete-own-user can trigger a complete lockup
- this happens when invalidate_cached_user is called
- kv.del('users:uuid:<uuid of user>') triggers the issue
- ... because get_user returns null and
- configurable_auth middleware accepts the null value
- configurable_auth middleware DOES call next()
- it is unknown why a lockup occurs after this
2025-04-24 14:41:05 -04:00
KernelDeimos 210ecaba8f tmp: comment out user uuid del 2025-04-23 22:33:25 -04:00
KernelDeimos 2b0c8fcaf0 dev: expose Context and ready event to extensions 2025-04-23 15:51:28 -04:00
KernelDeimos abf5852b93 dev: better log support for extensions 2025-04-23 15:28:15 -04:00
KernelDeimos a3ae60861c dev: add injected logger support
This allows a logger to be specified in the execution context. If
LogService sees this, it will perform its usual logging but also call
the injected logger.
2025-04-23 14:49:18 -04:00
KernelDeimos 017328420d dev: add support for an "any" interface
Driver interfaces don't require specifying the structure of the return
value when it's a JSON object, but parameters require specifying what
parameters can be provided. This commit adds a special wildcard
parameter for interface definitions. When the wildcard parameter is set,
the entire input object is considered as if it were the value of one
parameter.
2025-04-22 16:29:55 -04:00
KernelDeimos 790e3bdffc dev: puter.call
Instead of puter.drivers.call, make it puter.call. This is accomplished
by allowing puter.js modules to mutate the `puter` object on
initialization. Support for an optional `_init` method, similar to
backend services, is added to Puter modules to help with this.
2025-04-22 15:21:36 -04:00
KernelDeimos 9935f5a0be dev: simplify calling drivers with matching names
This commit modifies puter.js to allow calling an
interface+service+method with matching names without redundantly
specifying. The 'ip-geo' service is also renamed to ipgeo to match its
method name and allow a simple:

puter.drivers.call('ipgeo', { ip: '1.2.3.4' })
2025-04-22 14:01:01 -04:00
KernelDeimos 1764b99c22 dev: add log messages for cost records 2025-04-22 13:14:41 -04:00
KernelDeimos 7e7e2897b2 dev: improve actor logs
This commit adds the concept of a toLogFields method on objects which
will determine how they're turned into log fields in LogService. This
method is now implemented on actor to prevent errors when the object is
passed to log functions without being stringified first.
2025-04-22 12:52:09 -04:00
KernelDeimos b80052f177 dev: add cost service integration to IPGeoService 2025-04-22 12:07:13 -04:00
KernelDeimos 7945586050 dev: ip geolocation driver (initial development) 2025-04-21 17:53:39 -04:00
KernelDeimos 8ff2e93e66 tweak: add limit to deleteUser file select
I wasn't able to reprod any memory leak from a user having a large
number of files locally, but it's showing up in logs and maybe could add
up with lots of temp users getting auto-removed. It's worth a shot.
2025-04-19 15:45:33 -04:00
KernelDeimos f7b302b024 fix: potential log error 2025-04-19 14:27:14 -04:00
KernelDeimos c254b39afe fix: consistent email check in confirm-email 2025-04-19 11:07:13 -04:00
KernelDeimos c959ef3b83 dev: add actor to log context when available 2025-04-18 16:55:11 -04:00
KernelDeimos fdfa4cbc7c dev: log memory info periodically 2025-04-18 16:26:52 -04:00
KernelDeimos cc72508b75 dev: remove default system prompt 2025-04-17 15:35:35 -04:00
jelveh 2cdcc5ffcd Add o3 and o4-mini models 2025-04-16 11:06:57 -07:00
jelveh b17dc58ca6 remove unused imported modules 2025-04-15 23:44:11 -07:00
jelveh 19574e5bb1 Update OpenAICompletionService.js 2025-04-15 23:33:03 -07:00
jelveh c732263958 Update AI.js 2025-04-15 23:24:53 -07:00
jelveh cab933f1c2 Update AI.js 2025-04-14 12:56:32 -07:00
jelveh 68860d8876 Update AI.js 2025-04-14 12:52:54 -07:00
jelveh 42f0ac5785 Use OpenAI for `o1-mini1 2025-04-14 12:44:58 -07:00
jelveh 90d16c35e2 Add missing openai models 2025-04-14 12:36:07 -07:00
jelveh 16b8adc4ed add new GPT models 2025-04-14 12:26:04 -07:00
jelveh 2d7ca7f2e1 better error message for invalid emails 2025-04-13 18:24:06 -07:00
jelveh 398b1578a5 Update signup.js 2025-04-13 17:56:56 -07:00
jelveh 2949e16be2 Update signup.js 2025-04-13 17:38:53 -07:00
jelveh c9c441210b Update signup.js 2025-04-13 17:08:58 -07:00
jelveh 4ea7754133 Update initgui.js 2025-04-13 16:52:23 -07:00
jelveh f14b0d1ac9 this didn't work, reverting 2025-04-13 16:39:31 -07:00
jelveh 1b83966c26 Update signup.js 2025-04-13 16:24:19 -07:00
KernelDeimos 107adce68b dev: disallow "auto" model
This model seems to cause us problems
2025-04-12 16:53:53 -04:00
jelveh daa95d8c39 Update AI.js 2025-04-10 20:17:35 -07:00
KernelDeimos dc2e406cc6 fix: use event service 2025-04-10 15:45:46 -04:00
KernelDeimos c7c7f78255 Revert "tmp: temporary timeout to test a theory"
This reverts commit d1e4ed7f63.
2025-04-10 01:40:21 -04:00
KernelDeimos d1e4ed7f63 tmp: temporary timeout to test a theory 2025-04-10 01:32:53 -04:00
KernelDeimos 3f0e990398 dev: polling in usage tab 2025-04-09 14:34:32 -04:00
KernelDeimos f0c06931bd fix: check funding with no args 2025-04-09 14:34:32 -04:00
KernelDeimos 2c9bc8f9e0 dev: instant update for usage in settings 2025-04-09 14:34:32 -04:00
KernelDeimos 0176a1f629 dev: update usages tab 2025-04-09 14:34:32 -04:00
KernelDeimos b5848012a9 delete: monthly usage limiting 2025-04-09 14:34:32 -04:00