@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
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { BaseService, AuraClientLike, ChatMessage, AuraResponse, ChatResponse, EmbedRequest, EmbedResponse, RagRequest, RagResponse, RagIngestRequest, RagIngestResponse, SemanticSearchResult } from '@aurabase/core';
|
|
2
|
-
export { AuraResponse, ChatMessage, ChatResponse, EmbedRequest, EmbedResponse, RagIngestRequest, RagIngestResponse, RagRequest, RagResponse, SemanticSearchResult } from '@aurabase/core';
|
|
3
|
-
|
|
4
|
-
/** Un message SSE dispatché : nom d'event (`message` par défaut) + données jointes. */
|
|
5
|
-
interface SSEMessage {
|
|
6
|
-
event: string;
|
|
7
|
-
data: string;
|
|
8
|
-
}
|
|
9
|
-
/** Chunk de streaming de chat : un delta de tokens incrémental. */
|
|
10
|
-
interface ChatStreamChunk {
|
|
11
|
-
delta: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Parse un flux SSE en `AsyncGenerator<SSEMessage>`.
|
|
15
|
-
*
|
|
16
|
-
* Conforme au protocole EventSource :
|
|
17
|
-
* - événements séparés par une ligne vide (`\n\n`) ;
|
|
18
|
-
* - champs `event:` / `data:` (espace optionnel après le `:`), autres champs ignorés ;
|
|
19
|
-
* - plusieurs `data:` d'un même event sont jointes par `\n` ;
|
|
20
|
-
* - lignes commençant par `:` = commentaires/keep-alive → ignorées ;
|
|
21
|
-
* - CRLF toléré (le `\r` de fin de ligne est retiré).
|
|
22
|
-
*
|
|
23
|
-
* Gère les trames partielles : un event scindé sur plusieurs chunks est
|
|
24
|
-
* bufferisé jusqu'à réception de la ligne vide. Un éventuel event final non
|
|
25
|
-
* terminé par une ligne vide est tout de même livré à la fermeture du flux.
|
|
26
|
-
*/
|
|
27
|
-
declare function parseSSE(stream: ReadableStream<Uint8Array>): AsyncGenerator<SSEMessage>;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Un namespace RAG. Le backend (`GET /rag/namespaces` → `Vec<String>`) renvoie
|
|
31
|
-
* de simples chaînes ; le type reste un alias pour documenter l'intention et
|
|
32
|
-
* autoriser une évolution ultérieure vers un objet sans casser les appelants.
|
|
33
|
-
*/
|
|
34
|
-
type RagNamespace = string;
|
|
35
|
-
/**
|
|
36
|
-
* Réponse de `DELETE /rag/{namespace}` — forme réelle du handler
|
|
37
|
-
* (`rag_delete_namespace` → `{ "deleted": <count> }`).
|
|
38
|
-
*/
|
|
39
|
-
interface RagDeleteResponse {
|
|
40
|
-
/** Nombre d'entrées supprimées du namespace. */
|
|
41
|
-
deleted: number;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Réponse de `POST /rag/{namespace}/reindex` — forme réelle du handler
|
|
45
|
-
* (`ReindexResponse` dans `services/aura-ai/src/rag/mod.rs`).
|
|
46
|
-
*/
|
|
47
|
-
interface RagReindexResponse {
|
|
48
|
-
/** Nombre de chunks ré-embeddés sous le modèle courant. */
|
|
49
|
-
reindexed: number;
|
|
50
|
-
/** Modèle d'embedding désormais appliqué au namespace. */
|
|
51
|
-
embedding_model: string;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
declare class AiService extends BaseService {
|
|
55
|
-
constructor(client: AuraClientLike);
|
|
56
|
-
private get prefix();
|
|
57
|
-
/**
|
|
58
|
-
* Send a chat completion request.
|
|
59
|
-
*/
|
|
60
|
-
chat(messages: ChatMessage[], options?: {
|
|
61
|
-
model?: string;
|
|
62
|
-
temperature?: number;
|
|
63
|
-
max_tokens?: number;
|
|
64
|
-
}): Promise<AuraResponse<ChatResponse>>;
|
|
65
|
-
/**
|
|
66
|
-
* Chat completion streamé (SSE). Renvoie un `AsyncIterable` de deltas de tokens,
|
|
67
|
-
* consommable par `for await (const { delta } of ai.chatStream(msgs)) { … }`.
|
|
68
|
-
*
|
|
69
|
-
* Court-circuite volontairement le pipeline JSON (`@aurabase/core/fetch.ts`) et
|
|
70
|
-
* emprunte le chemin transport BRUT `client.fetchFn` (patron `StorageService.download`) :
|
|
71
|
-
* - refresh proactif du token expiré (même règle que `download`, marge 30 s) ;
|
|
72
|
-
* - pose manuelle de `Authorization: Bearer` + `apikey`, `Accept: text/event-stream` ;
|
|
73
|
-
* - lecture de `res.body` via `parseSSE`, mapping des events serveur :
|
|
74
|
-
* `delta` (`{ content }`) → `yield { delta }`, `error` (`{ error }`) → lève une
|
|
75
|
-
* `AuraError`, `done` → termine l'itération.
|
|
76
|
-
*
|
|
77
|
-
* `options.signal` interrompt proprement le flux (annulation du `fetch` + fin
|
|
78
|
-
* d'itération sans throw). Sur `!res.ok`, lève `AuraError(res.status)`.
|
|
79
|
-
*
|
|
80
|
-
* Backend route: POST /v1/ai/{project_id}/chat/stream
|
|
81
|
-
*/
|
|
82
|
-
chatStream(messages: ChatMessage[], options?: {
|
|
83
|
-
model?: string;
|
|
84
|
-
temperature?: number;
|
|
85
|
-
max_tokens?: number;
|
|
86
|
-
signal?: AbortSignal;
|
|
87
|
-
}): AsyncGenerator<ChatStreamChunk>;
|
|
88
|
-
/**
|
|
89
|
-
* Generate embeddings for the given input(s).
|
|
90
|
-
*/
|
|
91
|
-
embed(req: EmbedRequest): Promise<AuraResponse<EmbedResponse>>;
|
|
92
|
-
/**
|
|
93
|
-
* Retrieval-Augmented Generation: query a collection and get an answer.
|
|
94
|
-
*/
|
|
95
|
-
rag(req: RagRequest): Promise<AuraResponse<RagResponse>>;
|
|
96
|
-
/**
|
|
97
|
-
* Ingest a document into a RAG namespace.
|
|
98
|
-
*/
|
|
99
|
-
ragIngest(req: RagIngestRequest): Promise<AuraResponse<RagIngestResponse>>;
|
|
100
|
-
/**
|
|
101
|
-
* Liste les namespaces RAG du projet.
|
|
102
|
-
* Backend route: GET /v1/ai/{project_id}/rag/namespaces (→ `Vec<String>`).
|
|
103
|
-
*/
|
|
104
|
-
listNamespaces(): Promise<AuraResponse<RagNamespace[]>>;
|
|
105
|
-
/**
|
|
106
|
-
* Supprime un namespace RAG (et son corpus). Le segment `namespace` est
|
|
107
|
-
* URL-encodé (anti-injection de chemin).
|
|
108
|
-
* Backend route: DELETE /v1/ai/{project_id}/rag/{namespace} (→ `{ deleted }`).
|
|
109
|
-
*/
|
|
110
|
-
deleteNamespace(namespace: string): Promise<AuraResponse<RagDeleteResponse>>;
|
|
111
|
-
/**
|
|
112
|
-
* Ré-indexe un namespace RAG avec le modèle d'embedding courant (remédiation
|
|
113
|
-
* après un changement de modèle/dimension). Le segment `namespace` est URL-encodé.
|
|
114
|
-
* Backend route: POST /v1/ai/{project_id}/rag/{namespace}/reindex (→ `ReindexResponse`).
|
|
115
|
-
*/
|
|
116
|
-
reindexNamespace(namespace: string): Promise<AuraResponse<RagReindexResponse>>;
|
|
117
|
-
/**
|
|
118
|
-
* Semantic search over an embedding namespace.
|
|
119
|
-
*/
|
|
120
|
-
semanticSearch(query: string, namespace: string, options?: {
|
|
121
|
-
top_k?: number;
|
|
122
|
-
threshold?: number;
|
|
123
|
-
}): Promise<AuraResponse<SemanticSearchResult[]>>;
|
|
124
|
-
/**
|
|
125
|
-
* Natural-language to SQL: convert a question into a SQL query.
|
|
126
|
-
*/
|
|
127
|
-
nl2sql(question: string, schema: string, options?: {
|
|
128
|
-
dialect?: string;
|
|
129
|
-
examples?: Array<{
|
|
130
|
-
question: string;
|
|
131
|
-
sql: string;
|
|
132
|
-
}>;
|
|
133
|
-
}): Promise<AuraResponse<{
|
|
134
|
-
sql: string;
|
|
135
|
-
explanation: string;
|
|
136
|
-
}>>;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export { AiService, type ChatStreamChunk, type RagDeleteResponse, type RagNamespace, type RagReindexResponse, type SSEMessage, parseSSE };
|
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
import { BaseService, AuraClientLike, ChatMessage, AuraResponse, ChatResponse, EmbedRequest, EmbedResponse, RagRequest, RagResponse, RagIngestRequest, RagIngestResponse, SemanticSearchResult } from '@aurabase/core';
|
|
2
|
-
export { AuraResponse, ChatMessage, ChatResponse, EmbedRequest, EmbedResponse, RagIngestRequest, RagIngestResponse, RagRequest, RagResponse, SemanticSearchResult } from '@aurabase/core';
|
|
3
|
-
|
|
4
|
-
/** Un message SSE dispatché : nom d'event (`message` par défaut) + données jointes. */
|
|
5
|
-
interface SSEMessage {
|
|
6
|
-
event: string;
|
|
7
|
-
data: string;
|
|
8
|
-
}
|
|
9
|
-
/** Chunk de streaming de chat : un delta de tokens incrémental. */
|
|
10
|
-
interface ChatStreamChunk {
|
|
11
|
-
delta: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Parse un flux SSE en `AsyncGenerator<SSEMessage>`.
|
|
15
|
-
*
|
|
16
|
-
* Conforme au protocole EventSource :
|
|
17
|
-
* - événements séparés par une ligne vide (`\n\n`) ;
|
|
18
|
-
* - champs `event:` / `data:` (espace optionnel après le `:`), autres champs ignorés ;
|
|
19
|
-
* - plusieurs `data:` d'un même event sont jointes par `\n` ;
|
|
20
|
-
* - lignes commençant par `:` = commentaires/keep-alive → ignorées ;
|
|
21
|
-
* - CRLF toléré (le `\r` de fin de ligne est retiré).
|
|
22
|
-
*
|
|
23
|
-
* Gère les trames partielles : un event scindé sur plusieurs chunks est
|
|
24
|
-
* bufferisé jusqu'à réception de la ligne vide. Un éventuel event final non
|
|
25
|
-
* terminé par une ligne vide est tout de même livré à la fermeture du flux.
|
|
26
|
-
*/
|
|
27
|
-
declare function parseSSE(stream: ReadableStream<Uint8Array>): AsyncGenerator<SSEMessage>;
|
|
28
|
-
|
|
29
|
-
/**
|
|
30
|
-
* Un namespace RAG. Le backend (`GET /rag/namespaces` → `Vec<String>`) renvoie
|
|
31
|
-
* de simples chaînes ; le type reste un alias pour documenter l'intention et
|
|
32
|
-
* autoriser une évolution ultérieure vers un objet sans casser les appelants.
|
|
33
|
-
*/
|
|
34
|
-
type RagNamespace = string;
|
|
35
|
-
/**
|
|
36
|
-
* Réponse de `DELETE /rag/{namespace}` — forme réelle du handler
|
|
37
|
-
* (`rag_delete_namespace` → `{ "deleted": <count> }`).
|
|
38
|
-
*/
|
|
39
|
-
interface RagDeleteResponse {
|
|
40
|
-
/** Nombre d'entrées supprimées du namespace. */
|
|
41
|
-
deleted: number;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Réponse de `POST /rag/{namespace}/reindex` — forme réelle du handler
|
|
45
|
-
* (`ReindexResponse` dans `services/aura-ai/src/rag/mod.rs`).
|
|
46
|
-
*/
|
|
47
|
-
interface RagReindexResponse {
|
|
48
|
-
/** Nombre de chunks ré-embeddés sous le modèle courant. */
|
|
49
|
-
reindexed: number;
|
|
50
|
-
/** Modèle d'embedding désormais appliqué au namespace. */
|
|
51
|
-
embedding_model: string;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
declare class AiService extends BaseService {
|
|
55
|
-
constructor(client: AuraClientLike);
|
|
56
|
-
private get prefix();
|
|
57
|
-
/**
|
|
58
|
-
* Send a chat completion request.
|
|
59
|
-
*/
|
|
60
|
-
chat(messages: ChatMessage[], options?: {
|
|
61
|
-
model?: string;
|
|
62
|
-
temperature?: number;
|
|
63
|
-
max_tokens?: number;
|
|
64
|
-
}): Promise<AuraResponse<ChatResponse>>;
|
|
65
|
-
/**
|
|
66
|
-
* Chat completion streamé (SSE). Renvoie un `AsyncIterable` de deltas de tokens,
|
|
67
|
-
* consommable par `for await (const { delta } of ai.chatStream(msgs)) { … }`.
|
|
68
|
-
*
|
|
69
|
-
* Court-circuite volontairement le pipeline JSON (`@aurabase/core/fetch.ts`) et
|
|
70
|
-
* emprunte le chemin transport BRUT `client.fetchFn` (patron `StorageService.download`) :
|
|
71
|
-
* - refresh proactif du token expiré (même règle que `download`, marge 30 s) ;
|
|
72
|
-
* - pose manuelle de `Authorization: Bearer` + `apikey`, `Accept: text/event-stream` ;
|
|
73
|
-
* - lecture de `res.body` via `parseSSE`, mapping des events serveur :
|
|
74
|
-
* `delta` (`{ content }`) → `yield { delta }`, `error` (`{ error }`) → lève une
|
|
75
|
-
* `AuraError`, `done` → termine l'itération.
|
|
76
|
-
*
|
|
77
|
-
* `options.signal` interrompt proprement le flux (annulation du `fetch` + fin
|
|
78
|
-
* d'itération sans throw). Sur `!res.ok`, lève `AuraError(res.status)`.
|
|
79
|
-
*
|
|
80
|
-
* Backend route: POST /v1/ai/{project_id}/chat/stream
|
|
81
|
-
*/
|
|
82
|
-
chatStream(messages: ChatMessage[], options?: {
|
|
83
|
-
model?: string;
|
|
84
|
-
temperature?: number;
|
|
85
|
-
max_tokens?: number;
|
|
86
|
-
signal?: AbortSignal;
|
|
87
|
-
}): AsyncGenerator<ChatStreamChunk>;
|
|
88
|
-
/**
|
|
89
|
-
* Generate embeddings for the given input(s).
|
|
90
|
-
*/
|
|
91
|
-
embed(req: EmbedRequest): Promise<AuraResponse<EmbedResponse>>;
|
|
92
|
-
/**
|
|
93
|
-
* Retrieval-Augmented Generation: query a collection and get an answer.
|
|
94
|
-
*/
|
|
95
|
-
rag(req: RagRequest): Promise<AuraResponse<RagResponse>>;
|
|
96
|
-
/**
|
|
97
|
-
* Ingest a document into a RAG namespace.
|
|
98
|
-
*/
|
|
99
|
-
ragIngest(req: RagIngestRequest): Promise<AuraResponse<RagIngestResponse>>;
|
|
100
|
-
/**
|
|
101
|
-
* Liste les namespaces RAG du projet.
|
|
102
|
-
* Backend route: GET /v1/ai/{project_id}/rag/namespaces (→ `Vec<String>`).
|
|
103
|
-
*/
|
|
104
|
-
listNamespaces(): Promise<AuraResponse<RagNamespace[]>>;
|
|
105
|
-
/**
|
|
106
|
-
* Supprime un namespace RAG (et son corpus). Le segment `namespace` est
|
|
107
|
-
* URL-encodé (anti-injection de chemin).
|
|
108
|
-
* Backend route: DELETE /v1/ai/{project_id}/rag/{namespace} (→ `{ deleted }`).
|
|
109
|
-
*/
|
|
110
|
-
deleteNamespace(namespace: string): Promise<AuraResponse<RagDeleteResponse>>;
|
|
111
|
-
/**
|
|
112
|
-
* Ré-indexe un namespace RAG avec le modèle d'embedding courant (remédiation
|
|
113
|
-
* après un changement de modèle/dimension). Le segment `namespace` est URL-encodé.
|
|
114
|
-
* Backend route: POST /v1/ai/{project_id}/rag/{namespace}/reindex (→ `ReindexResponse`).
|
|
115
|
-
*/
|
|
116
|
-
reindexNamespace(namespace: string): Promise<AuraResponse<RagReindexResponse>>;
|
|
117
|
-
/**
|
|
118
|
-
* Semantic search over an embedding namespace.
|
|
119
|
-
*/
|
|
120
|
-
semanticSearch(query: string, namespace: string, options?: {
|
|
121
|
-
top_k?: number;
|
|
122
|
-
threshold?: number;
|
|
123
|
-
}): Promise<AuraResponse<SemanticSearchResult[]>>;
|
|
124
|
-
/**
|
|
125
|
-
* Natural-language to SQL: convert a question into a SQL query.
|
|
126
|
-
*/
|
|
127
|
-
nl2sql(question: string, schema: string, options?: {
|
|
128
|
-
dialect?: string;
|
|
129
|
-
examples?: Array<{
|
|
130
|
-
question: string;
|
|
131
|
-
sql: string;
|
|
132
|
-
}>;
|
|
133
|
-
}): Promise<AuraResponse<{
|
|
134
|
-
sql: string;
|
|
135
|
-
explanation: string;
|
|
136
|
-
}>>;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
export { AiService, type ChatStreamChunk, type RagDeleteResponse, type RagNamespace, type RagReindexResponse, type SSEMessage, parseSSE };
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
import { BaseService, isTokenExpired, refreshOnce, AuraError, isAbortError } from '@aurabase/core';
|
|
2
|
-
|
|
3
|
-
// src/AiService.ts
|
|
4
|
-
|
|
5
|
-
// src/sse.ts
|
|
6
|
-
async function* parseSSE(stream) {
|
|
7
|
-
const reader = stream.getReader();
|
|
8
|
-
const decoder = new TextDecoder();
|
|
9
|
-
let buffer = "";
|
|
10
|
-
let eventName = "message";
|
|
11
|
-
let dataLines = [];
|
|
12
|
-
const consumeLine = (raw) => {
|
|
13
|
-
const line = raw.endsWith("\r") ? raw.slice(0, -1) : raw;
|
|
14
|
-
if (line === "") {
|
|
15
|
-
if (dataLines.length === 0) {
|
|
16
|
-
eventName = "message";
|
|
17
|
-
return null;
|
|
18
|
-
}
|
|
19
|
-
const msg = { event: eventName, data: dataLines.join("\n") };
|
|
20
|
-
eventName = "message";
|
|
21
|
-
dataLines = [];
|
|
22
|
-
return msg;
|
|
23
|
-
}
|
|
24
|
-
if (line.startsWith(":")) return null;
|
|
25
|
-
const colon = line.indexOf(":");
|
|
26
|
-
let field;
|
|
27
|
-
let value;
|
|
28
|
-
if (colon === -1) {
|
|
29
|
-
field = line;
|
|
30
|
-
value = "";
|
|
31
|
-
} else {
|
|
32
|
-
field = line.slice(0, colon);
|
|
33
|
-
value = line.slice(colon + 1);
|
|
34
|
-
if (value.startsWith(" ")) value = value.slice(1);
|
|
35
|
-
}
|
|
36
|
-
if (field === "event") eventName = value;
|
|
37
|
-
else if (field === "data") dataLines.push(value);
|
|
38
|
-
return null;
|
|
39
|
-
};
|
|
40
|
-
try {
|
|
41
|
-
for (; ; ) {
|
|
42
|
-
const { done, value } = await reader.read();
|
|
43
|
-
if (done) break;
|
|
44
|
-
buffer += decoder.decode(value, { stream: true });
|
|
45
|
-
let idx;
|
|
46
|
-
while ((idx = buffer.indexOf("\n")) !== -1) {
|
|
47
|
-
const raw = buffer.slice(0, idx);
|
|
48
|
-
buffer = buffer.slice(idx + 1);
|
|
49
|
-
const msg = consumeLine(raw);
|
|
50
|
-
if (msg) yield msg;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
buffer += decoder.decode();
|
|
54
|
-
if (buffer.length > 0) {
|
|
55
|
-
const msg = consumeLine(buffer);
|
|
56
|
-
if (msg) yield msg;
|
|
57
|
-
}
|
|
58
|
-
if (dataLines.length > 0) {
|
|
59
|
-
yield { event: eventName, data: dataLines.join("\n") };
|
|
60
|
-
}
|
|
61
|
-
} finally {
|
|
62
|
-
reader.releaseLock();
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
// src/AiService.ts
|
|
67
|
-
var AiService = class extends BaseService {
|
|
68
|
-
constructor(client) {
|
|
69
|
-
super(client);
|
|
70
|
-
}
|
|
71
|
-
get prefix() {
|
|
72
|
-
return `/v1/ai/${this.client.projectId}`;
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Send a chat completion request.
|
|
76
|
-
*/
|
|
77
|
-
async chat(messages, options) {
|
|
78
|
-
return this.request("POST", `${this.prefix}/chat`, {
|
|
79
|
-
messages,
|
|
80
|
-
...options
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Chat completion streamé (SSE). Renvoie un `AsyncIterable` de deltas de tokens,
|
|
85
|
-
* consommable par `for await (const { delta } of ai.chatStream(msgs)) { … }`.
|
|
86
|
-
*
|
|
87
|
-
* Court-circuite volontairement le pipeline JSON (`@aurabase/core/fetch.ts`) et
|
|
88
|
-
* emprunte le chemin transport BRUT `client.fetchFn` (patron `StorageService.download`) :
|
|
89
|
-
* - refresh proactif du token expiré (même règle que `download`, marge 30 s) ;
|
|
90
|
-
* - pose manuelle de `Authorization: Bearer` + `apikey`, `Accept: text/event-stream` ;
|
|
91
|
-
* - lecture de `res.body` via `parseSSE`, mapping des events serveur :
|
|
92
|
-
* `delta` (`{ content }`) → `yield { delta }`, `error` (`{ error }`) → lève une
|
|
93
|
-
* `AuraError`, `done` → termine l'itération.
|
|
94
|
-
*
|
|
95
|
-
* `options.signal` interrompt proprement le flux (annulation du `fetch` + fin
|
|
96
|
-
* d'itération sans throw). Sur `!res.ok`, lève `AuraError(res.status)`.
|
|
97
|
-
*
|
|
98
|
-
* Backend route: POST /v1/ai/{project_id}/chat/stream
|
|
99
|
-
*/
|
|
100
|
-
async *chatStream(messages, options) {
|
|
101
|
-
const client = this.client;
|
|
102
|
-
const store = client.authStore;
|
|
103
|
-
if (store.token && store.refreshToken && isTokenExpired(store.token, 30)) {
|
|
104
|
-
await refreshOnce(client);
|
|
105
|
-
}
|
|
106
|
-
const headers = {
|
|
107
|
-
"Content-Type": "application/json",
|
|
108
|
-
Accept: "text/event-stream"
|
|
109
|
-
};
|
|
110
|
-
if (store.token) headers["Authorization"] = `Bearer ${store.token}`;
|
|
111
|
-
if (client.apiKey) headers["apikey"] = client.apiKey;
|
|
112
|
-
const body = JSON.stringify({
|
|
113
|
-
messages,
|
|
114
|
-
model: options?.model,
|
|
115
|
-
temperature: options?.temperature,
|
|
116
|
-
max_tokens: options?.max_tokens
|
|
117
|
-
});
|
|
118
|
-
try {
|
|
119
|
-
const res = await client.fetchFn(this.url(`${this.prefix}/chat/stream`), {
|
|
120
|
-
method: "POST",
|
|
121
|
-
headers,
|
|
122
|
-
body,
|
|
123
|
-
signal: options?.signal
|
|
124
|
-
});
|
|
125
|
-
if (!res.ok) {
|
|
126
|
-
let parsed = null;
|
|
127
|
-
try {
|
|
128
|
-
parsed = await res.json();
|
|
129
|
-
} catch {
|
|
130
|
-
}
|
|
131
|
-
throw new AuraError(res.status, parsed);
|
|
132
|
-
}
|
|
133
|
-
if (!res.body) {
|
|
134
|
-
throw new AuraError(0, {
|
|
135
|
-
error: { code: "invalid_response", message: "chatStream: la r\xE9ponse SSE n'a pas de corps lisible" }
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
for await (const msg of parseSSE(res.body)) {
|
|
139
|
-
if (msg.event === "delta") {
|
|
140
|
-
let content = "";
|
|
141
|
-
try {
|
|
142
|
-
content = JSON.parse(msg.data).content ?? "";
|
|
143
|
-
} catch {
|
|
144
|
-
content = "";
|
|
145
|
-
}
|
|
146
|
-
if (content) yield { delta: content };
|
|
147
|
-
} else if (msg.event === "error") {
|
|
148
|
-
let message = "AI stream error";
|
|
149
|
-
try {
|
|
150
|
-
message = JSON.parse(msg.data).error ?? message;
|
|
151
|
-
} catch {
|
|
152
|
-
}
|
|
153
|
-
throw new AuraError(0, { error: { code: "ai_stream_error", message } });
|
|
154
|
-
} else if (msg.event === "done") {
|
|
155
|
-
return;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
} catch (err) {
|
|
159
|
-
if (options?.signal?.aborted || isAbortError(err)) return;
|
|
160
|
-
throw err;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Generate embeddings for the given input(s).
|
|
165
|
-
*/
|
|
166
|
-
async embed(req) {
|
|
167
|
-
return this.request("POST", `${this.prefix}/embed`, req);
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Retrieval-Augmented Generation: query a collection and get an answer.
|
|
171
|
-
*/
|
|
172
|
-
async rag(req) {
|
|
173
|
-
return this.request("POST", `${this.prefix}/rag/query`, req);
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* Ingest a document into a RAG namespace.
|
|
177
|
-
*/
|
|
178
|
-
async ragIngest(req) {
|
|
179
|
-
return this.request("POST", `${this.prefix}/rag/ingest`, req);
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Liste les namespaces RAG du projet.
|
|
183
|
-
* Backend route: GET /v1/ai/{project_id}/rag/namespaces (→ `Vec<String>`).
|
|
184
|
-
*/
|
|
185
|
-
async listNamespaces() {
|
|
186
|
-
return this.request("GET", `${this.prefix}/rag/namespaces`);
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Supprime un namespace RAG (et son corpus). Le segment `namespace` est
|
|
190
|
-
* URL-encodé (anti-injection de chemin).
|
|
191
|
-
* Backend route: DELETE /v1/ai/{project_id}/rag/{namespace} (→ `{ deleted }`).
|
|
192
|
-
*/
|
|
193
|
-
async deleteNamespace(namespace) {
|
|
194
|
-
return this.request("DELETE", `${this.prefix}/rag/${encodeURIComponent(namespace)}`);
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Ré-indexe un namespace RAG avec le modèle d'embedding courant (remédiation
|
|
198
|
-
* après un changement de modèle/dimension). Le segment `namespace` est URL-encodé.
|
|
199
|
-
* Backend route: POST /v1/ai/{project_id}/rag/{namespace}/reindex (→ `ReindexResponse`).
|
|
200
|
-
*/
|
|
201
|
-
async reindexNamespace(namespace) {
|
|
202
|
-
return this.request("POST", `${this.prefix}/rag/${encodeURIComponent(namespace)}/reindex`);
|
|
203
|
-
}
|
|
204
|
-
/**
|
|
205
|
-
* Semantic search over an embedding namespace.
|
|
206
|
-
*/
|
|
207
|
-
async semanticSearch(query, namespace, options) {
|
|
208
|
-
const params = new URLSearchParams({ query, namespace });
|
|
209
|
-
if (options?.top_k !== void 0) params.set("top_k", String(options.top_k));
|
|
210
|
-
if (options?.threshold !== void 0) params.set("threshold", String(options.threshold));
|
|
211
|
-
return this.request("GET", `${this.prefix}/search?${params.toString()}`);
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Natural-language to SQL: convert a question into a SQL query.
|
|
215
|
-
*/
|
|
216
|
-
async nl2sql(question, schema, options) {
|
|
217
|
-
return this.request("POST", `${this.prefix}/nl2sql`, {
|
|
218
|
-
question,
|
|
219
|
-
schema,
|
|
220
|
-
dialect: options?.dialect,
|
|
221
|
-
examples: options?.examples
|
|
222
|
-
});
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
export { AiService, parseSSE };
|
|
@@ -1,19 +0,0 @@
|
|
|
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/esbuild@0.27.7/node_modules/esbuild/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/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/esbuild@0.27.7/node_modules/esbuild/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/esbuild@0.27.7/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/node_modules:$NODE_PATH"
|
|
16
|
-
fi
|
|
17
|
-
"$basedir/../../../../node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/bin/esbuild" "$@"
|
|
18
|
-
exit $?
|
|
19
|
-
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/esbuild@0.27.7/node_modules/esbuild/bin/esbuild
|
|
@@ -1,22 +0,0 @@
|
|
|
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/typescript@5.9.3/node_modules/typescript/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/typescript@5.9.3/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/typescript@5.9.3/node_modules/typescript/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/typescript@5.9.3/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/../typescript/bin/tsc" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsc" "$@"
|
|
21
|
-
fi
|
|
22
|
-
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/packages/ai/node_modules/typescript/bin/tsc
|
|
@@ -1,22 +0,0 @@
|
|
|
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/typescript@5.9.3/node_modules/typescript/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/typescript@5.9.3/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/typescript@5.9.3/node_modules/typescript/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/typescript@5.9.3/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/../typescript/bin/tsserver" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../typescript/bin/tsserver" "$@"
|
|
21
|
-
fi
|
|
22
|
-
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/packages/ai/node_modules/typescript/bin/tsserver
|
|
@@ -1,22 +0,0 @@
|
|
|
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/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/node_modules/tsup/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/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/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/node_modules/tsup/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/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/../tsup/dist/cli-default.js" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../tsup/dist/cli-default.js" "$@"
|
|
21
|
-
fi
|
|
22
|
-
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/packages/ai/node_modules/tsup/dist/cli-default.js
|
|
@@ -1,22 +0,0 @@
|
|
|
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/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/node_modules/tsup/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/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/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/node_modules/tsup/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/tsup@8.5.1_postcss@8.5.16_typescript@5.9.3/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/../tsup/dist/cli-node.js" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../tsup/dist/cli-node.js" "$@"
|
|
21
|
-
fi
|
|
22
|
-
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/packages/ai/node_modules/tsup/dist/cli-node.js
|
|
@@ -1,22 +0,0 @@
|
|
|
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/vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7/node_modules/vite/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/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/vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7/node_modules/vite/node_modules:/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/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/../../../../node_modules/.pnpm/vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7/node_modules/vite/bin/vite.js" "$@"
|
|
19
|
-
else
|
|
20
|
-
exec node "$basedir/../../../../node_modules/.pnpm/vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7/node_modules/vite/bin/vite.js" "$@"
|
|
21
|
-
fi
|
|
22
|
-
# cmd-shim-target=/Users/affanedaylami/aurabase/aurabase-js/node_modules/.pnpm/vite@8.1.3_@types+node@20.14.15_esbuild@0.27.7/node_modules/vite/bin/vite.js
|
|
@@ -1,22 +0,0 @@
|
|
|
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/ai/node_modules/vitest/vitest.mjs
|
package/packages/ai/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":"4.1.9","results":[[":tests/chat-stream.test.ts",{"duration":1153.2597079999996,"failed":false}],[":tests/sse.test.ts",{"duration":167.96295800000007,"failed":false}],[":tests/rag-namespaces.test.ts",{"duration":362.81866700000046,"failed":false}]]}
|