@aurabase/aurabase-js 0.3.0 → 0.4.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/README.md +26 -795
- package/{packages/aurabase/dist/AuraClient-DAtDbfPB.d.ts → dist/AuraClient-BcFE8u1v.d.cts} +1 -1
- package/{packages/aurabase/dist/AuraClient-DAtDbfPB.d.cts → dist/AuraClient-BcFE8u1v.d.ts} +1 -1
- package/{packages/aurabase/dist → dist}/index.d.cts +1 -1
- package/{packages/aurabase/dist → dist}/index.d.ts +1 -1
- package/{packages/aurabase/dist → dist}/ssr.d.cts +1 -1
- package/{packages/aurabase/dist → dist}/ssr.d.ts +1 -1
- package/package.json +72 -82
- package/.changeset/config.json +0 -11
- package/CHANGELOG.md +0 -30
- package/packages/ai/LICENSE +0 -21
- package/packages/ai/README.md +0 -106
- package/packages/ai/dist/index.cjs +0 -229
- package/packages/ai/dist/index.d.cts +0 -139
- package/packages/ai/dist/index.d.ts +0 -139
- package/packages/ai/dist/index.js +0 -226
- package/packages/ai/node_modules/.bin/esbuild +0 -19
- package/packages/ai/node_modules/.bin/tsc +0 -22
- package/packages/ai/node_modules/.bin/tsserver +0 -22
- package/packages/ai/node_modules/.bin/tsup +0 -22
- package/packages/ai/node_modules/.bin/tsup-node +0 -22
- package/packages/ai/node_modules/.bin/vite +0 -22
- package/packages/ai/node_modules/.bin/vitest +0 -22
- package/packages/ai/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/ai/package.json +0 -61
- package/packages/ai/src/AiService.ts +0 -226
- package/packages/ai/src/index.ts +0 -18
- package/packages/ai/src/sse.ts +0 -141
- package/packages/ai/src/types.ts +0 -30
- package/packages/ai/tests/chat-stream.test.ts +0 -151
- package/packages/ai/tests/rag-namespaces.test.ts +0 -54
- package/packages/ai/tests/sse.test.ts +0 -69
- package/packages/ai/tsconfig.json +0 -5
- package/packages/ai/tsup.config.ts +0 -11
- package/packages/aurabase/LICENSE +0 -21
- package/packages/aurabase/README.md +0 -64
- package/packages/aurabase/node_modules/.bin/esbuild +0 -19
- package/packages/aurabase/node_modules/.bin/tsc +0 -22
- package/packages/aurabase/node_modules/.bin/tsserver +0 -22
- package/packages/aurabase/node_modules/.bin/tsup +0 -22
- package/packages/aurabase/node_modules/.bin/tsup-node +0 -22
- package/packages/aurabase/node_modules/.bin/vite +0 -22
- package/packages/aurabase/node_modules/.bin/vitest +0 -22
- package/packages/aurabase/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/aurabase/package.json +0 -80
- package/packages/aurabase/src/AuraClient.ts +0 -237
- package/packages/aurabase/src/index.ts +0 -152
- package/packages/aurabase/src/ssr.ts +0 -156
- package/packages/aurabase/tests/ai-streaming-rag-e2e.test.ts +0 -82
- package/packages/aurabase/tests/ai.test.ts +0 -111
- package/packages/aurabase/tests/auth-admin.test.ts +0 -515
- package/packages/aurabase/tests/auth-e2e.test.ts +0 -135
- package/packages/aurabase/tests/auth-hardening.test.ts +0 -206
- package/packages/aurabase/tests/auth.test.ts +0 -947
- package/packages/aurabase/tests/database.test.ts +0 -230
- package/packages/aurabase/tests/db-types-e2e.test.ts +0 -217
- package/packages/aurabase/tests/dispose.test.ts +0 -23
- package/packages/aurabase/tests/foreign-token.e2e.test.ts +0 -129
- package/packages/aurabase/tests/functions.test.ts +0 -107
- package/packages/aurabase/tests/integration.test.ts +0 -413
- package/packages/aurabase/tests/live-production-validation.js +0 -241
- package/packages/aurabase/tests/live-sdk-production-validation.js +0 -293
- package/packages/aurabase/tests/mocks.ts +0 -139
- package/packages/aurabase/tests/notifications.test.ts +0 -314
- package/packages/aurabase/tests/observability-backup.test.ts +0 -186
- package/packages/aurabase/tests/observability-hook.test.ts +0 -130
- package/packages/aurabase/tests/production-robustness.test.ts +0 -268
- package/packages/aurabase/tests/public-api-surface.test.ts +0 -53
- package/packages/aurabase/tests/query-builder.test.ts +0 -329
- package/packages/aurabase/tests/readme-smoke-e2e.test.ts +0 -231
- package/packages/aurabase/tests/realtime-filter-e2e.test.ts +0 -344
- package/packages/aurabase/tests/refresh-locks.test.ts +0 -210
- package/packages/aurabase/tests/retry-option.test.ts +0 -17
- package/packages/aurabase/tests/rpc-e2e.test.ts +0 -254
- package/packages/aurabase/tests/rs256-local-e2e.test.ts +0 -114
- package/packages/aurabase/tests/rt-alias-public-e2e.test.ts +0 -235
- package/packages/aurabase/tests/rt-http-broadcast-e2e.test.ts +0 -124
- package/packages/aurabase/tests/service-role-guard.test.ts +0 -99
- package/packages/aurabase/tests/ssr.test.ts +0 -91
- package/packages/aurabase/tests/storage-backend-e2e.test.ts +0 -481
- package/packages/aurabase/tests/storage-sdk-parity-e2e.test.ts +0 -104
- package/packages/aurabase/tests/storage-transform-e2e.test.ts +0 -684
- package/packages/aurabase/tests/storage.test.ts +0 -55
- package/packages/aurabase/tests/types/client-generic.test-d.ts +0 -79
- package/packages/aurabase/tests/types/docs-snippets.test-d.ts +0 -571
- package/packages/aurabase/tests/types/error-code.test-d.ts +0 -53
- package/packages/aurabase/tsconfig.json +0 -5
- package/packages/aurabase/tsconfig.test-d.json +0 -5
- package/packages/aurabase/tsup.config.ts +0 -11
- package/packages/aurabase/vitest.config.ts +0 -16
- package/packages/aurabase/vitest.e2e.config.ts +0 -9
- package/packages/auth/LICENSE +0 -21
- package/packages/auth/README.md +0 -215
- package/packages/auth/dist/index.cjs +0 -1175
- package/packages/auth/dist/index.d.cts +0 -397
- package/packages/auth/dist/index.d.ts +0 -397
- package/packages/auth/dist/index.js +0 -1170
- package/packages/auth/node_modules/.bin/esbuild +0 -19
- package/packages/auth/node_modules/.bin/tsc +0 -22
- package/packages/auth/node_modules/.bin/tsserver +0 -22
- package/packages/auth/node_modules/.bin/tsup +0 -22
- package/packages/auth/node_modules/.bin/tsup-node +0 -22
- package/packages/auth/node_modules/.bin/vite +0 -22
- package/packages/auth/node_modules/.bin/vitest +0 -22
- package/packages/auth/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/auth/package.json +0 -61
- package/packages/auth/src/AuthAdminService.ts +0 -149
- package/packages/auth/src/AuthService.ts +0 -1166
- package/packages/auth/src/SessionManager.ts +0 -92
- package/packages/auth/src/index.ts +0 -17
- package/packages/auth/src/jwks.ts +0 -337
- package/packages/auth/src/pkce.ts +0 -27
- package/packages/auth/src/types.ts +0 -89
- package/packages/auth/tests/auth-lifecycle.test.ts +0 -149
- package/packages/auth/tests/detect-session.test.ts +0 -361
- package/packages/auth/tests/getclaims.test.ts +0 -780
- package/packages/auth/tests/is-mfa-challenge.test.ts +0 -27
- package/packages/auth/tests/password-recovery.test.ts +0 -124
- package/packages/auth/tests/pkce.test.ts +0 -192
- package/packages/auth/tests/session-manager.test.ts +0 -103
- package/packages/auth/tests/set-session.test.ts +0 -139
- package/packages/auth/tests/verify-otp.test.ts +0 -153
- package/packages/auth/tsconfig.json +0 -5
- package/packages/auth/tsup.config.ts +0 -11
- package/packages/core/LICENSE +0 -21
- package/packages/core/README.md +0 -132
- package/packages/core/dist/index.cjs +0 -695
- package/packages/core/dist/index.d.cts +0 -1137
- package/packages/core/dist/index.d.ts +0 -1137
- package/packages/core/dist/index.js +0 -673
- package/packages/core/node_modules/.bin/esbuild +0 -22
- package/packages/core/node_modules/.bin/tsc +0 -22
- package/packages/core/node_modules/.bin/tsserver +0 -22
- package/packages/core/node_modules/.bin/tsup +0 -22
- package/packages/core/node_modules/.bin/tsup-node +0 -22
- package/packages/core/node_modules/.bin/vite +0 -22
- package/packages/core/node_modules/.bin/vitest +0 -22
- package/packages/core/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/core/package.json +0 -57
- package/packages/core/src/AuraError.ts +0 -89
- package/packages/core/src/BaseService.ts +0 -44
- package/packages/core/src/client.ts +0 -34
- package/packages/core/src/cookie-utils.ts +0 -42
- package/packages/core/src/fetch.ts +0 -435
- package/packages/core/src/index.ts +0 -22
- package/packages/core/src/retry.ts +0 -63
- package/packages/core/src/serialize.ts +0 -6
- package/packages/core/src/stores/BaseAuthStore.ts +0 -164
- package/packages/core/src/stores/LocalAuthStore.ts +0 -199
- package/packages/core/src/types.ts +0 -1042
- package/packages/core/tests/auth-store.test.ts +0 -300
- package/packages/core/tests/error-code.test.ts +0 -61
- package/packages/core/tests/error.test.ts +0 -24
- package/packages/core/tests/fetch.test.ts +0 -286
- package/packages/core/tests/mocks.ts +0 -139
- package/packages/core/tests/observability.test.ts +0 -86
- package/packages/core/tests/refresh-hardening.test.ts +0 -164
- package/packages/core/tests/refresh-observability.test.ts +0 -111
- package/packages/core/tests/retry.test.ts +0 -106
- package/packages/core/tests/serialize.test.ts +0 -12
- package/packages/core/tests/timeout.test.ts +0 -79
- package/packages/core/tsconfig.json +0 -5
- package/packages/core/tsup.config.ts +0 -11
- package/packages/db/LICENSE +0 -21
- package/packages/db/README.md +0 -152
- package/packages/db/VENDORED.md +0 -93
- package/packages/db/dist/index.cjs +0 -544
- package/packages/db/dist/index.d.cts +0 -1111
- package/packages/db/dist/index.d.ts +0 -1111
- package/packages/db/dist/index.js +0 -541
- package/packages/db/node_modules/.bin/esbuild +0 -19
- package/packages/db/node_modules/.bin/tsc +0 -22
- package/packages/db/node_modules/.bin/tsserver +0 -22
- package/packages/db/node_modules/.bin/tsup +0 -22
- package/packages/db/node_modules/.bin/tsup-node +0 -22
- package/packages/db/node_modules/.bin/vite +0 -22
- package/packages/db/node_modules/.bin/vitest +0 -22
- package/packages/db/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/db/package.json +0 -62
- package/packages/db/src/DatabaseService.ts +0 -170
- package/packages/db/src/QueryBuilder.ts +0 -830
- package/packages/db/src/index.ts +0 -2
- package/packages/db/src/pgrst-types/common/common.ts +0 -86
- package/packages/db/src/pgrst-types/common/rpc.ts +0 -151
- package/packages/db/src/pgrst-types/feature-flags.ts +0 -20
- package/packages/db/src/pgrst-types/types.ts +0 -134
- package/packages/db/src/select-query-parser/parser.ts +0 -479
- package/packages/db/src/select-query-parser/result.ts +0 -553
- package/packages/db/src/select-query-parser/types.ts +0 -132
- package/packages/db/src/select-query-parser/utils.ts +0 -707
- package/packages/db/tests/filters.test.ts +0 -81
- package/packages/db/tests/mutations-filtered.e2e.test.ts +0 -132
- package/packages/db/tests/mutations-filtered.test.ts +0 -188
- package/packages/db/tests/order.test.ts +0 -45
- package/packages/db/tests/rpc.test.ts +0 -41
- package/packages/db/tests/scale/build-large-schema.ts +0 -94
- package/packages/db/tests/scale/scale-compile.test.ts +0 -167
- package/packages/db/tests/schema.test.ts +0 -77
- package/packages/db/tests/single-accept.e2e.test.ts +0 -123
- package/packages/db/tests/single.test.ts +0 -211
- package/packages/db/tests/types/filters.test-d.ts +0 -52
- package/packages/db/tests/types/fixtures.ts +0 -40
- package/packages/db/tests/types/from-views.test-d.ts +0 -18
- package/packages/db/tests/types/mutations.test-d.ts +0 -23
- package/packages/db/tests/types/rpc.test-d.ts +0 -60
- package/packages/db/tests/types/schema-shape.test-d.ts +0 -8
- package/packages/db/tests/types/select-inference.test-d.ts +0 -38
- package/packages/db/tests/vendored/fixtures.ts +0 -83
- package/packages/db/tests/vendored/get-result.test-d.ts +0 -75
- package/packages/db/tsconfig.json +0 -5
- package/packages/db/tsconfig.test-d.json +0 -5
- package/packages/db/tsup.config.ts +0 -11
- package/packages/db/vitest.config.ts +0 -8
- package/packages/functions/LICENSE +0 -21
- package/packages/functions/README.md +0 -96
- package/packages/functions/dist/index.cjs +0 -173
- package/packages/functions/dist/index.d.cts +0 -81
- package/packages/functions/dist/index.d.ts +0 -81
- package/packages/functions/dist/index.js +0 -168
- package/packages/functions/node_modules/.bin/esbuild +0 -19
- package/packages/functions/node_modules/.bin/tsc +0 -22
- package/packages/functions/node_modules/.bin/tsserver +0 -22
- package/packages/functions/node_modules/.bin/tsup +0 -22
- package/packages/functions/node_modules/.bin/tsup-node +0 -22
- package/packages/functions/node_modules/.bin/vite +0 -22
- package/packages/functions/node_modules/.bin/vitest +0 -22
- package/packages/functions/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/functions/package.json +0 -60
- package/packages/functions/src/FunctionsService.ts +0 -188
- package/packages/functions/src/errors.ts +0 -70
- package/packages/functions/src/index.ts +0 -6
- package/packages/functions/tests/invoke.test.ts +0 -97
- package/packages/functions/tests/response-type-errors.test.ts +0 -135
- package/packages/functions/tsconfig.json +0 -5
- package/packages/functions/tsup.config.ts +0 -11
- package/packages/gen/LICENSE +0 -21
- package/packages/gen/README.md +0 -84
- package/packages/gen/dist/cli.cjs +0 -334
- package/packages/gen/dist/cli.d.cts +0 -1
- package/packages/gen/dist/cli.d.ts +0 -1
- package/packages/gen/dist/cli.js +0 -332
- package/packages/gen/dist/index.cjs +0 -257
- package/packages/gen/dist/index.d.cts +0 -12
- package/packages/gen/dist/index.d.ts +0 -12
- package/packages/gen/dist/index.js +0 -255
- package/packages/gen/node_modules/.bin/esbuild +0 -19
- package/packages/gen/node_modules/.bin/tsc +0 -22
- package/packages/gen/node_modules/.bin/tsserver +0 -22
- package/packages/gen/node_modules/.bin/tsup +0 -22
- package/packages/gen/node_modules/.bin/tsup-node +0 -22
- package/packages/gen/node_modules/.bin/vite +0 -22
- package/packages/gen/node_modules/.bin/vitest +0 -22
- package/packages/gen/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/gen/package.json +0 -66
- package/packages/gen/src/cli.ts +0 -67
- package/packages/gen/src/generate.ts +0 -0
- package/packages/gen/src/index.ts +0 -2
- package/packages/gen/tests/compile.test.ts +0 -213
- package/packages/gen/tests/e2e.test.ts +0 -130
- package/packages/gen/tests/generate.test.ts +0 -396
- package/packages/gen/tsconfig.json +0 -5
- package/packages/gen/tsup.config.ts +0 -11
- package/packages/notifications/LICENSE +0 -21
- package/packages/notifications/README.md +0 -134
- package/packages/notifications/dist/index.cjs +0 -128
- package/packages/notifications/dist/index.d.cts +0 -81
- package/packages/notifications/dist/index.d.ts +0 -81
- package/packages/notifications/dist/index.js +0 -125
- package/packages/notifications/node_modules/.bin/esbuild +0 -19
- package/packages/notifications/node_modules/.bin/tsc +0 -22
- package/packages/notifications/node_modules/.bin/tsserver +0 -22
- package/packages/notifications/node_modules/.bin/tsup +0 -22
- package/packages/notifications/node_modules/.bin/tsup-node +0 -22
- package/packages/notifications/node_modules/.bin/vite +0 -22
- package/packages/notifications/node_modules/.bin/vitest +0 -22
- package/packages/notifications/package.json +0 -60
- package/packages/notifications/src/NotificationsService.ts +0 -230
- package/packages/notifications/src/index.ts +0 -19
- package/packages/notifications/tsconfig.json +0 -5
- package/packages/notifications/tsup.config.ts +0 -11
- package/packages/realtime/LICENSE +0 -21
- package/packages/realtime/README.md +0 -183
- package/packages/realtime/dist/index.cjs +0 -977
- package/packages/realtime/dist/index.d.cts +0 -259
- package/packages/realtime/dist/index.d.ts +0 -259
- package/packages/realtime/dist/index.js +0 -973
- package/packages/realtime/node_modules/.bin/esbuild +0 -19
- package/packages/realtime/node_modules/.bin/tsc +0 -22
- package/packages/realtime/node_modules/.bin/tsserver +0 -22
- package/packages/realtime/node_modules/.bin/tsup +0 -22
- package/packages/realtime/node_modules/.bin/tsup-node +0 -22
- package/packages/realtime/node_modules/.bin/vite +0 -22
- package/packages/realtime/node_modules/.bin/vitest +0 -22
- package/packages/realtime/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/realtime/package.json +0 -60
- package/packages/realtime/src/AuraChannel.ts +0 -485
- package/packages/realtime/src/HeartbeatManager.ts +0 -73
- package/packages/realtime/src/RealtimeService.ts +0 -505
- package/packages/realtime/src/columnFilter.ts +0 -301
- package/packages/realtime/src/index.ts +0 -4
- package/packages/realtime/tests/ack-routing.test.ts +0 -81
- package/packages/realtime/tests/column-filter.test.ts +0 -144
- package/packages/realtime/tests/dispatch.test.ts +0 -191
- package/packages/realtime/tests/heartbeat.test.ts +0 -67
- package/packages/realtime/tests/http-broadcast.test.ts +0 -68
- package/packages/realtime/tests/realtime-token.test.ts +0 -43
- package/packages/realtime/tests/reconnect-race.test.ts +0 -149
- package/packages/realtime/tests/ref-id.test.ts +0 -34
- package/packages/realtime/tests/set-auth.test.ts +0 -70
- package/packages/realtime/tsconfig.json +0 -5
- package/packages/realtime/tsup.config.ts +0 -11
- package/packages/storage/LICENSE +0 -21
- package/packages/storage/README.md +0 -141
- package/packages/storage/dist/index.cjs +0 -333
- package/packages/storage/dist/index.d.cts +0 -185
- package/packages/storage/dist/index.d.ts +0 -185
- package/packages/storage/dist/index.js +0 -329
- package/packages/storage/node_modules/.bin/esbuild +0 -19
- package/packages/storage/node_modules/.bin/tsc +0 -22
- package/packages/storage/node_modules/.bin/tsserver +0 -22
- package/packages/storage/node_modules/.bin/tsup +0 -22
- package/packages/storage/node_modules/.bin/tsup-node +0 -22
- package/packages/storage/node_modules/.bin/vite +0 -22
- package/packages/storage/node_modules/.bin/vitest +0 -22
- package/packages/storage/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +0 -1
- package/packages/storage/package.json +0 -60
- package/packages/storage/src/DownloadBuilder.ts +0 -60
- package/packages/storage/src/StorageService.ts +0 -323
- package/packages/storage/src/index.ts +0 -2
- package/packages/storage/src/path.ts +0 -35
- package/packages/storage/src/transform.ts +0 -15
- package/packages/storage/tests/download.test.ts +0 -64
- package/packages/storage/tests/parity.test.ts +0 -154
- package/packages/storage/tests/path.test.ts +0 -87
- package/packages/storage/tests/transform.test.ts +0 -79
- package/packages/storage/tsconfig.json +0 -5
- package/packages/storage/tsup.config.ts +0 -11
- package/pnpm-workspace.yaml +0 -24
- package/tsconfig.base.json +0 -15
- /package/{packages/aurabase/dist → dist}/index.cjs +0 -0
- /package/{packages/aurabase/dist → dist}/index.js +0 -0
- /package/{packages/aurabase/dist → dist}/ssr.cjs +0 -0
- /package/{packages/aurabase/dist → dist}/ssr.js +0 -0
|
@@ -12,7 +12,7 @@ import { NotificationsService } from '@aurabase/notifications';
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```ts
|
|
15
|
-
* import { createClient } from 'aurabase'
|
|
15
|
+
* import { createClient } from '@aurabase/aurabase-js'
|
|
16
16
|
* const aura = createClient('http://localhost:8080', 'my-project-id')
|
|
17
17
|
* const { data } = await aura.db.from('posts').eq('published', true)
|
|
18
18
|
* ```
|
|
@@ -12,7 +12,7 @@ import { NotificationsService } from '@aurabase/notifications';
|
|
|
12
12
|
*
|
|
13
13
|
* @example
|
|
14
14
|
* ```ts
|
|
15
|
-
* import { createClient } from 'aurabase'
|
|
15
|
+
* import { createClient } from '@aurabase/aurabase-js'
|
|
16
16
|
* const aura = createClient('http://localhost:8080', 'my-project-id')
|
|
17
17
|
* const { data } = await aura.db.from('posts').eq('published', true)
|
|
18
18
|
* ```
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as AuraClient } from './AuraClient-
|
|
1
|
+
import { A as AuraClient } from './AuraClient-BcFE8u1v.cjs';
|
|
2
2
|
import { AuraClientOptions } from '@aurabase/core';
|
|
3
3
|
export { AdminCreateUserRequest, AdminUpdateUserRequest, AdminUser, AuditLogEntry, AuraClientOptions, AuraError, AuraErrorCode, AuraObservabilityEvent, AuraResponse, AuthChangePayload, AuthEvent, AuthSettings, BaseAuthStore, BatchSendResponse, BroadcastFilter, BroadcastPayload, ChannelConfig, ChatMessage, ChatResponse, CountMode, CronJob, EmailTemplateUpdate, EmbedRequest, EmbedResponse, FileEntry, FilterOp, FunctionDef, IdentityInfo, Job, LocalAuthStore, LoginResponse, MagicLinkRequest, Meta, MfaChallenge, MfaEnrollResponse, MfaVerifyRequest, Notification, NotificationAttempt, NotificationDeadLetter, NotificationEvent, NotificationProviderLog, NotificationQueueStats, NotificationRule, NotificationSettings, NotificationStats, NotificationTemplate, NotificationTemplatePreview, OAuthSignInOptions, PasswordResetRequest, PostgresChangesFilter, PresenceFilter, PresenceInfo, PresenceState, QueryFilter, QueryOptions, RagIngestRequest, RagIngestResponse, RagRequest, RagResponse, RealtimeEvent, RealtimeListenType, RealtimeSubscribeStatus, SchemaColumn, SchemaTable, SemanticSearchResult, SendNotificationRequest, SessionInfo, SignInRequest, SignUpRequest, StorageBucket, TokenPair, UpdateUserRequest, UploadResult, User, isAuraError } from '@aurabase/core';
|
|
4
4
|
export { DatabaseService, QueryBuilder } from '@aurabase/db';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as AuraClient } from './AuraClient-
|
|
1
|
+
import { A as AuraClient } from './AuraClient-BcFE8u1v.js';
|
|
2
2
|
import { AuraClientOptions } from '@aurabase/core';
|
|
3
3
|
export { AdminCreateUserRequest, AdminUpdateUserRequest, AdminUser, AuditLogEntry, AuraClientOptions, AuraError, AuraErrorCode, AuraObservabilityEvent, AuraResponse, AuthChangePayload, AuthEvent, AuthSettings, BaseAuthStore, BatchSendResponse, BroadcastFilter, BroadcastPayload, ChannelConfig, ChatMessage, ChatResponse, CountMode, CronJob, EmailTemplateUpdate, EmbedRequest, EmbedResponse, FileEntry, FilterOp, FunctionDef, IdentityInfo, Job, LocalAuthStore, LoginResponse, MagicLinkRequest, Meta, MfaChallenge, MfaEnrollResponse, MfaVerifyRequest, Notification, NotificationAttempt, NotificationDeadLetter, NotificationEvent, NotificationProviderLog, NotificationQueueStats, NotificationRule, NotificationSettings, NotificationStats, NotificationTemplate, NotificationTemplatePreview, OAuthSignInOptions, PasswordResetRequest, PostgresChangesFilter, PresenceFilter, PresenceInfo, PresenceState, QueryFilter, QueryOptions, RagIngestRequest, RagIngestResponse, RagRequest, RagResponse, RealtimeEvent, RealtimeListenType, RealtimeSubscribeStatus, SchemaColumn, SchemaTable, SemanticSearchResult, SendNotificationRequest, SessionInfo, SignInRequest, SignUpRequest, StorageBucket, TokenPair, UpdateUserRequest, UploadResult, User, isAuraError } from '@aurabase/core';
|
|
4
4
|
export { DatabaseService, QueryBuilder } from '@aurabase/db';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as AuraClient } from './AuraClient-
|
|
1
|
+
import { A as AuraClient } from './AuraClient-BcFE8u1v.cjs';
|
|
2
2
|
import { SerializeCookieOptions, AuraClientOptions } from '@aurabase/core';
|
|
3
3
|
export { SerializeCookieOptions, parseCookieHeader, serializeCookieHeader } from '@aurabase/core';
|
|
4
4
|
import '@aurabase/auth';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as AuraClient } from './AuraClient-
|
|
1
|
+
import { A as AuraClient } from './AuraClient-BcFE8u1v.js';
|
|
2
2
|
import { SerializeCookieOptions, AuraClientOptions } from '@aurabase/core';
|
|
3
3
|
export { SerializeCookieOptions, parseCookieHeader, serializeCookieHeader } from '@aurabase/core';
|
|
4
4
|
import '@aurabase/auth';
|
package/package.json
CHANGED
|
@@ -1,90 +1,80 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aurabase/aurabase-js",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
5
|
-
"license": "ISC",
|
|
6
|
-
"author": "Daylami Affane",
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Official JavaScript/TypeScript client for Aurabase BaaS",
|
|
7
5
|
"type": "module",
|
|
8
|
-
"main": "index.
|
|
9
|
-
"
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"expect-type": "^1.3.0",
|
|
33
|
-
"fdir": "^6.5.0",
|
|
34
|
-
"fix-dts-default-cjs-exports": "^1.0.1",
|
|
35
|
-
"fsevents": "^2.3.3",
|
|
36
|
-
"joycon": "^3.1.1",
|
|
37
|
-
"lightningcss": "^1.32.0",
|
|
38
|
-
"lightningcss-darwin-arm64": "^1.32.0",
|
|
39
|
-
"lilconfig": "^3.1.3",
|
|
40
|
-
"lines-and-columns": "^1.2.4",
|
|
41
|
-
"load-tsconfig": "^0.2.5",
|
|
42
|
-
"magic-string": "^0.30.21",
|
|
43
|
-
"mlly": "^1.8.2",
|
|
44
|
-
"ms": "^2.1.3",
|
|
45
|
-
"mz": "^2.7.0",
|
|
46
|
-
"nanoid": "^3.3.12",
|
|
47
|
-
"object-assign": "^4.1.1",
|
|
48
|
-
"obug": "^2.1.1",
|
|
49
|
-
"pathe": "^2.0.3",
|
|
50
|
-
"picocolors": "^1.1.1",
|
|
51
|
-
"picomatch": "^4.0.4",
|
|
52
|
-
"pirates": "^4.0.7",
|
|
53
|
-
"pkg-types": "^1.3.1",
|
|
54
|
-
"postcss": "^8.5.15",
|
|
55
|
-
"postcss-load-config": "^6.0.1",
|
|
56
|
-
"readdirp": "^4.1.2",
|
|
57
|
-
"resolve-from": "^5.0.0",
|
|
58
|
-
"rolldown": "^1.0.3",
|
|
59
|
-
"rollup": "^4.60.0",
|
|
60
|
-
"siginfo": "^2.0.0",
|
|
61
|
-
"source-map": "^0.7.6",
|
|
62
|
-
"source-map-js": "^1.2.1",
|
|
63
|
-
"stackback": "^0.0.2",
|
|
64
|
-
"std-env": "^4.1.0",
|
|
65
|
-
"sucrase": "^3.35.1",
|
|
66
|
-
"thenify": "^3.3.1",
|
|
67
|
-
"thenify-all": "^1.6.0",
|
|
68
|
-
"tinybench": "^2.9.0",
|
|
69
|
-
"tinyexec": "^0.3.2",
|
|
70
|
-
"tinyglobby": "^0.2.17",
|
|
71
|
-
"tinyrainbow": "^3.1.0",
|
|
72
|
-
"tree-kill": "^1.2.2",
|
|
73
|
-
"ts-interface-checker": "^0.1.13",
|
|
74
|
-
"tsup": "^8.5.1",
|
|
75
|
-
"typescript": "^5.9.3",
|
|
76
|
-
"ufo": "^1.6.3",
|
|
77
|
-
"vite": "^8.0.16",
|
|
78
|
-
"vitest": "^4.1.9",
|
|
79
|
-
"why-is-node-running": "^2.3.0"
|
|
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
|
+
"./ssr": {
|
|
21
|
+
"import": {
|
|
22
|
+
"types": "./dist/ssr.d.ts",
|
|
23
|
+
"default": "./dist/ssr.js"
|
|
24
|
+
},
|
|
25
|
+
"require": {
|
|
26
|
+
"types": "./dist/ssr.d.cts",
|
|
27
|
+
"default": "./dist/ssr.cjs"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
80
30
|
},
|
|
81
|
-
"
|
|
31
|
+
"sideEffects": false,
|
|
32
|
+
"files": [
|
|
33
|
+
"dist",
|
|
34
|
+
"README.md",
|
|
35
|
+
"LICENSE"
|
|
36
|
+
],
|
|
82
37
|
"engines": {
|
|
83
38
|
"node": ">=20.0.0"
|
|
84
39
|
},
|
|
85
|
-
"
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
40
|
+
"license": "MIT",
|
|
41
|
+
"author": "Aurabase",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/daylami555/aurabase.git",
|
|
45
|
+
"directory": "aurabase-js/packages/aurabase"
|
|
46
|
+
},
|
|
47
|
+
"homepage": "https://github.com/daylami555/aurabase/tree/main/aurabase-js/packages/aurabase#readme",
|
|
48
|
+
"bugs": {
|
|
49
|
+
"url": "https://github.com/daylami555/aurabase/issues"
|
|
50
|
+
},
|
|
51
|
+
"keywords": [
|
|
52
|
+
"aurabase",
|
|
53
|
+
"baas",
|
|
54
|
+
"backend-as-a-service",
|
|
55
|
+
"sdk",
|
|
56
|
+
"client"
|
|
57
|
+
],
|
|
58
|
+
"dependencies": {
|
|
59
|
+
"@aurabase/core": "0.4.0",
|
|
60
|
+
"@aurabase/db": "0.4.0",
|
|
61
|
+
"@aurabase/realtime": "0.4.0",
|
|
62
|
+
"@aurabase/auth": "0.4.0",
|
|
63
|
+
"@aurabase/storage": "0.4.0",
|
|
64
|
+
"@aurabase/functions": "0.4.0",
|
|
65
|
+
"@aurabase/ai": "0.4.0",
|
|
66
|
+
"@aurabase/notifications": "0.4.0"
|
|
67
|
+
},
|
|
68
|
+
"devDependencies": {
|
|
69
|
+
"tsup": "^8.0.0",
|
|
70
|
+
"typescript": "^5.5.0",
|
|
71
|
+
"vitest": "^4.1.6"
|
|
72
|
+
},
|
|
73
|
+
"scripts": {
|
|
74
|
+
"build": "tsup",
|
|
75
|
+
"test": "vitest run && tsc --noEmit -p tsconfig.test-d.json",
|
|
76
|
+
"test:types": "tsc --noEmit -p tsconfig.test-d.json",
|
|
77
|
+
"test:e2e": "RUN_E2E=true vitest run --config vitest.e2e.config.ts tests/integration.test.ts",
|
|
78
|
+
"typecheck": "tsc --noEmit"
|
|
89
79
|
}
|
|
90
|
-
}
|
|
80
|
+
}
|
package/.changeset/config.json
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://unpkg.com/@changesets/config@3.0.0/schema.json",
|
|
3
|
-
"changelog": "@changesets/cli/changelog",
|
|
4
|
-
"commit": false,
|
|
5
|
-
"fixed": [["@aurabase/*", "aurabase"]],
|
|
6
|
-
"linked": [],
|
|
7
|
-
"access": "restricted",
|
|
8
|
-
"baseBranch": "main",
|
|
9
|
-
"updateInternalDependencies": "patch",
|
|
10
|
-
"ignore": []
|
|
11
|
-
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
Toutes les modifications notables du SDK `aurabase-js` (versions synchronisées, mode fixed).
|
|
4
|
-
|
|
5
|
-
## [Unreleased]
|
|
6
|
-
|
|
7
|
-
### Added
|
|
8
|
-
- Filtre de colonne complet sur `postgres_changes` (champ `filter`, syntaxe PostgREST/Supabase `"column=operator.value"`) : opérateurs `eq, neq, lt, lte, gt, gte, in, like, ilike, is, match, imatch, isdistinct`, négation `not.`, AND par virgules (hors `in.(...)`), filtrage serveur autoritaire + fallback client fail-closed en second rideau, `DELETE` évalué sur l'ancienne ligne.
|
|
9
|
-
- `db.rpc()` (appel de fonctions Postgres, builder filtrable, options `count`/`head`/`get`, typage via `@aurabase/gen` `Functions`) ; introspection backend des fonctions (`SchemaDefinition.functions`).
|
|
10
|
-
- Transformations d'image côté Storage : `getPublicUrl()`/`download()`/`createSignedUrl()` acceptent `{ transform: ImageTransform }` (`width`/`height`/`resize`/`quality`/`format`), durcissement backend (flag projet `img_transform_enabled`, borne 2500px, `quality` JPEG-only) et cache serveur des dérivés (header `x-aura-cache: HIT|MISS`).
|
|
11
|
-
|
|
12
|
-
## [0.3.0] — 2026-07-12
|
|
13
|
-
|
|
14
|
-
### Added
|
|
15
|
-
- Types de base de données générés : package `@aurabase/gen` (CLI `aurabase-gen`) + inférence type-level (`createClient<Database>`, select/filtres/mutations typés).
|
|
16
|
-
- Parité auth : `getClaims` (vérif JWT locale RS256/ES256 anti-alg-confusion + fallback), flux PKCE (`flowType: 'pkce'`), méthodes admin (users/sessions/templates/audit/stats).
|
|
17
|
-
- Documentation de distribution : README autonome par package, métadonnées npm complètes, LICENSE MIT, CHANGELOG, process de release.
|
|
18
|
-
|
|
19
|
-
### Changed
|
|
20
|
-
- Résilience réseau consolidée (retry full-jitter GET/HEAD, `Retry-After` plafonné, timeout par tentative, refresh single-flight + commit-guard anti-race).
|
|
21
|
-
- SSR : chunking de cookies (3600), parité `getAll/setAll` avec `@supabase/ssr`.
|
|
22
|
-
- `signInWithOAuth` retourne `{ url }` ; mutations DB ciblées par `id`.
|
|
23
|
-
|
|
24
|
-
### Fixed
|
|
25
|
-
- Durcissement session/realtime/storage/functions (voir historique de branche).
|
|
26
|
-
|
|
27
|
-
## [0.2.0]
|
|
28
|
-
|
|
29
|
-
### Added
|
|
30
|
-
- Passage en monorepo pnpm : 10 packages (`@aurabase/{core,auth,db,storage,realtime,functions,ai,notifications,gen}` + méta `aurabase`), surface publique test-gardée.
|
package/packages/ai/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Aurabase
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/packages/ai/README.md
DELETED
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
# @aurabase/ai
|
|
2
|
-
|
|
3
|
-
Service IA du SDK Aurabase : chat, embeddings, RAG (retrieval-augmented generation), recherche sémantique et conversion langage naturel → SQL.
|
|
4
|
-
|
|
5
|
-
 
|
|
6
|
-
|
|
7
|
-
> Pre-release — pas encore publié sur npm.
|
|
8
|
-
|
|
9
|
-
Fait partie du SDK **[aurabase](../aurabase)**. Installé automatiquement avec `aurabase` ; ce package est publié séparément pour un usage ciblé / tree-shaking.
|
|
10
|
-
|
|
11
|
-
Sans équivalent 1st-party chez Supabase, Appwrite ou Firebase : `@aurabase/ai` est un **différenciateur** du SDK, pas une simple parité.
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm i @aurabase/ai
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
> Ce package dépend de `@aurabase/core` (`workspace:*` en interne, résolu en semver côté npm). Si vous utilisez déjà le package `aurabase`, `@aurabase/ai` est déjà inclus — cette installation ciblée n'est utile que pour composer votre propre client ou limiter la taille du bundle.
|
|
20
|
-
|
|
21
|
-
## Usage
|
|
22
|
-
|
|
23
|
-
Dans l'usage courant, `AiService` n'est jamais instancié directement : il est exposé par le client principal sous `aura.ai`.
|
|
24
|
-
|
|
25
|
-
```ts
|
|
26
|
-
import { createClient } from 'aurabase'
|
|
27
|
-
|
|
28
|
-
const aura = createClient('http://localhost:8080', 'my-project', 'aura_anon_xxx')
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Chat
|
|
32
|
-
|
|
33
|
-
Réponse complète en un seul appel — pas de streaming SSE/token-par-token (voir Limitations).
|
|
34
|
-
|
|
35
|
-
```ts
|
|
36
|
-
const { data, error } = await aura.ai.chat(
|
|
37
|
-
[{ role: 'user', content: 'Résume ce texte en une phrase.' }],
|
|
38
|
-
{ model: 'gpt-4o-mini', temperature: 0.2, max_tokens: 200 },
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
if (error) throw error
|
|
42
|
-
console.log(data!.content)
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### Embeddings
|
|
46
|
-
|
|
47
|
-
```ts
|
|
48
|
-
const { data: embedding } = await aura.ai.embed({
|
|
49
|
-
text: 'Aurabase est une plateforme Backend-as-a-Service.',
|
|
50
|
-
namespace: 'docs',
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
console.log(embedding!.dimensions)
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### RAG — ingestion puis question/réponse
|
|
57
|
-
|
|
58
|
-
```ts
|
|
59
|
-
await aura.ai.ragIngest({
|
|
60
|
-
namespace: 'docs',
|
|
61
|
-
content: 'Aurabase expose un service de fonctions edge invocables via aura.functions.invoke().',
|
|
62
|
-
})
|
|
63
|
-
|
|
64
|
-
const { data: answer } = await aura.ai.rag({
|
|
65
|
-
question: 'Comment invoquer une edge function ?',
|
|
66
|
-
namespace: 'docs',
|
|
67
|
-
})
|
|
68
|
-
|
|
69
|
-
console.log(answer!.answer, answer!.sources)
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### Recherche sémantique
|
|
73
|
-
|
|
74
|
-
```ts
|
|
75
|
-
const { data: results } = await aura.ai.semanticSearch('invocation de fonction', 'docs', {
|
|
76
|
-
top_k: 5,
|
|
77
|
-
threshold: 0.75,
|
|
78
|
-
})
|
|
79
|
-
|
|
80
|
-
for (const r of results ?? []) {
|
|
81
|
-
console.log(r.similarity, r.content)
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### NL2SQL
|
|
86
|
-
|
|
87
|
-
```ts
|
|
88
|
-
const schema = 'CREATE TABLE posts (id uuid, title text, published boolean);'
|
|
89
|
-
|
|
90
|
-
const { data: query } = await aura.ai.nl2sql('Combien de posts sont publiés ?', schema, {
|
|
91
|
-
dialect: 'postgres',
|
|
92
|
-
})
|
|
93
|
-
|
|
94
|
-
console.log(query!.sql, query!.explanation)
|
|
95
|
-
```
|
|
96
|
-
|
|
97
|
-
## Limitations
|
|
98
|
-
|
|
99
|
-
- Pas de streaming de chat (SSE / token-par-token) : `chat()` résout une fois la réponse complète générée.
|
|
100
|
-
- Pas de tool/function calling : le modèle ne peut pas invoquer d'outils côté client.
|
|
101
|
-
- Pas de gestion de namespaces RAG (création/liste/suppression) : un namespace existe implicitement dès le premier `ragIngest()`, sans API de cycle de vie dédiée.
|
|
102
|
-
- Pas de suivi d'usage/coût par requête au-delà des champs `input_tokens`/`output_tokens` optionnels de `ChatResponse`.
|
|
103
|
-
|
|
104
|
-
## Documentation
|
|
105
|
-
|
|
106
|
-
Référence complète du SDK (tous les services, types partagés, SSR) : [README racine](../../README.md).
|
|
@@ -1,229 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var core = require('@aurabase/core');
|
|
4
|
-
|
|
5
|
-
// src/AiService.ts
|
|
6
|
-
|
|
7
|
-
// src/sse.ts
|
|
8
|
-
async function* parseSSE(stream) {
|
|
9
|
-
const reader = stream.getReader();
|
|
10
|
-
const decoder = new TextDecoder();
|
|
11
|
-
let buffer = "";
|
|
12
|
-
let eventName = "message";
|
|
13
|
-
let dataLines = [];
|
|
14
|
-
const consumeLine = (raw) => {
|
|
15
|
-
const line = raw.endsWith("\r") ? raw.slice(0, -1) : raw;
|
|
16
|
-
if (line === "") {
|
|
17
|
-
if (dataLines.length === 0) {
|
|
18
|
-
eventName = "message";
|
|
19
|
-
return null;
|
|
20
|
-
}
|
|
21
|
-
const msg = { event: eventName, data: dataLines.join("\n") };
|
|
22
|
-
eventName = "message";
|
|
23
|
-
dataLines = [];
|
|
24
|
-
return msg;
|
|
25
|
-
}
|
|
26
|
-
if (line.startsWith(":")) return null;
|
|
27
|
-
const colon = line.indexOf(":");
|
|
28
|
-
let field;
|
|
29
|
-
let value;
|
|
30
|
-
if (colon === -1) {
|
|
31
|
-
field = line;
|
|
32
|
-
value = "";
|
|
33
|
-
} else {
|
|
34
|
-
field = line.slice(0, colon);
|
|
35
|
-
value = line.slice(colon + 1);
|
|
36
|
-
if (value.startsWith(" ")) value = value.slice(1);
|
|
37
|
-
}
|
|
38
|
-
if (field === "event") eventName = value;
|
|
39
|
-
else if (field === "data") dataLines.push(value);
|
|
40
|
-
return null;
|
|
41
|
-
};
|
|
42
|
-
try {
|
|
43
|
-
for (; ; ) {
|
|
44
|
-
const { done, value } = await reader.read();
|
|
45
|
-
if (done) break;
|
|
46
|
-
buffer += decoder.decode(value, { stream: true });
|
|
47
|
-
let idx;
|
|
48
|
-
while ((idx = buffer.indexOf("\n")) !== -1) {
|
|
49
|
-
const raw = buffer.slice(0, idx);
|
|
50
|
-
buffer = buffer.slice(idx + 1);
|
|
51
|
-
const msg = consumeLine(raw);
|
|
52
|
-
if (msg) yield msg;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
buffer += decoder.decode();
|
|
56
|
-
if (buffer.length > 0) {
|
|
57
|
-
const msg = consumeLine(buffer);
|
|
58
|
-
if (msg) yield msg;
|
|
59
|
-
}
|
|
60
|
-
if (dataLines.length > 0) {
|
|
61
|
-
yield { event: eventName, data: dataLines.join("\n") };
|
|
62
|
-
}
|
|
63
|
-
} finally {
|
|
64
|
-
reader.releaseLock();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
// src/AiService.ts
|
|
69
|
-
var AiService = class extends core.BaseService {
|
|
70
|
-
constructor(client) {
|
|
71
|
-
super(client);
|
|
72
|
-
}
|
|
73
|
-
get prefix() {
|
|
74
|
-
return `/v1/ai/${this.client.projectId}`;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Send a chat completion request.
|
|
78
|
-
*/
|
|
79
|
-
async chat(messages, options) {
|
|
80
|
-
return this.request("POST", `${this.prefix}/chat`, {
|
|
81
|
-
messages,
|
|
82
|
-
...options
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Chat completion streamé (SSE). Renvoie un `AsyncIterable` de deltas de tokens,
|
|
87
|
-
* consommable par `for await (const { delta } of ai.chatStream(msgs)) { … }`.
|
|
88
|
-
*
|
|
89
|
-
* Court-circuite volontairement le pipeline JSON (`@aurabase/core/fetch.ts`) et
|
|
90
|
-
* emprunte le chemin transport BRUT `client.fetchFn` (patron `StorageService.download`) :
|
|
91
|
-
* - refresh proactif du token expiré (même règle que `download`, marge 30 s) ;
|
|
92
|
-
* - pose manuelle de `Authorization: Bearer` + `apikey`, `Accept: text/event-stream` ;
|
|
93
|
-
* - lecture de `res.body` via `parseSSE`, mapping des events serveur :
|
|
94
|
-
* `delta` (`{ content }`) → `yield { delta }`, `error` (`{ error }`) → lève une
|
|
95
|
-
* `AuraError`, `done` → termine l'itération.
|
|
96
|
-
*
|
|
97
|
-
* `options.signal` interrompt proprement le flux (annulation du `fetch` + fin
|
|
98
|
-
* d'itération sans throw). Sur `!res.ok`, lève `AuraError(res.status)`.
|
|
99
|
-
*
|
|
100
|
-
* Backend route: POST /v1/ai/{project_id}/chat/stream
|
|
101
|
-
*/
|
|
102
|
-
async *chatStream(messages, options) {
|
|
103
|
-
const client = this.client;
|
|
104
|
-
const store = client.authStore;
|
|
105
|
-
if (store.token && store.refreshToken && core.isTokenExpired(store.token, 30)) {
|
|
106
|
-
await core.refreshOnce(client);
|
|
107
|
-
}
|
|
108
|
-
const headers = {
|
|
109
|
-
"Content-Type": "application/json",
|
|
110
|
-
Accept: "text/event-stream"
|
|
111
|
-
};
|
|
112
|
-
if (store.token) headers["Authorization"] = `Bearer ${store.token}`;
|
|
113
|
-
if (client.apiKey) headers["apikey"] = client.apiKey;
|
|
114
|
-
const body = JSON.stringify({
|
|
115
|
-
messages,
|
|
116
|
-
model: options?.model,
|
|
117
|
-
temperature: options?.temperature,
|
|
118
|
-
max_tokens: options?.max_tokens
|
|
119
|
-
});
|
|
120
|
-
try {
|
|
121
|
-
const res = await client.fetchFn(this.url(`${this.prefix}/chat/stream`), {
|
|
122
|
-
method: "POST",
|
|
123
|
-
headers,
|
|
124
|
-
body,
|
|
125
|
-
signal: options?.signal
|
|
126
|
-
});
|
|
127
|
-
if (!res.ok) {
|
|
128
|
-
let parsed = null;
|
|
129
|
-
try {
|
|
130
|
-
parsed = await res.json();
|
|
131
|
-
} catch {
|
|
132
|
-
}
|
|
133
|
-
throw new core.AuraError(res.status, parsed);
|
|
134
|
-
}
|
|
135
|
-
if (!res.body) {
|
|
136
|
-
throw new core.AuraError(0, {
|
|
137
|
-
error: { code: "invalid_response", message: "chatStream: la r\xE9ponse SSE n'a pas de corps lisible" }
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
for await (const msg of parseSSE(res.body)) {
|
|
141
|
-
if (msg.event === "delta") {
|
|
142
|
-
let content = "";
|
|
143
|
-
try {
|
|
144
|
-
content = JSON.parse(msg.data).content ?? "";
|
|
145
|
-
} catch {
|
|
146
|
-
content = "";
|
|
147
|
-
}
|
|
148
|
-
if (content) yield { delta: content };
|
|
149
|
-
} else if (msg.event === "error") {
|
|
150
|
-
let message = "AI stream error";
|
|
151
|
-
try {
|
|
152
|
-
message = JSON.parse(msg.data).error ?? message;
|
|
153
|
-
} catch {
|
|
154
|
-
}
|
|
155
|
-
throw new core.AuraError(0, { error: { code: "ai_stream_error", message } });
|
|
156
|
-
} else if (msg.event === "done") {
|
|
157
|
-
return;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
} catch (err) {
|
|
161
|
-
if (options?.signal?.aborted || core.isAbortError(err)) return;
|
|
162
|
-
throw err;
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
/**
|
|
166
|
-
* Generate embeddings for the given input(s).
|
|
167
|
-
*/
|
|
168
|
-
async embed(req) {
|
|
169
|
-
return this.request("POST", `${this.prefix}/embed`, req);
|
|
170
|
-
}
|
|
171
|
-
/**
|
|
172
|
-
* Retrieval-Augmented Generation: query a collection and get an answer.
|
|
173
|
-
*/
|
|
174
|
-
async rag(req) {
|
|
175
|
-
return this.request("POST", `${this.prefix}/rag/query`, req);
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Ingest a document into a RAG namespace.
|
|
179
|
-
*/
|
|
180
|
-
async ragIngest(req) {
|
|
181
|
-
return this.request("POST", `${this.prefix}/rag/ingest`, req);
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Liste les namespaces RAG du projet.
|
|
185
|
-
* Backend route: GET /v1/ai/{project_id}/rag/namespaces (→ `Vec<String>`).
|
|
186
|
-
*/
|
|
187
|
-
async listNamespaces() {
|
|
188
|
-
return this.request("GET", `${this.prefix}/rag/namespaces`);
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Supprime un namespace RAG (et son corpus). Le segment `namespace` est
|
|
192
|
-
* URL-encodé (anti-injection de chemin).
|
|
193
|
-
* Backend route: DELETE /v1/ai/{project_id}/rag/{namespace} (→ `{ deleted }`).
|
|
194
|
-
*/
|
|
195
|
-
async deleteNamespace(namespace) {
|
|
196
|
-
return this.request("DELETE", `${this.prefix}/rag/${encodeURIComponent(namespace)}`);
|
|
197
|
-
}
|
|
198
|
-
/**
|
|
199
|
-
* Ré-indexe un namespace RAG avec le modèle d'embedding courant (remédiation
|
|
200
|
-
* après un changement de modèle/dimension). Le segment `namespace` est URL-encodé.
|
|
201
|
-
* Backend route: POST /v1/ai/{project_id}/rag/{namespace}/reindex (→ `ReindexResponse`).
|
|
202
|
-
*/
|
|
203
|
-
async reindexNamespace(namespace) {
|
|
204
|
-
return this.request("POST", `${this.prefix}/rag/${encodeURIComponent(namespace)}/reindex`);
|
|
205
|
-
}
|
|
206
|
-
/**
|
|
207
|
-
* Semantic search over an embedding namespace.
|
|
208
|
-
*/
|
|
209
|
-
async semanticSearch(query, namespace, options) {
|
|
210
|
-
const params = new URLSearchParams({ query, namespace });
|
|
211
|
-
if (options?.top_k !== void 0) params.set("top_k", String(options.top_k));
|
|
212
|
-
if (options?.threshold !== void 0) params.set("threshold", String(options.threshold));
|
|
213
|
-
return this.request("GET", `${this.prefix}/search?${params.toString()}`);
|
|
214
|
-
}
|
|
215
|
-
/**
|
|
216
|
-
* Natural-language to SQL: convert a question into a SQL query.
|
|
217
|
-
*/
|
|
218
|
-
async nl2sql(question, schema, options) {
|
|
219
|
-
return this.request("POST", `${this.prefix}/nl2sql`, {
|
|
220
|
-
question,
|
|
221
|
-
schema,
|
|
222
|
-
dialect: options?.dialect,
|
|
223
|
-
examples: options?.examples
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
exports.AiService = AiService;
|
|
229
|
-
exports.parseSSE = parseSSE;
|