@gaias/basenode 1.6.8 → 1.6.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/dist/libs/configure/ApplicationConfig.d.ts +16 -0
- package/dist/libs/configure/ApplicationConfig.d.ts.map +1 -1
- package/dist/libs/index.d.ts +1 -0
- package/dist/libs/index.d.ts.map +1 -1
- package/dist/libs/index.js +1 -0
- package/dist/libs/index.js.map +1 -1
- package/dist/libs/qdrant/QdrantClient.d.ts +62 -0
- package/dist/libs/qdrant/QdrantClient.d.ts.map +1 -0
- package/dist/libs/qdrant/QdrantClient.js +200 -0
- package/dist/libs/qdrant/QdrantClient.js.map +1 -0
- package/dist/libs/qdrant/QdrantLoader.d.ts +3 -0
- package/dist/libs/qdrant/QdrantLoader.d.ts.map +1 -0
- package/dist/libs/qdrant/QdrantLoader.js +64 -0
- package/dist/libs/qdrant/QdrantLoader.js.map +1 -0
- package/dist/libs/qdrant/index.d.ts +3 -0
- package/dist/libs/qdrant/index.d.ts.map +1 -0
- package/dist/libs/qdrant/index.js +19 -0
- package/dist/libs/qdrant/index.js.map +1 -0
- package/dist/server/BootstrapOption.d.ts +1 -0
- package/dist/server/BootstrapOption.d.ts.map +1 -1
- package/dist/server/bootstrap.d.ts.map +1 -1
- package/dist/server/bootstrap.js +4 -0
- package/dist/server/bootstrap.js.map +1 -1
- package/package.json +4 -3
|
@@ -13,6 +13,22 @@ export interface DatabaseConfig {
|
|
|
13
13
|
export interface RedisConfig {
|
|
14
14
|
redis: string | any;
|
|
15
15
|
}
|
|
16
|
+
export interface QdrantConfig {
|
|
17
|
+
qdrant: {
|
|
18
|
+
url: string;
|
|
19
|
+
apiKey?: string;
|
|
20
|
+
timeout?: number;
|
|
21
|
+
collections?: Array<{
|
|
22
|
+
name: string;
|
|
23
|
+
vectorSize: number;
|
|
24
|
+
distance?: 'Cosine' | 'Euclid' | 'Dot';
|
|
25
|
+
indexes?: Array<{
|
|
26
|
+
field: string;
|
|
27
|
+
type: 'keyword' | 'integer' | 'float' | 'bool' | 'geo' | 'text';
|
|
28
|
+
}>;
|
|
29
|
+
}>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
16
32
|
export interface CasbinConfig {
|
|
17
33
|
modelPath: string;
|
|
18
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicationConfig.d.ts","sourceRoot":"","sources":["../../../../src/libs/configure/ApplicationConfig.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,iBAAiB;IAMhC,OAAO,EAAE,MAAM,CAAC;IAShB,OAAO,EAAE,MAAM,CAAC;IAOhB,IAAI,EAAE,MAAM,CAAC;IASb,cAAc,EAAE,MAAM,CAAC;IASvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAeD,MAAM,WAAW,cAAc;IAQ7B,UAAU,EAAE,MAAM,CAAC;IASnB,MAAM,EAAE,MAAM,CAAC;IAUf,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC;CACjG;AAoBD,MAAM,WAAW,WAAW;IAU1B,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AAcD,MAAM,WAAW,YAAY;IAQ3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAkBD,MAAM,WAAW,aAAa;IAQ5B,QAAQ,EAAE,OAAO,CAAC;IAUlB,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAWjB,IAAI,CAAC,EAAE,MAAM,CAAC;IAUd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
1
|
+
{"version":3,"file":"ApplicationConfig.d.ts","sourceRoot":"","sources":["../../../../src/libs/configure/ApplicationConfig.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,iBAAiB;IAMhC,OAAO,EAAE,MAAM,CAAC;IAShB,OAAO,EAAE,MAAM,CAAC;IAOhB,IAAI,EAAE,MAAM,CAAC;IASb,cAAc,EAAE,MAAM,CAAC;IASvB,aAAa,EAAE,MAAM,CAAC;CACvB;AAeD,MAAM,WAAW,cAAc;IAQ7B,UAAU,EAAE,MAAM,CAAC;IASnB,MAAM,EAAE,MAAM,CAAC;IAUf,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC;CACjG;AAoBD,MAAM,WAAW,WAAW;IAU1B,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB;AAwBD,MAAM,WAAW,YAAY;IAI3B,MAAM,EAAE;QAMN,GAAG,EAAE,MAAM,CAAC;QAOZ,MAAM,CAAC,EAAE,MAAM,CAAC;QAOhB,OAAO,CAAC,EAAE,MAAM,CAAC;QAOjB,WAAW,CAAC,EAAE,KAAK,CAAC;YAIlB,IAAI,EAAE,MAAM,CAAC;YAOb,UAAU,EAAE,MAAM,CAAC;YAYnB,QAAQ,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;YAOvC,OAAO,CAAC,EAAE,KAAK,CAAC;gBAId,KAAK,EAAE,MAAM,CAAC;gBAad,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;aACjE,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC;CACH;AAcD,MAAM,WAAW,YAAY;IAQ3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAkBD,MAAM,WAAW,aAAa;IAQ5B,QAAQ,EAAE,OAAO,CAAC;IAUlB,KAAK,CAAC,EAAE,MAAM,CAAC;IAUf,WAAW,CAAC,EAAE,MAAM,CAAC;IAUrB,OAAO,CAAC,EAAE,MAAM,CAAC;IAWjB,IAAI,CAAC,EAAE,MAAM,CAAC;IAUd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/libs/index.d.ts
CHANGED
package/dist/libs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":"AAEA,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
|
package/dist/libs/index.js
CHANGED
|
@@ -31,6 +31,7 @@ __exportStar(require("./network"), exports);
|
|
|
31
31
|
__exportStar(require("./openapi"), exports);
|
|
32
32
|
__exportStar(require("./orm"), exports);
|
|
33
33
|
__exportStar(require("./pagination"), exports);
|
|
34
|
+
__exportStar(require("./qdrant"), exports);
|
|
34
35
|
__exportStar(require("./rabbitmq"), exports);
|
|
35
36
|
__exportStar(require("./redis"), exports);
|
|
36
37
|
__exportStar(require("./register"), exports);
|
package/dist/libs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,wCAAsB;AACtB,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,gDAA8B;AAC9B,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,wCAAsB;AACtB,+CAA6B;AAC7B,6CAA2B;AAC3B,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/libs/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,wCAAsB;AACtB,8CAA4B;AAC5B,yCAAuB;AACvB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,gDAA8B;AAC9B,wCAAsB;AACtB,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,wCAAsB;AACtB,+CAA6B;AAC7B,2CAAyB;AACzB,6CAA2B;AAC3B,0CAAwB;AACxB,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,6CAA2B;AAC3B,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { QdrantClient as QdrantJSClient } from '@qdrant/qdrant-js';
|
|
2
|
+
import type { QdrantConfig } from '../configure';
|
|
3
|
+
export interface VectorPoint {
|
|
4
|
+
id: number | string;
|
|
5
|
+
vector: number[] | Float32Array;
|
|
6
|
+
payload?: Record<string, any>;
|
|
7
|
+
}
|
|
8
|
+
export interface SearchParams {
|
|
9
|
+
vector: number[] | Float32Array;
|
|
10
|
+
limit?: number;
|
|
11
|
+
filter?: any;
|
|
12
|
+
withPayload?: boolean;
|
|
13
|
+
withVector?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare class QdrantClient {
|
|
16
|
+
readonly config: QdrantConfig;
|
|
17
|
+
private logger;
|
|
18
|
+
readonly client: QdrantJSClient;
|
|
19
|
+
constructor(config: QdrantConfig);
|
|
20
|
+
healthCheck(): Promise<boolean>;
|
|
21
|
+
ensureCollection(collectionName: string, vectorSize: number, distance?: 'Cosine' | 'Euclid' | 'Dot'): Promise<boolean>;
|
|
22
|
+
deleteCollection(collectionName: string): Promise<void>;
|
|
23
|
+
createPayloadIndex(collectionName: string, fieldName: string, fieldSchema?: 'keyword' | 'integer' | 'float' | 'bool' | 'geo' | 'text'): Promise<void>;
|
|
24
|
+
upsert(collectionName: string, point: VectorPoint, wait?: boolean): Promise<void>;
|
|
25
|
+
batchUpsert(collectionName: string, points: VectorPoint[], wait?: boolean): Promise<void>;
|
|
26
|
+
search(collectionName: string, params: SearchParams): Promise<{
|
|
27
|
+
id: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["ExtendedPointId"];
|
|
28
|
+
version: number;
|
|
29
|
+
score: number;
|
|
30
|
+
payload?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["Payload"] | (Record<string, unknown> | null);
|
|
31
|
+
vector?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["VectorStructOutput"] | (Record<string, unknown> | null);
|
|
32
|
+
shard_key?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["ShardKey"] | (Record<string, unknown> | null);
|
|
33
|
+
order_value?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["OrderValue"] | (Record<string, unknown> | null);
|
|
34
|
+
}[]>;
|
|
35
|
+
delete(collectionName: string, id: number | string, wait?: boolean): Promise<void>;
|
|
36
|
+
batchDelete(collectionName: string, ids: (number | string)[], wait?: boolean): Promise<void>;
|
|
37
|
+
getCollectionInfo(collectionName: string): Promise<{
|
|
38
|
+
status: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["CollectionStatus"];
|
|
39
|
+
optimizer_status: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["OptimizersStatus"];
|
|
40
|
+
warnings?: (import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["CollectionWarning"])[];
|
|
41
|
+
indexed_vectors_count?: number | null;
|
|
42
|
+
points_count?: number | null;
|
|
43
|
+
segments_count: number;
|
|
44
|
+
config: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["CollectionConfig"];
|
|
45
|
+
payload_schema: {
|
|
46
|
+
[key: string]: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["PayloadIndexInfo"] | undefined;
|
|
47
|
+
};
|
|
48
|
+
update_queue?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["UpdateQueueInfo"] | (Record<string, unknown> | null);
|
|
49
|
+
}>;
|
|
50
|
+
retrieve(collectionName: string, id: number | string): Promise<{
|
|
51
|
+
id: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["ExtendedPointId"];
|
|
52
|
+
payload?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["Payload"] | (Record<string, unknown> | null);
|
|
53
|
+
vector?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["VectorStructOutput"] | (Record<string, unknown> | null);
|
|
54
|
+
shard_key?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["ShardKey"] | (Record<string, unknown> | null);
|
|
55
|
+
order_value?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["OrderValue"] | (Record<string, unknown> | null);
|
|
56
|
+
} | null>;
|
|
57
|
+
scroll(collectionName: string, limit?: number, filter?: any, offset?: string | number): Promise<{
|
|
58
|
+
points: (import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["Record"])[];
|
|
59
|
+
next_page_offset?: import("@qdrant/js-client-rest/dist/types/openapi/generated_schema").components["schemas"]["ExtendedPointId"] | (Record<string, unknown> | null);
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=QdrantClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QdrantClient.d.ts","sourceRoot":"","sources":["../../../../src/libs/qdrant/QdrantClient.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,WAAW,WAAW;IAE1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAEpB,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;IAEhC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAKD,MAAM,WAAW,YAAY;IAE3B,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;IAEhC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,CAAC,EAAE,GAAG,CAAC;IAEb,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAWD,qBAAa,YAAY;aAgBK,MAAM,EAAE,YAAY;IAdhD,OAAO,CAAC,MAAM,CAAkC;IAOhD,SAAgB,MAAM,EAAE,cAAc,CAAC;gBAOX,MAAM,EAAE,YAAY;IAsB1C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IA4B/B,gBAAgB,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAQ,GAAG,KAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAuChI,gBAAgB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvD,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,GAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoChK,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAqC9E,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CtF,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY;YAkKw8yD,0FAAsB;;;kBAA4c,0FAAsB;iBAAwH,0FAAsB;oBAA4H,0FAAsB;sBAAyH,0FAAsB;;IAlIl60D,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B/E,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,IAAI,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzF,iBAAiB,CAAC,cAAc,EAAE,MAAM;gBA6Eu5J,0FAAsB;0BAAmD,0FAAsB;oBAAiH,0FAAqB;;;;gBAA0xB,0FAAsB;;2BAA0I,0FAAsB;;uBAA6H,0FAAsB;;IAtDvwM,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;YAsD4wyC,0FAAsB;kBAAiH,0FAAsB;iBAAwH,0FAAsB;oBAA4H,0FAAsB;sBAA0E,0FAAsB;;IAjB71zC,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,SAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;iBAiBwqmE,0FAAqB;2BAAwI,0FAAsB;;CADp7mE"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.QdrantClient = void 0;
|
|
4
|
+
const qdrant_js_1 = require("@qdrant/qdrant-js");
|
|
5
|
+
const logger_1 = require("../logger");
|
|
6
|
+
class QdrantClient {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.logger = logger_1.Logger.getLogger(QdrantClient);
|
|
10
|
+
this.client = new qdrant_js_1.QdrantClient({
|
|
11
|
+
url: config.qdrant.url,
|
|
12
|
+
apiKey: config.qdrant.apiKey,
|
|
13
|
+
timeout: config.qdrant.timeout || 30000,
|
|
14
|
+
});
|
|
15
|
+
this.logger.info('Qdrant client initialized - URL: {}', config.qdrant.url);
|
|
16
|
+
}
|
|
17
|
+
async healthCheck() {
|
|
18
|
+
try {
|
|
19
|
+
await this.client.getCollections();
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
this.logger.error('Health check failed: {}', error.message);
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async ensureCollection(collectionName, vectorSize, distance = 'Cosine') {
|
|
28
|
+
try {
|
|
29
|
+
const collections = await this.client.getCollections();
|
|
30
|
+
const exists = collections.collections.some((col) => col.name === collectionName);
|
|
31
|
+
if (!exists) {
|
|
32
|
+
await this.client.createCollection(collectionName, {
|
|
33
|
+
vectors: {
|
|
34
|
+
size: vectorSize,
|
|
35
|
+
distance,
|
|
36
|
+
},
|
|
37
|
+
optimizers_config: {
|
|
38
|
+
default_segment_number: 2,
|
|
39
|
+
},
|
|
40
|
+
replication_factor: 1,
|
|
41
|
+
});
|
|
42
|
+
this.logger.info('Collection created - Name: {}, VectorSize: {}, Distance: {}', collectionName, vectorSize, distance);
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
this.logger.debug('Collection already exists - Name: {}', collectionName);
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
this.logger.error('Failed to ensure collection - Name: {}, Error: {}', collectionName, error.message);
|
|
50
|
+
throw error;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
async deleteCollection(collectionName) {
|
|
54
|
+
try {
|
|
55
|
+
await this.client.deleteCollection(collectionName);
|
|
56
|
+
this.logger.info('Collection deleted - Name: {}', collectionName);
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
this.logger.error('Failed to delete collection - Name: {}, Error: {}', collectionName, error.message);
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
async createPayloadIndex(collectionName, fieldName, fieldSchema = 'keyword') {
|
|
64
|
+
try {
|
|
65
|
+
await this.client.createPayloadIndex(collectionName, {
|
|
66
|
+
field_name: fieldName,
|
|
67
|
+
field_schema: fieldSchema,
|
|
68
|
+
});
|
|
69
|
+
this.logger.info('Payload index created - Collection: {}, Field: {}, Type: {}', collectionName, fieldName, fieldSchema);
|
|
70
|
+
}
|
|
71
|
+
catch (error) {
|
|
72
|
+
this.logger.error('Failed to create payload index - Collection: {}, Field: {}, Error: {}', collectionName, fieldName, error.message);
|
|
73
|
+
throw error;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async upsert(collectionName, point, wait = true) {
|
|
77
|
+
try {
|
|
78
|
+
const vectorArray = Array.isArray(point.vector) ? point.vector : Array.from(point.vector);
|
|
79
|
+
await this.client.upsert(collectionName, {
|
|
80
|
+
wait,
|
|
81
|
+
points: [
|
|
82
|
+
{
|
|
83
|
+
id: point.id,
|
|
84
|
+
vector: vectorArray,
|
|
85
|
+
payload: point.payload,
|
|
86
|
+
},
|
|
87
|
+
],
|
|
88
|
+
});
|
|
89
|
+
this.logger.debug('Vector upserted - Collection: {}, ID: {}, Dim: {}', collectionName, point.id, vectorArray.length);
|
|
90
|
+
}
|
|
91
|
+
catch (error) {
|
|
92
|
+
this.logger.error('Failed to upsert vector - Collection: {}, ID: {}, Error: {}', collectionName, point.id, error.message);
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
async batchUpsert(collectionName, points, wait = true) {
|
|
97
|
+
try {
|
|
98
|
+
const formattedPoints = points.map((point) => ({
|
|
99
|
+
id: point.id,
|
|
100
|
+
vector: Array.isArray(point.vector) ? point.vector : Array.from(point.vector),
|
|
101
|
+
payload: point.payload,
|
|
102
|
+
}));
|
|
103
|
+
await this.client.upsert(collectionName, {
|
|
104
|
+
wait,
|
|
105
|
+
points: formattedPoints,
|
|
106
|
+
});
|
|
107
|
+
this.logger.info('Batch upsert completed - Collection: {}, Count: {}', collectionName, points.length);
|
|
108
|
+
}
|
|
109
|
+
catch (error) {
|
|
110
|
+
this.logger.error('Failed to batch upsert - Collection: {}, Count: {}, Error: {}', collectionName, points.length, error.message);
|
|
111
|
+
throw error;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
async search(collectionName, params) {
|
|
115
|
+
try {
|
|
116
|
+
const vectorArray = Array.isArray(params.vector) ? params.vector : Array.from(params.vector);
|
|
117
|
+
const results = await this.client.search(collectionName, {
|
|
118
|
+
vector: vectorArray,
|
|
119
|
+
limit: params.limit || 10,
|
|
120
|
+
filter: params.filter,
|
|
121
|
+
with_payload: params.withPayload !== false,
|
|
122
|
+
with_vector: params.withVector || false,
|
|
123
|
+
});
|
|
124
|
+
this.logger.debug('Search completed - Collection: {}, Results: {}', collectionName, results.length);
|
|
125
|
+
return results;
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
this.logger.error('Failed to search - Collection: {}, Error: {}', collectionName, error.message);
|
|
129
|
+
throw error;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
async delete(collectionName, id, wait = true) {
|
|
133
|
+
try {
|
|
134
|
+
await this.client.delete(collectionName, {
|
|
135
|
+
wait,
|
|
136
|
+
points: [id],
|
|
137
|
+
});
|
|
138
|
+
this.logger.debug('Vector deleted - Collection: {}, ID: {}', collectionName, id);
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
this.logger.error('Failed to delete vector - Collection: {}, ID: {}, Error: {}', collectionName, id, error.message);
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
async batchDelete(collectionName, ids, wait = true) {
|
|
146
|
+
try {
|
|
147
|
+
await this.client.delete(collectionName, {
|
|
148
|
+
wait,
|
|
149
|
+
points: ids,
|
|
150
|
+
});
|
|
151
|
+
this.logger.info('Batch delete completed - Collection: {}, Count: {}', collectionName, ids.length);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
this.logger.error('Failed to batch delete - Collection: {}, Count: {}, Error: {}', collectionName, ids.length, error.message);
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async getCollectionInfo(collectionName) {
|
|
159
|
+
try {
|
|
160
|
+
const info = await this.client.getCollection(collectionName);
|
|
161
|
+
return info;
|
|
162
|
+
}
|
|
163
|
+
catch (error) {
|
|
164
|
+
this.logger.error('Failed to get collection info - Collection: {}, Error: {}', collectionName, error.message);
|
|
165
|
+
throw error;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
async retrieve(collectionName, id) {
|
|
169
|
+
try {
|
|
170
|
+
const points = await this.client.retrieve(collectionName, {
|
|
171
|
+
ids: [id],
|
|
172
|
+
with_payload: true,
|
|
173
|
+
with_vector: true,
|
|
174
|
+
});
|
|
175
|
+
return points.length > 0 ? points[0] : null;
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
this.logger.error('Failed to retrieve point - Collection: {}, ID: {}, Error: {}', collectionName, id, error.message);
|
|
179
|
+
throw error;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
async scroll(collectionName, limit = 100, filter, offset) {
|
|
183
|
+
try {
|
|
184
|
+
const result = await this.client.scroll(collectionName, {
|
|
185
|
+
limit,
|
|
186
|
+
filter,
|
|
187
|
+
offset,
|
|
188
|
+
with_payload: true,
|
|
189
|
+
with_vector: false,
|
|
190
|
+
});
|
|
191
|
+
return result;
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
this.logger.error('Failed to scroll - Collection: {}, Error: {}', collectionName, error.message);
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
exports.QdrantClient = QdrantClient;
|
|
200
|
+
//# sourceMappingURL=QdrantClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QdrantClient.js","sourceRoot":"","sources":["../../../../src/libs/qdrant/QdrantClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QdrantLoader.d.ts","sourceRoot":"","sources":["../../../../src/libs/qdrant/QdrantLoader.ts"],"names":[],"mappings":"AAoDA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAyB/D,eAAO,MAAM,YAAY,EAAE,eAkF1B,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.qdrantLoader = void 0;
|
|
4
|
+
const typedi_1 = require("typedi");
|
|
5
|
+
const configure_1 = require("../configure");
|
|
6
|
+
const logger_1 = require("../logger");
|
|
7
|
+
const QdrantClient_1 = require("./QdrantClient");
|
|
8
|
+
const qdrantLoader = async (settings) => {
|
|
9
|
+
const logger = logger_1.Logger.getLogger('QdrantLoader');
|
|
10
|
+
try {
|
|
11
|
+
const cfg = configure_1.ConfigManager.getConfig('qdrant');
|
|
12
|
+
if (!cfg || !cfg.qdrant) {
|
|
13
|
+
logger.warn(' ⚠️ Qdrant configuration not found, skipping Qdrant initialization');
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
const { collections } = cfg.qdrant;
|
|
17
|
+
const qdrantClient = new QdrantClient_1.QdrantClient(cfg);
|
|
18
|
+
typedi_1.Container.set(QdrantClient_1.QdrantClient, qdrantClient);
|
|
19
|
+
const isHealthy = await qdrantClient.healthCheck();
|
|
20
|
+
if (!isHealthy) {
|
|
21
|
+
logger.error(' ❌ Qdrant health check failed - URL: {}', cfg.qdrant.url);
|
|
22
|
+
throw new Error('Qdrant health check failed');
|
|
23
|
+
}
|
|
24
|
+
logger.info(' ✅ Qdrant - Connected to {}', cfg.qdrant.url);
|
|
25
|
+
if (!collections || collections.length === 0) {
|
|
26
|
+
logger.info(' ℹ️ No collections configured for auto-initialization');
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
logger.info('Initializing {} collection(s)...', collections.length);
|
|
30
|
+
for (const collectionConfig of collections) {
|
|
31
|
+
const { name, vectorSize, distance = 'Cosine', indexes } = collectionConfig;
|
|
32
|
+
const existed = await qdrantClient.ensureCollection(name, vectorSize, distance);
|
|
33
|
+
if (!existed) {
|
|
34
|
+
logger.info(' ✅ Collection created: {} (size: {}, distance: {})', name, vectorSize, distance);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
logger.info(' ℹ️ Collection already exists: {}', name);
|
|
38
|
+
}
|
|
39
|
+
if (!indexes || indexes.length === 0) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
for (const index of indexes) {
|
|
43
|
+
try {
|
|
44
|
+
await qdrantClient.createPayloadIndex(name, index.field, index.type);
|
|
45
|
+
logger.info(' ✅ Index created: {}.{} (type: {})', name, index.field, index.type);
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
logger.warn(' ⚠️ Failed to create index {}.{}: {}', name, index.field, error.message);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
logger.info(' ✅ All collections initialized successfully');
|
|
53
|
+
}
|
|
54
|
+
settings?.onShutdown(async () => {
|
|
55
|
+
logger.info('Shutting down Qdrant client...');
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
logger.error(' ❌ Qdrant loader failed: {}', error.message);
|
|
60
|
+
throw error;
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
exports.qdrantLoader = qdrantLoader;
|
|
64
|
+
//# sourceMappingURL=QdrantLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QdrantLoader.js","sourceRoot":"","sources":["../../../../src/libs/qdrant/QdrantLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/qdrant/index.ts"],"names":[],"mappings":"AAEA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./QdrantClient"), exports);
|
|
18
|
+
__exportStar(require("./QdrantLoader"), exports);
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/libs/qdrant/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,iDAA+B;AAC/B,iDAA+B"}
|
|
@@ -5,6 +5,7 @@ export type BootstrapOption = KoaLoaderOption & TypeormLoaderOption & Distribute
|
|
|
5
5
|
disableRestClient?: boolean;
|
|
6
6
|
disableTelegram?: boolean;
|
|
7
7
|
disableRedis?: boolean;
|
|
8
|
+
disableQdrant?: boolean;
|
|
8
9
|
disableDatabase?: boolean;
|
|
9
10
|
disableEvent?: boolean;
|
|
10
11
|
disableServices?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BootstrapOption.d.ts","sourceRoot":"","sources":["../../../src/server/BootstrapOption.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzI,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"BootstrapOption.d.ts","sourceRoot":"","sources":["../../../src/server/BootstrapOption.ts"],"names":[],"mappings":"AA6CA,OAAO,EAAE,6BAA6B,EAAE,eAAe,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AACzI,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAgCpD,MAAM,MAAM,eAAe,GAAG,eAAe,GAC3C,mBAAmB,GACnB,6BAA6B,GAC7B,oBAAoB,GACpB,mBAAmB,GAAG;IAEpB,aAAa,CAAC,EAAE,OAAO,CAAE;IAEzB,iBAAiB,CAAC,EAAE,OAAO,CAAE;IAE7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IAEtC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;CAC7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"AAiCA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAA2B,cAAc,EAAgD,MAAM,gBAAgB,CAAC;AAYvH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AA6BpD,eAAO,MAAM,SAAS,GAAU,QAAQ,eAAe,KAAG,OAAO,CAAC,cAAc,CA2G/E,CAAC"}
|
package/dist/server/bootstrap.js
CHANGED
|
@@ -10,6 +10,7 @@ const telegram_1 = require("../libs/telegram");
|
|
|
10
10
|
const koa_1 = require("../libs/koa");
|
|
11
11
|
const logger_1 = require("../libs/logger");
|
|
12
12
|
const redis_1 = require("../libs/redis");
|
|
13
|
+
const qdrant_1 = require("../libs/qdrant");
|
|
13
14
|
const restful_1 = require("../libs/restful");
|
|
14
15
|
const orm_1 = require("../libs/orm");
|
|
15
16
|
const service_1 = require("../libs/service");
|
|
@@ -26,6 +27,9 @@ const bootstrap = async (option) => {
|
|
|
26
27
|
if (!option.disableRedis) {
|
|
27
28
|
loaders.push(option.disableRedis ? emptyLoader : redis_1.redisLoader);
|
|
28
29
|
}
|
|
30
|
+
if (!option.disableQdrant) {
|
|
31
|
+
loaders.push(option.disableQdrant ? emptyLoader : qdrant_1.qdrantLoader);
|
|
32
|
+
}
|
|
29
33
|
if (!option.disableEvent) {
|
|
30
34
|
loaders.push(option.disableEvent ? emptyLoader : (0, rabbitmq_1.rabbitmqLoader)(option));
|
|
31
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../../src/server/bootstrap.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaias/basenode",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.9",
|
|
4
4
|
"buildNumber": 251025471,
|
|
5
5
|
"description": "API development framework for NodeJs",
|
|
6
6
|
"author": "FOT",
|
|
@@ -67,7 +67,6 @@
|
|
|
67
67
|
"@eslint/js": "^9.38.0",
|
|
68
68
|
"@types/glob": "^9.0.0",
|
|
69
69
|
"@types/jest": "^30.0.0",
|
|
70
|
-
"@types/koa__cors": "^5.0.1",
|
|
71
70
|
"@types/koa-bodyparser": "^4.3.13",
|
|
72
71
|
"@types/koa-favicon": "^2.1.4",
|
|
73
72
|
"@types/koa-helmet": "^6.1.0",
|
|
@@ -75,6 +74,7 @@
|
|
|
75
74
|
"@types/koa-logger": "^3.1.5",
|
|
76
75
|
"@types/koa-router": "^7.4.9",
|
|
77
76
|
"@types/koa-static": "^4.0.4",
|
|
77
|
+
"@types/koa__cors": "^5.0.1",
|
|
78
78
|
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
79
79
|
"@typescript-eslint/parser": "^8.46.2",
|
|
80
80
|
"@vercel/ncc": "^0.38.4",
|
|
@@ -108,13 +108,14 @@
|
|
|
108
108
|
"dependencies": {
|
|
109
109
|
"@koa/cors": "^5.0.0",
|
|
110
110
|
"@koa/multer": "^4.0.0",
|
|
111
|
+
"@qdrant/qdrant-js": "^1.17.0",
|
|
111
112
|
"@sight-saber/client_node": "^1.1.5",
|
|
112
113
|
"@types/amqplib": "^0.10.8",
|
|
113
114
|
"@types/js-yaml": "^4.0.9",
|
|
114
115
|
"@types/jsonwebtoken": "^9.0.10",
|
|
115
116
|
"@types/koa": "^3.0.1",
|
|
116
|
-
"@types/koa__multer": "^2.0.8",
|
|
117
117
|
"@types/koa-compress": "^4.0.7",
|
|
118
|
+
"@types/koa__multer": "^2.0.8",
|
|
118
119
|
"@types/lodash": "^4.17.20",
|
|
119
120
|
"@types/node": "^24.9.1",
|
|
120
121
|
"@types/pino": "^7.0.5",
|