@slopware/sloppy-linux-x64 0.1.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +5 -0
- package/bin/sloppy +0 -0
- package/bin/sloppyc +0 -0
- package/docs/KNOWN_LIMITATIONS.md +16 -0
- package/docs/LICENSES.md +6 -0
- package/docs/NOTICE.md +8 -0
- package/examples/README.md +140 -0
- package/examples/auth-api/README.md +20 -0
- package/examples/auth-api/app.js +61 -0
- package/examples/auth-api/appsettings.json +7 -0
- package/examples/auth-api/sloppy.json +5 -0
- package/examples/cache-basic/README.md +9 -0
- package/examples/cache-basic/app.js +32 -0
- package/examples/cache-hybrid-postgres/README.md +10 -0
- package/examples/cache-hybrid-postgres/app.js +27 -0
- package/examples/cache-output-api/README.md +10 -0
- package/examples/cache-output-api/app.js +35 -0
- package/examples/codec-base64-hex/README.md +14 -0
- package/examples/codec-base64-hex/app.js +15 -0
- package/examples/codec-checksums/README.md +15 -0
- package/examples/codec-checksums/app.js +8 -0
- package/examples/codec-compression/README.md +13 -0
- package/examples/codec-compression/app.js +9 -0
- package/examples/codec-streaming-compression/README.md +19 -0
- package/examples/codec-streaming-compression/app.js +16 -0
- package/examples/codec-text-binary/README.md +16 -0
- package/examples/codec-text-binary/app.js +17 -0
- package/examples/compiler-hello/README.md +71 -0
- package/examples/compiler-hello/app.js +7 -0
- package/examples/compiler-hello/expected/app.js +8 -0
- package/examples/compiler-hello/expected/app.js.map +53 -0
- package/examples/compiler-hello/expected/app.plan.json +229 -0
- package/examples/compiler-hello/expected/routes.slrt +0 -0
- package/examples/config-basic/README.md +13 -0
- package/examples/config-basic/app.js +13 -0
- package/examples/config-basic/appsettings.json +7 -0
- package/examples/config-secrets-redaction/README.md +9 -0
- package/examples/config-secrets-redaction/app.js +9 -0
- package/examples/config-secrets-redaction/appsettings.json +5 -0
- package/examples/config-strict-mode/README.md +7 -0
- package/examples/config-strict-mode/app.js +10 -0
- package/examples/config-strict-mode/appsettings.json +7 -0
- package/examples/configured-api/README.md +38 -0
- package/examples/configured-api/app.js +12 -0
- package/examples/configured-api/appsettings.Development.json +5 -0
- package/examples/configured-api/appsettings.json +6 -0
- package/examples/configured-api/sloppy.json +5 -0
- package/examples/core-config-secrets/README.md +10 -0
- package/examples/core-config-secrets/app.js +15 -0
- package/examples/core-fs-time-codec/README.md +9 -0
- package/examples/core-fs-time-codec/app.js +8 -0
- package/examples/core-network-time-codec/README.md +11 -0
- package/examples/core-network-time-codec/app.js +20 -0
- package/examples/core-policy-audit/README.md +7 -0
- package/examples/core-policy-audit/app.js +22 -0
- package/examples/core-process-time-codec/README.md +8 -0
- package/examples/core-process-time-codec/app.js +28 -0
- package/examples/core-worker-time/README.md +8 -0
- package/examples/core-worker-time/app.js +17 -0
- package/examples/crypto-hash-hmac/README.md +17 -0
- package/examples/crypto-hash-hmac/app.js +29 -0
- package/examples/crypto-password/README.md +21 -0
- package/examples/crypto-password/app.js +12 -0
- package/examples/crypto-random-token/README.md +16 -0
- package/examples/crypto-random-token/app.js +12 -0
- package/examples/crypto-secret-constant-time/README.md +21 -0
- package/examples/crypto-secret-constant-time/app.js +15 -0
- package/examples/data-foundation/README.md +39 -0
- package/examples/data-foundation/app.js +63 -0
- package/examples/dependency-graph/README.md +19 -0
- package/examples/dependency-graph/fixtures/graph-helper/index.js +3 -0
- package/examples/dependency-graph/fixtures/graph-helper/package.json +6 -0
- package/examples/dependency-graph/package.json +7 -0
- package/examples/dependency-graph/public/message.txt +1 -0
- package/examples/dependency-graph/sloppy.json +9 -0
- package/examples/dependency-graph/src/main.ts +8 -0
- package/examples/dogfood/README.md +23 -0
- package/examples/dogfood/dogfood.json +136 -0
- package/examples/dynamic-module-include/README.md +20 -0
- package/examples/dynamic-module-include/public/readme.txt +1 -0
- package/examples/dynamic-module-include/sloppy.json +12 -0
- package/examples/dynamic-module-include/src/main.ts +6 -0
- package/examples/dynamic-module-include/src/plugins/alpha.js +3 -0
- package/examples/dynamic-module-include/src/plugins/beta.js +3 -0
- package/examples/ergonomics/README.md +42 -0
- package/examples/ergonomics/app.js +38 -0
- package/examples/framework-controller/README.md +12 -0
- package/examples/framework-controller/app.js +31 -0
- package/examples/framework-di-services/README.md +17 -0
- package/examples/framework-di-services/app.ts +40 -0
- package/examples/framework-explicit-binding/README.md +12 -0
- package/examples/framework-explicit-binding/app.ts +34 -0
- package/examples/framework-hello/README.md +16 -0
- package/examples/framework-hello/app.ts +16 -0
- package/examples/framework-postgres-crud/README.md +73 -0
- package/examples/framework-postgres-crud/app.ts +64 -0
- package/examples/framework-sqlite-crud/README.md +52 -0
- package/examples/framework-sqlite-crud/app.ts +90 -0
- package/examples/framework-sqlite-crud/appsettings.json +11 -0
- package/examples/framework-sqlserver-crud/README.md +73 -0
- package/examples/framework-sqlserver-crud/app.ts +64 -0
- package/examples/framework-validation-errors/README.md +12 -0
- package/examples/framework-validation-errors/app.ts +16 -0
- package/examples/fs-basic/README.md +24 -0
- package/examples/fs-basic/app.js +12 -0
- package/examples/fs-roots-policy/README.md +14 -0
- package/examples/fs-roots-policy/app.js +4 -0
- package/examples/fs-streams/README.md +18 -0
- package/examples/fs-streams/app.js +11 -0
- package/examples/fs-watch/README.md +19 -0
- package/examples/fs-watch/app.js +11 -0
- package/examples/hello/README.md +63 -0
- package/examples/hello/app.js +19 -0
- package/examples/hello-minimal/README.md +51 -0
- package/examples/hello-minimal/sloppy.json +5 -0
- package/examples/hello-minimal/src/main.ts +9 -0
- package/examples/http-client-basic/README.md +11 -0
- package/examples/http-client-basic/app.js +46 -0
- package/examples/http-client-generated/README.md +22 -0
- package/examples/http-client-generated/openapi.json +45 -0
- package/examples/http-client-resilience/README.md +4 -0
- package/examples/http-client-resilience/app.js +38 -0
- package/examples/http-client-runtime-loopback/README.md +24 -0
- package/examples/http-client-testhost/README.md +4 -0
- package/examples/http-client-testhost/app.js +27 -0
- package/examples/http-client-testhost-package-mock/README.md +26 -0
- package/examples/http-client-typed/README.md +5 -0
- package/examples/http-client-typed/app.js +33 -0
- package/examples/modules-api/README.md +30 -0
- package/examples/modules-api/app.js +9 -0
- package/examples/modules-api/modules/routes.js +16 -0
- package/examples/modules-api/sloppy.json +5 -0
- package/examples/modules-basic/README.md +32 -0
- package/examples/modules-basic/app.js +41 -0
- package/examples/net-deadline-cancel/README.md +13 -0
- package/examples/net-deadline-cancel/app.js +34 -0
- package/examples/net-local-ipc/README.md +12 -0
- package/examples/net-local-ipc/app.js +46 -0
- package/examples/net-policy-strict/README.md +12 -0
- package/examples/net-policy-strict/app.js +34 -0
- package/examples/net-tcp-client/README.md +10 -0
- package/examples/net-tcp-client/app.js +23 -0
- package/examples/net-tcp-echo/README.md +11 -0
- package/examples/net-tcp-echo/app.js +45 -0
- package/examples/net-tcp-server/README.md +10 -0
- package/examples/net-tcp-server/app.js +28 -0
- package/examples/node-compat-path-events/README.md +15 -0
- package/examples/node-compat-path-events/sloppy.json +6 -0
- package/examples/node-compat-path-events/src/main.ts +15 -0
- package/examples/ops-compiler/README.md +9 -0
- package/examples/ops-compiler/app.js +26 -0
- package/examples/ops-health-metrics-management/README.md +14 -0
- package/examples/ops-health-metrics-management/app.js +24 -0
- package/examples/orm-basic/README.md +17 -0
- package/examples/orm-basic/app.js +82 -0
- package/examples/orm-cursor-export/README.md +16 -0
- package/examples/orm-cursor-export/app.js +28 -0
- package/examples/orm-migrations/README.md +14 -0
- package/examples/orm-migrations/migrations/.gitkeep +1 -0
- package/examples/orm-migrations/sloppy.json +9 -0
- package/examples/orm-migrations/src/app.ts +34 -0
- package/examples/orm-relations-includes/README.md +10 -0
- package/examples/orm-relations-includes/app.js +47 -0
- package/examples/orm-testservices/README.md +37 -0
- package/examples/orm-testservices/test.mjs +32 -0
- package/examples/os-runtime-api/README.md +11 -0
- package/examples/os-runtime-api/app.js +44 -0
- package/examples/package-zod-like/README.md +28 -0
- package/examples/package-zod-like/fixtures/zod-like/index.js +48 -0
- package/examples/package-zod-like/fixtures/zod-like/package.json +12 -0
- package/examples/package-zod-like/package.json +7 -0
- package/examples/package-zod-like/sloppy.json +6 -0
- package/examples/package-zod-like/src/main.ts +16 -0
- package/examples/postgres-basic/README.md +31 -0
- package/examples/postgres-basic/app.js +50 -0
- package/examples/prealpha-control-plane/README.md +50 -0
- package/examples/prealpha-control-plane/appsettings.Development.json +11 -0
- package/examples/prealpha-control-plane/appsettings.json +15 -0
- package/examples/prealpha-control-plane/sloppy.json +5 -0
- package/examples/prealpha-control-plane/src/db/schema.js +7 -0
- package/examples/prealpha-control-plane/src/db/seed.js +6 -0
- package/examples/prealpha-control-plane/src/main.js +21 -0
- package/examples/prealpha-control-plane/src/routes/apps.js +34 -0
- package/examples/prealpha-control-plane/src/routes/builds.js +25 -0
- package/examples/prealpha-control-plane/src/routes/deployments.js +19 -0
- package/examples/prealpha-control-plane/src/routes/diagnostics.js +11 -0
- package/examples/prealpha-control-plane/src/routes/health.js +27 -0
- package/examples/prealpha-control-plane/src/routes/projects.js +38 -0
- package/examples/prealpha-control-plane/src/services/diagnosticsSink.js +11 -0
- package/examples/prealpha-control-plane/src/services/repositories.js +9 -0
- package/examples/prealpha-control-plane/src/validation/schemas.js +6 -0
- package/examples/program-fs-process/README.md +31 -0
- package/examples/program-fs-process/sloppy.json +9 -0
- package/examples/program-fs-process/src/main.ts +27 -0
- package/examples/program-hello/README.md +32 -0
- package/examples/program-hello/main.ts +8 -0
- package/examples/program-hello/message.ts +1 -0
- package/examples/program-hello/sloppy.json +5 -0
- package/examples/rate-limit-auth/README.md +3 -0
- package/examples/rate-limit-auth/app.js +14 -0
- package/examples/rate-limit-basic/README.md +3 -0
- package/examples/rate-limit-basic/app.js +13 -0
- package/examples/rate-limit-redis/README.md +5 -0
- package/examples/rate-limit-redis/app.js +20 -0
- package/examples/rate-limit-testhost/README.md +4 -0
- package/examples/rate-limit-testhost/app.js +13 -0
- package/examples/rate-limit-websocket/README.md +3 -0
- package/examples/rate-limit-websocket/app.js +16 -0
- package/examples/realtime-auth/README.md +8 -0
- package/examples/realtime-auth/app.js +25 -0
- package/examples/realtime-auth/test.mjs +43 -0
- package/examples/realtime-chat/README.md +8 -0
- package/examples/realtime-chat/app.js +32 -0
- package/examples/realtime-chat/test.mjs +52 -0
- package/examples/realtime-dashboard/README.md +20 -0
- package/examples/realtime-dashboard/app.js +37 -0
- package/examples/realtime-presence/README.md +8 -0
- package/examples/realtime-presence/app.js +32 -0
- package/examples/realtime-presence/test.mjs +50 -0
- package/examples/realtime-testhost/README.md +8 -0
- package/examples/realtime-testhost/test.mjs +31 -0
- package/examples/redis-basic/README.md +17 -0
- package/examples/redis-basic/app.js +39 -0
- package/examples/redis-cache/README.md +14 -0
- package/examples/redis-cache/app.js +36 -0
- package/examples/redis-locks/README.md +13 -0
- package/examples/redis-locks/app.js +49 -0
- package/examples/request-context/README.md +32 -0
- package/examples/request-context/app.js +15 -0
- package/examples/sqlite-basic/README.md +52 -0
- package/examples/sqlite-basic/app.js +56 -0
- package/examples/sqlserver-basic/README.md +36 -0
- package/examples/sqlserver-basic/app.js +59 -0
- package/examples/static-files-basic/README.md +11 -0
- package/examples/static-files-basic/app.js +12 -0
- package/examples/static-files-basic/public/app.js +1 -0
- package/examples/static-files-basic/public/site.css +3 -0
- package/examples/static-files-package/README.md +12 -0
- package/examples/static-files-package/app.js +10 -0
- package/examples/static-files-package/public/index.html +2 -0
- package/examples/static-files-precompressed/README.md +12 -0
- package/examples/static-files-precompressed/app.js +11 -0
- package/examples/static-files-precompressed/public/app.js +1 -0
- package/examples/static-files-precompressed/public/app.js.br +0 -0
- package/examples/static-files-precompressed/public/app.js.gz +0 -0
- package/examples/static-files-spa/README.md +12 -0
- package/examples/static-files-spa/app.js +16 -0
- package/examples/static-files-spa/dist/assets/app.js +1 -0
- package/examples/static-files-spa/dist/index.html +4 -0
- package/examples/static-files-testhost/README.md +8 -0
- package/examples/static-files-testhost/app.js +13 -0
- package/examples/static-files-testhost/public/app.js +1 -0
- package/examples/static-files-testhost/public/app.js.gz +0 -0
- package/examples/static-files-testhost/test.mjs +38 -0
- package/examples/testhost-basic/README.md +26 -0
- package/examples/testhost-db/README.md +31 -0
- package/examples/testservices-postgres/README.md +68 -0
- package/examples/testservices-redis/README.md +71 -0
- package/examples/testservices-sqlserver/README.md +75 -0
- package/examples/time-basic/README.md +18 -0
- package/examples/time-basic/app.js +12 -0
- package/examples/time-deadline-cancellation/README.md +11 -0
- package/examples/time-deadline-cancellation/app.js +27 -0
- package/examples/time-fake-clock/README.md +14 -0
- package/examples/time-fake-clock/app.js +25 -0
- package/examples/time-interval-schedule/README.md +13 -0
- package/examples/time-interval-schedule/app.js +60 -0
- package/examples/users-api-sqlite/README.md +74 -0
- package/examples/users-api-sqlite/app.js +11 -0
- package/examples/users-api-sqlite/appsettings.Development.json +11 -0
- package/examples/users-api-sqlite/appsettings.json +11 -0
- package/examples/users-api-sqlite/modules/users.js +40 -0
- package/examples/users-api-sqlite/sloppy.json +5 -0
- package/examples/validation-errors/README.md +36 -0
- package/examples/validation-errors/app.js +14 -0
- package/examples/validation-errors/invalid-user.http +6 -0
- package/examples/validation-errors/sloppy.json +5 -0
- package/examples/web-dynamic-routes/README.md +17 -0
- package/examples/web-dynamic-routes/app.ts +27 -0
- package/examples/webhooks-basic/README.md +11 -0
- package/examples/webhooks-basic/app.js +48 -0
- package/examples/websocket-auth/README.md +8 -0
- package/examples/websocket-auth/app.js +16 -0
- package/examples/websocket-echo/README.md +9 -0
- package/examples/websocket-echo/app.js +36 -0
- package/examples/websocket-json-schema/README.md +5 -0
- package/examples/websocket-json-schema/app.js +25 -0
- package/examples/websocket-testhost/README.md +11 -0
- package/examples/websocket-testhost/test.mjs +49 -0
- package/examples/workers-background-service/README.md +7 -0
- package/examples/workers-background-service/app.js +16 -0
- package/examples/workers-js-isolate/README.md +8 -0
- package/examples/workers-js-isolate/app.js +19 -0
- package/examples/workers-js-isolate/workers/parser.ts +11 -0
- package/examples/workers-shutdown/README.md +6 -0
- package/examples/workers-shutdown/app.js +26 -0
- package/examples/workers-workerpool/README.md +6 -0
- package/examples/workers-workerpool/app.js +23 -0
- package/examples/workers-workqueue/README.md +8 -0
- package/examples/workers-workqueue/app.js +24 -0
- package/manifest.json +59 -0
- package/package.json +34 -0
- package/stdlib/sloppy/README.md +177 -0
- package/stdlib/sloppy/app.js +2142 -0
- package/stdlib/sloppy/auth.js +1813 -0
- package/stdlib/sloppy/bootstrap.manifest.json +83 -0
- package/stdlib/sloppy/cache.js +1542 -0
- package/stdlib/sloppy/codec.js +1153 -0
- package/stdlib/sloppy/config.js +61 -0
- package/stdlib/sloppy/crypto.js +312 -0
- package/stdlib/sloppy/data.js +2945 -0
- package/stdlib/sloppy/ffi.js +185 -0
- package/stdlib/sloppy/fs.js +795 -0
- package/stdlib/sloppy/health.js +603 -0
- package/stdlib/sloppy/http.js +1595 -0
- package/stdlib/sloppy/index.js +59 -0
- package/stdlib/sloppy/internal/bytes.js +31 -0
- package/stdlib/sloppy/internal/capabilities.js +155 -0
- package/stdlib/sloppy/internal/config.js +640 -0
- package/stdlib/sloppy/internal/disposable.js +31 -0
- package/stdlib/sloppy/internal/headers.js +63 -0
- package/stdlib/sloppy/internal/intrinsics.js +2 -0
- package/stdlib/sloppy/internal/json.js +20 -0
- package/stdlib/sloppy/internal/logging.js +278 -0
- package/stdlib/sloppy/internal/modules.js +405 -0
- package/stdlib/sloppy/internal/redaction.js +87 -0
- package/stdlib/sloppy/internal/routes.js +2279 -0
- package/stdlib/sloppy/internal/runtime-classic.js +19837 -0
- package/stdlib/sloppy/internal/services.js +690 -0
- package/stdlib/sloppy/internal/shared.js +32 -0
- package/stdlib/sloppy/internal/testhost-diagnostics.js +88 -0
- package/stdlib/sloppy/internal/testhost-http-server.js +238 -0
- package/stdlib/sloppy/internal/testhost-http.js +118 -0
- package/stdlib/sloppy/internal/testhost-loopback.js +50 -0
- package/stdlib/sloppy/internal/testservices-docker.js +154 -0
- package/stdlib/sloppy/internal/validation.js +117 -0
- package/stdlib/sloppy/metrics.js +427 -0
- package/stdlib/sloppy/net.js +5208 -0
- package/stdlib/sloppy/node/assert/strict.js +39 -0
- package/stdlib/sloppy/node/assert.js +228 -0
- package/stdlib/sloppy/node/buffer.js +247 -0
- package/stdlib/sloppy/node/console.js +33 -0
- package/stdlib/sloppy/node/constants.js +9 -0
- package/stdlib/sloppy/node/crypto.js +89 -0
- package/stdlib/sloppy/node/diagnostics_channel.js +41 -0
- package/stdlib/sloppy/node/events.js +113 -0
- package/stdlib/sloppy/node/fs/promises.js +27 -0
- package/stdlib/sloppy/node/fs.js +280 -0
- package/stdlib/sloppy/node/http.js +11 -0
- package/stdlib/sloppy/node/https.js +11 -0
- package/stdlib/sloppy/node/module.js +40 -0
- package/stdlib/sloppy/node/os.js +22 -0
- package/stdlib/sloppy/node/path.js +78 -0
- package/stdlib/sloppy/node/perf_hooks.js +12 -0
- package/stdlib/sloppy/node/process.js +129 -0
- package/stdlib/sloppy/node/querystring.js +21 -0
- package/stdlib/sloppy/node/stream/promises.js +3 -0
- package/stdlib/sloppy/node/stream.js +132 -0
- package/stdlib/sloppy/node/string_decoder.js +23 -0
- package/stdlib/sloppy/node/timers.js +26 -0
- package/stdlib/sloppy/node/tty.js +18 -0
- package/stdlib/sloppy/node/url.js +17 -0
- package/stdlib/sloppy/node/util.js +95 -0
- package/stdlib/sloppy/node/zlib.js +72 -0
- package/stdlib/sloppy/orm.js +2188 -0
- package/stdlib/sloppy/os.js +580 -0
- package/stdlib/sloppy/problem-details.js +29 -0
- package/stdlib/sloppy/providers/sqlite.js +26 -0
- package/stdlib/sloppy/rate-limit.js +856 -0
- package/stdlib/sloppy/realtime.js +1508 -0
- package/stdlib/sloppy/redis.js +1272 -0
- package/stdlib/sloppy/request-id.js +184 -0
- package/stdlib/sloppy/request-logging.js +101 -0
- package/stdlib/sloppy/results.js +933 -0
- package/stdlib/sloppy/schema.js +546 -0
- package/stdlib/sloppy/testing.js +4081 -0
- package/stdlib/sloppy/testservices.js +1041 -0
- package/stdlib/sloppy/time.js +894 -0
- package/stdlib/sloppy/webhooks.js +1330 -0
- package/stdlib/sloppy/workers.js +986 -0
- package/templates/api/README.md +82 -0
- package/templates/api/appsettings.Development.json +14 -0
- package/templates/api/appsettings.json +13 -0
- package/templates/api/data/.gitkeep +1 -0
- package/templates/api/gitignore +4 -0
- package/templates/api/migrations/0001_create_users.sql +1 -0
- package/templates/api/package.json +16 -0
- package/templates/api/public/hello.txt +1 -0
- package/templates/api/sloppy.json +14 -0
- package/templates/api/src/config.ts +1 -0
- package/templates/api/src/db/migrate.ts +14 -0
- package/templates/api/src/db/schema.ts +4 -0
- package/templates/api/src/db/usersRepository.ts +23 -0
- package/templates/api/src/main.ts +18 -0
- package/templates/api/src/models/user.ts +7 -0
- package/templates/api/src/routes/health.ts +20 -0
- package/templates/api/src/routes/users.ts +40 -0
- package/templates/api/src/services/usersService.ts +21 -0
- package/templates/api/tsconfig.json +15 -0
- package/templates/cli/README.md +16 -0
- package/templates/cli/gitignore +2 -0
- package/templates/cli/package.json +13 -0
- package/templates/cli/sloppy.json +6 -0
- package/templates/cli/src/commands/echo.ts +9 -0
- package/templates/cli/src/commands/inspect.ts +20 -0
- package/templates/cli/src/main.ts +50 -0
- package/templates/cli/tsconfig.json +15 -0
- package/templates/minimal-api/README.md +14 -0
- package/templates/minimal-api/gitignore +3 -0
- package/templates/minimal-api/package.json +14 -0
- package/templates/minimal-api/sloppy.json +5 -0
- package/templates/minimal-api/src/main.ts +9 -0
- package/templates/minimal-api/tsconfig.json +15 -0
- package/templates/node-compat/README.md +40 -0
- package/templates/node-compat/gitignore +2 -0
- package/templates/node-compat/package.json +11 -0
- package/templates/node-compat/sloppy.json +6 -0
- package/templates/node-compat/src/main.ts +40 -0
- package/templates/package-api/README.md +44 -0
- package/templates/package-api/fixtures/validator-lite/index.js +7 -0
- package/templates/package-api/fixtures/validator-lite/package.json +6 -0
- package/templates/package-api/gitignore +3 -0
- package/templates/package-api/package.json +17 -0
- package/templates/package-api/sloppy.json +5 -0
- package/templates/package-api/src/main.ts +10 -0
- package/templates/package-api/src/routes/health.ts +5 -0
- package/templates/package-api/src/routes/users.ts +12 -0
- package/templates/package-api/tsconfig.json +15 -0
- package/templates/program/README.md +12 -0
- package/templates/program/gitignore +1 -0
- package/templates/program/package.json +10 -0
- package/templates/program/sloppy.json +6 -0
- package/templates/program/src/main.ts +9 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# Workers WorkerPool
|
|
2
|
+
|
|
3
|
+
This example shows the `WorkerPool` API and bounded admission shape for CPU/native offload style work.
|
|
4
|
+
|
|
5
|
+
Current bootstrap examples focus on API shape and lifecycle policy. Native CPU-parallel
|
|
6
|
+
execution is validated in V8/native bridge checks.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Sloppy, Results } from "sloppy";
|
|
2
|
+
import { Deadline } from "sloppy/time";
|
|
3
|
+
import { WorkerPool } from "sloppy/workers";
|
|
4
|
+
|
|
5
|
+
const app = Sloppy.create();
|
|
6
|
+
|
|
7
|
+
const pool = WorkerPool.create("image-processing", {
|
|
8
|
+
workers: 4,
|
|
9
|
+
maxQueued: 100,
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
app.use(pool);
|
|
13
|
+
app.mapPost("/images/resize", async () => {
|
|
14
|
+
const result = await pool.run(async (ctx) => {
|
|
15
|
+
return { bytes: ctx.input.length, resized: true };
|
|
16
|
+
}, {
|
|
17
|
+
input: new Uint8Array([1, 2, 3, 4]),
|
|
18
|
+
deadline: Deadline.after(5000),
|
|
19
|
+
});
|
|
20
|
+
return Results.json(result);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export default app;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# Workers WorkQueue
|
|
2
|
+
|
|
3
|
+
This example shows the `WorkQueue` API shape.
|
|
4
|
+
Shows a bounded in-process FIFO queue with explicit capacity, concurrency, overflow, and
|
|
5
|
+
retry policy.
|
|
6
|
+
|
|
7
|
+
Queue diagnostics and doctor output report policy metadata only; job payload values are not
|
|
8
|
+
included in diagnostics or goldens.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Sloppy, Results } from "sloppy";
|
|
2
|
+
import { WorkQueue } from "sloppy/workers";
|
|
3
|
+
|
|
4
|
+
const app = Sloppy.create();
|
|
5
|
+
|
|
6
|
+
const emails = WorkQueue.create("emails", {
|
|
7
|
+
maxQueued: 1000,
|
|
8
|
+
concurrency: 4,
|
|
9
|
+
overflow: "reject",
|
|
10
|
+
retry: { maxAttempts: 3, backoffMs: 0 },
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
emails.process(async (job, ctx) => {
|
|
14
|
+
ctx.signal.throwIfCancelled?.();
|
|
15
|
+
return { accepted: true, template: job.data.template };
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
app.use(emails);
|
|
19
|
+
app.mapPost("/emails/welcome", async () => {
|
|
20
|
+
await emails.enqueue({ to: "user@example.com", template: "welcome" });
|
|
21
|
+
return Results.accepted({ queued: true });
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export default app;
|
package/manifest.json
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"manifestSchema": "sloppy.release-artifact.v1",
|
|
3
|
+
"manifestVersion": 1,
|
|
4
|
+
"name": "sloppy",
|
|
5
|
+
"version": "0.1.0-alpha.0",
|
|
6
|
+
"archiveName": "sloppy-linux-x64.tar.gz",
|
|
7
|
+
"packageRoot": "sloppy-linux-x64",
|
|
8
|
+
"platform": "linux",
|
|
9
|
+
"arch": "x64",
|
|
10
|
+
"platformTriplet": "linux-x64",
|
|
11
|
+
"configuration": "Release",
|
|
12
|
+
"commit": "unknown",
|
|
13
|
+
"releaseKind": "dry-run",
|
|
14
|
+
"publicReleaseCreated": false,
|
|
15
|
+
"canonicalDistribution": "github-release-archive",
|
|
16
|
+
"npmPackageSource": "platform packages must be generated from this tested archive content",
|
|
17
|
+
"platformStatus": "experimental",
|
|
18
|
+
"runtimeUserStatus": "experimental V8 package smoke required",
|
|
19
|
+
"compiler": {
|
|
20
|
+
"name": "sloppyc",
|
|
21
|
+
"profile": "release",
|
|
22
|
+
"included": true
|
|
23
|
+
},
|
|
24
|
+
"v8": {
|
|
25
|
+
"sdkIncluded": false,
|
|
26
|
+
"runtimeIncluded": true,
|
|
27
|
+
"status": "linked runtime",
|
|
28
|
+
"version": "pinned by tools/deps/sloppy-deps.json",
|
|
29
|
+
"runtimeDirectory": "",
|
|
30
|
+
"notes": "Linux V8 runtime is provided by the Sloppy-owned SDK and linked into the packaged runtime"
|
|
31
|
+
},
|
|
32
|
+
"enabledFeatures": ["native-runtime", "stdlib", "compiler", "v8"],
|
|
33
|
+
"dependencyStatuses": {
|
|
34
|
+
"nativeRuntimeDependencies": "V8 linked into packaged runtime; platform system libraries remain host-provided",
|
|
35
|
+
"v8Sdk": "excluded",
|
|
36
|
+
"v8Runtime": "linked into packaged runtime",
|
|
37
|
+
"liveProviders": "not configured",
|
|
38
|
+
"runtimeDependencyAudit": "docs/release/runtime-dependency-audit.json"
|
|
39
|
+
},
|
|
40
|
+
"providers": {
|
|
41
|
+
"sqlite": "packaged runtime dependency status only; provider behavior evidence is separate",
|
|
42
|
+
"postgresql": "live-provider evidence is separate",
|
|
43
|
+
"sqlserver": "driver/runtime availability evidence is separate"
|
|
44
|
+
},
|
|
45
|
+
"containsV8Runtime": true,
|
|
46
|
+
"containsV8Sdk": false,
|
|
47
|
+
"containsStdlib": true,
|
|
48
|
+
"containsTemplates": true,
|
|
49
|
+
"containsExamples": true,
|
|
50
|
+
"containsNativeRuntimeDependencies": false,
|
|
51
|
+
"knownLimitations": "docs/KNOWN_LIMITATIONS.md",
|
|
52
|
+
"checksums": {
|
|
53
|
+
"file": "SHA256SUMS.txt",
|
|
54
|
+
"algorithm": "SHA-256"
|
|
55
|
+
},
|
|
56
|
+
"tools": ["sloppy", "sloppyc"],
|
|
57
|
+
"layoutVersion": 1,
|
|
58
|
+
"notes": ["experimental", "dry-run artifact", "production readiness tracked separately", "dry-run only", "no installer", "no package manager", "npm launcher packages may reuse this archive but do not install app dependencies or add runtime node_modules discovery"]
|
|
59
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@slopware/sloppy-linux-x64",
|
|
3
|
+
"version": "0.1.0-alpha.0",
|
|
4
|
+
"description": "Linux x64 GNU Sloppy runtime package generated from a tested release archive.",
|
|
5
|
+
"license": "Apache-2.0",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/RtlZeroMemory/Slop.git"
|
|
9
|
+
},
|
|
10
|
+
"os": [
|
|
11
|
+
"linux"
|
|
12
|
+
],
|
|
13
|
+
"cpu": [
|
|
14
|
+
"x64"
|
|
15
|
+
],
|
|
16
|
+
"libc": [
|
|
17
|
+
"glibc"
|
|
18
|
+
],
|
|
19
|
+
"files": [
|
|
20
|
+
"bin/",
|
|
21
|
+
"stdlib/",
|
|
22
|
+
"templates/",
|
|
23
|
+
"examples/",
|
|
24
|
+
"docs/",
|
|
25
|
+
"manifest.json",
|
|
26
|
+
"LICENSE",
|
|
27
|
+
"README.md",
|
|
28
|
+
"package.json"
|
|
29
|
+
],
|
|
30
|
+
"publishConfig": {
|
|
31
|
+
"tag": "alpha",
|
|
32
|
+
"access": "public"
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
# Sloppy Bootstrap Stdlib
|
|
2
|
+
|
|
3
|
+
This directory contains the active bootstrap standard library and staged runtime asset set.
|
|
4
|
+
This directory contains the source-controlled JavaScript facade used by bootstrap tests,
|
|
5
|
+
examples, compiler fixtures, and staged runtime assets. It is the Sloppy
|
|
6
|
+
bootstrap facade for the current runtime surface.
|
|
7
|
+
|
|
8
|
+
## Layout
|
|
9
|
+
|
|
10
|
+
```text
|
|
11
|
+
stdlib/sloppy/
|
|
12
|
+
index.js
|
|
13
|
+
app.js
|
|
14
|
+
results.js
|
|
15
|
+
schema.js
|
|
16
|
+
cache.js
|
|
17
|
+
testing.js
|
|
18
|
+
testservices.js
|
|
19
|
+
data.js
|
|
20
|
+
orm.js
|
|
21
|
+
redis.js
|
|
22
|
+
fs.js
|
|
23
|
+
http.js
|
|
24
|
+
net.js
|
|
25
|
+
problem-details.js
|
|
26
|
+
request-id.js
|
|
27
|
+
request-logging.js
|
|
28
|
+
time.js
|
|
29
|
+
codec.js
|
|
30
|
+
crypto.js
|
|
31
|
+
os.js
|
|
32
|
+
workers.js
|
|
33
|
+
health.js
|
|
34
|
+
metrics.js
|
|
35
|
+
webhooks.js
|
|
36
|
+
internal/
|
|
37
|
+
capabilities.js
|
|
38
|
+
config.js
|
|
39
|
+
intrinsics.js
|
|
40
|
+
logging.js
|
|
41
|
+
modules.js
|
|
42
|
+
routes.js
|
|
43
|
+
services.js
|
|
44
|
+
shared.js
|
|
45
|
+
runtime-classic.js
|
|
46
|
+
bootstrap.manifest.json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
The installed layout is staged under:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
lib/sloppy/bootstrap/sloppy/
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Current Surface
|
|
56
|
+
|
|
57
|
+
- `index.js` re-exports the app-host facade, result helpers, problem detail defaults,
|
|
58
|
+
schema helpers, provider
|
|
59
|
+
facades, and core API namespaces.
|
|
60
|
+
- `app.js` provides the bootstrap builder/app/module surface used by examples and tests:
|
|
61
|
+
`Sloppy.create()`, `Sloppy.createBuilder()`, `Sloppy.module(...)`, `Router.group(...)`,
|
|
62
|
+
route registration, middleware/filter registration, app-host CORS policy/preflight
|
|
63
|
+
handling, health/readiness/liveness/startup routes, management endpoints, route-only `app.useModule(...)`,
|
|
64
|
+
explicit controller mapping, group metadata, config/log/services/capabilities facades,
|
|
65
|
+
structural freeze behavior, and debug snapshots.
|
|
66
|
+
- `internal/capabilities.js`, `internal/config.js`, `internal/logging.js`,
|
|
67
|
+
`internal/modules.js`, `internal/routes.js`, `internal/services.js`, and
|
|
68
|
+
`internal/shared.js` hold app-host implementation helpers. They are staged bootstrap
|
|
69
|
+
assets. Public imports should use `sloppy`.
|
|
70
|
+
- `results.js` provides frozen result descriptor helpers. V8-gated runtime conversion is
|
|
71
|
+
handled by the engine/runtime bridge; response writing belongs to runtime conversion.
|
|
72
|
+
- `app.js` owns `app.useErrors(...)` and `app.mapError(...)`; `problem-details.js`
|
|
73
|
+
keeps `ProblemDetails.defaults(...)` as the compatibility descriptor for safe
|
|
74
|
+
route-handler error responses.
|
|
75
|
+
- `request-id.js` provides `RequestId.defaults(...)` middleware for app-host request
|
|
76
|
+
IDs, trusted incoming ID admission, and optional response headers.
|
|
77
|
+
- `request-logging.js` provides `RequestLogging.defaults(...)` middleware that writes
|
|
78
|
+
one structured entry per completed app-host request through the configured logger.
|
|
79
|
+
- `health.js` and `metrics.js` provide the first-party operations backend used by
|
|
80
|
+
`app.health()` and `app.management(...)`.
|
|
81
|
+
- `redis.js` provides the first-party RESP2 Redis client, scripts, locks, bounded
|
|
82
|
+
pooling, metrics, diagnostics, and redaction over the Sloppy network bridge.
|
|
83
|
+
- `cache.js` provides the Redis-backed cache provider used by `Cache.redis(...)`
|
|
84
|
+
and app-host cache services.
|
|
85
|
+
- `schema.js` provides the current `Schema` validation metadata surface for
|
|
86
|
+
strings, numbers, integers, booleans, arrays, enums, literals, optional,
|
|
87
|
+
nullable, defaulted fields, object shapes, and request body validation
|
|
88
|
+
errors.
|
|
89
|
+
- `testing.js` provides `TestHost`, `TestServices`, `Testing.createHost`, fake clock helpers,
|
|
90
|
+
and test data helpers. App-host mode dispatches in memory through route
|
|
91
|
+
handlers, middleware, results, CORS, health checks, and scoped services.
|
|
92
|
+
Artifact/package modes call the Sloppy CLI so requests enter the native
|
|
93
|
+
runtime path. `TestServices` exposes honest live PostgreSQL and SQL Server
|
|
94
|
+
helpers that return `SKIPPED` service metadata when the env var or native
|
|
95
|
+
bridge is unavailable. The dogfood proof in
|
|
96
|
+
`tests/bootstrap/test_prealpha_control_plane_dogfood.mjs` imports the
|
|
97
|
+
`examples/prealpha-control-plane` route modules through this host.
|
|
98
|
+
- `testservices.js` provides experimental `TestServices`, the opt-in Docker-backed
|
|
99
|
+
PostgreSQL, SQL Server, and Redis test service layer. It uses `sloppy/os` process
|
|
100
|
+
APIs for Docker CLI lifecycle, `sloppy/data` provider bridges or the Redis client
|
|
101
|
+
for readiness, and redacted diagnostics/cleanup for TestHost integration.
|
|
102
|
+
- `http.js` provides the first-party outbound HTTP factory: named clients,
|
|
103
|
+
typed clients, resilience policies, service registration metadata, TestHost
|
|
104
|
+
mocks, metrics, diagnostics, and health snapshots over the low-level
|
|
105
|
+
`HttpClient` transport in `net.js`.
|
|
106
|
+
- `webhooks.js` provides first-party webhook event descriptors, provider-backed
|
|
107
|
+
outbox SQL templates, subscription management, transactional publish, signed
|
|
108
|
+
delivery attempts, retry/dead-letter handling, inbound verification, and
|
|
109
|
+
TestHost-friendly receiver helpers.
|
|
110
|
+
- `codec.js`, `crypto.js`, `fs.js`, `time.js`, `net.js`, `os.js`, and `workers.js` expose
|
|
111
|
+
the current public API shape and feature-gated bridge calls where native bridge support
|
|
112
|
+
exists.
|
|
113
|
+
- `data.js` exposes query-template lowering, provider metadata helpers, and SQLite,
|
|
114
|
+
PostgreSQL, and SQL Server bridge entry points when the V8 lane installs the matching
|
|
115
|
+
provider bridge with Plan/capability metadata. SQL operation options accept `signal`,
|
|
116
|
+
`deadline`, and `timeoutMs` for Slop-side pre-dispatch cancellation/deadline checks.
|
|
117
|
+
- `orm.js` exposes the first-party table/column DSL, schemas, CRUD helpers,
|
|
118
|
+
query builder, relation includes, migration snapshot/diff helpers, raw SQL
|
|
119
|
+
escape hatch, cursor adapter, and ORM error classes. Public imports should
|
|
120
|
+
use `sloppy/orm`.
|
|
121
|
+
- `internal/runtime-classic.js` is the V8-gated classic-script runtime asset loaded before
|
|
122
|
+
generated artifacts. Generated code reads `globalThis.__sloppy_runtime` and registers
|
|
123
|
+
handlers through Sloppy-owned intrinsics. The embedded ORM runtime is generated
|
|
124
|
+
from `schema.js` and `orm.js` by `tools/scripts/sync-orm-runtime-classic.mjs`.
|
|
125
|
+
|
|
126
|
+
## Boundaries
|
|
127
|
+
|
|
128
|
+
- The bootstrap stdlib is JavaScript source staged with the runtime.
|
|
129
|
+
- Source examples may use relative imports into this directory when they are API-shape
|
|
130
|
+
fixtures; compiler-owned runnable examples use the supported bare `"sloppy"` input shape.
|
|
131
|
+
- Feature-gated APIs fail closed when the active runtime bridge is unavailable.
|
|
132
|
+
- SQL operation cancellation/deadline options are Slop-side admission checks unless a
|
|
133
|
+
provider-specific lane separately documents and tests active native interruption.
|
|
134
|
+
- Native handles and raw pointers are not exposed to JavaScript. Resource-backed bridge
|
|
135
|
+
facades use opaque Sloppy-owned objects, not public slot/generation fields.
|
|
136
|
+
- Node compatibility is limited to explicit `sloppy/node/*` shim modules staged by
|
|
137
|
+
the dependency-loader path. Bun, Deno, browser Web API compatibility, full npm
|
|
138
|
+
ecosystem parity, and runtime package-manager behavior remain separate work.
|
|
139
|
+
- Benchmark and release readiness are covered by dedicated docs and gates.
|
|
140
|
+
|
|
141
|
+
## Future Work
|
|
142
|
+
|
|
143
|
+
- `app.run`, `app.listen`, and `app.build` belong to later app lifecycle work.
|
|
144
|
+
- Public handler registration APIs will be documented when the runtime support lands.
|
|
145
|
+
- Full compiler extraction and arbitrary import rewriting beyond the supported
|
|
146
|
+
Sloppy/package resolver subset are compiler/runtime work.
|
|
147
|
+
- Native plugins and full app lifecycle integration are planned separately.
|
|
148
|
+
- Config file/environment/CLI loading inside the JS stdlib itself, secret managers,
|
|
149
|
+
tracing exporters, async service factories, and native service graph
|
|
150
|
+
validation belong to later framework/runtime slices. Native console and JSONL file
|
|
151
|
+
logging sinks are owned by the C runtime and configured through Plan/config metadata.
|
|
152
|
+
|
|
153
|
+
## Source Docs
|
|
154
|
+
|
|
155
|
+
- `docs/api/index.md`
|
|
156
|
+
- `docs/api/testhost.md` — `TestHost`
|
|
157
|
+
- `docs/api/testservices.md` — `TestServices`
|
|
158
|
+
- `docs/api/orm.md` — `sloppy/orm`
|
|
159
|
+
- `docs/reference/orm.md` — ORM reference
|
|
160
|
+
- `docs/internals/orm-runtime.md` — ORM runtime embedding and compiler Plan metadata
|
|
161
|
+
- `docs/api/filesystem.md` — `sloppy/fs`
|
|
162
|
+
- `docs/api/network.md` — `sloppy/net`
|
|
163
|
+
- `docs/api/http-client.md` — `Http` and `HttpClient`
|
|
164
|
+
- `docs/reference/http-client.md` — HTTP factory reference
|
|
165
|
+
- `docs/internals/http-client-runtime.md` — HTTP client runtime architecture
|
|
166
|
+
- `docs/api/os.md` — `sloppy/os`
|
|
167
|
+
- `docs/api/time.md` — `sloppy/time`
|
|
168
|
+
- `docs/api/crypto.md` — `sloppy/crypto`
|
|
169
|
+
- `docs/api/codec.md` — `sloppy/codec`
|
|
170
|
+
- `docs/api/redis.md` — `Redis`
|
|
171
|
+
- `docs/api/cache.md` — `Cache.redis`
|
|
172
|
+
- `docs/api/workers.md` — `sloppy/workers`
|
|
173
|
+
- `docs/contributor/js-ts-standards.md`
|
|
174
|
+
- `docs/reference/supported-syntax.md`
|
|
175
|
+
- `docs/reference/providers.md`
|
|
176
|
+
- `docs/internals/security-model.md`
|
|
177
|
+
- `docs/internals/runtime.md`
|