@absolutejs/ai 0.0.1

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.
Files changed (42) hide show
  1. package/README.md +6 -0
  2. package/dist/ai/client/index.js +682 -0
  3. package/dist/ai/client/index.js.map +15 -0
  4. package/dist/ai/index.js +3317 -0
  5. package/dist/ai/index.js.map +28 -0
  6. package/dist/ai/providers/anthropic.js +371 -0
  7. package/dist/ai/providers/anthropic.js.map +10 -0
  8. package/dist/ai/providers/gemini.js +260 -0
  9. package/dist/ai/providers/gemini.js.map +10 -0
  10. package/dist/ai/providers/ollama.js +221 -0
  11. package/dist/ai/providers/ollama.js.map +10 -0
  12. package/dist/ai/providers/openai.js +322 -0
  13. package/dist/ai/providers/openai.js.map +10 -0
  14. package/dist/ai/providers/openaiCompatible.js +360 -0
  15. package/dist/ai/providers/openaiCompatible.js.map +11 -0
  16. package/dist/ai/providers/openaiResponses.js +381 -0
  17. package/dist/ai/providers/openaiResponses.js.map +10 -0
  18. package/dist/src/ai/client/actions.d.ts +186 -0
  19. package/dist/src/ai/client/connection.d.ts +9 -0
  20. package/dist/src/ai/client/createAIStream.d.ts +12 -0
  21. package/dist/src/ai/client/index.d.ts +4 -0
  22. package/dist/src/ai/client/messageStore.d.ts +12 -0
  23. package/dist/src/ai/conversationManager.d.ts +19 -0
  24. package/dist/src/ai/htmxRenderers.d.ts +3 -0
  25. package/dist/src/ai/index.d.ts +19 -0
  26. package/dist/src/ai/memoryStore.d.ts +2 -0
  27. package/dist/src/ai/protocol.d.ts +4 -0
  28. package/dist/src/ai/providers/anthropic.d.ts +3 -0
  29. package/dist/src/ai/providers/gemini.d.ts +8 -0
  30. package/dist/src/ai/providers/ollama.d.ts +6 -0
  31. package/dist/src/ai/providers/openai.d.ts +7 -0
  32. package/dist/src/ai/providers/openaiCompatible.d.ts +30 -0
  33. package/dist/src/ai/providers/openaiResponses.d.ts +33 -0
  34. package/dist/src/ai/streamAI.d.ts +2 -0
  35. package/dist/src/ai/streamAIToSSE.d.ts +6 -0
  36. package/dist/src/constants.d.ts +60 -0
  37. package/dist/src/plugins/aiChat.d.ts +239 -0
  38. package/dist/types/ai.d.ts +4773 -0
  39. package/dist/types/anthropic.d.ts +20 -0
  40. package/dist/types/session.d.ts +16 -0
  41. package/dist/types/typeGuards.d.ts +3 -0
  42. package/package.json +59 -0
@@ -0,0 +1,20 @@
1
+ export type AnthropicConfig = {
2
+ apiKey: string;
3
+ baseUrl?: string;
4
+ };
5
+ export type AnthropicMessage = {
6
+ content: string | Array<Record<string, unknown>>;
7
+ role: 'user' | 'assistant';
8
+ };
9
+ export type AnthropicSSEState = {
10
+ buffer: string;
11
+ currentToolId: string;
12
+ currentToolName: string;
13
+ isThinkingBlock: boolean;
14
+ thinkingSignature: string;
15
+ toolInputJson: string;
16
+ usage: {
17
+ inputTokens: number;
18
+ outputTokens: number;
19
+ } | undefined;
20
+ };
@@ -0,0 +1,16 @@
1
+ export type SessionStore<TSession extends {
2
+ id: string;
3
+ createdAt: number;
4
+ }, TSummary extends {
5
+ id: string;
6
+ createdAt: number;
7
+ } = {
8
+ id: string;
9
+ createdAt: number;
10
+ }> = {
11
+ get: (id: string) => Promise<TSession | undefined>;
12
+ getOrCreate: (id: string) => Promise<TSession>;
13
+ set: (id: string, value: TSession) => Promise<void>;
14
+ list: () => Promise<TSummary[]>;
15
+ remove: (id: string) => Promise<void>;
16
+ };
@@ -0,0 +1,3 @@
1
+ import type { AIClientMessage, AIServerMessage } from './ai';
2
+ export declare const isValidAIClientMessage: (data: unknown) => data is AIClientMessage;
3
+ export declare const isValidAIServerMessage: (data: unknown) => data is AIServerMessage;
package/package.json ADDED
@@ -0,0 +1,59 @@
1
+ {
2
+ "name": "@absolutejs/ai",
3
+ "version": "0.0.1",
4
+ "description": "AI runtime, providers, streaming, and client utilities extracted from AbsoluteJS",
5
+ "license": "BSL-1.1",
6
+ "type": "module",
7
+ "main": "./dist/ai/index.js",
8
+ "types": "./dist/src/ai/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "README.md"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "import": "./dist/ai/index.js",
16
+ "types": "./dist/src/ai/index.d.ts"
17
+ },
18
+ "./client": {
19
+ "import": "./dist/ai/client/index.js",
20
+ "types": "./dist/src/ai/client/index.d.ts"
21
+ },
22
+ "./anthropic": {
23
+ "import": "./dist/ai/providers/anthropic.js",
24
+ "types": "./dist/src/ai/providers/anthropic.d.ts"
25
+ },
26
+ "./gemini": {
27
+ "import": "./dist/ai/providers/gemini.js",
28
+ "types": "./dist/src/ai/providers/gemini.d.ts"
29
+ },
30
+ "./ollama": {
31
+ "import": "./dist/ai/providers/ollama.js",
32
+ "types": "./dist/src/ai/providers/ollama.d.ts"
33
+ },
34
+ "./openai": {
35
+ "import": "./dist/ai/providers/openai.js",
36
+ "types": "./dist/src/ai/providers/openai.d.ts"
37
+ },
38
+ "./openai-compatible": {
39
+ "import": "./dist/ai/providers/openaiCompatible.js",
40
+ "types": "./dist/src/ai/providers/openaiCompatible.d.ts"
41
+ },
42
+ "./openai-responses": {
43
+ "import": "./dist/ai/providers/openaiResponses.js",
44
+ "types": "./dist/src/ai/providers/openaiResponses.d.ts"
45
+ }
46
+ },
47
+ "dependencies": {
48
+ "@absolutejs/linked-providers": "0.0.1",
49
+ "elysia": "1.4.18"
50
+ },
51
+ "devDependencies": {
52
+ "@types/bun": "1.3.9",
53
+ "typescript": "^5.9.3"
54
+ },
55
+ "scripts": {
56
+ "build": "bun run scripts/build.ts",
57
+ "typecheck": "tsc --noEmit --project tsconfig.json"
58
+ }
59
+ }