startx 0.9.4 → 0.9.9

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 (48) hide show
  1. package/apps/cli/package.json +3 -1
  2. package/apps/cli/src/commands/common/hashing.ts +34 -0
  3. package/apps/cli/src/commands/common/ping.ts +11 -0
  4. package/apps/cli/src/commands/common/random.ts +41 -0
  5. package/apps/cli/src/commands/i-command.ts +6 -0
  6. package/apps/cli/src/commands/index.ts +6 -0
  7. package/apps/cli/src/index.ts +6 -4
  8. package/apps/cli/tsconfig.json +4 -6
  9. package/apps/startx-cli/dist/index.mjs +52 -52
  10. package/configs/eslint-config/src/configs/base.ts +26 -11
  11. package/package.json +2 -2
  12. package/packages/@db/drizzle/tsconfig.json +2 -8
  13. package/packages/@db/sqlite/tsconfig.json +2 -8
  14. package/packages/@repo/env/package.json +2 -1
  15. package/packages/@repo/env/src/utils.ts +7 -6
  16. package/packages/@repo/lib/src/events/i-event.ts +1 -1
  17. package/packages/aix/eslint.config.ts +4 -0
  18. package/packages/aix/package.json +53 -0
  19. package/packages/aix/src/aix.ts +519 -0
  20. package/packages/aix/src/index.ts +3 -0
  21. package/packages/aix/src/lib/convertor/schema-convertor.ts +108 -0
  22. package/packages/aix/src/lib/convertor/variable-resolver.ts +161 -0
  23. package/packages/aix/src/lib/tokenizer/index.ts +1 -0
  24. package/packages/aix/src/lib/tokenizer/tokenizer.ts +42 -0
  25. package/packages/aix/src/providers/ai-chat.ts +25 -0
  26. package/packages/aix/src/providers/ai-event.ts +21 -0
  27. package/packages/aix/src/providers/ai-interface.ts +236 -0
  28. package/packages/aix/src/providers/ai-prompt.ts +14 -0
  29. package/packages/aix/src/providers/default-models.ts +471 -0
  30. package/packages/aix/src/providers/index.ts +1 -0
  31. package/packages/aix/src/providers/openai/openai.ts +139 -0
  32. package/packages/aix/src/providers/providers.ts +39 -0
  33. package/packages/aix/src/providers/types.ts +54 -0
  34. package/packages/aix/src/tools/generic/database.ts +290 -0
  35. package/packages/aix/src/tools/generic/forecast.ts +216 -0
  36. package/packages/aix/src/tools/generic/index.ts +4 -0
  37. package/packages/aix/src/tools/generic/planner.ts +114 -0
  38. package/packages/aix/src/tools/generic/summarizer.ts +101 -0
  39. package/packages/aix/src/tools/i-tool.ts +33 -0
  40. package/packages/aix/src/tools/index.ts +2 -0
  41. package/packages/aix/src/tools/system/index.ts +297 -0
  42. package/packages/aix/src/tools/tool-manager.ts +241 -0
  43. package/packages/aix/src/tools/types.ts +109 -0
  44. package/packages/aix/tsconfig.json +7 -0
  45. package/packages/aix/vitest.config.ts +3 -0
  46. package/pnpm-workspace.yaml +7 -0
  47. package/turbo.json +0 -1
  48. package/apps/cli/src/commands/ping.ts +0 -10
@@ -0,0 +1,109 @@
1
+ import { z } from "zod";
2
+ import type { ITool } from "./i-tool.js";
3
+
4
+ type Awaitable<T> = T | PromiseLike<T>;
5
+
6
+ export type ToolDefine<TSchema extends z.ZodObject<any> = z.ZodObject<any>> = {
7
+ title: string;
8
+ description: string;
9
+ schema: TSchema;
10
+ };
11
+
12
+ type MetaBase = {
13
+ return?: {
14
+ isCompleted?: boolean;
15
+ isError?: boolean;
16
+ };
17
+ [key: string]: unknown;
18
+ };
19
+
20
+ type ResourceLinkBase<TUri extends string, TMetaPayload = Record<string, never>> = {
21
+ type: "resource_link";
22
+ uri: TUri;
23
+ name: string;
24
+ description?: string;
25
+ title?: string;
26
+ mimetype?: string;
27
+ _meta: MetaBase & TMetaPayload;
28
+ };
29
+
30
+ type TableResource = ResourceLinkBase<
31
+ "table",
32
+ {
33
+ data: Array<Record<string, unknown>>;
34
+ columns?: string[];
35
+ }
36
+ >;
37
+
38
+ type ImageResource = ResourceLinkBase<
39
+ "image",
40
+ {
41
+ source: { kind: "url"; url: string } | { kind: "base64"; data: string; mimeType?: string };
42
+ alt?: string;
43
+ width?: number;
44
+ height?: number;
45
+ }
46
+ >;
47
+
48
+ type UserMessageResource = ResourceLinkBase<
49
+ "user_message",
50
+ {
51
+ message: string;
52
+ }
53
+ >;
54
+
55
+ type FileResource = ResourceLinkBase<
56
+ "file",
57
+ {
58
+ source: { kind: "base64"; data: string; mimeType?: string };
59
+ }
60
+ >;
61
+
62
+ type ReturnResource = ResourceLinkBase<
63
+ "return",
64
+ {
65
+ result?: unknown;
66
+ return: {
67
+ isCompleted: boolean;
68
+ isError: boolean;
69
+ };
70
+ }
71
+ >;
72
+
73
+ export type ResourceLink = TableResource | ImageResource | UserMessageResource | FileResource | ReturnResource;
74
+ export type ToolReturn = Array<{ type: "text"; text: string } | ResourceLink>;
75
+
76
+ export type ToolConnector =
77
+ | {
78
+ type: "mcp";
79
+ serverPath: string;
80
+ isInternal: boolean;
81
+ headers?: Record<string, string>;
82
+ sessionId?: string;
83
+ }
84
+ | {
85
+ type: "internal";
86
+ isInternal: boolean;
87
+ tool: Array<ITool<z.ZodObject<any>>>;
88
+ };
89
+
90
+ export type TInternal =
91
+ | {
92
+ vars: Map<
93
+ string,
94
+ {
95
+ data: string;
96
+ schema: object;
97
+ }
98
+ >;
99
+ system?: Record<string, string | number | boolean>;
100
+ toolData?: Record<string, unknown>;
101
+ }
102
+ | undefined;
103
+
104
+ export type GenericTool<TSchema extends z.ZodObject<any> = z.ZodObject<any>> = {
105
+ name: string;
106
+ description: string;
107
+ schema: TSchema;
108
+ run: (args: z.infer<TSchema>, internal?: TInternal) => Awaitable<ToolReturn>;
109
+ };
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "typescript-config/tsconfig.node.json",
3
+ "compilerOptions": {
4
+ // "baseUrl": "./src",
5
+ },
6
+ "include": ["src/**/*.ts"]
7
+ }
@@ -0,0 +1,3 @@
1
+ import vitestConfig from "vitest-config/node";
2
+
3
+ export default vitestConfig;
@@ -78,10 +78,17 @@ catalog:
78
78
  bcryptjs: ^3.0.3
79
79
  nodemailer: ^8.0.1
80
80
  dotenv: ^17.3.1
81
+ dotenv-expand: ^13.0.0
81
82
  firebase-admin: ^13.7.0
82
83
  winston: ^3.19.0
83
84
  winston-daily-rotate-file: ^5.0.0
84
85
  jsonwebtoken: ^9.0.3
85
86
 
87
+ # aix
88
+ js-tiktoken: ^1.0.21
89
+ quickjs-emscripten: ^0.32.0
90
+ quicktype-core: ^23.2.6
91
+ openai: ^6.34.0
92
+
86
93
  # redis
87
94
  ioredis: ^5.10.0
package/turbo.json CHANGED
@@ -32,7 +32,6 @@
32
32
  },
33
33
  "cli": {
34
34
  "cache": false,
35
- "persistent": true,
36
35
  "interactive": true
37
36
  },
38
37
  "dev": {
@@ -1,10 +0,0 @@
1
- import { logger } from "@repo/logger";
2
- import { Command } from "commander";
3
-
4
- export class InitCommand {
5
- static command = new Command("ping").action(InitCommand.run.bind(InitCommand));
6
-
7
- private static run() {
8
- logger.info("pong");
9
- }
10
- }