@aigne/afs-history 1.2.0-beta.3 → 1.2.0-beta.5

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 (40) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/lib/cjs/index.d.ts +8 -3
  3. package/lib/cjs/index.js +193 -21
  4. package/lib/cjs/storage/index.d.ts +11 -5
  5. package/lib/cjs/storage/index.js +67 -18
  6. package/lib/cjs/storage/migrate.d.ts +1 -1
  7. package/lib/cjs/storage/migrate.js +7 -5
  8. package/lib/cjs/storage/migrations/002-add-agent-id.d.ts +2 -0
  9. package/lib/cjs/storage/migrations/002-add-agent-id.js +13 -0
  10. package/lib/cjs/storage/migrations/003-add-compact-table.d.ts +2 -0
  11. package/lib/cjs/storage/migrations/003-add-compact-table.js +23 -0
  12. package/lib/cjs/storage/models/compact.d.ts +183 -0
  13. package/lib/cjs/storage/models/compact.js +27 -0
  14. package/lib/cjs/storage/models/entries.d.ts +19 -0
  15. package/lib/cjs/storage/models/entries.js +1 -0
  16. package/lib/cjs/storage/type.d.ts +18 -2
  17. package/lib/dts/index.d.ts +8 -3
  18. package/lib/dts/storage/index.d.ts +11 -5
  19. package/lib/dts/storage/migrate.d.ts +1 -1
  20. package/lib/dts/storage/migrations/002-add-agent-id.d.ts +2 -0
  21. package/lib/dts/storage/migrations/003-add-compact-table.d.ts +2 -0
  22. package/lib/dts/storage/models/compact.d.ts +183 -0
  23. package/lib/dts/storage/models/entries.d.ts +19 -0
  24. package/lib/dts/storage/type.d.ts +18 -2
  25. package/lib/esm/index.d.ts +8 -3
  26. package/lib/esm/index.js +193 -21
  27. package/lib/esm/storage/index.d.ts +11 -5
  28. package/lib/esm/storage/index.js +68 -19
  29. package/lib/esm/storage/migrate.d.ts +1 -1
  30. package/lib/esm/storage/migrate.js +7 -5
  31. package/lib/esm/storage/migrations/002-add-agent-id.d.ts +2 -0
  32. package/lib/esm/storage/migrations/002-add-agent-id.js +10 -0
  33. package/lib/esm/storage/migrations/003-add-compact-table.d.ts +2 -0
  34. package/lib/esm/storage/migrations/003-add-compact-table.js +20 -0
  35. package/lib/esm/storage/models/compact.d.ts +183 -0
  36. package/lib/esm/storage/models/compact.js +22 -0
  37. package/lib/esm/storage/models/entries.d.ts +19 -0
  38. package/lib/esm/storage/models/entries.js +1 -0
  39. package/lib/esm/storage/type.d.ts +18 -2
  40. package/package.json +4 -3
@@ -0,0 +1,22 @@
1
+ import { datetime, json, sqliteTable, text } from "@aigne/sqlite";
2
+ import { v7 } from "@aigne/uuid";
3
+ export const compactTableName = (module) => `Entries_${module.name}_compact`;
4
+ export const compactTable = (module) => sqliteTable(compactTableName(module), {
5
+ id: text("id")
6
+ .notNull()
7
+ .primaryKey()
8
+ .$defaultFn(() => v7()),
9
+ createdAt: datetime("createdAt")
10
+ .notNull()
11
+ .$defaultFn(() => new Date()),
12
+ updatedAt: datetime("updatedAt")
13
+ .notNull()
14
+ .$defaultFn(() => new Date())
15
+ .$onUpdateFn(() => new Date()),
16
+ path: text("path").notNull(),
17
+ userId: text("userId"),
18
+ sessionId: text("sessionId"),
19
+ agentId: text("agentId"),
20
+ metadata: json("metadata"),
21
+ content: json("content"),
22
+ });
@@ -80,6 +80,25 @@ export declare const entriesTable: (module: AFSModule) => import("@aigne/sqlite"
80
80
  }, {}, {
81
81
  length: number | undefined;
82
82
  }>;
83
+ agentId: import("@aigne/sqlite").SQLiteColumn<{
84
+ name: "agentId";
85
+ tableName: string;
86
+ dataType: "string";
87
+ columnType: "SQLiteText";
88
+ data: string;
89
+ driverParam: string;
90
+ notNull: false;
91
+ hasDefault: false;
92
+ isPrimaryKey: false;
93
+ isAutoincrement: false;
94
+ hasRuntimeDefault: false;
95
+ enumValues: [string, ...string[]];
96
+ baseColumn: never;
97
+ identity: undefined;
98
+ generated: undefined;
99
+ }, {}, {
100
+ length: number | undefined;
101
+ }>;
83
102
  userId: import("@aigne/sqlite").SQLiteColumn<{
84
103
  name: "userId";
85
104
  tableName: string;
@@ -14,6 +14,7 @@ export const entriesTable = (module) => sqliteTable(entriesTableName(module), {
14
14
  .$defaultFn(() => new Date())
15
15
  .$onUpdateFn(() => new Date()),
16
16
  path: text("path").notNull(),
17
+ agentId: text("agentId"),
17
18
  userId: text("userId"),
18
19
  sessionId: text("sessionId"),
19
20
  summary: text("summary"),
@@ -1,21 +1,37 @@
1
1
  import type { AFSEntry, AFSModule } from "@aigne/afs";
2
2
  import type { SQL } from "@aigne/sqlite";
3
- export interface AFSStorageCreatePayload extends Omit<AFSEntry, "id"> {
3
+ export interface AFSStorageCreatePayload extends AFSEntry {
4
4
  }
5
5
  export interface AFSStorageListOptions {
6
6
  filter?: {
7
+ agentId?: string;
7
8
  userId?: string;
8
9
  sessionId?: string;
10
+ before?: Date | string;
11
+ after?: Date | string;
9
12
  };
10
13
  limit?: number;
11
14
  orderBy?: [string, "asc" | "desc"][];
12
15
  }
16
+ export interface AFSStorageReadOptions {
17
+ filter?: {
18
+ agentId?: string;
19
+ userId?: string;
20
+ sessionId?: string;
21
+ };
22
+ }
23
+ export type CompactType = "session" | "user" | "agent";
13
24
  export interface AFSStorage {
14
25
  create(entry: AFSStorageCreatePayload): Promise<AFSEntry>;
15
26
  list(options?: AFSStorageListOptions): Promise<{
16
27
  data: AFSEntry[];
17
28
  }>;
18
- read(path: string): Promise<AFSEntry | undefined>;
29
+ read(id: string, options?: AFSStorageReadOptions): Promise<AFSEntry | undefined>;
30
+ createCompact(type: CompactType, entry: AFSStorageCreatePayload): Promise<AFSEntry>;
31
+ listCompact(type: CompactType, options?: AFSStorageListOptions): Promise<{
32
+ data: AFSEntry[];
33
+ }>;
34
+ readCompact(type: CompactType, id: string, options?: AFSStorageReadOptions): Promise<AFSEntry | undefined>;
19
35
  }
20
36
  export type AFSStorageMigrations = {
21
37
  hash: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aigne/afs-history",
3
- "version": "1.2.0-beta.3",
3
+ "version": "1.2.0-beta.5",
4
4
  "description": "AIGNE AFS module for managing chat history",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -48,9 +48,10 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@aigne/uuid": "^13.0.1",
51
+ "radix3": "^1.1.2",
51
52
  "ufo": "^1.6.1",
52
- "@aigne/sqlite": "^0.4.9-beta",
53
- "@aigne/afs": "^1.4.0-beta.3"
53
+ "@aigne/afs": "^1.4.0-beta.5",
54
+ "@aigne/sqlite": "^0.4.9-beta"
54
55
  },
55
56
  "devDependencies": {
56
57
  "@types/bun": "^1.2.22",