Commit Graph

59 Commits

Author SHA1 Message Date
KernelDeimos e8d9b7b35d dev(puterfs): move rmdir to extension 2025-11-05 16:06:35 -05:00
KernelDeimos b853383c6e clean: remove debug log from puterfs.unlink 2025-11-04 21:32:41 -05:00
KernelDeimos a5c26eaece clean: remove verbose log for getUserSubscription 2025-11-04 21:32:41 -05:00
KernelDeimos a0ff03b13d dev: implement unlink in puterfs extension 2025-11-04 21:32:41 -05:00
KernelDeimos 4b959f3f4b dev: add proxy for PuterFSProvider
This temporary proxy provider will allow methods of the puterfs
filesystem type to be moved to an extension incrementally instead of all
at once. See comment above the class for a more detailed explanation.
2025-11-04 21:32:41 -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 11d2515cb2 fix: ts issue when building for deploy (#1890) 2025-11-02 06:36:02 -08:00
Daniel Salazar e8e8fa92c2 cleanup: more benign changes (#1889) 2025-11-02 06:30:30 -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)
* fix: allow stripe header

* fix: commit db migration
2025-11-01 16:16:49 -07:00
Daniel Salazar 603746951b feat: ui for dev account + util decorators for controllers in extension (#1864)
* fix: IPC trigger for dev account setup + util decorators for ext controllers

* feat: allow extension to bypass json

* fix: ts building in volatile
2025-10-31 15:48:21 -07:00
KernelDeimos c12485995a dev: restore simplification in api.d.ts
The PR I merged before putting this one up had my changes to api.d.ts
which I thought where on this branch - turns out I only thought that
because this branch had that one as a parent.

However #1818 has a simplification that this change overwrites. I'd like
to keep this simplification so this commit is restoring it.
2025-10-30 14:06:28 -04: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
KernelDeimos cd5d0ca5dc dev(extensions): [+] puterfs (copies memoryfs)
This extension has a copy of memoryfs which is exposed as `testfs`. The
purpose of this is to register a new filesystem type from an extension
to ensure it works as expected and to get feedback on a working example.
2025-10-27 19:54:36 -04:00
KernelDeimos dda1c00614 dev(extensions): exports and types for FS 2025-10-27 19:54:36 -04: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
Daniel Salazar 219fd2274c feat: allow for unlimitedAllowList + typedefs snuck in by accident (#1813)
* feat: allow for unlimitedAllowList

* feat: add clearer types to extensions
2025-10-23 13:57:32 -07:00
Daniel Salazar 256189a7de feat: route for global usage aggregate (#1810)
* feat: route for global usage aggregate

* feat: add globalUsageEndpoint to puter-js

* fix: globalUsage endpoint
2025-10-22 16:46:13 -07:00
Daniel Salazar 9394b5e204 docs: metering and examples (#1803)
* chore: expose meteringService methods in wrapper while not in an extension

* docs: metering and examples
2025-10-21 17:25:46 -07:00
Daniel Salazar 16fd614b84 feat: rename meteringAndBilling to metering (#1800) 2025-10-21 14:59:24 -07:00
Daniel Salazar 9bdb139f7a fix: bad null check (#1770) 2025-10-16 14:00:20 -07:00
Daniel Salazar b4cafaa5bb fix: alowance typo (#1756) 2025-10-15 12:09:57 -07:00
Daniel Salazar 7e8842e35d feat: add alarms to meteringService if cost for service is unexpectedly 0 (#1755)
* feat: add alarms to meteringService if cost for service is unexpectedly 0

* fix: better sub checks
2025-10-15 12:05:15 -07:00
Daniel Salazar 24a51c59ae fix: metering typos (#1754) 2025-10-15 10:39:18 -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
Daniel Salazar 96a58ced29 metering: new usage endpoint + puter-js changes for it (#1738)
* metering: new usage endpoint

* metering: new usage endpoint + puter-js changes for it
2025-10-14 12:44:40 -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 9b34e67d0d fix: add missing await in kv example extension 2025-10-09 19:39:02 -04:00
Daniel Salazar f06bec4cd4 feat: extract and centralize cost maps (#1691) 2025-10-06 14:52:09 -07:00
KernelDeimos 39fdcec9bf fix: add missing utilities.js 2025-10-03 17:12:41 -04:00
KernelDeimos 9c5b96305a example(extensions): [+] example-kv 2025-10-03 16:53:23 -04:00
KernelDeimos 36b30ebf57 dev(extensions): [+] extension-examples:ii:hello-world 2025-10-02 18:35:20 -04:00
KernelDeimos 54b8990c70 devex(extensions): simplify kv get and set methods
The basic `.get()` and `.set()` calls should be the same between
persistent key-value store (puter-kvstore) and in-memory cache (kv.js).
This commit wraps these methods to support the "shorthand" usage.
2025-10-02 16:53:59 -04:00
KernelDeimos 36ddad0ecc lint: add config global to extensions 2025-10-01 16:58:46 -04:00
KernelDeimos 9946d2ffc5 dev(extensions): event for extensions to grant permst 2025-10-01 16:46:59 -04:00
KernelDeimos 574088ea55 doc: improve extension documentation
- describe extension events
- link drivers documentation
2025-10-01 16:03:24 -04:00
KernelDeimos ec8111cc2f dev(extensions): improved configuration support
Extensions now read configuration objects under the "extensions" block
in the backend configuration. Additionally, a `config.json` for default
values directly in the extension's directory is now supported.
2025-10-01 15:29:13 -04:00
KernelDeimos c11a4008ee doc: improve comments in hellodriver.js 2025-09-30 17:12:09 -04:00
KernelDeimos 057eaa46ca dev(extensions): [+] hellodriver
The hellodriver extension provides a useful interface for generating
greetings at the same time as a simple example of how to implement
drivers.
2025-09-30 16:33:34 -04:00
KernelDeimos d85f5fad5e dev: expose 'kv' as 'cache' from data extension 2025-09-26 17:31:00 -04:00
KernelDeimos 601eb019a2 dev(extensions): [+] data
The data extension adds convenient access to the database and kvstore
via it's 'db' and 'kv' exports.

Example usage:
  const { db, kv } = extensions.import('data');
  await kv.set('some-key', 'some-value');
  await db.write('INSERT INTO something (a, b) VALUES (1, 2)');
2025-09-26 15:28:00 -04:00
KernelDeimos 0c30a9e157 fixup! dev(extensions): [+] whoami 2025-09-26 15:28:00 -04:00
KernelDeimos dabf8cac56 fix: add missing dep to whoami extension 2025-09-26 15:28:00 -04:00
KernelDeimos cb31c1d44e dev: add command to list extensions
This commit adds the `extension:list` command for listing extensions.
This command is itself defined in an extension. To make this possible,
an event called 'create.commands' is emitted form CommandService with
the event object holding a function that can be used to add commands.
2025-09-26 15:27:59 -04:00
KernelDeimos 7b4c62d1c3 lint: minor formatting issue with catch(e)
The custom eslint pluggin for the formatting rule I have for the
expressions in control structures isn't a good fit when the condition is
a single variable named by a single character. This happens a lot with
`catch`. `catch ( e ) {` has too much spacing, but `catch (e) {` looks
relatively normal.
2025-09-26 15:27:59 -04:00