@aurabase/aurabase-js 0.3.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/.changeset/config.json +11 -0
- package/CHANGELOG.md +30 -0
- package/LICENSE +21 -0
- package/README.md +833 -0
- package/package.json +90 -0
- package/packages/ai/LICENSE +21 -0
- package/packages/ai/README.md +106 -0
- package/packages/ai/dist/index.cjs +229 -0
- package/packages/ai/dist/index.d.cts +139 -0
- package/packages/ai/dist/index.d.ts +139 -0
- package/packages/ai/dist/index.js +226 -0
- package/packages/ai/node_modules/.bin/esbuild +19 -0
- package/packages/ai/node_modules/.bin/tsc +22 -0
- package/packages/ai/node_modules/.bin/tsserver +22 -0
- package/packages/ai/node_modules/.bin/tsup +22 -0
- package/packages/ai/node_modules/.bin/tsup-node +22 -0
- package/packages/ai/node_modules/.bin/vite +22 -0
- package/packages/ai/node_modules/.bin/vitest +22 -0
- package/packages/ai/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/ai/package.json +61 -0
- package/packages/ai/src/AiService.ts +226 -0
- package/packages/ai/src/index.ts +18 -0
- package/packages/ai/src/sse.ts +141 -0
- package/packages/ai/src/types.ts +30 -0
- package/packages/ai/tests/chat-stream.test.ts +151 -0
- package/packages/ai/tests/rag-namespaces.test.ts +54 -0
- package/packages/ai/tests/sse.test.ts +69 -0
- package/packages/ai/tsconfig.json +5 -0
- package/packages/ai/tsup.config.ts +11 -0
- package/packages/aurabase/LICENSE +21 -0
- package/packages/aurabase/README.md +64 -0
- package/packages/aurabase/dist/AuraClient-DAtDbfPB.d.cts +77 -0
- package/packages/aurabase/dist/AuraClient-DAtDbfPB.d.ts +77 -0
- package/packages/aurabase/dist/index.cjs +237 -0
- package/packages/aurabase/dist/index.d.cts +46 -0
- package/packages/aurabase/dist/index.d.ts +46 -0
- package/packages/aurabase/dist/index.js +177 -0
- package/packages/aurabase/dist/ssr.cjs +224 -0
- package/packages/aurabase/dist/ssr.d.cts +65 -0
- package/packages/aurabase/dist/ssr.d.ts +65 -0
- package/packages/aurabase/dist/ssr.js +214 -0
- package/packages/aurabase/node_modules/.bin/esbuild +19 -0
- package/packages/aurabase/node_modules/.bin/tsc +22 -0
- package/packages/aurabase/node_modules/.bin/tsserver +22 -0
- package/packages/aurabase/node_modules/.bin/tsup +22 -0
- package/packages/aurabase/node_modules/.bin/tsup-node +22 -0
- package/packages/aurabase/node_modules/.bin/vite +22 -0
- package/packages/aurabase/node_modules/.bin/vitest +22 -0
- package/packages/aurabase/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/aurabase/package.json +80 -0
- package/packages/aurabase/src/AuraClient.ts +237 -0
- package/packages/aurabase/src/index.ts +152 -0
- package/packages/aurabase/src/ssr.ts +156 -0
- package/packages/aurabase/tests/ai-streaming-rag-e2e.test.ts +82 -0
- package/packages/aurabase/tests/ai.test.ts +111 -0
- package/packages/aurabase/tests/auth-admin.test.ts +515 -0
- package/packages/aurabase/tests/auth-e2e.test.ts +135 -0
- package/packages/aurabase/tests/auth-hardening.test.ts +206 -0
- package/packages/aurabase/tests/auth.test.ts +947 -0
- package/packages/aurabase/tests/database.test.ts +230 -0
- package/packages/aurabase/tests/db-types-e2e.test.ts +217 -0
- package/packages/aurabase/tests/dispose.test.ts +23 -0
- package/packages/aurabase/tests/foreign-token.e2e.test.ts +129 -0
- package/packages/aurabase/tests/functions.test.ts +107 -0
- package/packages/aurabase/tests/integration.test.ts +413 -0
- package/packages/aurabase/tests/live-production-validation.js +241 -0
- package/packages/aurabase/tests/live-sdk-production-validation.js +293 -0
- package/packages/aurabase/tests/mocks.ts +139 -0
- package/packages/aurabase/tests/notifications.test.ts +314 -0
- package/packages/aurabase/tests/observability-backup.test.ts +186 -0
- package/packages/aurabase/tests/observability-hook.test.ts +130 -0
- package/packages/aurabase/tests/production-robustness.test.ts +268 -0
- package/packages/aurabase/tests/public-api-surface.test.ts +53 -0
- package/packages/aurabase/tests/query-builder.test.ts +329 -0
- package/packages/aurabase/tests/readme-smoke-e2e.test.ts +231 -0
- package/packages/aurabase/tests/realtime-filter-e2e.test.ts +344 -0
- package/packages/aurabase/tests/refresh-locks.test.ts +210 -0
- package/packages/aurabase/tests/retry-option.test.ts +17 -0
- package/packages/aurabase/tests/rpc-e2e.test.ts +254 -0
- package/packages/aurabase/tests/rs256-local-e2e.test.ts +114 -0
- package/packages/aurabase/tests/rt-alias-public-e2e.test.ts +235 -0
- package/packages/aurabase/tests/rt-http-broadcast-e2e.test.ts +124 -0
- package/packages/aurabase/tests/service-role-guard.test.ts +99 -0
- package/packages/aurabase/tests/ssr.test.ts +91 -0
- package/packages/aurabase/tests/storage-backend-e2e.test.ts +481 -0
- package/packages/aurabase/tests/storage-sdk-parity-e2e.test.ts +104 -0
- package/packages/aurabase/tests/storage-transform-e2e.test.ts +684 -0
- package/packages/aurabase/tests/storage.test.ts +55 -0
- package/packages/aurabase/tests/types/client-generic.test-d.ts +79 -0
- package/packages/aurabase/tests/types/docs-snippets.test-d.ts +571 -0
- package/packages/aurabase/tests/types/error-code.test-d.ts +53 -0
- package/packages/aurabase/tsconfig.json +5 -0
- package/packages/aurabase/tsconfig.test-d.json +5 -0
- package/packages/aurabase/tsup.config.ts +11 -0
- package/packages/aurabase/vitest.config.ts +16 -0
- package/packages/aurabase/vitest.e2e.config.ts +9 -0
- package/packages/auth/LICENSE +21 -0
- package/packages/auth/README.md +215 -0
- package/packages/auth/dist/index.cjs +1175 -0
- package/packages/auth/dist/index.d.cts +397 -0
- package/packages/auth/dist/index.d.ts +397 -0
- package/packages/auth/dist/index.js +1170 -0
- package/packages/auth/node_modules/.bin/esbuild +19 -0
- package/packages/auth/node_modules/.bin/tsc +22 -0
- package/packages/auth/node_modules/.bin/tsserver +22 -0
- package/packages/auth/node_modules/.bin/tsup +22 -0
- package/packages/auth/node_modules/.bin/tsup-node +22 -0
- package/packages/auth/node_modules/.bin/vite +22 -0
- package/packages/auth/node_modules/.bin/vitest +22 -0
- package/packages/auth/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/auth/package.json +61 -0
- package/packages/auth/src/AuthAdminService.ts +149 -0
- package/packages/auth/src/AuthService.ts +1166 -0
- package/packages/auth/src/SessionManager.ts +92 -0
- package/packages/auth/src/index.ts +17 -0
- package/packages/auth/src/jwks.ts +337 -0
- package/packages/auth/src/pkce.ts +27 -0
- package/packages/auth/src/types.ts +89 -0
- package/packages/auth/tests/auth-lifecycle.test.ts +149 -0
- package/packages/auth/tests/detect-session.test.ts +361 -0
- package/packages/auth/tests/getclaims.test.ts +780 -0
- package/packages/auth/tests/is-mfa-challenge.test.ts +27 -0
- package/packages/auth/tests/password-recovery.test.ts +124 -0
- package/packages/auth/tests/pkce.test.ts +192 -0
- package/packages/auth/tests/session-manager.test.ts +103 -0
- package/packages/auth/tests/set-session.test.ts +139 -0
- package/packages/auth/tests/verify-otp.test.ts +153 -0
- package/packages/auth/tsconfig.json +5 -0
- package/packages/auth/tsup.config.ts +11 -0
- package/packages/core/LICENSE +21 -0
- package/packages/core/README.md +132 -0
- package/packages/core/dist/index.cjs +695 -0
- package/packages/core/dist/index.d.cts +1137 -0
- package/packages/core/dist/index.d.ts +1137 -0
- package/packages/core/dist/index.js +673 -0
- package/packages/core/node_modules/.bin/esbuild +22 -0
- package/packages/core/node_modules/.bin/tsc +22 -0
- package/packages/core/node_modules/.bin/tsserver +22 -0
- package/packages/core/node_modules/.bin/tsup +22 -0
- package/packages/core/node_modules/.bin/tsup-node +22 -0
- package/packages/core/node_modules/.bin/vite +22 -0
- package/packages/core/node_modules/.bin/vitest +22 -0
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/core/package.json +57 -0
- package/packages/core/src/AuraError.ts +89 -0
- package/packages/core/src/BaseService.ts +44 -0
- package/packages/core/src/client.ts +34 -0
- package/packages/core/src/cookie-utils.ts +42 -0
- package/packages/core/src/fetch.ts +435 -0
- package/packages/core/src/index.ts +22 -0
- package/packages/core/src/retry.ts +63 -0
- package/packages/core/src/serialize.ts +6 -0
- package/packages/core/src/stores/BaseAuthStore.ts +164 -0
- package/packages/core/src/stores/LocalAuthStore.ts +199 -0
- package/packages/core/src/types.ts +1042 -0
- package/packages/core/tests/auth-store.test.ts +300 -0
- package/packages/core/tests/error-code.test.ts +61 -0
- package/packages/core/tests/error.test.ts +24 -0
- package/packages/core/tests/fetch.test.ts +286 -0
- package/packages/core/tests/mocks.ts +139 -0
- package/packages/core/tests/observability.test.ts +86 -0
- package/packages/core/tests/refresh-hardening.test.ts +164 -0
- package/packages/core/tests/refresh-observability.test.ts +111 -0
- package/packages/core/tests/retry.test.ts +106 -0
- package/packages/core/tests/serialize.test.ts +12 -0
- package/packages/core/tests/timeout.test.ts +79 -0
- package/packages/core/tsconfig.json +5 -0
- package/packages/core/tsup.config.ts +11 -0
- package/packages/db/LICENSE +21 -0
- package/packages/db/README.md +152 -0
- package/packages/db/VENDORED.md +93 -0
- package/packages/db/dist/index.cjs +544 -0
- package/packages/db/dist/index.d.cts +1111 -0
- package/packages/db/dist/index.d.ts +1111 -0
- package/packages/db/dist/index.js +541 -0
- package/packages/db/node_modules/.bin/esbuild +19 -0
- package/packages/db/node_modules/.bin/tsc +22 -0
- package/packages/db/node_modules/.bin/tsserver +22 -0
- package/packages/db/node_modules/.bin/tsup +22 -0
- package/packages/db/node_modules/.bin/tsup-node +22 -0
- package/packages/db/node_modules/.bin/vite +22 -0
- package/packages/db/node_modules/.bin/vitest +22 -0
- package/packages/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/db/package.json +62 -0
- package/packages/db/src/DatabaseService.ts +170 -0
- package/packages/db/src/QueryBuilder.ts +830 -0
- package/packages/db/src/index.ts +2 -0
- package/packages/db/src/pgrst-types/common/common.ts +86 -0
- package/packages/db/src/pgrst-types/common/rpc.ts +151 -0
- package/packages/db/src/pgrst-types/feature-flags.ts +20 -0
- package/packages/db/src/pgrst-types/types.ts +134 -0
- package/packages/db/src/select-query-parser/parser.ts +479 -0
- package/packages/db/src/select-query-parser/result.ts +553 -0
- package/packages/db/src/select-query-parser/types.ts +132 -0
- package/packages/db/src/select-query-parser/utils.ts +707 -0
- package/packages/db/tests/filters.test.ts +81 -0
- package/packages/db/tests/mutations-filtered.e2e.test.ts +132 -0
- package/packages/db/tests/mutations-filtered.test.ts +188 -0
- package/packages/db/tests/order.test.ts +45 -0
- package/packages/db/tests/rpc.test.ts +41 -0
- package/packages/db/tests/scale/build-large-schema.ts +94 -0
- package/packages/db/tests/scale/scale-compile.test.ts +167 -0
- package/packages/db/tests/schema.test.ts +77 -0
- package/packages/db/tests/single-accept.e2e.test.ts +123 -0
- package/packages/db/tests/single.test.ts +211 -0
- package/packages/db/tests/types/filters.test-d.ts +52 -0
- package/packages/db/tests/types/fixtures.ts +40 -0
- package/packages/db/tests/types/from-views.test-d.ts +18 -0
- package/packages/db/tests/types/mutations.test-d.ts +23 -0
- package/packages/db/tests/types/rpc.test-d.ts +60 -0
- package/packages/db/tests/types/schema-shape.test-d.ts +8 -0
- package/packages/db/tests/types/select-inference.test-d.ts +38 -0
- package/packages/db/tests/vendored/fixtures.ts +83 -0
- package/packages/db/tests/vendored/get-result.test-d.ts +75 -0
- package/packages/db/tsconfig.json +5 -0
- package/packages/db/tsconfig.test-d.json +5 -0
- package/packages/db/tsup.config.ts +11 -0
- package/packages/db/vitest.config.ts +8 -0
- package/packages/functions/LICENSE +21 -0
- package/packages/functions/README.md +96 -0
- package/packages/functions/dist/index.cjs +173 -0
- package/packages/functions/dist/index.d.cts +81 -0
- package/packages/functions/dist/index.d.ts +81 -0
- package/packages/functions/dist/index.js +168 -0
- package/packages/functions/node_modules/.bin/esbuild +19 -0
- package/packages/functions/node_modules/.bin/tsc +22 -0
- package/packages/functions/node_modules/.bin/tsserver +22 -0
- package/packages/functions/node_modules/.bin/tsup +22 -0
- package/packages/functions/node_modules/.bin/tsup-node +22 -0
- package/packages/functions/node_modules/.bin/vite +22 -0
- package/packages/functions/node_modules/.bin/vitest +22 -0
- package/packages/functions/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/functions/package.json +60 -0
- package/packages/functions/src/FunctionsService.ts +188 -0
- package/packages/functions/src/errors.ts +70 -0
- package/packages/functions/src/index.ts +6 -0
- package/packages/functions/tests/invoke.test.ts +97 -0
- package/packages/functions/tests/response-type-errors.test.ts +135 -0
- package/packages/functions/tsconfig.json +5 -0
- package/packages/functions/tsup.config.ts +11 -0
- package/packages/gen/LICENSE +21 -0
- package/packages/gen/README.md +84 -0
- package/packages/gen/dist/cli.cjs +334 -0
- package/packages/gen/dist/cli.d.cts +1 -0
- package/packages/gen/dist/cli.d.ts +1 -0
- package/packages/gen/dist/cli.js +332 -0
- package/packages/gen/dist/index.cjs +257 -0
- package/packages/gen/dist/index.d.cts +12 -0
- package/packages/gen/dist/index.d.ts +12 -0
- package/packages/gen/dist/index.js +255 -0
- package/packages/gen/node_modules/.bin/esbuild +19 -0
- package/packages/gen/node_modules/.bin/tsc +22 -0
- package/packages/gen/node_modules/.bin/tsserver +22 -0
- package/packages/gen/node_modules/.bin/tsup +22 -0
- package/packages/gen/node_modules/.bin/tsup-node +22 -0
- package/packages/gen/node_modules/.bin/vite +22 -0
- package/packages/gen/node_modules/.bin/vitest +22 -0
- package/packages/gen/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/gen/package.json +66 -0
- package/packages/gen/src/cli.ts +67 -0
- package/packages/gen/src/generate.ts +0 -0
- package/packages/gen/src/index.ts +2 -0
- package/packages/gen/tests/compile.test.ts +213 -0
- package/packages/gen/tests/e2e.test.ts +130 -0
- package/packages/gen/tests/generate.test.ts +396 -0
- package/packages/gen/tsconfig.json +5 -0
- package/packages/gen/tsup.config.ts +11 -0
- package/packages/notifications/LICENSE +21 -0
- package/packages/notifications/README.md +134 -0
- package/packages/notifications/dist/index.cjs +128 -0
- package/packages/notifications/dist/index.d.cts +81 -0
- package/packages/notifications/dist/index.d.ts +81 -0
- package/packages/notifications/dist/index.js +125 -0
- package/packages/notifications/node_modules/.bin/esbuild +19 -0
- package/packages/notifications/node_modules/.bin/tsc +22 -0
- package/packages/notifications/node_modules/.bin/tsserver +22 -0
- package/packages/notifications/node_modules/.bin/tsup +22 -0
- package/packages/notifications/node_modules/.bin/tsup-node +22 -0
- package/packages/notifications/node_modules/.bin/vite +22 -0
- package/packages/notifications/node_modules/.bin/vitest +22 -0
- package/packages/notifications/package.json +60 -0
- package/packages/notifications/src/NotificationsService.ts +230 -0
- package/packages/notifications/src/index.ts +19 -0
- package/packages/notifications/tsconfig.json +5 -0
- package/packages/notifications/tsup.config.ts +11 -0
- package/packages/realtime/LICENSE +21 -0
- package/packages/realtime/README.md +183 -0
- package/packages/realtime/dist/index.cjs +977 -0
- package/packages/realtime/dist/index.d.cts +259 -0
- package/packages/realtime/dist/index.d.ts +259 -0
- package/packages/realtime/dist/index.js +973 -0
- package/packages/realtime/node_modules/.bin/esbuild +19 -0
- package/packages/realtime/node_modules/.bin/tsc +22 -0
- package/packages/realtime/node_modules/.bin/tsserver +22 -0
- package/packages/realtime/node_modules/.bin/tsup +22 -0
- package/packages/realtime/node_modules/.bin/tsup-node +22 -0
- package/packages/realtime/node_modules/.bin/vite +22 -0
- package/packages/realtime/node_modules/.bin/vitest +22 -0
- package/packages/realtime/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/realtime/package.json +60 -0
- package/packages/realtime/src/AuraChannel.ts +485 -0
- package/packages/realtime/src/HeartbeatManager.ts +73 -0
- package/packages/realtime/src/RealtimeService.ts +505 -0
- package/packages/realtime/src/columnFilter.ts +301 -0
- package/packages/realtime/src/index.ts +4 -0
- package/packages/realtime/tests/ack-routing.test.ts +81 -0
- package/packages/realtime/tests/column-filter.test.ts +144 -0
- package/packages/realtime/tests/dispatch.test.ts +191 -0
- package/packages/realtime/tests/heartbeat.test.ts +67 -0
- package/packages/realtime/tests/http-broadcast.test.ts +68 -0
- package/packages/realtime/tests/realtime-token.test.ts +43 -0
- package/packages/realtime/tests/reconnect-race.test.ts +149 -0
- package/packages/realtime/tests/ref-id.test.ts +34 -0
- package/packages/realtime/tests/set-auth.test.ts +70 -0
- package/packages/realtime/tsconfig.json +5 -0
- package/packages/realtime/tsup.config.ts +11 -0
- package/packages/storage/LICENSE +21 -0
- package/packages/storage/README.md +141 -0
- package/packages/storage/dist/index.cjs +333 -0
- package/packages/storage/dist/index.d.cts +185 -0
- package/packages/storage/dist/index.d.ts +185 -0
- package/packages/storage/dist/index.js +329 -0
- package/packages/storage/node_modules/.bin/esbuild +19 -0
- package/packages/storage/node_modules/.bin/tsc +22 -0
- package/packages/storage/node_modules/.bin/tsserver +22 -0
- package/packages/storage/node_modules/.bin/tsup +22 -0
- package/packages/storage/node_modules/.bin/tsup-node +22 -0
- package/packages/storage/node_modules/.bin/vite +22 -0
- package/packages/storage/node_modules/.bin/vitest +22 -0
- package/packages/storage/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/storage/package.json +60 -0
- package/packages/storage/src/DownloadBuilder.ts +60 -0
- package/packages/storage/src/StorageService.ts +323 -0
- package/packages/storage/src/index.ts +2 -0
- package/packages/storage/src/path.ts +35 -0
- package/packages/storage/src/transform.ts +15 -0
- package/packages/storage/tests/download.test.ts +64 -0
- package/packages/storage/tests/parity.test.ts +154 -0
- package/packages/storage/tests/path.test.ts +87 -0
- package/packages/storage/tests/transform.test.ts +79 -0
- package/packages/storage/tsconfig.json +5 -0
- package/packages/storage/tsup.config.ts +11 -0
- package/pnpm-workspace.yaml +24 -0
- package/tsconfig.base.json +15 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
|
|
3
|
+
|
|
4
|
+
case `uname` in
|
|
5
|
+
*CYGWIN*|*MINGW*|*MSYS*)
|
|
6
|
+
if command -v cygpath > /dev/null 2>&1; then
|
|
7
|
+
basedir=`cygpath -w "$basedir"`
|
|
8
|
+
fi
|
|
9
|
+
;;
|
|
10
|
+
esac
|
|
11
|
+
|
|
12
|
+
if [ -z "$NODE_PATH" ]; then
|
|
13
|
+
export NODE_PATH="/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/vitest@4.1.9_@types+node@20.14.15_vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7_/node_modules/vitest/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/vitest@4.1.9_@types+node@20.14.15_vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7_/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/node_modules"
|
|
14
|
+
else
|
|
15
|
+
export NODE_PATH="/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/vitest@4.1.9_@types+node@20.14.15_vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7_/node_modules/vitest/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/vitest@4.1.9_@types+node@20.14.15_vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7_/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
+
fi
|
|
17
|
+
if [ -x "$basedir/node" ]; then
|
|
18
|
+
exec "$basedir/node" "$basedir/../vitest/vitest.mjs" "$@"
|
|
19
|
+
else
|
|
20
|
+
exec node "$basedir/../vitest/vitest.mjs" "$@"
|
|
21
|
+
fi
|
|
22
|
+
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/packages/db/node_modules/vitest/vitest.mjs
|
package/packages/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":"4.1.9","results":[[":tests/single.test.ts",{"duration":1128.5402080000003,"failed":false}],[":tests/filters.test.ts",{"duration":9.051457999999911,"failed":false}],[":tests/order.test.ts",{"duration":16.057416999999987,"failed":false}],[":tests/schema.test.ts",{"duration":752.6503750000002,"failed":false}],[":tests/types/schema-shape.test-d.ts",{"duration":0,"failed":false}],[":tests/types/select-inference.test-d.ts",{"duration":0,"failed":false}],[":tests/types/filters.test-d.ts",{"duration":0,"failed":false}],[":tests/types/mutations.test-d.ts",{"duration":0,"failed":false}],[":tests/rpc.test.ts",{"duration":1077.0271250000005,"failed":false}],[":tests/types/rpc.test-d.ts",{"duration":0,"failed":false}],[":tests/scale/scale-compile.test.ts",{"duration":18075.547792,"failed":false}],[":tests/vendored/get-result.test-d.ts",{"duration":0,"failed":false}],[":tests/mutations-filtered.test.ts",{"duration":1143.7555410000004,"failed":false}],[":tests/mutations-filtered.e2e.test.ts",{"duration":0,"failed":false}],[":tests/single-accept.e2e.test.ts",{"duration":0,"failed":false}],[":tests/types/from-views.test-d.ts",{"duration":0,"failed":false}]]}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@aurabase/db",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "Service base de données du SDK Aurabase : query builder typé PostgREST-like + inférence de types",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/index.cjs",
|
|
7
|
+
"module": "dist/index.js",
|
|
8
|
+
"types": "dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"default": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"sideEffects": false,
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"README.md",
|
|
25
|
+
"LICENSE"
|
|
26
|
+
],
|
|
27
|
+
"engines": {
|
|
28
|
+
"node": ">=20.0.0"
|
|
29
|
+
},
|
|
30
|
+
"license": "MIT",
|
|
31
|
+
"author": "Aurabase",
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/daylami555/aurabase.git",
|
|
35
|
+
"directory": "aurabase-js/packages/db"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://github.com/daylami555/aurabase/tree/main/aurabase-js/packages/db#readme",
|
|
38
|
+
"bugs": {
|
|
39
|
+
"url": "https://github.com/daylami555/aurabase/issues"
|
|
40
|
+
},
|
|
41
|
+
"keywords": [
|
|
42
|
+
"aurabase",
|
|
43
|
+
"baas",
|
|
44
|
+
"sdk",
|
|
45
|
+
"database",
|
|
46
|
+
"query"
|
|
47
|
+
],
|
|
48
|
+
"scripts": {
|
|
49
|
+
"build": "tsup",
|
|
50
|
+
"test": "vitest run --passWithNoTests && tsc --noEmit -p tsconfig.test-d.json",
|
|
51
|
+
"test:types": "tsc --noEmit -p tsconfig.test-d.json",
|
|
52
|
+
"typecheck": "tsc --noEmit"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@aurabase/core": "workspace:*"
|
|
56
|
+
},
|
|
57
|
+
"devDependencies": {
|
|
58
|
+
"tsup": "catalog:",
|
|
59
|
+
"typescript": "catalog:",
|
|
60
|
+
"vitest": "catalog:"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { BaseService } from '@aurabase/core'
|
|
2
|
+
import type { AuraResponse, SchemaTable, SchemaFunction, SchemaEnum, AuraClientLike } from '@aurabase/core'
|
|
3
|
+
import { AuraQueryBuilder, AuraFilterBuilder } from './QueryBuilder'
|
|
4
|
+
import type { AuraClientOptionsT } from './QueryBuilder'
|
|
5
|
+
import type { GenericSchema } from './pgrst-types/common/common'
|
|
6
|
+
import type { GetRpcFunctionFilterBuilderByArgs } from './pgrst-types/common/rpc'
|
|
7
|
+
|
|
8
|
+
export interface RpcOptions {
|
|
9
|
+
count?: 'exact' | 'planned' | 'estimated'
|
|
10
|
+
head?: boolean
|
|
11
|
+
get?: boolean
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// -- rpc() : typage vendoré (Schema['Functions']) + repli permissif -----------
|
|
15
|
+
//
|
|
16
|
+
// Signature UNIQUE (pas de 2 surcharges séparées) : la borne du paramètre `args`
|
|
17
|
+
// se calcule à partir de `Schema['Functions'][FnName]` — connue → Args strict
|
|
18
|
+
// (erreur de compilation sur un mauvais type d'argument) ; inconnue / Functions
|
|
19
|
+
// vide (`Record<string, never>`, valeur indexée = `never`) / Database non typé
|
|
20
|
+
// (`Schema = any`) → Args permissif (`Record<string, unknown>`).
|
|
21
|
+
//
|
|
22
|
+
// Un design classique à 2 surcharges (forte + `fn: string` fourre-tout) a été
|
|
23
|
+
// essayé et rejeté : vérifié empiriquement (cf. rapport de tâche), TypeScript
|
|
24
|
+
// retombe SILENCIEUSEMENT sur la surcharge permissive dès qu'un mauvais type
|
|
25
|
+
// d'argument est passé à une fonction connue — la 2e surcharge, structurellement
|
|
26
|
+
// compatible (elle accepte n'importe quel objet), absorbe l'appel sans erreur ;
|
|
27
|
+
// le `@ts-expect-error` du type-test devient alors "unused" (aucune erreur réelle
|
|
28
|
+
// détectée). Le calcul conditionnel ci-dessous produit le même comportement
|
|
29
|
+
// observable (fort si connu, permissif sinon) sans ce trou.
|
|
30
|
+
type RpcArgsFor<Schema extends GenericSchema, FnName extends string> = [
|
|
31
|
+
Schema['Functions'][FnName],
|
|
32
|
+
] extends [never]
|
|
33
|
+
? Record<string, unknown>
|
|
34
|
+
: FnName extends keyof Schema['Functions']
|
|
35
|
+
? Schema['Functions'][FnName]['Args']
|
|
36
|
+
: Record<string, unknown>
|
|
37
|
+
|
|
38
|
+
type RpcResultFor<Schema extends GenericSchema, FnName extends string, Args> = [
|
|
39
|
+
Schema['Functions'][FnName],
|
|
40
|
+
] extends [never]
|
|
41
|
+
? { Row: any; Result: any; RelationName: any; Relationships: any }
|
|
42
|
+
: FnName extends string & keyof Schema['Functions']
|
|
43
|
+
? GetRpcFunctionFilterBuilderByArgs<Schema, FnName, Args>
|
|
44
|
+
: { Row: any; Result: any; RelationName: any; Relationships: any }
|
|
45
|
+
|
|
46
|
+
export class DatabaseService<
|
|
47
|
+
Database = any,
|
|
48
|
+
Schema extends GenericSchema = Database extends { public: infer S }
|
|
49
|
+
? S extends GenericSchema
|
|
50
|
+
? S
|
|
51
|
+
: any
|
|
52
|
+
: any,
|
|
53
|
+
> extends BaseService {
|
|
54
|
+
constructor(client: AuraClientLike) {
|
|
55
|
+
super(client)
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
private get prefix(): string {
|
|
59
|
+
return `/v1/db/${this.client.projectId}`
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Start a query on a table. Returns a chainable QueryBuilder dont `.select()`
|
|
64
|
+
* infère son type de résultat via `GetResult` (parité PostgREST/Supabase) quand
|
|
65
|
+
* un `Database` typé est fourni à `createClient<Database>()`.
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* const { data, error } = await db.from('posts').eq('published', true).limit(10)
|
|
69
|
+
*/
|
|
70
|
+
from<TableName extends string & keyof Schema['Tables'], Table extends Schema['Tables'][TableName]>(
|
|
71
|
+
table: TableName,
|
|
72
|
+
): AuraQueryBuilder<Schema, Table, TableName, AuraClientOptionsT>
|
|
73
|
+
// COMPL LOT 4 : `from()` accepte aussi les Views (générées par LOT C). Surcharge
|
|
74
|
+
// dédiée (pattern postgrest-js) → `Relation` est résolu depuis `Schema['Views']`.
|
|
75
|
+
// `GenericView` (union updatable/non-updatable) : une vue non updatable ne porte
|
|
76
|
+
// pas `Insert`/`Update` → `insert()/update()/upsert()` retombent sur `never`
|
|
77
|
+
// (typage strict, cf. AuraQueryBuilder), seule la lecture (`select`) est offerte.
|
|
78
|
+
from<ViewName extends string & keyof Schema['Views'], View extends Schema['Views'][ViewName]>(
|
|
79
|
+
view: ViewName,
|
|
80
|
+
): AuraQueryBuilder<Schema, View, ViewName, AuraClientOptionsT>
|
|
81
|
+
// Repli non typé (Database = any) : conserve le comportement historique permissif.
|
|
82
|
+
from(table: string): AuraQueryBuilder<any, any, any, AuraClientOptionsT>
|
|
83
|
+
from(table: string): AuraQueryBuilder<any, any, any, AuraClientOptionsT> {
|
|
84
|
+
return new AuraQueryBuilder(this.client, `${this.prefix}/${table}`)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Exécute une requête SQL brute (passthrough direct vers Postgres).
|
|
89
|
+
*
|
|
90
|
+
* ⚠️ N'est PAS en lecture seule : SELECT, INSERT, UPDATE, DELETE et DDL
|
|
91
|
+
* s'exécutent réellement et persistent, dans la limite des GRANTs du rôle
|
|
92
|
+
* Postgres connecté pour ce projet (seule barrière de sécurité — il n'y a
|
|
93
|
+
* aucun filtre applicatif par type d'instruction côté serveur). Ne pas
|
|
94
|
+
* exposer cet endpoint sans restriction à des clients non fiables.
|
|
95
|
+
*/
|
|
96
|
+
async sql<T = unknown>(query: string, params?: unknown[]): Promise<AuraResponse<T>> {
|
|
97
|
+
return this.request<T>('POST', `${this.prefix}/raw`, { query, params })
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* Appelle une fonction Postgres exposée par PostgREST (`POST|GET|HEAD /rpc/{fn}`).
|
|
102
|
+
* Signature forte quand `Schema['Functions']` connaît `fn` (typage vendoré
|
|
103
|
+
* `GetRpcFunctionFilterBuilderByArgs`, parité postgrest-js) ; sinon repli permissif.
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* const { data } = await db.rpc('add', { a: 1, b: 2 })
|
|
107
|
+
* const { data } = await db.rpc('list_things', {}).eq('id', 2).select('id,name').single()
|
|
108
|
+
*/
|
|
109
|
+
rpc<
|
|
110
|
+
FnName extends string,
|
|
111
|
+
Args extends RpcArgsFor<Schema, FnName> = RpcArgsFor<Schema, FnName>,
|
|
112
|
+
Fn extends { Row: any; Result: any; RelationName: any; Relationships: any } = RpcResultFor<
|
|
113
|
+
Schema,
|
|
114
|
+
FnName,
|
|
115
|
+
Args
|
|
116
|
+
>,
|
|
117
|
+
>(
|
|
118
|
+
fn: FnName,
|
|
119
|
+
args?: Args,
|
|
120
|
+
options?: RpcOptions,
|
|
121
|
+
): AuraFilterBuilder<Schema, Fn['Row'], Fn['RelationName'], Fn['Relationships'], Fn['Result'], AuraClientOptionsT> {
|
|
122
|
+
const verb: 'POST' | 'GET' | 'HEAD' = options?.head ? 'HEAD' : options?.get ? 'GET' : 'POST'
|
|
123
|
+
const builder = new AuraFilterBuilder<any, any, any, any, any, AuraClientOptionsT>(
|
|
124
|
+
this.client,
|
|
125
|
+
`${this.prefix}/rpc/${fn}`,
|
|
126
|
+
)._initRpc(args ?? {}, verb, options?.count)
|
|
127
|
+
return builder as AuraFilterBuilder<
|
|
128
|
+
Schema,
|
|
129
|
+
Fn['Row'],
|
|
130
|
+
Fn['RelationName'],
|
|
131
|
+
Fn['Relationships'],
|
|
132
|
+
Fn['Result'],
|
|
133
|
+
AuraClientOptionsT
|
|
134
|
+
>
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Fetch the schema (tables & colonnes, fonctions Postgres exposées via PostgREST,
|
|
139
|
+
* types enum et vues) pour le projet courant.
|
|
140
|
+
*/
|
|
141
|
+
async schema(): Promise<
|
|
142
|
+
AuraResponse<{
|
|
143
|
+
tables: SchemaTable[]
|
|
144
|
+
functions: SchemaFunction[]
|
|
145
|
+
enums: SchemaEnum[]
|
|
146
|
+
views: SchemaTable[]
|
|
147
|
+
}>
|
|
148
|
+
> {
|
|
149
|
+
// Le backend renvoie un SchemaDefinition `{ project_id, engine, tables, functions,
|
|
150
|
+
// enums, views }` (LOT B). `enums`/`views` sont absents pour les adapters NoSQL et
|
|
151
|
+
// les backends antérieurs → repli `[]` (rétrocompat).
|
|
152
|
+
const res = await this.request<{
|
|
153
|
+
tables?: SchemaTable[]
|
|
154
|
+
functions?: SchemaFunction[]
|
|
155
|
+
enums?: SchemaEnum[]
|
|
156
|
+
views?: SchemaTable[]
|
|
157
|
+
}>('GET', `${this.prefix}/schema`)
|
|
158
|
+
if (res.error) return { data: null, error: res.error, meta: res.meta }
|
|
159
|
+
return {
|
|
160
|
+
data: {
|
|
161
|
+
tables: res.data?.tables ?? [],
|
|
162
|
+
functions: res.data?.functions ?? [],
|
|
163
|
+
enums: res.data?.enums ?? [],
|
|
164
|
+
views: res.data?.views ?? [],
|
|
165
|
+
},
|
|
166
|
+
error: null,
|
|
167
|
+
meta: res.meta,
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|