@apart-tech/intelligence-core 1.6.0 → 1.7.1
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/dist/services/search-service.d.ts.map +1 -1
- package/dist/services/search-service.js +2 -0
- package/dist/services/search-service.js.map +1 -1
- package/dist/services/user-service.d.ts +6 -0
- package/dist/services/user-service.d.ts.map +1 -1
- package/dist/services/user-service.js +49 -0
- package/dist/services/user-service.js.map +1 -1
- package/package.json +1 -1
- package/prisma/schema.prisma +3 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-service.d.ts","sourceRoot":"","sources":["../../src/services/search-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKxF,qBAAa,aAAa;IAItB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,SAAS,CAAgB;gBAGvB,EAAE,EAAE,YAAY,EAChB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,WAAW,EAC3B,SAAS,CAAC,EAAE,aAAa;IAKrB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAsB/C,cAAc;
|
|
1
|
+
{"version":3,"file":"search-service.d.ts","sourceRoot":"","sources":["../../src/services/search-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,iBAAiB,EACjB,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAqC,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAKxF,qBAAa,aAAa;IAItB,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,SAAS,CAAgB;gBAGvB,EAAE,EAAE,YAAY,EAChB,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,WAAW,EAC3B,SAAS,CAAC,EAAE,aAAa;IAKrB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;YAsB/C,cAAc;YA6Cd,aAAa;IAuC3B,OAAO,CAAC,oBAAoB;CAoC7B"}
|
|
@@ -39,12 +39,14 @@ export class SearchService {
|
|
|
39
39
|
domainCondition = Prisma.sql `domain_id = ANY(${domainIds}::uuid[])`;
|
|
40
40
|
}
|
|
41
41
|
const orgCondition = tenantWhere(this.tenantCtx);
|
|
42
|
+
const queryDims = queryEmbedding.length;
|
|
42
43
|
const results = await this.db.$queryRaw `
|
|
43
44
|
SELECT ${NODE_COLUMNS},
|
|
44
45
|
1 - (embedding <=> ${embeddingStr}::vector) as similarity
|
|
45
46
|
FROM nodes
|
|
46
47
|
WHERE status = ANY(${statuses}::text[])
|
|
47
48
|
AND embedding IS NOT NULL
|
|
49
|
+
AND vector_dims(embedding) = ${queryDims}
|
|
48
50
|
AND ${typeCondition}
|
|
49
51
|
AND ${domainCondition}
|
|
50
52
|
AND ${orgCondition}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-service.js","sourceRoot":"","sources":["../../src/services/search-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,gBAAgB,CAAC;AAS3D,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAsB,MAAM,iBAAiB,CAAC;AAExF,+FAA+F;AAC/F,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAA,qHAAqH,CAAC;AAErJ,MAAM,OAAO,aAAa;IAId;IACA;IACA;IALF,SAAS,CAAgB;IAEjC,YACU,EAAgB,EAChB,UAA6B,EAC7B,MAAmB,EAC3B,SAAyB;QAHjB,OAAE,GAAF,EAAE,CAAc;QAChB,eAAU,GAAV,UAAU,CAAmB;QAC7B,WAAM,GAAN,MAAM,CAAa;QAG3B,IAAI,CAAC,SAAS,GAAG,SAAS,IAAI,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,OAAsB;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;QAC/D,MAAM,QAAQ,GAAiB,OAAO,CAAC,QAAQ;YAC7C,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa;gBACxD,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC;gBACnC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAEpB,8CAA8C;QAC9C,MAAM,CAAC,eAAe,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;YACrF,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;SACrF,CAAC,CAAC;QAEH,yBAAyB;QACzB,OAAO,IAAI,CAAC,oBAAoB,CAC9B,eAAe,EACf,cAAc,EACd,KAAK,EACL,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAClC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,KAAa,EACb,KAAa,EACb,QAAsB,EACtB,KAAgB,EAChB,SAAoB;QAEpB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;QAClF,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;QAErD,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC;QACrC,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;YAClB,aAAa,GAAG,MAAM,CAAC,GAAG,CAAA,cAAc,KAAK,WAAW,CAAC;QAC3D,CAAC;QAED,IAAI,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA,MAAM,CAAC;QACvC,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;YACtB,eAAe,GAAG,MAAM,CAAC,GAAG,CAAA,mBAAmB,SAAS,WAAW,CAAC;QACtE,CAAC;QAED,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAmC;eAC/D,YAAY;6BACE,YAAY;;2BAEd,QAAQ;;
|
|
1
|
+
{"version":3,"file":"search-service.js","sourceRoot":"","sources":["../../src/services/search-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,11 @@ export declare class UserService {
|
|
|
10
10
|
getById(id: string): Promise<User | null>;
|
|
11
11
|
getByAuth0Sub(auth0Sub: string): Promise<User | null>;
|
|
12
12
|
getMemberships(userId: string): Promise<MembershipWithOrg[]>;
|
|
13
|
+
setClaudeToken(userId: string, plainToken: string): Promise<void>;
|
|
14
|
+
getClaudeToken(userId: string): Promise<string | null>;
|
|
15
|
+
deleteClaudeToken(userId: string): Promise<void>;
|
|
16
|
+
setApartRefreshToken(userId: string, plainToken: string): Promise<void>;
|
|
17
|
+
getApartRefreshToken(userId: string): Promise<string | null>;
|
|
18
|
+
deleteApartRefreshToken(userId: string): Promise<void>;
|
|
13
19
|
}
|
|
14
20
|
//# sourceMappingURL=user-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-service.d.ts","sourceRoot":"","sources":["../../src/services/user-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"user-service.d.ts","sourceRoot":"","sources":["../../src/services/user-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnF,YAAY,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG;IAAE,YAAY,EAAE,YAAY,CAAA;CAAE,CAAC;AAO5E,qBAAa,WAAW;IACV,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,YAAY;IAE9B,sBAAsB,CAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAsBV,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIzC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAIrD,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAO5D,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAStD,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOhD,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvE,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAS5D,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAM7D"}
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import { encryptAesGcm, decryptAesGcm, deriveKey } from "../lib/crypto.js";
|
|
2
|
+
function getEncryptionKey() {
|
|
3
|
+
const secret = process.env.AGENT_KEY_SECRET ?? "apart-default-agent-key-secret-change-me";
|
|
4
|
+
return deriveKey(secret);
|
|
5
|
+
}
|
|
1
6
|
export class UserService {
|
|
2
7
|
db;
|
|
3
8
|
constructor(db) {
|
|
@@ -35,5 +40,49 @@ export class UserService {
|
|
|
35
40
|
include: { organization: true },
|
|
36
41
|
});
|
|
37
42
|
}
|
|
43
|
+
async setClaudeToken(userId, plainToken) {
|
|
44
|
+
const encrypted = encryptAesGcm(plainToken, getEncryptionKey());
|
|
45
|
+
await this.db.user.update({
|
|
46
|
+
where: { id: userId },
|
|
47
|
+
data: { claudeOauthTokenEncrypted: encrypted, updatedAt: new Date() },
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
async getClaudeToken(userId) {
|
|
51
|
+
const user = await this.db.user.findUnique({
|
|
52
|
+
where: { id: userId },
|
|
53
|
+
select: { claudeOauthTokenEncrypted: true },
|
|
54
|
+
});
|
|
55
|
+
if (!user?.claudeOauthTokenEncrypted)
|
|
56
|
+
return null;
|
|
57
|
+
return decryptAesGcm(user.claudeOauthTokenEncrypted, getEncryptionKey());
|
|
58
|
+
}
|
|
59
|
+
async deleteClaudeToken(userId) {
|
|
60
|
+
await this.db.user.update({
|
|
61
|
+
where: { id: userId },
|
|
62
|
+
data: { claudeOauthTokenEncrypted: null, updatedAt: new Date() },
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
async setApartRefreshToken(userId, plainToken) {
|
|
66
|
+
const encrypted = encryptAesGcm(plainToken, getEncryptionKey());
|
|
67
|
+
await this.db.user.update({
|
|
68
|
+
where: { id: userId },
|
|
69
|
+
data: { apartRefreshTokenEncrypted: encrypted, updatedAt: new Date() },
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
async getApartRefreshToken(userId) {
|
|
73
|
+
const user = await this.db.user.findUnique({
|
|
74
|
+
where: { id: userId },
|
|
75
|
+
select: { apartRefreshTokenEncrypted: true },
|
|
76
|
+
});
|
|
77
|
+
if (!user?.apartRefreshTokenEncrypted)
|
|
78
|
+
return null;
|
|
79
|
+
return decryptAesGcm(user.apartRefreshTokenEncrypted, getEncryptionKey());
|
|
80
|
+
}
|
|
81
|
+
async deleteApartRefreshToken(userId) {
|
|
82
|
+
await this.db.user.update({
|
|
83
|
+
where: { id: userId },
|
|
84
|
+
data: { apartRefreshTokenEncrypted: null, updatedAt: new Date() },
|
|
85
|
+
});
|
|
86
|
+
}
|
|
38
87
|
}
|
|
39
88
|
//# sourceMappingURL=user-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-service.js","sourceRoot":"","sources":["../../src/services/user-service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"user-service.js","sourceRoot":"","sources":["../../src/services/user-service.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/prisma/schema.prisma
CHANGED
|
@@ -37,7 +37,9 @@ model User {
|
|
|
37
37
|
name String? @db.VarChar(200)
|
|
38
38
|
avatarUrl String? @map("avatar_url") @db.Text
|
|
39
39
|
createdAt DateTime @default(now()) @map("created_at") @db.Timestamptz
|
|
40
|
-
updatedAt
|
|
40
|
+
updatedAt DateTime @default(now()) @map("updated_at") @db.Timestamptz
|
|
41
|
+
claudeOauthTokenEncrypted String? @map("claude_oauth_token_encrypted") @db.Text
|
|
42
|
+
apartRefreshTokenEncrypted String? @map("apart_refresh_token_encrypted") @db.Text
|
|
41
43
|
|
|
42
44
|
memberships Membership[]
|
|
43
45
|
|