@talkpilot/core-db 1.3.42 → 1.3.44

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 (29) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/test-utils/factories/websitalk/knowledgeDocuments.d.ts +1 -1
  6. package/dist/test-utils/factories/websitalk/knowledgeDocuments.d.ts.map +1 -1
  7. package/dist/test-utils/factories/websitalk/knowledgeDocuments.js +4 -4
  8. package/dist/test-utils/factories/websitalk/knowledgeDocuments.js.map +1 -1
  9. package/dist/websitalk/knowledgeDocuments/index.d.ts +1 -1
  10. package/dist/websitalk/knowledgeDocuments/index.d.ts.map +1 -1
  11. package/dist/websitalk/knowledgeDocuments/index.js +1 -1
  12. package/dist/websitalk/knowledgeDocuments/index.js.map +1 -1
  13. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.d.ts +3 -2
  14. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.d.ts.map +1 -1
  15. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.js +4 -1
  16. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.constants.js.map +1 -1
  17. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.d.ts.map +1 -1
  18. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.js +6 -14
  19. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.js.map +1 -1
  20. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.d.ts +9 -5
  21. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/index.ts +3 -1
  24. package/src/test-utils/factories/websitalk/knowledgeDocuments.ts +4 -3
  25. package/src/websitalk/knowledgeDocuments/__tests__/knowledgeDocuments.spec.ts +87 -5
  26. package/src/websitalk/knowledgeDocuments/index.ts +1 -1
  27. package/src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts +3 -5
  28. package/src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts +6 -14
  29. package/src/websitalk/knowledgeDocuments/knowledgeDocuments.types.ts +30 -6
package/dist/index.d.ts CHANGED
@@ -13,7 +13,9 @@ export { websitalkMongodbClient, getDb as getWebsitalkDb, setDb as setWebsitalkD
13
13
  export * from "./websitalk/scans/scans.getters";
14
14
  export type * from "./websitalk/scans/scans.types";
15
15
  export * from "./websitalk/websiteUrls";
16
- export * from "./websitalk/knowledgeDocuments";
16
+ export * from "./websitalk/knowledgeDocuments/knowledgeDocuments.constants";
17
+ export * from "./websitalk/knowledgeDocuments/knowledgeDocuments.getters";
18
+ export type * from "./websitalk/knowledgeDocuments/knowledgeDocuments.types";
17
19
  export { configurationMongodbClient, getDb as getConfigurationDb, setDb as setConfigurationDb, } from "./configuration";
18
20
  export * from "./configuration/prompts";
19
21
  export * from "./configuration/models";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,EAC3B,QAAQ,IAAI,qBAAqB,GAClC,MAAM,aAAa,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,KAAK,IAAI,cAAc,EACvB,KAAK,IAAI,cAAc,EACvB,QAAQ,IAAI,iBAAiB,GAC9B,MAAM,aAAa,CAAC;AACrB,cAAc,iCAAiC,CAAC;AAChD,mBAAmB,+BAA+B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,qBAAqB,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,mBAAmB,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAE5B,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,EAC3B,QAAQ,IAAI,qBAAqB,GAClC,MAAM,aAAa,CAAC;AACrB,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iCAAiC,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AAExC,OAAO,EACL,sBAAsB,EACtB,KAAK,IAAI,cAAc,EACvB,KAAK,IAAI,cAAc,EACvB,QAAQ,IAAI,iBAAiB,GAC9B,MAAM,aAAa,CAAC;AACrB,cAAc,iCAAiC,CAAC;AAChD,mBAAmB,+BAA+B,CAAC;AACnD,cAAc,yBAAyB,CAAC;AACxC,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2DAA2D,CAAC;AAC1E,mBAAmB,yDAAyD,CAAC;AAE7E,OAAO,EACL,0BAA0B,EAC1B,KAAK,IAAI,kBAAkB,EAC3B,KAAK,IAAI,kBAAkB,GAC5B,MAAM,iBAAiB,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,gCAAgC,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,qBAAqB,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AACpE,OAAO,EAAE,mBAAmB,IAAI,cAAc,EAAE,MAAM,SAAS,CAAC;AAChE,YAAY,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -38,7 +38,8 @@ Object.defineProperty(exports, "setWebsitalkDb", { enumerable: true, get: functi
38
38
  Object.defineProperty(exports, "WebsitalkObjectId", { enumerable: true, get: function () { return websitalk_1.ObjectId; } });
39
39
  __exportStar(require("./websitalk/scans/scans.getters"), exports);
40
40
  __exportStar(require("./websitalk/websiteUrls"), exports);
41
- __exportStar(require("./websitalk/knowledgeDocuments"), exports);
41
+ __exportStar(require("./websitalk/knowledgeDocuments/knowledgeDocuments.constants"), exports);
42
+ __exportStar(require("./websitalk/knowledgeDocuments/knowledgeDocuments.getters"), exports);
42
43
  var configuration_1 = require("./configuration");
43
44
  Object.defineProperty(exports, "configurationMongodbClient", { enumerable: true, get: function () { return configuration_1.configurationMongodbClient; } });
44
45
  Object.defineProperty(exports, "getConfigurationDb", { enumerable: true, get: function () { return configuration_1.getDb; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AAE5B,yCAKqB;AAJnB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,KAAK,OAAsB;AAC3B,+GAAA,KAAK,OAAsB;AAC3B,kHAAA,QAAQ,OAAyB;AAEnC,qDAAmC;AACnC,sDAAoC;AACpC,kEAAgD;AAChD,sDAAoC;AACpC,iEAA+C;AAC/C,yDAAuC;AACvC,0DAAwC;AAExC,yCAKqB;AAJnB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,KAAK,OAAkB;AACvB,2GAAA,KAAK,OAAkB;AACvB,8GAAA,QAAQ,OAAqB;AAE/B,kEAAgD;AAEhD,0DAAwC;AACxC,iEAA+C;AAE/C,iDAIyB;AAHvB,2HAAA,0BAA0B,OAAA;AAC1B,mHAAA,KAAK,OAAsB;AAC3B,mHAAA,KAAK,OAAsB;AAE7B,0DAAwC;AACxC,yDAAuC;AACvC,iEAA+C;AAE/C,mCAAmC;AAA1B,mGAAA,QAAQ,OAAA;AAGjB,mCAAgE;AAAvD,yGAAA,mBAAmB,OAAkB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uBAAuB;AACvB,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AAE5B,yCAKqB;AAJnB,uHAAA,0BAA0B,OAAA;AAC1B,+GAAA,KAAK,OAAsB;AAC3B,+GAAA,KAAK,OAAsB;AAC3B,kHAAA,QAAQ,OAAyB;AAEnC,qDAAmC;AACnC,sDAAoC;AACpC,kEAAgD;AAChD,sDAAoC;AACpC,iEAA+C;AAC/C,yDAAuC;AACvC,0DAAwC;AAExC,yCAKqB;AAJnB,mHAAA,sBAAsB,OAAA;AACtB,2GAAA,KAAK,OAAkB;AACvB,2GAAA,KAAK,OAAkB;AACvB,8GAAA,QAAQ,OAAqB;AAE/B,kEAAgD;AAEhD,0DAAwC;AACxC,8FAA4E;AAC5E,4FAA0E;AAG1E,iDAIyB;AAHvB,2HAAA,0BAA0B,OAAA;AAC1B,mHAAA,KAAK,OAAsB;AAC3B,mHAAA,KAAK,OAAsB;AAE7B,0DAAwC;AACxC,yDAAuC;AACvC,iEAA+C;AAE/C,mCAAmC;AAA1B,mGAAA,QAAQ,OAAA;AAGjB,mCAAgE;AAAvD,yGAAA,mBAAmB,OAAkB"}
@@ -1,5 +1,5 @@
1
1
  import { Factory } from "fishery";
2
- import { type KnowledgeDocument } from "../../../websitalk/knowledgeDocuments";
2
+ import type { KnowledgeDocument } from "../../../websitalk/knowledgeDocuments/knowledgeDocuments.types";
3
3
  export declare const knowledgeDocumentFactory: Factory<KnowledgeDocument, any, KnowledgeDocument, import("fishery").DeepPartialObject<KnowledgeDocument>>;
4
4
  export declare function createKnowledgeDocumentFixture(overrides?: Partial<KnowledgeDocument>): KnowledgeDocument;
5
5
  //# sourceMappingURL=knowledgeDocuments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.d.ts","sourceRoot":"","sources":["../../../../src/test-utils/factories/websitalk/knowledgeDocuments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,uCAAuC,CAAC;AAE/C,eAAO,MAAM,wBAAwB,4GAapC,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,iBAAiB,CAEnB"}
1
+ {"version":3,"file":"knowledgeDocuments.d.ts","sourceRoot":"","sources":["../../../../src/test-utils/factories/websitalk/knowledgeDocuments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAOlC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AAExG,eAAO,MAAM,wBAAwB,4GAapC,CAAC;AAEF,wBAAgB,8BAA8B,CAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACrC,iBAAiB,CAEnB"}
@@ -4,15 +4,15 @@ exports.knowledgeDocumentFactory = void 0;
4
4
  exports.createKnowledgeDocumentFixture = createKnowledgeDocumentFixture;
5
5
  const fishery_1 = require("fishery");
6
6
  const faker_1 = require("@faker-js/faker");
7
- const knowledgeDocuments_1 = require("../../../websitalk/knowledgeDocuments");
7
+ const knowledgeDocuments_constants_1 = require("../../../websitalk/knowledgeDocuments/knowledgeDocuments.constants");
8
8
  exports.knowledgeDocumentFactory = fishery_1.Factory.define(() => ({
9
9
  clientId: faker_1.faker.string.uuid(),
10
10
  filename: `${faker_1.faker.system.fileName()}.pdf`,
11
- contentType: "application/pdf",
12
- fileType: knowledgeDocuments_1.KNOWLEDGE_FILE_TYPES.PDF,
11
+ contentType: knowledgeDocuments_constants_1.KNOWLEDGE_CONTENT_TYPES.PDF,
12
+ fileType: knowledgeDocuments_constants_1.KNOWLEDGE_FILE_TYPES.PDF,
13
13
  storagePath: `websitalk/knowledge_files/${faker_1.faker.string.uuid()}/original.pdf`,
14
14
  byteSize: faker_1.faker.number.int({ min: 1024, max: 5_000_000 }),
15
- status: knowledgeDocuments_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
15
+ status: knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
16
16
  progressPercent: 0,
17
17
  createdAt: new Date(),
18
18
  updatedAt: new Date(),
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.js","sourceRoot":"","sources":["../../../../src/test-utils/factories/websitalk/knowledgeDocuments.ts"],"names":[],"mappings":";;;AAuBA,wEAIC;AA3BD,qCAAkC;AAClC,2CAAwC;AACxC,8EAI+C;AAElC,QAAA,wBAAwB,GAAG,iBAAO,CAAC,MAAM,CACpD,GAAG,EAAE,CAAC,CAAC;IACL,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE;IAC7B,QAAQ,EAAE,GAAG,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM;IAC1C,WAAW,EAAE,iBAAiB;IAC9B,QAAQ,EAAE,yCAAoB,CAAC,GAAG;IAClC,WAAW,EAAE,6BAA6B,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe;IAC5E,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IACzD,MAAM,EAAE,gDAA2B,CAAC,SAAS;IAC7C,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,SAAS,EAAE,IAAI,IAAI,EAAE;CACtB,CAAC,CACH,CAAC;AAEF,SAAgB,8BAA8B,CAC5C,SAAsC;IAEtC,OAAO,gCAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"knowledgeDocuments.js","sourceRoot":"","sources":["../../../../src/test-utils/factories/websitalk/knowledgeDocuments.ts"],"names":[],"mappings":";;;AAwBA,wEAIC;AA5BD,qCAAkC;AAClC,2CAAwC;AACxC,qHAI4E;AAG/D,QAAA,wBAAwB,GAAG,iBAAO,CAAC,MAAM,CACpD,GAAG,EAAE,CAAC,CAAC;IACL,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE;IAC7B,QAAQ,EAAE,GAAG,aAAK,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM;IAC1C,WAAW,EAAE,sDAAuB,CAAC,GAAG;IACxC,QAAQ,EAAE,mDAAoB,CAAC,GAAG;IAClC,WAAW,EAAE,6BAA6B,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe;IAC5E,QAAQ,EAAE,aAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IACzD,MAAM,EAAE,0DAA2B,CAAC,SAAS;IAC7C,eAAe,EAAE,CAAC;IAClB,SAAS,EAAE,IAAI,IAAI,EAAE;IACrB,SAAS,EAAE,IAAI,IAAI,EAAE;CACtB,CAAC,CACH,CAAC;AAEF,SAAgB,8BAA8B,CAC5C,SAAsC;IAEtC,OAAO,gCAAwB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACnD,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export * from "./knowledgeDocuments.constants";
2
- export * from "./knowledgeDocuments.types";
3
2
  export * from "./knowledgeDocuments.getters";
3
+ export * from "./knowledgeDocuments.types";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC"}
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./knowledgeDocuments.constants"), exports);
18
- __exportStar(require("./knowledgeDocuments.types"), exports);
19
18
  __exportStar(require("./knowledgeDocuments.getters"), exports);
19
+ __exportStar(require("./knowledgeDocuments.types"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,6DAA2C;AAC3C,+DAA6C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iEAA+C;AAC/C,+DAA6C;AAC7C,6DAA2C"}
@@ -6,9 +6,10 @@ export declare const KNOWLEDGE_DOCUMENT_STATUSES: {
6
6
  readonly READY: "READY";
7
7
  readonly FAILED: "FAILED";
8
8
  };
9
- export type KnowledgeDocumentStatus = (typeof KNOWLEDGE_DOCUMENT_STATUSES)[keyof typeof KNOWLEDGE_DOCUMENT_STATUSES];
10
9
  export declare const KNOWLEDGE_FILE_TYPES: {
11
10
  readonly PDF: "pdf";
12
11
  };
13
- export type KnowledgeFileType = (typeof KNOWLEDGE_FILE_TYPES)[keyof typeof KNOWLEDGE_FILE_TYPES];
12
+ export declare const KNOWLEDGE_CONTENT_TYPES: {
13
+ readonly PDF: "application/pdf";
14
+ };
14
15
  //# sourceMappingURL=knowledgeDocuments.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.constants.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE,eAAO,MAAM,2BAA2B;;;;;;CAM9B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,eAAO,MAAM,oBAAoB;;CAEvB,CAAC;AAEX,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"knowledgeDocuments.constants.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,8BAA8B,uBAAuB,CAAC;AAEnE,eAAO,MAAM,2BAA2B;;;;;;CAM9B,CAAC;AAEX,eAAO,MAAM,oBAAoB;;CAEvB,CAAC;AAEX,eAAO,MAAM,uBAAuB;;CAE1B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KNOWLEDGE_FILE_TYPES = exports.KNOWLEDGE_DOCUMENT_STATUSES = exports.KNOWLEDGE_DOCUMENTS_COLLECTION = void 0;
3
+ exports.KNOWLEDGE_CONTENT_TYPES = exports.KNOWLEDGE_FILE_TYPES = exports.KNOWLEDGE_DOCUMENT_STATUSES = exports.KNOWLEDGE_DOCUMENTS_COLLECTION = void 0;
4
4
  exports.KNOWLEDGE_DOCUMENTS_COLLECTION = "knowledgeDocuments";
5
5
  exports.KNOWLEDGE_DOCUMENT_STATUSES = {
6
6
  UPLOADING: "UPLOADING",
@@ -12,4 +12,7 @@ exports.KNOWLEDGE_DOCUMENT_STATUSES = {
12
12
  exports.KNOWLEDGE_FILE_TYPES = {
13
13
  PDF: "pdf",
14
14
  };
15
+ exports.KNOWLEDGE_CONTENT_TYPES = {
16
+ PDF: "application/pdf",
17
+ };
15
18
  //# sourceMappingURL=knowledgeDocuments.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.constants.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AAEtD,QAAA,2BAA2B,GAAG;IACzC,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAKE,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,KAAK;CACF,CAAC"}
1
+ {"version":3,"file":"knowledgeDocuments.constants.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG,oBAAoB,CAAC;AAEtD,QAAA,2BAA2B,GAAG;IACzC,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;IACxB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEE,QAAA,oBAAoB,GAAG;IAClC,GAAG,EAAE,KAAK;CACF,CAAC;AAEE,QAAA,uBAAuB,GAAG;IACrC,GAAG,EAAE,iBAAiB;CACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.getters.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAMhE,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,QAAO,UAAU,CAAC,iBAAiB,CAE9E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,OAAO,4BAA4B,KAClC,OAAO,CAAC,aAAa,CAqBvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,IAAI,MAAM,KACT,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAErC,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,UAAU,MAAM,KACf,OAAO,CAAC,oBAAoB,EAAE,CAKhC,CAAC;AAEF,eAAO,MAAM,uCAAuC,GAClD,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,EAAE,CAQlB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,MAAM,EACV,SAAS,4BAA4B,KACpC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAMrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,OAAO,CAKzE,CAAC"}
1
+ {"version":3,"file":"knowledgeDocuments.getters.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAMhE,OAAO,KAAK,EACV,4BAA4B,EAC5B,iBAAiB,EACjB,oBAAoB,EACpB,4BAA4B,EAC7B,MAAM,4BAA4B,CAAC;AAEpC,eAAO,MAAM,+BAA+B,QAAO,UAAU,CAAC,iBAAiB,CAE9E,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,OAAO,4BAA4B,KAClC,OAAO,CAAC,aAAa,CAYvB,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,IAAI,MAAM,KACT,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAErC,CAAC;AAEF,eAAO,MAAM,gCAAgC,GAC3C,UAAU,MAAM,KACf,OAAO,CAAC,oBAAoB,EAAE,CAKhC,CAAC;AAEF,eAAO,MAAM,uCAAuC,GAClD,UAAU,MAAM,KACf,OAAO,CAAC,MAAM,EAAE,CASlB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,IAAI,MAAM,EACV,SAAS,4BAA4B,KACpC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAMrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAU,IAAI,MAAM,KAAG,OAAO,CAAC,OAAO,CAKzE,CAAC"}
@@ -9,21 +9,12 @@ const getKnowledgeDocumentsCollection = () => {
9
9
  exports.getKnowledgeDocumentsCollection = getKnowledgeDocumentsCollection;
10
10
  const createKnowledgeDocument = async (input) => {
11
11
  const now = new Date();
12
+ const { status, progressPercent, _id, ...rest } = input;
12
13
  const { insertedId } = await (0, exports.getKnowledgeDocumentsCollection)().insertOne({
13
- clientId: input.clientId,
14
- filename: input.filename,
15
- contentType: input.contentType,
16
- fileType: input.fileType,
17
- storagePath: input.storagePath,
18
- markdownStoragePath: input.markdownStoragePath,
19
- byteSize: input.byteSize,
20
- pageCount: input.pageCount,
21
- pagesExtracted: input.pagesExtracted,
22
- charCount: input.charCount,
23
- contentHash: input.contentHash,
24
- status: input.status ?? knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
25
- errorMessage: input.errorMessage,
26
- progressPercent: input.progressPercent ?? 0,
14
+ ...(_id ? { _id } : {}),
15
+ ...rest,
16
+ status: status ?? knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
17
+ progressPercent: progressPercent ?? 0,
27
18
  createdAt: now,
28
19
  updatedAt: now,
29
20
  });
@@ -44,6 +35,7 @@ exports.listKnowledgeDocumentsByClientId = listKnowledgeDocumentsByClientId;
44
35
  const listReadyKnowledgeDocumentIdsByClientId = async (clientId) => {
45
36
  const docs = await (0, exports.getKnowledgeDocumentsCollection)()
46
37
  .find({ clientId, status: knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.READY }, { projection: { _id: 1 } })
38
+ .sort({ createdAt: -1 })
47
39
  .toArray();
48
40
  return docs.map((doc) => doc._id.toString());
49
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.getters.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledgeDocuments.getters.js","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.getters.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,12 @@
1
- import { ObjectId } from "mongodb";
2
- import type { KnowledgeDocumentStatus, KnowledgeFileType } from "./knowledgeDocuments.constants";
1
+ import { ObjectId as MongoObjectId } from "mongodb";
2
+ import type { KNOWLEDGE_CONTENT_TYPES, KNOWLEDGE_DOCUMENT_STATUSES, KNOWLEDGE_FILE_TYPES } from "./knowledgeDocuments.constants";
3
+ export type KnowledgeDocumentStatus = (typeof KNOWLEDGE_DOCUMENT_STATUSES)[keyof typeof KNOWLEDGE_DOCUMENT_STATUSES];
4
+ export type KnowledgeFileType = (typeof KNOWLEDGE_FILE_TYPES)[keyof typeof KNOWLEDGE_FILE_TYPES];
5
+ export type KnowledgeContentType = (typeof KNOWLEDGE_CONTENT_TYPES)[keyof typeof KNOWLEDGE_CONTENT_TYPES];
3
6
  export type KnowledgeDocument = {
4
7
  clientId: string;
5
8
  filename: string;
6
- contentType: string;
9
+ contentType: KnowledgeContentType;
7
10
  fileType: KnowledgeFileType;
8
11
  storagePath: string;
9
12
  markdownStoragePath?: string;
@@ -19,11 +22,12 @@ export type KnowledgeDocument = {
19
22
  updatedAt: Date;
20
23
  };
21
24
  export type KnowledgeDocumentDoc = KnowledgeDocument & {
22
- _id: ObjectId;
25
+ _id: MongoObjectId;
23
26
  };
24
27
  export type CreateKnowledgeDocumentInput = Omit<KnowledgeDocument, "createdAt" | "updatedAt" | "progressPercent" | "status"> & {
25
28
  status?: KnowledgeDocumentStatus;
26
29
  progressPercent?: number;
30
+ _id?: MongoObjectId;
27
31
  };
28
- export type UpdateKnowledgeDocumentInput = Partial<Omit<KnowledgeDocument, "clientId" | "createdAt" | "updatedAt">>;
32
+ export type UpdateKnowledgeDocumentInput = Partial<Pick<KnowledgeDocument, "storagePath" | "markdownStoragePath" | "byteSize" | "pageCount" | "pagesExtracted" | "charCount" | "contentHash" | "status" | "errorMessage" | "progressPercent">>;
29
33
  //# sourceMappingURL=knowledgeDocuments.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"knowledgeDocuments.types.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EACV,uBAAuB,EACvB,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IAAE,GAAG,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEzE,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,iBAAiB,EACjB,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,QAAQ,CACzD,GAAG;IACF,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAChD,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,GAAG,WAAW,CAAC,CAChE,CAAC"}
1
+ {"version":3,"file":"knowledgeDocuments.types.d.ts","sourceRoot":"","sources":["../../../src/websitalk/knowledgeDocuments/knowledgeDocuments.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAEpD,OAAO,KAAK,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,gCAAgC,CAAC;AAExC,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,OAAO,2BAA2B,CAAC,CAAC;AAEjF,MAAM,MAAM,iBAAiB,GAC3B,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,OAAO,oBAAoB,CAAC,CAAC;AAEnE,MAAM,MAAM,oBAAoB,GAC9B,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,OAAO,uBAAuB,CAAC,CAAC;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,oBAAoB,CAAC;IAClC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,uBAAuB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,GAAG;IAAE,GAAG,EAAE,aAAa,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,iBAAiB,EACjB,WAAW,GAAG,WAAW,GAAG,iBAAiB,GAAG,QAAQ,CACzD,GAAG;IACF,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAChD,IAAI,CACF,iBAAiB,EACf,aAAa,GACb,qBAAqB,GACrB,UAAU,GACV,WAAW,GACX,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,QAAQ,GACR,cAAc,GACd,iBAAiB,CACpB,CACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talkpilot/core-db",
3
- "version": "1.3.42",
3
+ "version": "1.3.44",
4
4
  "description": "Core database package for centralized connections and ORM integration.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/index.ts CHANGED
@@ -26,7 +26,9 @@ export {
26
26
  export * from "./websitalk/scans/scans.getters";
27
27
  export type * from "./websitalk/scans/scans.types";
28
28
  export * from "./websitalk/websiteUrls";
29
- export * from "./websitalk/knowledgeDocuments";
29
+ export * from "./websitalk/knowledgeDocuments/knowledgeDocuments.constants";
30
+ export * from "./websitalk/knowledgeDocuments/knowledgeDocuments.getters";
31
+ export type * from "./websitalk/knowledgeDocuments/knowledgeDocuments.types";
30
32
 
31
33
  export {
32
34
  configurationMongodbClient,
@@ -1,16 +1,17 @@
1
1
  import { Factory } from "fishery";
2
2
  import { faker } from "@faker-js/faker";
3
3
  import {
4
+ KNOWLEDGE_CONTENT_TYPES,
4
5
  KNOWLEDGE_DOCUMENT_STATUSES,
5
6
  KNOWLEDGE_FILE_TYPES,
6
- type KnowledgeDocument,
7
- } from "../../../websitalk/knowledgeDocuments";
7
+ } from "../../../websitalk/knowledgeDocuments/knowledgeDocuments.constants";
8
+ import type { KnowledgeDocument } from "../../../websitalk/knowledgeDocuments/knowledgeDocuments.types";
8
9
 
9
10
  export const knowledgeDocumentFactory = Factory.define<KnowledgeDocument>(
10
11
  () => ({
11
12
  clientId: faker.string.uuid(),
12
13
  filename: `${faker.system.fileName()}.pdf`,
13
- contentType: "application/pdf",
14
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
14
15
  fileType: KNOWLEDGE_FILE_TYPES.PDF,
15
16
  storagePath: `websitalk/knowledge_files/${faker.string.uuid()}/original.pdf`,
16
17
  byteSize: faker.number.int({ min: 1024, max: 5_000_000 }),
@@ -1,4 +1,5 @@
1
1
  import {
2
+ KNOWLEDGE_CONTENT_TYPES,
2
3
  KNOWLEDGE_DOCUMENT_STATUSES,
3
4
  KNOWLEDGE_FILE_TYPES,
4
5
  } from "../knowledgeDocuments.constants";
@@ -15,13 +16,14 @@ import { createKnowledgeDocumentFixture } from "../../../test-utils/factories/we
15
16
 
16
17
  describe("db.websitalk.knowledgeDocuments", () => {
17
18
  const clientId = "test-client";
19
+ const nonExistentId = "507f1f77bcf86cd799439011";
18
20
 
19
21
  describe("createKnowledgeDocument", () => {
20
22
  it("should create a knowledge document", async () => {
21
23
  const id = await createKnowledgeDocument({
22
24
  clientId,
23
25
  filename: "faq.pdf",
24
- contentType: "application/pdf",
26
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
25
27
  fileType: KNOWLEDGE_FILE_TYPES.PDF,
26
28
  storagePath: "websitalk/knowledge_files/test/faq.pdf",
27
29
  byteSize: 2048,
@@ -38,6 +40,27 @@ describe("db.websitalk.knowledgeDocuments", () => {
38
40
  expect(saved?.createdAt).toBeInstanceOf(Date);
39
41
  expect(saved?.updatedAt).toBeInstanceOf(Date);
40
42
  });
43
+
44
+ it("should create a knowledge document with a preset _id", async () => {
45
+ const presetId = new (await import("mongodb")).ObjectId();
46
+ const id = await createKnowledgeDocument({
47
+ _id: presetId,
48
+ clientId,
49
+ filename: "preset.pdf",
50
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
51
+ fileType: KNOWLEDGE_FILE_TYPES.PDF,
52
+ storagePath: `websitalk/knowledge_files/test/${presetId.toString()}/original.pdf`,
53
+ byteSize: 512,
54
+ });
55
+
56
+ expect(id.toString()).toBe(presetId.toString());
57
+ });
58
+ });
59
+
60
+ describe("getKnowledgeDocumentById", () => {
61
+ it("should throw for an invalid id", async () => {
62
+ await expect(getKnowledgeDocumentById("invalid-id")).rejects.toThrow();
63
+ });
41
64
  });
42
65
 
43
66
  describe("listKnowledgeDocumentsByClientId", () => {
@@ -58,14 +81,45 @@ describe("db.websitalk.knowledgeDocuments", () => {
58
81
  "b.pdf",
59
82
  ]);
60
83
  });
84
+
85
+ it("should return documents sorted by createdAt descending", async () => {
86
+ await getKnowledgeDocumentsCollection().insertMany([
87
+ createKnowledgeDocumentFixture({
88
+ clientId,
89
+ filename: "older.pdf",
90
+ createdAt: new Date("2024-01-01"),
91
+ updatedAt: new Date("2024-01-01"),
92
+ }),
93
+ createKnowledgeDocumentFixture({
94
+ clientId,
95
+ filename: "newer.pdf",
96
+ createdAt: new Date("2024-06-01"),
97
+ updatedAt: new Date("2024-06-01"),
98
+ }),
99
+ ]);
100
+
101
+ const results = await listKnowledgeDocumentsByClientId(clientId);
102
+ expect(results.map((doc) => doc.filename)).toEqual([
103
+ "newer.pdf",
104
+ "older.pdf",
105
+ ]);
106
+ });
61
107
  });
62
108
 
63
109
  describe("listReadyKnowledgeDocumentIdsByClientId", () => {
64
- it("should return only READY document ids", async () => {
110
+ it("should return only READY document ids sorted by createdAt descending", async () => {
65
111
  await getKnowledgeDocumentsCollection().insertMany([
66
112
  createKnowledgeDocumentFixture({
67
113
  clientId,
68
114
  status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
115
+ createdAt: new Date("2024-01-01"),
116
+ updatedAt: new Date("2024-01-01"),
117
+ }),
118
+ createKnowledgeDocumentFixture({
119
+ clientId,
120
+ status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
121
+ createdAt: new Date("2024-06-01"),
122
+ updatedAt: new Date("2024-06-01"),
69
123
  }),
70
124
  createKnowledgeDocumentFixture({
71
125
  clientId,
@@ -77,8 +131,15 @@ describe("db.websitalk.knowledgeDocuments", () => {
77
131
  }),
78
132
  ]);
79
133
 
134
+ const readyDocs = await getKnowledgeDocumentsCollection()
135
+ .find({ clientId, status: KNOWLEDGE_DOCUMENT_STATUSES.READY })
136
+ .sort({ createdAt: -1 })
137
+ .toArray();
138
+ const expectedIds = readyDocs.map((doc) => doc._id.toString());
139
+
80
140
  const ids = await listReadyKnowledgeDocumentIdsByClientId(clientId);
81
- expect(ids).toHaveLength(1);
141
+ expect(ids).toHaveLength(2);
142
+ expect(ids).toEqual(expectedIds);
82
143
  });
83
144
  });
84
145
 
@@ -87,21 +148,38 @@ describe("db.websitalk.knowledgeDocuments", () => {
87
148
  const id = await createKnowledgeDocument({
88
149
  clientId,
89
150
  filename: "doc.pdf",
90
- contentType: "application/pdf",
151
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
91
152
  fileType: KNOWLEDGE_FILE_TYPES.PDF,
92
153
  storagePath: "websitalk/knowledge_files/test/doc.pdf",
93
154
  byteSize: 100,
94
155
  });
95
156
 
157
+ const before = await getKnowledgeDocumentById(id.toString());
158
+
96
159
  const updated = await updateKnowledgeDocument(id.toString(), {
97
160
  status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
98
161
  progressPercent: 100,
99
162
  pageCount: 12,
163
+ byteSize: 2048,
164
+ storagePath: "websitalk/knowledge_files/test/doc-updated.pdf",
100
165
  });
101
166
 
102
167
  expect(updated?.status).toBe(KNOWLEDGE_DOCUMENT_STATUSES.READY);
103
168
  expect(updated?.progressPercent).toBe(100);
104
169
  expect(updated?.pageCount).toBe(12);
170
+ expect(updated?.byteSize).toBe(2048);
171
+ expect(updated?.storagePath).toBe("websitalk/knowledge_files/test/doc-updated.pdf");
172
+ expect(updated?.updatedAt.getTime()).toBeGreaterThanOrEqual(
173
+ before!.updatedAt.getTime(),
174
+ );
175
+ });
176
+
177
+ it("should return null when the document does not exist", async () => {
178
+ expect(
179
+ await updateKnowledgeDocument(nonExistentId, {
180
+ status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
181
+ }),
182
+ ).toBeNull();
105
183
  });
106
184
  });
107
185
 
@@ -110,7 +188,7 @@ describe("db.websitalk.knowledgeDocuments", () => {
110
188
  const id = await createKnowledgeDocument({
111
189
  clientId: "delete-client",
112
190
  filename: "gone.pdf",
113
- contentType: "application/pdf",
191
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
114
192
  fileType: KNOWLEDGE_FILE_TYPES.PDF,
115
193
  storagePath: "websitalk/knowledge_files/delete/gone.pdf",
116
194
  byteSize: 10,
@@ -119,5 +197,9 @@ describe("db.websitalk.knowledgeDocuments", () => {
119
197
  expect(await deleteKnowledgeDocument(id.toString())).toBe(true);
120
198
  expect(await getKnowledgeDocumentById(id.toString())).toBeNull();
121
199
  });
200
+
201
+ it("should return false when the document does not exist", async () => {
202
+ expect(await deleteKnowledgeDocument(nonExistentId)).toBe(false);
203
+ });
122
204
  });
123
205
  });
@@ -1,3 +1,3 @@
1
1
  export * from "./knowledgeDocuments.constants";
2
- export * from "./knowledgeDocuments.types";
3
2
  export * from "./knowledgeDocuments.getters";
3
+ export * from "./knowledgeDocuments.types";
@@ -8,12 +8,10 @@ export const KNOWLEDGE_DOCUMENT_STATUSES = {
8
8
  FAILED: "FAILED",
9
9
  } as const;
10
10
 
11
- export type KnowledgeDocumentStatus =
12
- (typeof KNOWLEDGE_DOCUMENT_STATUSES)[keyof typeof KNOWLEDGE_DOCUMENT_STATUSES];
13
-
14
11
  export const KNOWLEDGE_FILE_TYPES = {
15
12
  PDF: "pdf",
16
13
  } as const;
17
14
 
18
- export type KnowledgeFileType =
19
- (typeof KNOWLEDGE_FILE_TYPES)[keyof typeof KNOWLEDGE_FILE_TYPES];
15
+ export const KNOWLEDGE_CONTENT_TYPES = {
16
+ PDF: "application/pdf",
17
+ } as const;
@@ -19,21 +19,12 @@ export const createKnowledgeDocument = async (
19
19
  input: CreateKnowledgeDocumentInput,
20
20
  ): Promise<MongoObjectId> => {
21
21
  const now = new Date();
22
+ const { status, progressPercent, _id, ...rest } = input;
22
23
  const { insertedId } = await getKnowledgeDocumentsCollection().insertOne({
23
- clientId: input.clientId,
24
- filename: input.filename,
25
- contentType: input.contentType,
26
- fileType: input.fileType,
27
- storagePath: input.storagePath,
28
- markdownStoragePath: input.markdownStoragePath,
29
- byteSize: input.byteSize,
30
- pageCount: input.pageCount,
31
- pagesExtracted: input.pagesExtracted,
32
- charCount: input.charCount,
33
- contentHash: input.contentHash,
34
- status: input.status ?? KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
35
- errorMessage: input.errorMessage,
36
- progressPercent: input.progressPercent ?? 0,
24
+ ...(_id ? { _id } : {}),
25
+ ...rest,
26
+ status: status ?? KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
27
+ progressPercent: progressPercent ?? 0,
37
28
  createdAt: now,
38
29
  updatedAt: now,
39
30
  });
@@ -63,6 +54,7 @@ export const listReadyKnowledgeDocumentIdsByClientId = async (
63
54
  { clientId, status: KNOWLEDGE_DOCUMENT_STATUSES.READY },
64
55
  { projection: { _id: 1 } },
65
56
  )
57
+ .sort({ createdAt: -1 })
66
58
  .toArray();
67
59
  return docs.map((doc) => doc._id.toString());
68
60
  };
@@ -1,13 +1,24 @@
1
- import { ObjectId } from "mongodb";
1
+ import { ObjectId as MongoObjectId } from "mongodb";
2
+
2
3
  import type {
3
- KnowledgeDocumentStatus,
4
- KnowledgeFileType,
4
+ KNOWLEDGE_CONTENT_TYPES,
5
+ KNOWLEDGE_DOCUMENT_STATUSES,
6
+ KNOWLEDGE_FILE_TYPES,
5
7
  } from "./knowledgeDocuments.constants";
6
8
 
9
+ export type KnowledgeDocumentStatus =
10
+ (typeof KNOWLEDGE_DOCUMENT_STATUSES)[keyof typeof KNOWLEDGE_DOCUMENT_STATUSES];
11
+
12
+ export type KnowledgeFileType =
13
+ (typeof KNOWLEDGE_FILE_TYPES)[keyof typeof KNOWLEDGE_FILE_TYPES];
14
+
15
+ export type KnowledgeContentType =
16
+ (typeof KNOWLEDGE_CONTENT_TYPES)[keyof typeof KNOWLEDGE_CONTENT_TYPES];
17
+
7
18
  export type KnowledgeDocument = {
8
19
  clientId: string;
9
20
  filename: string;
10
- contentType: string;
21
+ contentType: KnowledgeContentType;
11
22
  fileType: KnowledgeFileType;
12
23
  storagePath: string;
13
24
  markdownStoragePath?: string;
@@ -23,7 +34,7 @@ export type KnowledgeDocument = {
23
34
  updatedAt: Date;
24
35
  };
25
36
 
26
- export type KnowledgeDocumentDoc = KnowledgeDocument & { _id: ObjectId };
37
+ export type KnowledgeDocumentDoc = KnowledgeDocument & { _id: MongoObjectId };
27
38
 
28
39
  export type CreateKnowledgeDocumentInput = Omit<
29
40
  KnowledgeDocument,
@@ -31,8 +42,21 @@ export type CreateKnowledgeDocumentInput = Omit<
31
42
  > & {
32
43
  status?: KnowledgeDocumentStatus;
33
44
  progressPercent?: number;
45
+ _id?: MongoObjectId;
34
46
  };
35
47
 
36
48
  export type UpdateKnowledgeDocumentInput = Partial<
37
- Omit<KnowledgeDocument, "clientId" | "createdAt" | "updatedAt">
49
+ Pick<
50
+ KnowledgeDocument,
51
+ | "storagePath"
52
+ | "markdownStoragePath"
53
+ | "byteSize"
54
+ | "pageCount"
55
+ | "pagesExtracted"
56
+ | "charCount"
57
+ | "contentHash"
58
+ | "status"
59
+ | "errorMessage"
60
+ | "progressPercent"
61
+ >
38
62
  >;