startx 0.9.2 → 0.9.8

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 (65) hide show
  1. package/apps/core-server/package.json +4 -3
  2. package/apps/core-server/src/events/index.ts +19 -19
  3. package/apps/core-server/src/index.ts +1 -3
  4. package/apps/startx-cli/dist/index.mjs +52 -52
  5. package/configs/eslint-config/src/configs/base.ts +26 -11
  6. package/package.json +2 -2
  7. package/packages/{@repo/db → @db/drizzle}/package.json +1 -1
  8. package/packages/@db/drizzle/tsconfig.json +7 -0
  9. package/packages/@db/sqlite/package.json +47 -0
  10. package/packages/@db/sqlite/src/index.ts +2 -0
  11. package/packages/@db/sqlite/src/lib/sqlite-client.ts +146 -0
  12. package/packages/@db/sqlite/src/lib/sqlite-convertor.ts +235 -0
  13. package/packages/@db/sqlite/tsconfig.json +7 -0
  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 +59 -0
  17. package/packages/@repo/lib/src/events/index.ts +1 -0
  18. package/packages/aix/eslint.config.ts +4 -0
  19. package/packages/aix/package.json +53 -0
  20. package/packages/aix/src/aix.ts +519 -0
  21. package/packages/aix/src/index.ts +3 -0
  22. package/packages/aix/src/lib/convertor/schema-convertor.ts +108 -0
  23. package/packages/aix/src/lib/convertor/variable-resolver.ts +161 -0
  24. package/packages/aix/src/lib/tokenizer/index.ts +1 -0
  25. package/packages/aix/src/lib/tokenizer/tokenizer.ts +42 -0
  26. package/packages/aix/src/providers/ai-chat.ts +25 -0
  27. package/packages/aix/src/providers/ai-event.ts +21 -0
  28. package/packages/aix/src/providers/ai-interface.ts +236 -0
  29. package/packages/aix/src/providers/ai-prompt.ts +14 -0
  30. package/packages/aix/src/providers/default-models.ts +471 -0
  31. package/packages/aix/src/providers/index.ts +1 -0
  32. package/packages/aix/src/providers/openai/openai.ts +139 -0
  33. package/packages/aix/src/providers/providers.ts +39 -0
  34. package/packages/aix/src/providers/types.ts +54 -0
  35. package/packages/aix/src/tools/generic/database.ts +290 -0
  36. package/packages/aix/src/tools/generic/forecast.ts +216 -0
  37. package/packages/aix/src/tools/generic/index.ts +4 -0
  38. package/packages/aix/src/tools/generic/planner.ts +114 -0
  39. package/packages/aix/src/tools/generic/summarizer.ts +101 -0
  40. package/packages/aix/src/tools/i-tool.ts +33 -0
  41. package/packages/aix/src/tools/index.ts +2 -0
  42. package/packages/aix/src/tools/system/index.ts +297 -0
  43. package/packages/aix/src/tools/tool-manager.ts +241 -0
  44. package/packages/aix/src/tools/types.ts +109 -0
  45. package/packages/aix/tsconfig.json +7 -0
  46. package/packages/aix/vitest.config.ts +3 -0
  47. package/packages/constants/eslint.config.ts +4 -0
  48. package/packages/{@repo/constants → constants}/package.json +1 -1
  49. package/packages/constants/vitest.config.ts +3 -0
  50. package/pnpm-workspace.yaml +12 -1
  51. package/turbo.json +0 -1
  52. package/packages/@repo/db/tsconfig.json +0 -13
  53. /package/packages/{@repo/db → @db/drizzle}/drizzle.config.ts +0 -0
  54. /package/packages/{@repo/constants → @db/drizzle}/eslint.config.ts +0 -0
  55. /package/packages/{@repo/db → @db/drizzle}/src/functions.ts +0 -0
  56. /package/packages/{@repo/db → @db/drizzle}/src/index.ts +0 -0
  57. /package/packages/{@repo/db → @db/drizzle}/src/schema/common.ts +0 -0
  58. /package/packages/{@repo/db → @db/drizzle}/src/schema/index.ts +0 -0
  59. /package/packages/{@repo/constants → @db/drizzle}/vitest.config.ts +0 -0
  60. /package/packages/{@repo/db → @db/sqlite}/eslint.config.ts +0 -0
  61. /package/packages/{@repo/db → @db/sqlite}/vitest.config.ts +0 -0
  62. /package/packages/{@repo/constants → constants}/src/api.ts +0 -0
  63. /package/packages/{@repo/constants → constants}/src/index.ts +0 -0
  64. /package/packages/{@repo/constants → constants}/src/time.ts +0 -0
  65. /package/packages/{@repo/constants → constants}/tsconfig.json +0 -0
@@ -20,8 +20,8 @@
20
20
  "test": "vitest run"
21
21
  },
22
22
  "dependencies": {
23
- "@repo/constants": "workspace:^",
24
- "@repo/db": "workspace:^",
23
+ "constants": "workspace:^",
24
+ "@db/drizzle": "workspace:^",
25
25
  "@repo/mail": "workspace:^",
26
26
  "@repo/lib": "workspace:^",
27
27
  "@repo/redis": "workspace:^",
@@ -56,7 +56,8 @@
56
56
  ],
57
57
  "requiredDeps": [
58
58
  "@repo/env",
59
- "@repo/logger"
59
+ "@repo/logger",
60
+ "@repo/lib"
60
61
  ],
61
62
  "requiredDevDeps": [
62
63
  "typescript-config",
@@ -1,37 +1,37 @@
1
- type ServerEvent = {
2
- server: Array<() => void>;
3
- db: Array<() => void>;
4
- redis: Array<() => void>;
1
+ import { IEvent } from "@repo/lib/events";
2
+ import { logger } from "@repo/logger";
3
+ type ServerEventMap = {
4
+ server: string;
5
+ db: string;
6
+ redis: string;
5
7
  };
6
8
 
7
- export class ServerEvents {
8
- static events: ServerEvent = {
9
- server: [],
10
- db: [],
11
- redis: [],
12
- };
9
+ const serverBus = new IEvent<ServerEventMap>();
13
10
 
11
+ export class ServerEvents {
14
12
  static onServerReady(fn: () => void) {
15
- ServerEvents.events.server.push(fn);
13
+ serverBus.on("server", fn);
16
14
  }
17
15
 
18
- static emitServerReady() {
19
- ServerEvents.events.server.forEach(fn => fn());
16
+ static emitServerReady(message?: string) {
17
+ serverBus.emit("server", message ?? "Server ready");
20
18
  }
21
19
 
22
20
  static onDBReady(fn: () => void) {
23
- ServerEvents.events.db.push(fn);
21
+ serverBus.on("db", fn);
24
22
  }
25
23
 
26
- static emitDBReady() {
27
- ServerEvents.events.db.forEach(fn => fn());
24
+ static emitDBReady(message?: string) {
25
+ serverBus.emit("db", message ?? "Database ready");
28
26
  }
29
27
 
30
28
  static onRedisReady(fn: () => void) {
31
- ServerEvents.events.redis.push(fn);
29
+ serverBus.on("redis", fn);
32
30
  }
33
31
 
34
- static emitRedisReady() {
35
- ServerEvents.events.redis.forEach(fn => fn());
32
+ static emitRedisReady(message?: string) {
33
+ serverBus.emit("redis", message ?? "Redis ready");
36
34
  }
37
35
  }
36
+
37
+ serverBus.onEvery(e => logger.info(`${e.event}: ${e.payload}`));
@@ -1,9 +1,7 @@
1
1
  import { ENV } from "@repo/env";
2
- import { logger } from "@repo/logger";
3
2
  import { ServerEvents } from "./events/index.js";
4
3
  import { app } from "./routes/server.js";
5
4
 
6
5
  app.listen(ENV.PORT, () => {
7
- ServerEvents.emitServerReady();
8
- logger.info(`Server started on port ${ENV.PORT}`);
6
+ ServerEvents.emitServerReady(`Server listening on port ${ENV.PORT}`);
9
7
  });