@multiplayer-app/ai-agent-db 0.1.0-beta.8 → 0.1.0-beta.81
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/README.md +5 -2
- package/dist/cjs/repositories/ActivityRepository.cjs +3 -0
- package/dist/cjs/repositories/ActivityRepository.cjs.map +1 -0
- package/dist/cjs/repositories/ActivityRepository.d.ts +72 -0
- package/dist/cjs/repositories/ActivityRepository.d.ts.map +1 -0
- package/dist/cjs/repositories/AgentChatRepository.d.ts +17 -27
- package/dist/cjs/repositories/AgentChatRepository.d.ts.map +1 -1
- package/dist/cjs/repositories/AgentConfigRepository.cjs +3 -0
- package/dist/cjs/repositories/AgentConfigRepository.cjs.map +1 -0
- package/dist/cjs/repositories/AgentConfigRepository.d.ts +13 -0
- package/dist/cjs/repositories/AgentConfigRepository.d.ts.map +1 -0
- package/dist/cjs/repositories/AgentMessageRepository.d.ts +30 -1
- package/dist/cjs/repositories/AgentMessageRepository.d.ts.map +1 -1
- package/dist/cjs/repositories/BaseRepository.d.ts +1 -0
- package/dist/cjs/repositories/BaseRepository.d.ts.map +1 -1
- package/dist/cjs/repositories/TenantAICredentialRepository.cjs +3 -0
- package/dist/cjs/repositories/TenantAICredentialRepository.cjs.map +1 -0
- package/dist/cjs/repositories/TenantAICredentialRepository.d.ts +13 -0
- package/dist/cjs/repositories/TenantAICredentialRepository.d.ts.map +1 -0
- package/dist/cjs/repositories/index.cjs +3 -0
- package/dist/cjs/repositories/index.cjs.map +1 -1
- package/dist/cjs/repositories/index.d.ts +3 -0
- package/dist/cjs/repositories/index.d.ts.map +1 -1
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/repositories/ActivityRepository.d.ts +72 -0
- package/dist/esm/repositories/ActivityRepository.d.ts.map +1 -0
- package/dist/esm/repositories/ActivityRepository.js +2 -0
- package/dist/esm/repositories/ActivityRepository.js.map +1 -0
- package/dist/esm/repositories/AgentChatRepository.d.ts +17 -27
- package/dist/esm/repositories/AgentChatRepository.d.ts.map +1 -1
- package/dist/esm/repositories/AgentConfigRepository.d.ts +13 -0
- package/dist/esm/repositories/AgentConfigRepository.d.ts.map +1 -0
- package/dist/esm/repositories/AgentConfigRepository.js +2 -0
- package/dist/esm/repositories/AgentConfigRepository.js.map +1 -0
- package/dist/esm/repositories/AgentMessageRepository.d.ts +30 -1
- package/dist/esm/repositories/AgentMessageRepository.d.ts.map +1 -1
- package/dist/esm/repositories/BaseRepository.d.ts +1 -0
- package/dist/esm/repositories/BaseRepository.d.ts.map +1 -1
- package/dist/esm/repositories/TenantAICredentialRepository.d.ts +13 -0
- package/dist/esm/repositories/TenantAICredentialRepository.d.ts.map +1 -0
- package/dist/esm/repositories/TenantAICredentialRepository.js +2 -0
- package/dist/esm/repositories/TenantAICredentialRepository.js.map +1 -0
- package/dist/esm/repositories/index.d.ts +3 -0
- package/dist/esm/repositories/index.d.ts.map +1 -1
- package/dist/esm/repositories/index.js +3 -0
- package/dist/esm/repositories/index.js.map +1 -1
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -29,7 +29,10 @@ Generic interface providing standard CRUD operations:
|
|
|
29
29
|
```typescript
|
|
30
30
|
interface BaseRepository<T, ID = string> {
|
|
31
31
|
findById(id: ID): Promise<T | null>;
|
|
32
|
-
find(
|
|
32
|
+
find(
|
|
33
|
+
filter?: Partial<T>,
|
|
34
|
+
options?: { sort?: { field: string; order: SortOrder }; skip?: number; limit?: number }
|
|
35
|
+
): Promise<T[]>;
|
|
33
36
|
findOne(filter: Partial<T>): Promise<T | null>;
|
|
34
37
|
create(entity: Omit<T, 'id' | 'createdAt' | 'updatedAt'>, id?: string): Promise<T>;
|
|
35
38
|
update(id: ID, updates: Partial<Omit<T, 'id' | 'createdAt'>>): Promise<T | null>;
|
|
@@ -101,7 +104,7 @@ export class PostgresAgentChatRepository implements AgentChatRepository {
|
|
|
101
104
|
|
|
102
105
|
async find(
|
|
103
106
|
filter?: Partial<AgentChat>,
|
|
104
|
-
options?: { sort?: { field: string; order: SortOrder }; limit?: number }
|
|
107
|
+
options?: { sort?: { field: string; order: SortOrder }; skip?: number; limit?: number }
|
|
105
108
|
): Promise<AgentChat[]> {
|
|
106
109
|
// Your implementation with filtering, sorting, and pagination
|
|
107
110
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityRepository.js","sourceRoot":"","sources":["../../../src/repositories/ActivityRepository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { Activity, ActivitySummary, ActivitySummaryParams } from '@multiplayer-app/ai-agent-types';
|
|
2
|
+
import { SortOrder } from '@multiplayer-app/ai-agent-types';
|
|
3
|
+
import type { BaseRepository } from './BaseRepository';
|
|
4
|
+
/**
|
|
5
|
+
* Abstract repository interface for Activity operations.
|
|
6
|
+
* Implement this interface for your specific database (MongoDB, PostgreSQL, etc.)
|
|
7
|
+
*/
|
|
8
|
+
export interface ActivityRepository extends BaseRepository<Activity> {
|
|
9
|
+
getActivitySummary(params?: ActivitySummaryParams): Promise<ActivitySummary[]>;
|
|
10
|
+
findByParentId(filter?: {
|
|
11
|
+
ownerId?: string;
|
|
12
|
+
groupId?: string;
|
|
13
|
+
parentId?: string;
|
|
14
|
+
tenants?: Record<string, string>;
|
|
15
|
+
period?: {
|
|
16
|
+
from?: string | Date;
|
|
17
|
+
to?: string | Date;
|
|
18
|
+
};
|
|
19
|
+
sourceType?: string;
|
|
20
|
+
}, options?: {
|
|
21
|
+
sort?: {
|
|
22
|
+
field: string;
|
|
23
|
+
order: SortOrder;
|
|
24
|
+
};
|
|
25
|
+
limit?: number;
|
|
26
|
+
skip?: number;
|
|
27
|
+
}): Promise<Activity[]>;
|
|
28
|
+
countByParentId(filter?: {
|
|
29
|
+
ownerId?: string;
|
|
30
|
+
groupId?: string;
|
|
31
|
+
parentId?: string;
|
|
32
|
+
tenants?: Record<string, string>;
|
|
33
|
+
period?: {
|
|
34
|
+
from?: string | Date;
|
|
35
|
+
to?: string | Date;
|
|
36
|
+
};
|
|
37
|
+
sourceType?: string;
|
|
38
|
+
}): Promise<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Distinct `sourceType` values for activities matching the same scope as list (parent/root query).
|
|
41
|
+
*/
|
|
42
|
+
distinctSourceTypes(filter?: {
|
|
43
|
+
ownerId?: string;
|
|
44
|
+
groupId?: string;
|
|
45
|
+
parentId?: string;
|
|
46
|
+
tenants?: Record<string, string>;
|
|
47
|
+
period?: {
|
|
48
|
+
from?: string | Date;
|
|
49
|
+
to?: string | Date;
|
|
50
|
+
};
|
|
51
|
+
}): Promise<string[]>;
|
|
52
|
+
/**
|
|
53
|
+
* Delete all activities for a specific owner
|
|
54
|
+
*/
|
|
55
|
+
deleteByOwnerId(ownerId: string): Promise<number>;
|
|
56
|
+
/**
|
|
57
|
+
* Delete all activities for a specific group
|
|
58
|
+
*/
|
|
59
|
+
deleteByGroupId(groupId: string): Promise<number>;
|
|
60
|
+
getGroupedMetadataByParentId(parentId: string): Promise<{
|
|
61
|
+
inputTokens: number;
|
|
62
|
+
outputTokens: number;
|
|
63
|
+
cost: number;
|
|
64
|
+
childCount: number;
|
|
65
|
+
totalTokens: number;
|
|
66
|
+
reasoningTokens: number;
|
|
67
|
+
cachedInputTokens: number;
|
|
68
|
+
}>;
|
|
69
|
+
updateMetadata(activityId: string, metadata: Partial<Activity['metadata']>): Promise<Activity | null>;
|
|
70
|
+
calculateCost(activityData: Partial<Activity>): Promise<number>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=ActivityRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActivityRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/ActivityRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAClE,kBAAkB,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE/E,cAAc,CACZ,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;QACtD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,EACD,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB,eAAe,CACb,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;QACtD,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,GACA,OAAO,CAAC,MAAM,CAAC,CAAC;IAEnB;;OAEG;IACH,mBAAmB,CAAC,MAAM,CAAC,EAAE;QAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;KACvD,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACtB;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElD;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QACtD,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC,CAAC;IAEH,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAEtG,aAAa,CAAC,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjE"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import type { AgentChat,
|
|
1
|
+
import type { AgentChat, SortOrder } from '@multiplayer-app/ai-agent-types';
|
|
2
2
|
import type { BaseRepository } from './BaseRepository';
|
|
3
|
+
export type AgentChatFilter = Partial<AgentChat> & {
|
|
4
|
+
/**
|
|
5
|
+
* true: chats with more than one participant.
|
|
6
|
+
* false: chats with zero or one participant, including legacy rows without participantIds.
|
|
7
|
+
*/
|
|
8
|
+
multiUser?: boolean;
|
|
9
|
+
};
|
|
3
10
|
/**
|
|
4
11
|
* Abstract repository interface for AgentChat operations.
|
|
5
12
|
* Implement this interface for your specific database (MongoDB, PostgreSQL, etc.)
|
|
6
13
|
*/
|
|
7
14
|
export interface AgentChatRepository extends BaseRepository<AgentChat> {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* Find chats by user ID and context key
|
|
18
|
-
*/
|
|
19
|
-
findByUserIdAndContextKey(userId: string, contextKey: string): Promise<AgentChat[]>;
|
|
20
|
-
/**
|
|
21
|
-
* Find guest chats (chats without a userId) for a specific context key
|
|
22
|
-
*/
|
|
23
|
-
findGuestChatsByContextKey(contextKey: string): Promise<AgentChat[]>;
|
|
15
|
+
find(filter?: AgentChatFilter, options?: {
|
|
16
|
+
sort?: {
|
|
17
|
+
field: string;
|
|
18
|
+
order: SortOrder;
|
|
19
|
+
};
|
|
20
|
+
skip?: number;
|
|
21
|
+
limit?: number;
|
|
22
|
+
}): Promise<AgentChat[]>;
|
|
23
|
+
count(filter?: AgentChatFilter): Promise<number>;
|
|
24
24
|
/**
|
|
25
25
|
* Update chat title
|
|
26
26
|
*/
|
|
@@ -33,15 +33,5 @@ export interface AgentChatRepository extends BaseRepository<AgentChat> {
|
|
|
33
33
|
* Delete all chats for a specific context key
|
|
34
34
|
*/
|
|
35
35
|
deleteByContextKey(contextKey: string): Promise<number>;
|
|
36
|
-
/**
|
|
37
|
-
* Find chats with related messages using aggregation
|
|
38
|
-
*/
|
|
39
|
-
findWithMessages(filter?: Partial<AgentChat>, options?: {
|
|
40
|
-
sort?: {
|
|
41
|
-
field: string;
|
|
42
|
-
order: SortOrder;
|
|
43
|
-
};
|
|
44
|
-
limit?: number;
|
|
45
|
-
}): Promise<AgentChatResponse[]>;
|
|
46
36
|
}
|
|
47
37
|
//# sourceMappingURL=AgentChatRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/AgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"AgentChatRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/AgentChatRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG;IACjD;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,SAAS,CAAC;IACpE,IAAI,CACF,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GACtF,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAExB,KAAK,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjD;;OAEG;IACH,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;IAElE;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAEzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentConfigRepository.js","sourceRoot":"","sources":["../../../src/repositories/AgentConfigRepository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { AgentConfigPreference } from '@multiplayer-app/ai-agent-types';
|
|
2
|
+
import type { BaseRepository } from './BaseRepository';
|
|
3
|
+
/**
|
|
4
|
+
* Repository for user-level agent tool preferences.
|
|
5
|
+
* A preference document is unique per (userId, agentName).
|
|
6
|
+
*/
|
|
7
|
+
export interface AgentConfigRepository extends BaseRepository<AgentConfigPreference> {
|
|
8
|
+
findByUserId(userId: string): Promise<AgentConfigPreference[]>;
|
|
9
|
+
findByUserIdAndAgentName(userId: string, agentName: string): Promise<AgentConfigPreference | null>;
|
|
10
|
+
upsertByUserIdAndAgentName(userId: string, agentName: string, updates: Pick<AgentConfigPreference, 'tools'>): Promise<AgentConfigPreference>;
|
|
11
|
+
deleteByUserId(userId: string): Promise<number>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=AgentConfigRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgentConfigRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/AgentConfigRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,cAAc,CAAC,qBAAqB,CAAC;IAClF,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IAC/D,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;IACnG,0BAA0B,CACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,OAAO,CAAC,GAC5C,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACjD"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import type { AgentMessage, MessageRole } from '@multiplayer-app/ai-agent-types';
|
|
1
|
+
import type { AgentMessage, AgentToolCallStatus, MessageRole } from '@multiplayer-app/ai-agent-types';
|
|
2
2
|
import type { BaseRepository } from './BaseRepository';
|
|
3
|
+
/**
|
|
4
|
+
* Options for cursor-based pagination of messages.
|
|
5
|
+
* When limit is omitted, implementations should return all messages (backward compatible).
|
|
6
|
+
*/
|
|
7
|
+
export interface FindMessagesPaginatedOptions {
|
|
8
|
+
/** Max number of messages to return. Omit to return all (legacy behavior). */
|
|
9
|
+
limit?: number;
|
|
10
|
+
/** Cursor: return messages older than this message (by createdAt). */
|
|
11
|
+
before?: string;
|
|
12
|
+
}
|
|
3
13
|
/**
|
|
4
14
|
* Abstract repository interface for AgentMessage operations.
|
|
5
15
|
* Implement this interface for your specific database (MongoDB, PostgreSQL, etc.)
|
|
@@ -9,6 +19,15 @@ export interface AgentMessageRepository extends BaseRepository<AgentMessage> {
|
|
|
9
19
|
* Find all messages for a specific chat
|
|
10
20
|
*/
|
|
11
21
|
findByChatId(chatId: string): Promise<AgentMessage[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Find messages for a chat with optional cursor pagination.
|
|
24
|
+
* Sort: newest first in DB, then returned as oldest → newest for the page.
|
|
25
|
+
* When limit is omitted, returns all messages and hasMore: false (backward compatible).
|
|
26
|
+
*/
|
|
27
|
+
findByChatIdPaginated(chatId: string, options?: FindMessagesPaginatedOptions): Promise<{
|
|
28
|
+
messages: AgentMessage[];
|
|
29
|
+
hasMore: boolean;
|
|
30
|
+
}>;
|
|
12
31
|
/**
|
|
13
32
|
* Find messages by role
|
|
14
33
|
*/
|
|
@@ -37,5 +56,15 @@ export interface AgentMessageRepository extends BaseRepository<AgentMessage> {
|
|
|
37
56
|
* Delete messages by chat ID and role
|
|
38
57
|
*/
|
|
39
58
|
deleteByChatIdAndRole(chatId: string, role: MessageRole): Promise<number>;
|
|
59
|
+
/**
|
|
60
|
+
* Update selected fields for a single tool call within a specific message.
|
|
61
|
+
* Returns null when message or tool call cannot be found.
|
|
62
|
+
*/
|
|
63
|
+
updateToolCall(messageId: string, toolCallId: string, updates: {
|
|
64
|
+
input?: Record<string, unknown>;
|
|
65
|
+
output?: Record<string, unknown>;
|
|
66
|
+
status?: AgentToolCallStatus;
|
|
67
|
+
subagentChatId?: string;
|
|
68
|
+
}): Promise<AgentMessage | null>;
|
|
40
69
|
}
|
|
41
70
|
//# sourceMappingURL=AgentMessageRepository.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentMessageRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/AgentMessageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"AgentMessageRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/AgentMessageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACtG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,cAAc,CAAC,YAAY,CAAC;IAC1E;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEtD;;;;OAIG;IACH,qBAAqB,CACnB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC;QAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAE3D;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEvD;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEjF;;OAEG;IACH,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE5D;;OAEG;IACH,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE9D;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEjD;;OAEG;IACH,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE1E;;;OAGG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,mBAAmB,CAAC;QAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GACA,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;CACjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/BaseRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/BaseRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,iCAAiC,CAAC;AAE5E;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEpC;;OAEG;IACH,IAAI,CACF,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,OAAO,CAAC,EAAE;QACR,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,SAAS,CAAA;SAAE,CAAC;QAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAEhB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnF;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEjF;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantAICredentialRepository.js","sourceRoot":"","sources":["../../../src/repositories/TenantAICredentialRepository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { TenantAICredential, AIProvider } from '@multiplayer-app/ai-agent-types';
|
|
2
|
+
import type { BaseRepository } from './BaseRepository';
|
|
3
|
+
/**
|
|
4
|
+
* Repository for tenant-scoped provider credentials.
|
|
5
|
+
* One document is unique per (tenantKey, provider).
|
|
6
|
+
*/
|
|
7
|
+
export interface TenantAICredentialRepository extends BaseRepository<TenantAICredential> {
|
|
8
|
+
findByTenantKey(tenantKey: string): Promise<TenantAICredential[]>;
|
|
9
|
+
findByTenantKeyAndProvider(tenantKey: string, provider: AIProvider): Promise<TenantAICredential | null>;
|
|
10
|
+
upsertByTenantKeyAndProvider(tenantKey: string, tenants: Record<string, string>, provider: AIProvider, encryptedApiKey: string, baseUrl?: string): Promise<TenantAICredential>;
|
|
11
|
+
deleteByTenantKeyAndProvider(tenantKey: string, provider: AIProvider): Promise<boolean>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=TenantAICredentialRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TenantAICredentialRepository.d.ts","sourceRoot":"","sources":["../../../src/repositories/TenantAICredentialRepository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD;;;GAGG;AACH,MAAM,WAAW,4BAA6B,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACtF,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAClE,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAC;IACxG,4BAA4B,CAC1B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,QAAQ,EAAE,UAAU,EACpB,eAAe,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACzF"}
|
|
@@ -16,5 +16,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./AgentChatRepository.cjs"), exports);
|
|
18
18
|
__exportStar(require("./AgentMessageRepository.cjs"), exports);
|
|
19
|
+
__exportStar(require("./ActivityRepository.cjs"), exports);
|
|
20
|
+
__exportStar(require("./AgentConfigRepository.cjs"), exports);
|
|
21
|
+
__exportStar(require("./TenantAICredentialRepository.cjs"), exports);
|
|
19
22
|
__exportStar(require("./BaseRepository.cjs"), exports);
|
|
20
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC;AACzC,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,2DAAyC;AACzC,uDAAqC;AACrC,0DAAwC;AACxC,iEAA+C;AAC/C,mDAAiC"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
export * from './AgentChatRepository';
|
|
2
2
|
export * from './AgentMessageRepository';
|
|
3
|
+
export * from './ActivityRepository';
|
|
4
|
+
export * from './AgentConfigRepository';
|
|
5
|
+
export * from './TenantAICredentialRepository';
|
|
3
6
|
export * from './BaseRepository';
|
|
4
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/repositories/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kBAAkB,CAAC"}
|