@talkpilot/core-db 1.3.41 → 1.3.43

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 +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1 -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 +5 -5
  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 +5 -13
  19. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.getters.js.map +1 -1
  20. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.d.ts +9 -7
  21. package/dist/websitalk/knowledgeDocuments/knowledgeDocuments.types.d.ts.map +1 -1
  22. package/package.json +1 -1
  23. package/src/index.ts +2 -1
  24. package/src/test-utils/factories/websitalk/knowledgeDocuments.ts +5 -4
  25. package/src/websitalk/knowledgeDocuments/__tests__/knowledgeDocuments.spec.ts +71 -8
  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 +5 -13
  29. package/src/websitalk/knowledgeDocuments/knowledgeDocuments.types.ts +28 -6
package/dist/index.d.ts CHANGED
@@ -13,7 +13,8 @@ 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.getters";
17
+ export type * from "./websitalk/knowledgeDocuments/knowledgeDocuments.types";
17
18
  export { configurationMongodbClient, getDb as getConfigurationDb, setDb as setConfigurationDb, } from "./configuration";
18
19
  export * from "./configuration/prompts";
19
20
  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,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,7 @@ 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.getters"), exports);
42
42
  var configuration_1 = require("./configuration");
43
43
  Object.defineProperty(exports, "configurationMongodbClient", { enumerable: true, get: function () { return configuration_1.configurationMongodbClient; } });
44
44
  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,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,
13
- storagePath: `knowledge/${faker_1.faker.string.uuid()}/original.pdf`,
11
+ contentType: knowledgeDocuments_constants_1.KNOWLEDGE_CONTENT_TYPES.PDF,
12
+ fileType: knowledgeDocuments_constants_1.KNOWLEDGE_FILE_TYPES.PDF,
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,aAAa,aAAK,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe;IAC5D,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,CAoBvB,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,CAWvB,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,20 +9,11 @@ const getKnowledgeDocumentsCollection = () => {
9
9
  exports.getKnowledgeDocumentsCollection = getKnowledgeDocumentsCollection;
10
10
  const createKnowledgeDocument = async (input) => {
11
11
  const now = new Date();
12
+ const { status, progressPercent, ...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
- charCount: input.charCount,
22
- contentHash: input.contentHash,
23
- status: input.status ?? knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
24
- errorMessage: input.errorMessage,
25
- progressPercent: input.progressPercent ?? 0,
14
+ ...rest,
15
+ status: status ?? knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
16
+ progressPercent: progressPercent ?? 0,
26
17
  createdAt: now,
27
18
  updatedAt: now,
28
19
  });
@@ -43,6 +34,7 @@ exports.listKnowledgeDocumentsByClientId = listKnowledgeDocumentsByClientId;
43
34
  const listReadyKnowledgeDocumentIdsByClientId = async (clientId) => {
44
35
  const docs = await (0, exports.getKnowledgeDocumentsCollection)()
45
36
  .find({ clientId, status: knowledgeDocuments_constants_1.KNOWLEDGE_DOCUMENT_STATUSES.READY }, { projection: { _id: 1 } })
37
+ .sort({ createdAt: -1 })
46
38
  .toArray();
47
39
  return docs.map((doc) => doc._id.toString());
48
40
  };
@@ -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":";;;AACA,oCAA2C;AAC3C,iFAGwC;AAQjC,MAAM,+BAA+B,GAAG,GAAkC,EAAE;IACjF,OAAO,IAAA,aAAK,GAAE,CAAC,UAAU,CAAoB,6DAA8B,CAAC,CAAC;AAC/E,CAAC,CAAC;AAFW,QAAA,+BAA+B,mCAE1C;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,KAAmC,EACX,EAAE;IAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,uCAA+B,GAAE,CAAC,SAAS,CAAC;QACvE,GAAG,IAAI;QACP,MAAM,EAAE,MAAM,IAAI,0DAA2B,CAAC,SAAS;QACvD,eAAe,EAAE,eAAe,IAAI,CAAC;QACrC,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IACH,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAbW,QAAA,uBAAuB,2BAalC;AAEK,MAAM,wBAAwB,GAAG,KAAK,EAC3C,EAAU,EAC4B,EAAE;IACxC,OAAO,IAAA,uCAA+B,GAAE,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,gBAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC,CAAC;AAJW,QAAA,wBAAwB,4BAInC;AAEK,MAAM,gCAAgC,GAAG,KAAK,EACnD,QAAgB,EACiB,EAAE;IACnC,OAAO,IAAA,uCAA+B,GAAE;SACrC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;SAClB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;SACvB,OAAO,EAAE,CAAC;AACf,CAAC,CAAC;AAPW,QAAA,gCAAgC,oCAO3C;AAEK,MAAM,uCAAuC,GAAG,KAAK,EAC1D,QAAgB,EACG,EAAE;IACrB,MAAM,IAAI,GAAG,MAAM,IAAA,uCAA+B,GAAE;SACjD,IAAI,CACH,EAAE,QAAQ,EAAE,MAAM,EAAE,0DAA2B,CAAC,KAAK,EAAE,EACvD,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAC3B;SACA,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;SACvB,OAAO,EAAE,CAAC;IACb,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAXW,QAAA,uCAAuC,2CAWlD;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAC1C,EAAU,EACV,OAAqC,EACC,EAAE;IACxC,OAAO,IAAA,uCAA+B,GAAE,CAAC,gBAAgB,CACvD,EAAE,GAAG,EAAE,IAAI,gBAAQ,CAAC,EAAE,CAAC,EAAE,EACzB,EAAE,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAC/C,EAAE,cAAc,EAAE,OAAO,EAAE,CAC5B,CAAC;AACJ,CAAC,CAAC;AATW,QAAA,uBAAuB,2BASlC;AAEK,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAAU,EAAoB,EAAE;IAC5E,MAAM,MAAM,GAAG,MAAM,IAAA,uCAA+B,GAAE,CAAC,SAAS,CAAC;QAC/D,GAAG,EAAE,IAAI,gBAAQ,CAAC,EAAE,CAAC;KACtB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;AACnC,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC"}
@@ -1,14 +1,18 @@
1
- import { ObjectId } from "mongodb";
2
- import type { KnowledgeDocumentStatus, KnowledgeFileType } from "./knowledgeDocuments.constants";
1
+ import { WithId } 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;
10
13
  byteSize: number;
11
14
  pageCount?: number;
15
+ pagesExtracted?: number;
12
16
  charCount?: number;
13
17
  contentHash?: string;
14
18
  status: KnowledgeDocumentStatus;
@@ -17,12 +21,10 @@ export type KnowledgeDocument = {
17
21
  createdAt: Date;
18
22
  updatedAt: Date;
19
23
  };
20
- export type KnowledgeDocumentDoc = KnowledgeDocument & {
21
- _id: ObjectId;
22
- };
24
+ export type KnowledgeDocumentDoc = WithId<KnowledgeDocument>;
23
25
  export type CreateKnowledgeDocumentInput = Omit<KnowledgeDocument, "createdAt" | "updatedAt" | "progressPercent" | "status"> & {
24
26
  status?: KnowledgeDocumentStatus;
25
27
  progressPercent?: number;
26
28
  };
27
- export type UpdateKnowledgeDocumentInput = Partial<Omit<KnowledgeDocument, "clientId" | "createdAt" | "updatedAt">>;
29
+ export type UpdateKnowledgeDocumentInput = Partial<Pick<KnowledgeDocument, "markdownStoragePath" | "pageCount" | "pagesExtracted" | "charCount" | "contentHash" | "status" | "errorMessage" | "progressPercent">>;
28
30
  //# 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,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,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,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,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE7D,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,CACF,iBAAiB,EACf,qBAAqB,GACrB,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.41",
3
+ "version": "1.3.43",
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,8 @@ 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.getters";
30
+ export type * from "./websitalk/knowledgeDocuments/knowledgeDocuments.types";
30
31
 
31
32
  export {
32
33
  configurationMongodbClient,
@@ -1,18 +1,19 @@
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
- storagePath: `knowledge/${faker.string.uuid()}/original.pdf`,
16
+ storagePath: `websitalk/knowledge_files/${faker.string.uuid()}/original.pdf`,
16
17
  byteSize: faker.number.int({ min: 1024, max: 5_000_000 }),
17
18
  status: KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
18
19
  progressPercent: 0,
@@ -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,15 +16,16 @@ 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
- storagePath: "knowledge/test/faq.pdf",
28
+ storagePath: "websitalk/knowledge_files/test/faq.pdf",
27
29
  byteSize: 2048,
28
30
  });
29
31
 
@@ -40,6 +42,12 @@ describe("db.websitalk.knowledgeDocuments", () => {
40
42
  });
41
43
  });
42
44
 
45
+ describe("getKnowledgeDocumentById", () => {
46
+ it("should throw for an invalid id", async () => {
47
+ await expect(getKnowledgeDocumentById("invalid-id")).rejects.toThrow();
48
+ });
49
+ });
50
+
43
51
  describe("listKnowledgeDocumentsByClientId", () => {
44
52
  it("should return documents for a client only", async () => {
45
53
  await getKnowledgeDocumentsCollection().insertMany([
@@ -58,14 +66,45 @@ describe("db.websitalk.knowledgeDocuments", () => {
58
66
  "b.pdf",
59
67
  ]);
60
68
  });
69
+
70
+ it("should return documents sorted by createdAt descending", async () => {
71
+ await getKnowledgeDocumentsCollection().insertMany([
72
+ createKnowledgeDocumentFixture({
73
+ clientId,
74
+ filename: "older.pdf",
75
+ createdAt: new Date("2024-01-01"),
76
+ updatedAt: new Date("2024-01-01"),
77
+ }),
78
+ createKnowledgeDocumentFixture({
79
+ clientId,
80
+ filename: "newer.pdf",
81
+ createdAt: new Date("2024-06-01"),
82
+ updatedAt: new Date("2024-06-01"),
83
+ }),
84
+ ]);
85
+
86
+ const results = await listKnowledgeDocumentsByClientId(clientId);
87
+ expect(results.map((doc) => doc.filename)).toEqual([
88
+ "newer.pdf",
89
+ "older.pdf",
90
+ ]);
91
+ });
61
92
  });
62
93
 
63
94
  describe("listReadyKnowledgeDocumentIdsByClientId", () => {
64
- it("should return only READY document ids", async () => {
95
+ it("should return only READY document ids sorted by createdAt descending", async () => {
65
96
  await getKnowledgeDocumentsCollection().insertMany([
66
97
  createKnowledgeDocumentFixture({
67
98
  clientId,
68
99
  status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
100
+ createdAt: new Date("2024-01-01"),
101
+ updatedAt: new Date("2024-01-01"),
102
+ }),
103
+ createKnowledgeDocumentFixture({
104
+ clientId,
105
+ status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
106
+ createdAt: new Date("2024-06-01"),
107
+ updatedAt: new Date("2024-06-01"),
69
108
  }),
70
109
  createKnowledgeDocumentFixture({
71
110
  clientId,
@@ -77,8 +116,15 @@ describe("db.websitalk.knowledgeDocuments", () => {
77
116
  }),
78
117
  ]);
79
118
 
119
+ const readyDocs = await getKnowledgeDocumentsCollection()
120
+ .find({ clientId, status: KNOWLEDGE_DOCUMENT_STATUSES.READY })
121
+ .sort({ createdAt: -1 })
122
+ .toArray();
123
+ const expectedIds = readyDocs.map((doc) => doc._id.toString());
124
+
80
125
  const ids = await listReadyKnowledgeDocumentIdsByClientId(clientId);
81
- expect(ids).toHaveLength(1);
126
+ expect(ids).toHaveLength(2);
127
+ expect(ids).toEqual(expectedIds);
82
128
  });
83
129
  });
84
130
 
@@ -87,12 +133,14 @@ describe("db.websitalk.knowledgeDocuments", () => {
87
133
  const id = await createKnowledgeDocument({
88
134
  clientId,
89
135
  filename: "doc.pdf",
90
- contentType: "application/pdf",
136
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
91
137
  fileType: KNOWLEDGE_FILE_TYPES.PDF,
92
- storagePath: "knowledge/test/doc.pdf",
138
+ storagePath: "websitalk/knowledge_files/test/doc.pdf",
93
139
  byteSize: 100,
94
140
  });
95
141
 
142
+ const before = await getKnowledgeDocumentById(id.toString());
143
+
96
144
  const updated = await updateKnowledgeDocument(id.toString(), {
97
145
  status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
98
146
  progressPercent: 100,
@@ -102,6 +150,17 @@ describe("db.websitalk.knowledgeDocuments", () => {
102
150
  expect(updated?.status).toBe(KNOWLEDGE_DOCUMENT_STATUSES.READY);
103
151
  expect(updated?.progressPercent).toBe(100);
104
152
  expect(updated?.pageCount).toBe(12);
153
+ expect(updated?.updatedAt.getTime()).toBeGreaterThanOrEqual(
154
+ before!.updatedAt.getTime(),
155
+ );
156
+ });
157
+
158
+ it("should return null when the document does not exist", async () => {
159
+ expect(
160
+ await updateKnowledgeDocument(nonExistentId, {
161
+ status: KNOWLEDGE_DOCUMENT_STATUSES.READY,
162
+ }),
163
+ ).toBeNull();
105
164
  });
106
165
  });
107
166
 
@@ -110,14 +169,18 @@ describe("db.websitalk.knowledgeDocuments", () => {
110
169
  const id = await createKnowledgeDocument({
111
170
  clientId: "delete-client",
112
171
  filename: "gone.pdf",
113
- contentType: "application/pdf",
172
+ contentType: KNOWLEDGE_CONTENT_TYPES.PDF,
114
173
  fileType: KNOWLEDGE_FILE_TYPES.PDF,
115
- storagePath: "knowledge/delete/gone.pdf",
174
+ storagePath: "websitalk/knowledge_files/delete/gone.pdf",
116
175
  byteSize: 10,
117
176
  });
118
177
 
119
178
  expect(await deleteKnowledgeDocument(id.toString())).toBe(true);
120
179
  expect(await getKnowledgeDocumentById(id.toString())).toBeNull();
121
180
  });
181
+
182
+ it("should return false when the document does not exist", async () => {
183
+ expect(await deleteKnowledgeDocument(nonExistentId)).toBe(false);
184
+ });
122
185
  });
123
186
  });
@@ -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,20 +19,11 @@ export const createKnowledgeDocument = async (
19
19
  input: CreateKnowledgeDocumentInput,
20
20
  ): Promise<MongoObjectId> => {
21
21
  const now = new Date();
22
+ const { status, progressPercent, ...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
- charCount: input.charCount,
32
- contentHash: input.contentHash,
33
- status: input.status ?? KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
34
- errorMessage: input.errorMessage,
35
- progressPercent: input.progressPercent ?? 0,
24
+ ...rest,
25
+ status: status ?? KNOWLEDGE_DOCUMENT_STATUSES.UPLOADING,
26
+ progressPercent: progressPercent ?? 0,
36
27
  createdAt: now,
37
28
  updatedAt: now,
38
29
  });
@@ -62,6 +53,7 @@ export const listReadyKnowledgeDocumentIdsByClientId = async (
62
53
  { clientId, status: KNOWLEDGE_DOCUMENT_STATUSES.READY },
63
54
  { projection: { _id: 1 } },
64
55
  )
56
+ .sort({ createdAt: -1 })
65
57
  .toArray();
66
58
  return docs.map((doc) => doc._id.toString());
67
59
  };
@@ -1,18 +1,30 @@
1
- import { ObjectId } from "mongodb";
1
+ import { WithId } 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;
14
25
  byteSize: number;
15
26
  pageCount?: number;
27
+ pagesExtracted?: number;
16
28
  charCount?: number;
17
29
  contentHash?: string;
18
30
  status: KnowledgeDocumentStatus;
@@ -22,7 +34,7 @@ export type KnowledgeDocument = {
22
34
  updatedAt: Date;
23
35
  };
24
36
 
25
- export type KnowledgeDocumentDoc = KnowledgeDocument & { _id: ObjectId };
37
+ export type KnowledgeDocumentDoc = WithId<KnowledgeDocument>;
26
38
 
27
39
  export type CreateKnowledgeDocumentInput = Omit<
28
40
  KnowledgeDocument,
@@ -33,5 +45,15 @@ export type CreateKnowledgeDocumentInput = Omit<
33
45
  };
34
46
 
35
47
  export type UpdateKnowledgeDocumentInput = Partial<
36
- Omit<KnowledgeDocument, "clientId" | "createdAt" | "updatedAt">
48
+ Pick<
49
+ KnowledgeDocument,
50
+ | "markdownStoragePath"
51
+ | "pageCount"
52
+ | "pagesExtracted"
53
+ | "charCount"
54
+ | "contentHash"
55
+ | "status"
56
+ | "errorMessage"
57
+ | "progressPercent"
58
+ >
37
59
  >;