diff --git a/package-lock.json b/package-lock.json
index 094c3213..140dc5a2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -43,7 +43,7 @@
"dependencies": {
"@heyputer/kv.js": "^0.1.3",
"@heyputer/multest": "^0.0.2",
- "@heyputer/puter-js-common": "^1.0.0",
+ "@heyputer/putil": "^1.0.0",
"@opentelemetry/api": "^1.4.1",
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
"@opentelemetry/exporter-trace-otlp-grpc": "^0.40.0",
@@ -195,7 +195,7 @@
"webpack-cli": "^5.1.4"
}
},
- "asdf/puter-js-common": {
+ "asdf/putil": {
"version": "1.0.0",
"extraneous": true,
"license": "UNLICENSED"
@@ -2597,14 +2597,18 @@
"resolved": "src/phoenix",
"link": true
},
- "node_modules/@heyputer/puter-js-common": {
- "resolved": "src/puter-js-common",
+ "node_modules/@heyputer/puter-wisp": {
+ "resolved": "src/puter-wisp",
"link": true
},
"node_modules/@heyputer/puterjs": {
"resolved": "src/puter-js",
"link": true
},
+ "node_modules/@heyputer/putil": {
+ "resolved": "src/putil",
+ "link": true
+ },
"node_modules/@heyputer/terminal": {
"resolved": "src/terminal",
"link": true
@@ -12515,9 +12519,9 @@
"license": "MIT"
},
"node_modules/mocha": {
- "version": "10.6.0",
- "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz",
- "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==",
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.3.tgz",
+ "integrity": "sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -16442,7 +16446,7 @@
"dependencies": {
"@heyputer/kv.js": "^0.1.3",
"@heyputer/multest": "^0.0.2",
- "@heyputer/puter-js-common": "^1.0.0",
+ "@heyputer/putil": "^1.0.0",
"@opentelemetry/api": "^1.4.1",
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
"@opentelemetry/exporter-trace-otlp-grpc": "^0.40.0",
@@ -16617,8 +16621,8 @@
"webpack-cli": "^5.1.4"
}
},
- "packages/puter-js-common": {
- "name": "@heyputer/puter-js-common",
+ "packages/putil": {
+ "name": "@heyputer/putil",
"version": "1.0.0",
"extraneous": true,
"license": "UNLICENSED"
@@ -16662,7 +16666,7 @@
"@aws-sdk/client-textract": "^3.621.0",
"@heyputer/kv.js": "^0.1.3",
"@heyputer/multest": "^0.0.2",
- "@heyputer/puter-js-common": "^1.0.0",
+ "@heyputer/putil": "^1.0.0",
"@mistralai/mistralai": "^1.0.3",
"@opentelemetry/api": "^1.4.1",
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
@@ -16902,8 +16906,13 @@
"webpack-cli": "^5.1.4"
}
},
- "src/puter-js-common": {
- "name": "@heyputer/puter-js-common",
+ "src/puter-wisp": {
+ "name": "@heyputer/puter-wisp",
+ "version": "1.0.0",
+ "license": "AGPL-3.0-only"
+ },
+ "src/putil": {
+ "name": "@heyputer/putil",
"version": "1.0.0",
"license": "UNLICENSED"
},
diff --git a/src/backend/doc/contributors/index.md b/src/backend/doc/contributors/index.md
index 52bebb8f..a73a5a40 100644
--- a/src/backend/doc/contributors/index.md
+++ b/src/backend/doc/contributors/index.md
@@ -71,7 +71,7 @@ doing the useless work that reveals what the useful work is.
## Underlying Constructs
-- [puter-js-common's README.md](../../packages/puter-js-common/README.md)
+- [putil's README.md](../../packages/putil/README.md)
- Whenever you see `AdvancedBase`, that's from here
- Many things in backend extend this. Anything that doesn't only doesn't
because it was written before `AdvancedBase` existed.
diff --git a/src/backend/doc/contributors/modules.md b/src/backend/doc/contributors/modules.md
index 188c7031..c20816c3 100644
--- a/src/backend/doc/contributors/modules.md
+++ b/src/backend/doc/contributors/modules.md
@@ -35,7 +35,7 @@ To function properly, Puter needs **CoreModule**, a database module,
and a storage module.
A module extends
-[AdvancedBase](../../../puter-js-common/README.md)
+[AdvancedBase](../../../putil/README.md)
and implements
an `install` method. The install method has one parameter, a
[Context](../../src/util/context.js)
diff --git a/src/backend/package.json b/src/backend/package.json
index 196807c3..ec2f197d 100644
--- a/src/backend/package.json
+++ b/src/backend/package.json
@@ -12,7 +12,7 @@
"@aws-sdk/client-textract": "^3.621.0",
"@heyputer/kv.js": "^0.1.3",
"@heyputer/multest": "^0.0.2",
- "@heyputer/puter-js-common": "^1.0.0",
+ "@heyputer/putil": "^1.0.0",
"@mistralai/mistralai": "^1.0.3",
"@opentelemetry/api": "^1.4.1",
"@opentelemetry/auto-instrumentations-node": "^0.43.0",
diff --git a/src/backend/src/CoreModule.js b/src/backend/src/CoreModule.js
index 13558f2c..f9026030 100644
--- a/src/backend/src/CoreModule.js
+++ b/src/backend/src/CoreModule.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const Library = require("./definitions/Library");
const { NotificationES } = require("./om/entitystorage/NotificationES");
const { ProtectedAppES } = require("./om/entitystorage/ProtectedAppES");
diff --git a/src/backend/src/DatabaseModule.js b/src/backend/src/DatabaseModule.js
index 27caecf3..1ba54a74 100644
--- a/src/backend/src/DatabaseModule.js
+++ b/src/backend/src/DatabaseModule.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class DatabaseModule extends AdvancedBase {
async install (context) {
diff --git a/src/backend/src/Kernel.js b/src/backend/src/Kernel.js
index 01062fdf..abcd1630 100644
--- a/src/backend/src/Kernel.js
+++ b/src/backend/src/Kernel.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { Context } = require('./util/context');
const BaseService = require("./services/BaseService");
const useapi = require('useapi');
diff --git a/src/backend/src/LocalDiskStorageModule.js b/src/backend/src/LocalDiskStorageModule.js
index a4415df0..65736f9b 100644
--- a/src/backend/src/LocalDiskStorageModule.js
+++ b/src/backend/src/LocalDiskStorageModule.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class LocalDiskStorageModule extends AdvancedBase {
async install (context) {
diff --git a/src/backend/src/PuterDriversModule.js b/src/backend/src/PuterDriversModule.js
index a4dfb59b..c828080a 100644
--- a/src/backend/src/PuterDriversModule.js
+++ b/src/backend/src/PuterDriversModule.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class PuterDriversModule extends AdvancedBase {
async install () {}
diff --git a/src/backend/src/ThirdPartyDriversModule.js b/src/backend/src/ThirdPartyDriversModule.js
index 03650753..9c0486a8 100644
--- a/src/backend/src/ThirdPartyDriversModule.js
+++ b/src/backend/src/ThirdPartyDriversModule.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class ThirdPartyDriversModule extends AdvancedBase {
// constructor () {
diff --git a/src/backend/src/boot/RuntimeEnvironment.js b/src/backend/src/boot/RuntimeEnvironment.js
index 195bb7c1..b602a753 100644
--- a/src/backend/src/boot/RuntimeEnvironment.js
+++ b/src/backend/src/boot/RuntimeEnvironment.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { quot } = require("../util/strutil");
const { TechnicalError } = require("../errors/TechnicalError");
const { print_error_help } = require("../errors/error_help_details");
diff --git a/src/backend/src/config/ConfigLoader.js b/src/backend/src/config/ConfigLoader.js
index a07c2a64..a9ff1e9d 100644
--- a/src/backend/src/config/ConfigLoader.js
+++ b/src/backend/src/config/ConfigLoader.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { quot } = require("../util/strutil");
class ConfigLoader extends AdvancedBase {
diff --git a/src/backend/src/definitions/Driver.js b/src/backend/src/definitions/Driver.js
index ded51255..6eaf3f23 100644
--- a/src/backend/src/definitions/Driver.js
+++ b/src/backend/src/definitions/Driver.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { Context } = require('../util/context')
const APIError = require("../api/APIError");
const { AppUnderUserActorType, UserActorType } = require("../services/auth/Actor");
diff --git a/src/backend/src/filesystem/FilesystemService.js b/src/backend/src/filesystem/FilesystemService.js
index c335efe5..bc47a653 100644
--- a/src/backend/src/filesystem/FilesystemService.js
+++ b/src/backend/src/filesystem/FilesystemService.js
@@ -27,7 +27,7 @@ const SystemFSEntryService = require('./storage/SystemFSEntryService.js');
const PerformanceMonitor = require('../monitor/PerformanceMonitor.js');
const { NodePathSelector, NodeUIDSelector, NodeInternalIDSelector } = require('./node/selectors.js');
const FSNodeContext = require('./FSNodeContext.js');
-const { AdvancedBase } = require('@heyputer/puter-js-common');
+const { AdvancedBase } = require('@heyputer/putil');
const { Context } = require('../util/context.js');
const { simple_retry } = require('../util/retryutil.js');
const APIError = require('../api/APIError.js');
diff --git a/src/backend/src/filesystem/batch/BatchExecutor.js b/src/backend/src/filesystem/batch/BatchExecutor.js
index 6da8e00b..53f6059f 100644
--- a/src/backend/src/filesystem/batch/BatchExecutor.js
+++ b/src/backend/src/filesystem/batch/BatchExecutor.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require('@heyputer/puter-js-common');
+const { AdvancedBase } = require('@heyputer/putil');
const PathResolver = require('../../routers/filesystem_api/batch/PathResolver');
const commands = require('./commands').commands;
const { WorkUnit } = require('../../services/runtime-analysis/ExpectationService');
diff --git a/src/backend/src/filesystem/batch/commands.js b/src/backend/src/filesystem/batch/commands.js
index 0385076a..b0ba0c7b 100644
--- a/src/backend/src/filesystem/batch/commands.js
+++ b/src/backend/src/filesystem/batch/commands.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { AsyncProviderFeature } = require("../../traits/AsyncProviderFeature");
const { HLMkdir, QuickMkdir } = require("../hl_operations/hl_mkdir");
const { Context } = require("../../util/context");
diff --git a/src/backend/src/filesystem/storage/DatabaseFSEntryService.js b/src/backend/src/filesystem/storage/DatabaseFSEntryService.js
index df84e69d..88adb0f8 100644
--- a/src/backend/src/filesystem/storage/DatabaseFSEntryService.js
+++ b/src/backend/src/filesystem/storage/DatabaseFSEntryService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { id2path } = require("../../helpers");
const { PuterPath } = require("../lib/PuterPath");
diff --git a/src/backend/src/modules/broadcast/BroadcastModule.js b/src/backend/src/modules/broadcast/BroadcastModule.js
index f7d0dc06..89dc422f 100644
--- a/src/backend/src/modules/broadcast/BroadcastModule.js
+++ b/src/backend/src/modules/broadcast/BroadcastModule.js
@@ -1,4 +1,4 @@
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class BroadcastModule extends AdvancedBase {
async install (context) {
diff --git a/src/backend/src/modules/broadcast/BroadcastService.js b/src/backend/src/modules/broadcast/BroadcastService.js
index dd7d6634..1365ab14 100644
--- a/src/backend/src/modules/broadcast/BroadcastService.js
+++ b/src/backend/src/modules/broadcast/BroadcastService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const BaseService = require("../../services/BaseService");
const { CLink } = require("./connection/CLink");
const { SLink } = require("./connection/SLink");
diff --git a/src/backend/src/modules/broadcast/connection/BaseLink.js b/src/backend/src/modules/broadcast/connection/BaseLink.js
index 0f391886..e0c4b8a2 100644
--- a/src/backend/src/modules/broadcast/connection/BaseLink.js
+++ b/src/backend/src/modules/broadcast/connection/BaseLink.js
@@ -1,4 +1,4 @@
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { ChannelFeature } = require("../../../traits/ChannelFeature");
class BaseLink extends AdvancedBase {
diff --git a/src/backend/src/modules/broadcast/connection/KeyPairHelper.js b/src/backend/src/modules/broadcast/connection/KeyPairHelper.js
index ab508168..8c24d69f 100644
--- a/src/backend/src/modules/broadcast/connection/KeyPairHelper.js
+++ b/src/backend/src/modules/broadcast/connection/KeyPairHelper.js
@@ -1,4 +1,4 @@
-const { AdvancedBase } = require('@heyputer/puter-js-common');
+const { AdvancedBase } = require('@heyputer/putil');
class KeyPairHelper extends AdvancedBase {
static MODULES = {
diff --git a/src/backend/src/modules/puterai/PuterAIModule.js b/src/backend/src/modules/puterai/PuterAIModule.js
index fb88b64e..9b6ac6fa 100644
--- a/src/backend/src/modules/puterai/PuterAIModule.js
+++ b/src/backend/src/modules/puterai/PuterAIModule.js
@@ -1,4 +1,4 @@
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const config = require("../../config");
class PuterAIModule extends AdvancedBase {
diff --git a/src/backend/src/modules/selfhosted/SelfHostedModule.js b/src/backend/src/modules/selfhosted/SelfHostedModule.js
index 8f1b6e4d..038d6f4c 100644
--- a/src/backend/src/modules/selfhosted/SelfHostedModule.js
+++ b/src/backend/src/modules/selfhosted/SelfHostedModule.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const config = require("../../config");
class SelfHostedModule extends AdvancedBase {
diff --git a/src/backend/src/modules/test-drivers/TestDriversModule.js b/src/backend/src/modules/test-drivers/TestDriversModule.js
index 609324a1..3f564ec7 100644
--- a/src/backend/src/modules/test-drivers/TestDriversModule.js
+++ b/src/backend/src/modules/test-drivers/TestDriversModule.js
@@ -1,4 +1,4 @@
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class TestDriversModule extends AdvancedBase {
async install (context) {
diff --git a/src/backend/src/om/IdentifierUtil.js b/src/backend/src/om/IdentifierUtil.js
index f70245d1..5eb7eea2 100644
--- a/src/backend/src/om/IdentifierUtil.js
+++ b/src/backend/src/om/IdentifierUtil.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { WeakConstructorFeature } = require("../traits/WeakConstructorFeature");
const { Eq, And } = require("./query/query");
const { Entity } = require("./entitystorage/Entity");
diff --git a/src/backend/src/om/definitions/Mapping.js b/src/backend/src/om/definitions/Mapping.js
index 1f6bc899..47a3587b 100644
--- a/src/backend/src/om/definitions/Mapping.js
+++ b/src/backend/src/om/definitions/Mapping.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { instance_ } = require("../../monitor/PerformanceMonitor");
const { WeakConstructorFeature } = require("../../traits/WeakConstructorFeature");
const { Property } = require("./Property");
diff --git a/src/backend/src/om/definitions/PropType.js b/src/backend/src/om/definitions/PropType.js
index b4a964fd..72477819 100644
--- a/src/backend/src/om/definitions/PropType.js
+++ b/src/backend/src/om/definitions/PropType.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { WeakConstructorFeature } = require("../../traits/WeakConstructorFeature");
class PropType extends AdvancedBase {
diff --git a/src/backend/src/om/definitions/Property.js b/src/backend/src/om/definitions/Property.js
index 76c11ea2..3789da27 100644
--- a/src/backend/src/om/definitions/Property.js
+++ b/src/backend/src/om/definitions/Property.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { WeakConstructorFeature } = require("../../traits/WeakConstructorFeature");
class Property extends AdvancedBase {
diff --git a/src/backend/src/om/entitystorage/BaseES.js b/src/backend/src/om/entitystorage/BaseES.js
index a91d4e90..ddb49b95 100644
--- a/src/backend/src/om/entitystorage/BaseES.js
+++ b/src/backend/src/om/entitystorage/BaseES.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { WeakConstructorFeature } = require("../../traits/WeakConstructorFeature");
const { Context } = require("../../util/context");
diff --git a/src/backend/src/om/entitystorage/Entity.js b/src/backend/src/om/entitystorage/Entity.js
index f02bba8c..abaedb33 100644
--- a/src/backend/src/om/entitystorage/Entity.js
+++ b/src/backend/src/om/entitystorage/Entity.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { WeakConstructorFeature } = require("../../traits/WeakConstructorFeature");
class Entity extends AdvancedBase {
diff --git a/src/backend/src/om/entitystorage/SQLES.js b/src/backend/src/om/entitystorage/SQLES.js
index 0a87f5e6..61c901bf 100644
--- a/src/backend/src/om/entitystorage/SQLES.js
+++ b/src/backend/src/om/entitystorage/SQLES.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { BaseES } = require("./BaseES");
const APIError = require("../../api/APIError");
diff --git a/src/backend/src/om/entitystorage/ValidationES.js b/src/backend/src/om/entitystorage/ValidationES.js
index 52cd2f9a..cfcf01b2 100644
--- a/src/backend/src/om/entitystorage/ValidationES.js
+++ b/src/backend/src/om/entitystorage/ValidationES.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { BaseES } = require("./BaseES");
const APIError = require("../../api/APIError");
diff --git a/src/backend/src/om/query/query.js b/src/backend/src/om/query/query.js
index 80d81b38..bdde50a3 100644
--- a/src/backend/src/om/query/query.js
+++ b/src/backend/src/om/query/query.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { WeakConstructorFeature } = require("../../traits/WeakConstructorFeature");
class Predicate extends AdvancedBase {
diff --git a/src/backend/src/routers/hosting/puter-site.js b/src/backend/src/routers/hosting/puter-site.js
index 3e77fedf..251ff8e3 100644
--- a/src/backend/src/routers/hosting/puter-site.js
+++ b/src/backend/src/routers/hosting/puter-site.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const api_error_handler = require("../../api/api_error_handler");
const config = require("../../config");
const { get_user, get_app, id2path } = require("../../helpers");
diff --git a/src/backend/src/services/BaseService.js b/src/backend/src/services/BaseService.js
index da6c6bae..0455b709 100644
--- a/src/backend/src/services/BaseService.js
+++ b/src/backend/src/services/BaseService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const NOOP = async () => {};
diff --git a/src/backend/src/services/Container.js b/src/backend/src/services/Container.js
index 72415232..0a55f8fd 100644
--- a/src/backend/src/services/Container.js
+++ b/src/backend/src/services/Container.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const config = require("../config");
const { Context } = require("../util/context");
const { CompositeError } = require("../util/errorutil");
diff --git a/src/backend/src/services/EngPortalService.js b/src/backend/src/services/EngPortalService.js
index 26d7db56..7e69363a 100644
--- a/src/backend/src/services/EngPortalService.js
+++ b/src/backend/src/services/EngPortalService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class EngPortalService extends AdvancedBase {
static MODULES = {
diff --git a/src/backend/src/services/OperationTraceService.js b/src/backend/src/services/OperationTraceService.js
index fd86c8f4..59c6527b 100644
--- a/src/backend/src/services/OperationTraceService.js
+++ b/src/backend/src/services/OperationTraceService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { Context } = require("../util/context");
const { ContextAwareFeature } = require("../traits/ContextAwareFeature");
const { OtelFeature } = require("../traits/OtelFeature");
diff --git a/src/backend/src/services/RegistryService.js b/src/backend/src/services/RegistryService.js
index 6b93e4ab..fe281471 100644
--- a/src/backend/src/services/RegistryService.js
+++ b/src/backend/src/services/RegistryService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const BaseService = require("./BaseService");
class MapCollection extends AdvancedBase {
diff --git a/src/backend/src/services/ServicePatch.js b/src/backend/src/services/ServicePatch.js
index f5b93b5b..57521585 100644
--- a/src/backend/src/services/ServicePatch.js
+++ b/src/backend/src/services/ServicePatch.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class ServicePatch extends AdvancedBase {
patch ({ original_service }) {
diff --git a/src/backend/src/services/StorageService.js b/src/backend/src/services/StorageService.js
index c10f9812..f9dfa08b 100644
--- a/src/backend/src/services/StorageService.js
+++ b/src/backend/src/services/StorageService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class StorageService extends AdvancedBase {
constructor ({ services }) {
diff --git a/src/backend/src/services/WSPushService.js b/src/backend/src/services/WSPushService.js
index 95a9bf7e..669c16dc 100644
--- a/src/backend/src/services/WSPushService.js
+++ b/src/backend/src/services/WSPushService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
class WSPushService extends AdvancedBase {
static MODULES = {
diff --git a/src/backend/src/services/abuse-prevention/IdentificationService.js b/src/backend/src/services/abuse-prevention/IdentificationService.js
index 4d2cd220..9de738a9 100644
--- a/src/backend/src/services/abuse-prevention/IdentificationService.js
+++ b/src/backend/src/services/abuse-prevention/IdentificationService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const BaseService = require("../BaseService");
const { Context } = require("../../util/context");
const config = require("../../config");
diff --git a/src/backend/src/services/auth/Actor.js b/src/backend/src/services/auth/Actor.js
index 410da5b1..8c929a4e 100644
--- a/src/backend/src/services/auth/Actor.js
+++ b/src/backend/src/services/auth/Actor.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { Context } = require("../../util/context");
const { get_user, get_app } = require("../../helpers");
const config = require("../../config");
diff --git a/src/backend/src/services/database/BaseDatabaseAccessService.js b/src/backend/src/services/database/BaseDatabaseAccessService.js
index 4396d16f..3b6fa0c8 100644
--- a/src/backend/src/services/database/BaseDatabaseAccessService.js
+++ b/src/backend/src/services/database/BaseDatabaseAccessService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const BaseService = require("../BaseService");
const { DB_WRITE, DB_READ } = require("./consts");
diff --git a/src/backend/src/services/drivers/DriverService.js b/src/backend/src/services/drivers/DriverService.js
index 8eb90823..e4f8c176 100644
--- a/src/backend/src/services/drivers/DriverService.js
+++ b/src/backend/src/services/drivers/DriverService.js
@@ -23,7 +23,7 @@ const { TypedValue } = require("./meta/Runtime");
const BaseService = require("../BaseService");
const { Driver } = require("../../definitions/Driver");
const { PermissionUtil } = require("../auth/PermissionService");
-const { Invoker } = require("@heyputer/puter-js-common/src/libs/invoker");
+const { Invoker } = require("../../../../putil/src/libs/invoker");
const { get_user } = require("../../helpers");
/**
diff --git a/src/backend/src/services/drivers/FileFacade.js b/src/backend/src/services/drivers/FileFacade.js
index 0a6d1b1a..3dd65f8b 100644
--- a/src/backend/src/services/drivers/FileFacade.js
+++ b/src/backend/src/services/drivers/FileFacade.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { Context } = require("../../util/context");
const { MultiValue } = require("../../util/multivalue");
const { stream_to_buffer } = require("../../util/streamutil");
diff --git a/src/backend/src/services/drivers/meta/Construct.js b/src/backend/src/services/drivers/meta/Construct.js
index 57f8cf93..9e344b11 100644
--- a/src/backend/src/services/drivers/meta/Construct.js
+++ b/src/backend/src/services/drivers/meta/Construct.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { BasicBase } = require("@heyputer/puter-js-common/src/bases/BasicBase");
+const { BasicBase } = require("../../../../../putil/src/bases/BasicBase");
const types = require("../types");
const { hash_serializable_object, stringify_serializable_object } = require("../../../util/datautil");
diff --git a/src/backend/src/services/drivers/meta/Runtime.js b/src/backend/src/services/drivers/meta/Runtime.js
index efad76c3..361626fd 100644
--- a/src/backend/src/services/drivers/meta/Runtime.js
+++ b/src/backend/src/services/drivers/meta/Runtime.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { BasicBase } = require("@heyputer/puter-js-common/src/bases/BasicBase");
+const { BasicBase } = require("../../../../../putil/src/bases/BasicBase");
const { TypeSpec } = require("./Construct");
class RuntimeEntity extends BasicBase {
diff --git a/src/backend/src/services/drivers/types.js b/src/backend/src/services/drivers/types.js
index 1c227bd9..fc0f00c8 100644
--- a/src/backend/src/services/drivers/types.js
+++ b/src/backend/src/services/drivers/types.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { is_valid_path } = require("../../filesystem/validation");
const { is_valid_url, is_valid_uuid4 } = require("../../helpers");
const { FileFacade } = require("./FileFacade");
diff --git a/src/backend/src/services/file-cache/FileCacheService.js b/src/backend/src/services/file-cache/FileCacheService.js
index c46e437e..faefe20d 100644
--- a/src/backend/src/services/file-cache/FileCacheService.js
+++ b/src/backend/src/services/file-cache/FileCacheService.js
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
const TeePromise = require("@heyputer/multest/src/util/TeePromise");
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const { FileTracker } = require("./FileTracker");
const { pausing_tee } = require("../../util/streamutil");
diff --git a/src/backend/src/services/sla/RateLimitService.js b/src/backend/src/services/sla/RateLimitService.js
index ecaf7a30..86d5b77a 100644
--- a/src/backend/src/services/sla/RateLimitService.js
+++ b/src/backend/src/services/sla/RateLimitService.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const APIError = require("../../api/APIError");
const { Context } = require("../../util/context");
const BaseService = require("../BaseService");
diff --git a/src/backend/src/services/thumbnails/HTTPThumbnailService.js b/src/backend/src/services/thumbnails/HTTPThumbnailService.js
index 805d124e..6c133f66 100644
--- a/src/backend/src/services/thumbnails/HTTPThumbnailService.js
+++ b/src/backend/src/services/thumbnails/HTTPThumbnailService.js
@@ -22,7 +22,7 @@
const axios = require('axios');
const { TeePromise } = require("../../util/promise");
-const { AdvancedBase } = require('@heyputer/puter-js-common');
+const { AdvancedBase } = require('@heyputer/putil');
const FormData = require("form-data");
const { stream_to_the_void, buffer_to_stream } = require('../../util/streamutil');
const BaseService = require('../BaseService');
diff --git a/src/backend/src/util/multivalue.js b/src/backend/src/util/multivalue.js
index c834e506..fdda6630 100644
--- a/src/backend/src/util/multivalue.js
+++ b/src/backend/src/util/multivalue.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
/**
* MutliValue represents a subject with multiple values or a value with multiple
diff --git a/src/backend/src/util/pathutil.js b/src/backend/src/util/pathutil.js
index c75d070a..124bfb3a 100644
--- a/src/backend/src/util/pathutil.js
+++ b/src/backend/src/util/pathutil.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
/**
* PathBuilder implements the builder pattern for building paths.
diff --git a/src/backend/tools/test.js b/src/backend/tools/test.js
index 4eb44fc0..65fbd419 100644
--- a/src/backend/tools/test.js
+++ b/src/backend/tools/test.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-const { AdvancedBase } = require("@heyputer/puter-js-common");
+const { AdvancedBase } = require("@heyputer/putil");
const useapi = require("useapi");
const { BaseService } = require("../exports");
const CoreModule = require("../src/CoreModule");
diff --git a/src/git/src/filesystem.js b/src/git/src/filesystem.js
index 8ad0cbce..6ef6fe0a 100644
--- a/src/git/src/filesystem.js
+++ b/src/git/src/filesystem.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { PosixError } from '@heyputer/puter-js-common/src/PosixError.js';
+import { PosixError } from '@heyputer/putil/src/PosixError.js';
import path_ from 'path-browserify';
let debug = false;
diff --git a/src/phoenix/src/platform/node/filesystem.js b/src/phoenix/src/platform/node/filesystem.js
index 7ca99309..7e66a170 100644
--- a/src/phoenix/src/platform/node/filesystem.js
+++ b/src/phoenix/src/platform/node/filesystem.js
@@ -20,7 +20,7 @@ import fs from 'fs';
import path_ from 'path';
import modeString from 'fs-mode-to-string';
-import { ErrorCodes, PosixError } from '@heyputer/puter-js-common/src/PosixError.js';
+import { ErrorCodes, PosixError } from '@heyputer/putil/src/PosixError.js';
// DRY: Almost the same as puter/filesystem.js
function wrapAPIs(apis) {
diff --git a/src/phoenix/src/platform/puter/filesystem.js b/src/phoenix/src/platform/puter/filesystem.js
index 49bc878f..d1188145 100644
--- a/src/phoenix/src/platform/puter/filesystem.js
+++ b/src/phoenix/src/platform/puter/filesystem.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { ErrorCodes, PosixError } from '@heyputer/puter-js-common/src/PosixError.js';
+import { ErrorCodes, PosixError } from '@heyputer/putil/src/PosixError.js';
// DRY: Almost the same as node/filesystem.js
function wrapAPIs(apis) {
diff --git a/src/phoenix/src/puter-shell/coreutils/errno.js b/src/phoenix/src/puter-shell/coreutils/errno.js
index 8ea010c1..8ffcde10 100644
--- a/src/phoenix/src/puter-shell/coreutils/errno.js
+++ b/src/phoenix/src/puter-shell/coreutils/errno.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { ErrorCodes, ErrorMetadata, errorFromIntegerCode } from '@heyputer/puter-js-common/src/PosixError.js';
+import { ErrorCodes, ErrorMetadata, errorFromIntegerCode } from '@heyputer/putil/src/PosixError.js';
import { Exit } from './coreutil_lib/exit.js';
const maxErrorNameLength = Object.keys(ErrorCodes)
diff --git a/src/phoenix/src/puter-shell/coreutils/touch.js b/src/phoenix/src/puter-shell/coreutils/touch.js
index d77b09d3..8ebb6531 100644
--- a/src/phoenix/src/puter-shell/coreutils/touch.js
+++ b/src/phoenix/src/puter-shell/coreutils/touch.js
@@ -18,7 +18,7 @@
*/
import { Exit } from './coreutil_lib/exit.js';
import { resolveRelativePath } from '../../util/path.js';
-import { ErrorCodes } from '@heyputer/puter-js-common/src/PosixError.js';
+import { ErrorCodes } from '@heyputer/putil/src/PosixError.js';
export default {
name: 'touch',
diff --git a/src/phoenix/test/coreutils/errno.js b/src/phoenix/test/coreutils/errno.js
index b749de46..036fb8e6 100644
--- a/src/phoenix/test/coreutils/errno.js
+++ b/src/phoenix/test/coreutils/errno.js
@@ -19,7 +19,7 @@
import assert from 'assert';
import { MakeTestContext } from './harness.js'
import builtins from '../../src/puter-shell/coreutils/__exports__.js';
-import { ErrorCodes, ErrorMetadata } from '@heyputer/puter-js-common/src/PosixError.js';
+import { ErrorCodes, ErrorMetadata } from '@heyputer/putil/src/PosixError.js';
export const runErrnoTests = () => {
describe('errno', function () {
diff --git a/src/pty/exports.js b/src/pty/exports.js
index 997fb797..2dcd3197 100644
--- a/src/pty/exports.js
+++ b/src/pty/exports.js
@@ -16,7 +16,7 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-import { libs } from '@heyputer/puter-js-common';
+import { libs } from '@heyputer/putil';
const { TeePromise, raceCase } = libs.promise;
const encoder = new TextEncoder();
diff --git a/src/puter-js-common/README.md b/src/putil/README.md
similarity index 100%
rename from src/puter-js-common/README.md
rename to src/putil/README.md
diff --git a/src/puter-js-common/index.js b/src/putil/index.js
similarity index 100%
rename from src/puter-js-common/index.js
rename to src/putil/index.js
diff --git a/src/puter-js-common/package.json b/src/putil/package.json
similarity index 84%
rename from src/puter-js-common/package.json
rename to src/putil/package.json
index f6de28c1..cbe89b9a 100644
--- a/src/puter-js-common/package.json
+++ b/src/putil/package.json
@@ -1,5 +1,5 @@
{
- "name": "@heyputer/puter-js-common",
+ "name": "@heyputer/putil",
"version": "1.0.0",
"description": "",
"main": "index.js",
diff --git a/src/puter-js-common/src/AdvancedBase.js b/src/putil/src/AdvancedBase.js
similarity index 100%
rename from src/puter-js-common/src/AdvancedBase.js
rename to src/putil/src/AdvancedBase.js
diff --git a/src/puter-js-common/src/PosixError.js b/src/putil/src/PosixError.js
similarity index 100%
rename from src/puter-js-common/src/PosixError.js
rename to src/putil/src/PosixError.js
diff --git a/src/puter-js-common/src/bases/BasicBase.js b/src/putil/src/bases/BasicBase.js
similarity index 100%
rename from src/puter-js-common/src/bases/BasicBase.js
rename to src/putil/src/bases/BasicBase.js
diff --git a/src/puter-js-common/src/bases/FeatureBase.js b/src/putil/src/bases/FeatureBase.js
similarity index 100%
rename from src/puter-js-common/src/bases/FeatureBase.js
rename to src/putil/src/bases/FeatureBase.js
diff --git a/src/puter-js-common/src/features/NodeModuleDIFeature.js b/src/putil/src/features/NodeModuleDIFeature.js
similarity index 100%
rename from src/puter-js-common/src/features/NodeModuleDIFeature.js
rename to src/putil/src/features/NodeModuleDIFeature.js
diff --git a/src/puter-js-common/src/features/PropertiesFeature.js b/src/putil/src/features/PropertiesFeature.js
similarity index 100%
rename from src/puter-js-common/src/features/PropertiesFeature.js
rename to src/putil/src/features/PropertiesFeature.js
diff --git a/src/puter-js-common/src/features/TraitsFeature.js b/src/putil/src/features/TraitsFeature.js
similarity index 100%
rename from src/puter-js-common/src/features/TraitsFeature.js
rename to src/putil/src/features/TraitsFeature.js
diff --git a/src/puter-js-common/src/libs/invoker.js b/src/putil/src/libs/invoker.js
similarity index 100%
rename from src/puter-js-common/src/libs/invoker.js
rename to src/putil/src/libs/invoker.js
diff --git a/src/puter-js-common/src/libs/promise.js b/src/putil/src/libs/promise.js
similarity index 100%
rename from src/puter-js-common/src/libs/promise.js
rename to src/putil/src/libs/promise.js
diff --git a/src/puter-js-common/test/test.js b/src/putil/test/test.js
similarity index 100%
rename from src/puter-js-common/test/test.js
rename to src/putil/test/test.js