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.
- package/apps/cli/package.json +3 -1
- package/apps/cli/src/commands/common/hashing.ts +34 -0
- package/apps/cli/src/commands/common/ping.ts +11 -0
- package/apps/cli/src/commands/common/random.ts +41 -0
- package/apps/cli/src/commands/i-command.ts +6 -0
- package/apps/cli/src/commands/index.ts +6 -0
- package/apps/cli/src/index.ts +6 -4
- package/apps/cli/tsconfig.json +4 -6
- package/apps/startx-cli/dist/index.mjs +52 -52
- package/configs/eslint-config/src/configs/base.ts +26 -11
- package/package.json +2 -2
- package/packages/@db/drizzle/tsconfig.json +2 -8
- package/packages/@db/sqlite/tsconfig.json +2 -8
- package/packages/@repo/env/package.json +2 -1
- package/packages/@repo/env/src/utils.ts +7 -6
- package/packages/@repo/lib/src/events/i-event.ts +1 -1
- package/packages/aix/eslint.config.ts +4 -0
- package/packages/aix/package.json +53 -0
- package/packages/aix/src/aix.ts +519 -0
- package/packages/aix/src/index.ts +3 -0
- package/packages/aix/src/lib/convertor/schema-convertor.ts +108 -0
- package/packages/aix/src/lib/convertor/variable-resolver.ts +161 -0
- package/packages/aix/src/lib/tokenizer/index.ts +1 -0
- package/packages/aix/src/lib/tokenizer/tokenizer.ts +42 -0
- package/packages/aix/src/providers/ai-chat.ts +25 -0
- package/packages/aix/src/providers/ai-event.ts +21 -0
- package/packages/aix/src/providers/ai-interface.ts +236 -0
- package/packages/aix/src/providers/ai-prompt.ts +14 -0
- package/packages/aix/src/providers/default-models.ts +471 -0
- package/packages/aix/src/providers/index.ts +1 -0
- package/packages/aix/src/providers/openai/openai.ts +139 -0
- package/packages/aix/src/providers/providers.ts +39 -0
- package/packages/aix/src/providers/types.ts +54 -0
- package/packages/aix/src/tools/generic/database.ts +290 -0
- package/packages/aix/src/tools/generic/forecast.ts +216 -0
- package/packages/aix/src/tools/generic/index.ts +4 -0
- package/packages/aix/src/tools/generic/planner.ts +114 -0
- package/packages/aix/src/tools/generic/summarizer.ts +101 -0
- package/packages/aix/src/tools/i-tool.ts +33 -0
- package/packages/aix/src/tools/index.ts +2 -0
- package/packages/aix/src/tools/system/index.ts +297 -0
- package/packages/aix/src/tools/tool-manager.ts +241 -0
- package/packages/aix/src/tools/types.ts +109 -0
- package/packages/aix/tsconfig.json +7 -0
- package/packages/aix/vitest.config.ts +3 -0
- package/pnpm-workspace.yaml +7 -0
- package/turbo.json +0 -1
- 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
|
+
};
|
package/pnpm-workspace.yaml
CHANGED
|
@@ -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