@carlonicora/nestjs-neo4jsonapi 6.6.0 → 6.6.2

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 (113) hide show
  1. package/dist/common/decorators/index.d.ts +1 -0
  2. package/dist/common/decorators/index.d.ts.map +1 -1
  3. package/dist/common/decorators/index.js +1 -0
  4. package/dist/common/decorators/index.js.map +1 -1
  5. package/dist/common/decorators/token-scopes.decorator.d.ts +14 -0
  6. package/dist/common/decorators/token-scopes.decorator.d.ts.map +1 -0
  7. package/dist/common/decorators/token-scopes.decorator.js +18 -0
  8. package/dist/common/decorators/token-scopes.decorator.js.map +1 -0
  9. package/dist/common/guards/index.d.ts +1 -0
  10. package/dist/common/guards/index.d.ts.map +1 -1
  11. package/dist/common/guards/index.js +1 -0
  12. package/dist/common/guards/index.js.map +1 -1
  13. package/dist/common/guards/jwt.auth.admin.guard.d.ts.map +1 -1
  14. package/dist/common/guards/jwt.auth.admin.guard.js +20 -5
  15. package/dist/common/guards/jwt.auth.admin.guard.js.map +1 -1
  16. package/dist/common/guards/jwt.auth.any-scope.guard.d.ts +10 -3
  17. package/dist/common/guards/jwt.auth.any-scope.guard.d.ts.map +1 -1
  18. package/dist/common/guards/jwt.auth.any-scope.guard.js +17 -4
  19. package/dist/common/guards/jwt.auth.any-scope.guard.js.map +1 -1
  20. package/dist/common/guards/jwt.auth.guard.d.ts.map +1 -1
  21. package/dist/common/guards/jwt.auth.guard.js +22 -6
  22. package/dist/common/guards/jwt.auth.guard.js.map +1 -1
  23. package/dist/common/guards/jwt.auth.optional.guard.d.ts.map +1 -1
  24. package/dist/common/guards/jwt.auth.optional.guard.js +20 -5
  25. package/dist/common/guards/jwt.auth.optional.guard.js.map +1 -1
  26. package/dist/common/guards/session.token.d.ts +50 -0
  27. package/dist/common/guards/session.token.d.ts.map +1 -0
  28. package/dist/common/guards/session.token.js +71 -0
  29. package/dist/common/guards/session.token.js.map +1 -0
  30. package/dist/common/helpers/define-entity.d.ts.map +1 -1
  31. package/dist/common/helpers/define-entity.js +5 -2
  32. package/dist/common/helpers/define-entity.js.map +1 -1
  33. package/dist/common/interfaces/entity.schema.interface.d.ts +7 -0
  34. package/dist/common/interfaces/entity.schema.interface.d.ts.map +1 -1
  35. package/dist/common/registries/entity-tenancy.registry.d.ts +7 -2
  36. package/dist/common/registries/entity-tenancy.registry.d.ts.map +1 -1
  37. package/dist/common/registries/entity-tenancy.registry.js +14 -2
  38. package/dist/common/registries/entity-tenancy.registry.js.map +1 -1
  39. package/dist/common/strategies/jwt.strategy.d.ts +8 -0
  40. package/dist/common/strategies/jwt.strategy.d.ts.map +1 -1
  41. package/dist/common/strategies/jwt.strategy.js +8 -0
  42. package/dist/common/strategies/jwt.strategy.js.map +1 -1
  43. package/dist/core/websocket/gateways/event.gateway.d.ts.map +1 -1
  44. package/dist/core/websocket/gateways/event.gateway.js +12 -1
  45. package/dist/core/websocket/gateways/event.gateway.js.map +1 -1
  46. package/dist/core/websocket/guards/ws.jwt.auth.guard.d.ts.map +1 -1
  47. package/dist/core/websocket/guards/ws.jwt.auth.guard.js +4 -0
  48. package/dist/core/websocket/guards/ws.jwt.auth.guard.js.map +1 -1
  49. package/dist/foundations/auth/controllers/auth.company.controller.d.ts.map +1 -1
  50. package/dist/foundations/auth/controllers/auth.company.controller.js +4 -0
  51. package/dist/foundations/auth/controllers/auth.company.controller.js.map +1 -1
  52. package/dist/foundations/auth/repositories/auth.repository.d.ts.map +1 -1
  53. package/dist/foundations/auth/repositories/auth.repository.js +5 -0
  54. package/dist/foundations/auth/repositories/auth.repository.js.map +1 -1
  55. package/dist/foundations/chunk/controllers/chunk.controller.d.ts.map +1 -1
  56. package/dist/foundations/chunk/controllers/chunk.controller.js +7 -0
  57. package/dist/foundations/chunk/controllers/chunk.controller.js.map +1 -1
  58. package/dist/foundations/chunk/repositories/chunk.repository.d.ts +13 -0
  59. package/dist/foundations/chunk/repositories/chunk.repository.d.ts.map +1 -1
  60. package/dist/foundations/chunk/repositories/chunk.repository.js +27 -1
  61. package/dist/foundations/chunk/repositories/chunk.repository.js.map +1 -1
  62. package/dist/foundations/chunker/services/chunker.service.d.ts +48 -7
  63. package/dist/foundations/chunker/services/chunker.service.d.ts.map +1 -1
  64. package/dist/foundations/chunker/services/chunker.service.js +119 -61
  65. package/dist/foundations/chunker/services/chunker.service.js.map +1 -1
  66. package/dist/foundations/chunker/services/types/docx.service.d.ts +2 -0
  67. package/dist/foundations/chunker/services/types/docx.service.d.ts.map +1 -1
  68. package/dist/foundations/chunker/services/types/docx.service.js +10 -36
  69. package/dist/foundations/chunker/services/types/docx.service.js.map +1 -1
  70. package/dist/foundations/chunker/services/types/pptx.service.d.ts.map +1 -1
  71. package/dist/foundations/chunker/services/types/pptx.service.js +5 -0
  72. package/dist/foundations/chunker/services/types/pptx.service.js.map +1 -1
  73. package/dist/foundations/chunker/services/types/xlsx.service.d.ts.map +1 -1
  74. package/dist/foundations/chunker/services/types/xlsx.service.js +8 -1
  75. package/dist/foundations/chunker/services/types/xlsx.service.js.map +1 -1
  76. package/dist/foundations/chunker/utils/zip-limits.d.ts +37 -0
  77. package/dist/foundations/chunker/utils/zip-limits.d.ts.map +1 -0
  78. package/dist/foundations/chunker/utils/zip-limits.js +113 -0
  79. package/dist/foundations/chunker/utils/zip-limits.js.map +1 -0
  80. package/dist/foundations/oauth/constants/oauth.errors.d.ts +5 -0
  81. package/dist/foundations/oauth/constants/oauth.errors.d.ts.map +1 -1
  82. package/dist/foundations/oauth/constants/oauth.errors.js +6 -0
  83. package/dist/foundations/oauth/constants/oauth.errors.js.map +1 -1
  84. package/dist/foundations/oauth/controllers/oauth.registration.controller.d.ts.map +1 -1
  85. package/dist/foundations/oauth/controllers/oauth.registration.controller.js +10 -1
  86. package/dist/foundations/oauth/controllers/oauth.registration.controller.js.map +1 -1
  87. package/dist/foundations/oauth/queries/revoke-user-oauth-tokens.query.d.ts +13 -0
  88. package/dist/foundations/oauth/queries/revoke-user-oauth-tokens.query.d.ts.map +1 -0
  89. package/dist/foundations/oauth/queries/revoke-user-oauth-tokens.query.js +29 -0
  90. package/dist/foundations/oauth/queries/revoke-user-oauth-tokens.query.js.map +1 -0
  91. package/dist/foundations/oauth/repositories/oauth.repository.d.ts +22 -0
  92. package/dist/foundations/oauth/repositories/oauth.repository.d.ts.map +1 -1
  93. package/dist/foundations/oauth/repositories/oauth.repository.js +43 -12
  94. package/dist/foundations/oauth/repositories/oauth.repository.js.map +1 -1
  95. package/dist/foundations/oauth/services/oauth.service.d.ts.map +1 -1
  96. package/dist/foundations/oauth/services/oauth.service.js +11 -2
  97. package/dist/foundations/oauth/services/oauth.service.js.map +1 -1
  98. package/dist/foundations/oauth/services/oauth.token.service.d.ts +9 -0
  99. package/dist/foundations/oauth/services/oauth.token.service.d.ts.map +1 -1
  100. package/dist/foundations/oauth/services/oauth.token.service.js +22 -0
  101. package/dist/foundations/oauth/services/oauth.token.service.js.map +1 -1
  102. package/dist/foundations/s3/controllers/s3.controller.d.ts +13 -0
  103. package/dist/foundations/s3/controllers/s3.controller.d.ts.map +1 -1
  104. package/dist/foundations/s3/controllers/s3.controller.js +58 -7
  105. package/dist/foundations/s3/controllers/s3.controller.js.map +1 -1
  106. package/dist/foundations/user/repositories/user.repository.d.ts +18 -0
  107. package/dist/foundations/user/repositories/user.repository.d.ts.map +1 -1
  108. package/dist/foundations/user/repositories/user.repository.js +44 -1
  109. package/dist/foundations/user/repositories/user.repository.js.map +1 -1
  110. package/dist/mcp/controllers/mcp.controller.d.ts.map +1 -1
  111. package/dist/mcp/controllers/mcp.controller.js +7 -1
  112. package/dist/mcp/controllers/mcp.controller.js.map +1 -1
  113. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/chunk/repositories/chunk.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunk.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/chunk/repositories/chunk.repository.ts"],"names":[],"mappings":"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"}
@@ -346,6 +346,25 @@ let ChunkRepository = ChunkRepository_1 = class ChunkRepository {
346
346
  `;
347
347
  return this.neo4j.readOne(query);
348
348
  }
349
+ /**
350
+ * Company gate for the by-id reads. A chunk id is not a secret (the contextualiser
351
+ * passes model-chosen ids, the REST route takes one from the URL), so when a company
352
+ * is in context the chunk must hang off content that belongs to THAT company, or off
353
+ * global content that belongs to no company at all (HowTo and other non-company-scoped
354
+ * nodes, the same bypass the default AI source query grants). A chunk owned by another
355
+ * company is refused.
356
+ *
357
+ * No company in context (an internal job, the corpus service on its own database with
358
+ * `bindRequestContext: false`) returns `""` and leaves the read as it was: the gate
359
+ * applies "when a company is in context", never invents one.
360
+ */
361
+ companyPredicate(query) {
362
+ if (this.neo4j.bindsRequestContext === false)
363
+ return "";
364
+ if (!query.queryParams?.companyId)
365
+ return "";
366
+ return `EXISTS { MATCH (chunk)<-[:HAS_CHUNK]-(chunkOwner) WHERE (chunkOwner)-[:BELONGS_TO]->(:Company {id: $companyId}) OR NOT (chunkOwner)-[:BELONGS_TO]->(:Company) }`;
367
+ }
349
368
  /**
350
369
  * `dataLimits` is optional so existing callers keep working, but the
351
370
  * contextualiser MUST pass it: the ids reaching this method come from an LLM
@@ -361,9 +380,14 @@ let ChunkRepository = ChunkRepository_1 = class ChunkRepository {
361
380
  chunkId: params.chunkId,
362
381
  ...(scopePredicate?.params ?? {}),
363
382
  };
383
+ const companyPredicate = this.companyPredicate(query);
384
+ const predicates = [
385
+ scopePredicate ? `EXISTS { MATCH (chunk)<-[:HAS_CHUNK]-(data) WHERE ${scopePredicate.cypher} }` : "",
386
+ companyPredicate,
387
+ ].filter((predicate) => predicate.length > 0);
364
388
  query.query += `
365
389
  MATCH (chunk:Chunk {id: $chunkId})
366
- ${scopePredicate ? `WHERE EXISTS { MATCH (chunk)<-[:HAS_CHUNK]-(data) WHERE ${scopePredicate.cypher} }` : ""}
390
+ ${predicates.length > 0 ? `WHERE ${predicates.join(" AND ")}` : ""}
367
391
  RETURN chunk
368
392
  `;
369
393
  return this.neo4j.readOne(query);
@@ -400,10 +424,12 @@ let ChunkRepository = ChunkRepository_1 = class ChunkRepository {
400
424
  chunkIds: params.chunkIds,
401
425
  ...(scopePredicate?.params ?? {}),
402
426
  };
427
+ const companyPredicate = this.companyPredicate(query);
403
428
  query.query += `
404
429
  MATCH (chunk:Chunk)
405
430
  WHERE chunk.id IN $chunkIds
406
431
  ${scopePredicate ? `AND EXISTS { MATCH (chunk)<-[:HAS_CHUNK]-(data) WHERE ${scopePredicate.cypher} }` : ""}
432
+ ${companyPredicate ? `AND ${companyPredicate}` : ""}
407
433
  RETURN chunk
408
434
  `;
409
435
  const chunks = await this.neo4j.readMany(query);
@@ -1 +1 @@
1
- {"version":3,"file":"chunk.repository.js","sourceRoot":"","sources":["../../../../src/foundations/chunk/repositories/chunk.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunk.repository.js","sourceRoot":"","sources":["../../../../src/foundations/chunk/repositories/chunk.repository.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { ConfigService } from "@nestjs/config";
3
3
  import { TokenUsageRecorderInterface } from "../../../common/tokens";
4
4
  import { BaseConfigInterface } from "../../../config/interfaces/base.config.interface";
5
5
  import { ModelService } from "../../../core/llm/services/model.service";
6
+ import { S3CipherService } from "../../s3/services/s3-cipher.service";
6
7
  import { S3Service } from "../../s3/services/s3.service";
7
8
  import { TokenUsageService } from "../../tokenusage/services/tokenusage.service";
8
9
  import { DocXService } from "./types/docx.service";
@@ -23,6 +24,24 @@ export interface ChunkerAttribution {
23
24
  relationshipId: string;
24
25
  relationshipType: string;
25
26
  }
27
+ /**
28
+ * Fetches an http(s) source for the chunker. The chunker NEVER fetches an arbitrary URL on its
29
+ * own: a caller-supplied URL reaching a server-side `fetch` is an SSRF (cloud metadata, internal
30
+ * hosts, the response reflected into chunks and summaries). An application that genuinely needs
31
+ * the chunker to read remote URLs binds an implementation under `CHUNKER_SOURCE_FETCHER` that
32
+ * vets the destination itself (public addresses only, the resolved address pinned, every redirect
33
+ * re-vetted, a byte cap). Without a binding every http(s) source other than this API's own signed
34
+ * object link is refused.
35
+ */
36
+ export interface ChunkerSourceFetcher {
37
+ fetch(params: {
38
+ url: string;
39
+ }): Promise<{
40
+ buffer: Buffer;
41
+ contentType?: string;
42
+ }>;
43
+ }
44
+ export declare const CHUNKER_SOURCE_FETCHER: unique symbol;
26
45
  export declare class ChunkerService {
27
46
  private readonly markdownChunkingService;
28
47
  private readonly semanticSplitterService;
@@ -36,19 +55,34 @@ export declare class ChunkerService {
36
55
  private readonly config;
37
56
  private readonly tokenUsageService?;
38
57
  private readonly tokenUsageRecorder?;
58
+ private readonly s3Cipher?;
59
+ private readonly sourceFetcher?;
39
60
  private logger;
40
61
  private readonly splitter;
41
62
  private readonly targetChars;
42
- constructor(markdownChunkingService: MarkdownChunkingService, semanticSplitterService: SemanticSplitterService, docxService: DocXService, pptxService: PptxService, pdfService: PdfService, xlsxService: XlsxService, modelService: ModelService, s3Service: S3Service, emailParserService: EmailParserService, config: ConfigService<BaseConfigInterface>, tokenUsageService?: TokenUsageService, tokenUsageRecorder?: TokenUsageRecorderInterface);
63
+ constructor(markdownChunkingService: MarkdownChunkingService, semanticSplitterService: SemanticSplitterService, docxService: DocXService, pptxService: PptxService, pdfService: PdfService, xlsxService: XlsxService, modelService: ModelService, s3Service: S3Service, emailParserService: EmailParserService, config: ConfigService<BaseConfigInterface>, tokenUsageService?: TokenUsageService, tokenUsageRecorder?: TokenUsageRecorderInterface, s3Cipher?: S3CipherService, sourceFetcher?: ChunkerSourceFetcher);
43
64
  private _logChunkResult;
44
65
  /**
45
- * Reads the bytes behind a `filePath`:
46
- * - an absolute http(s) URL (external or legacy source) is fetched;
47
- * - an absolute local path (the chunker's own /tmp files) is read from disk;
48
- * - anything else is a storage key, read through `S3Service` (which decrypts
49
- * flagged objects) — no URL is signed and no HTTP round trip is made.
66
+ * Reads the bytes behind a `filePath`. A storage key is the normal source and is read through
67
+ * `S3Service` (which decrypts flagged objects), with no URL signed and no HTTP round trip.
68
+ * An http(s) URL goes through `_readUrl`, which never makes a bare request. A local absolute
69
+ * path is refused: no caller passes one, and reading any path a caller names is a file-disclosure
70
+ * primitive.
50
71
  */
51
72
  private _readSource;
73
+ /**
74
+ * An http(s) source:
75
+ * - this API's own signed object link (`<api.url>s3/objects/<token>`, what
76
+ * `S3Service.generateSignedUrl` returns) is verified and read from storage by its key, with no
77
+ * HTTP request: consumers that sign a key before chunking keep working;
78
+ * - any other URL goes to the application's `CHUNKER_SOURCE_FETCHER`, which owns the SSRF vetting;
79
+ * - with no fetcher bound, it is refused.
80
+ */
81
+ private _readUrl;
82
+ /** The storage key behind this API's own signed `get` link, or undefined for any other URL. */
83
+ private _ownObjectKey;
84
+ /** A fresh path under the OS temp directory for a decrypted working copy. Callers unlink it in a `finally`. */
85
+ private _tempPath;
52
86
  private _downloadFile;
53
87
  /**
54
88
  * Page count for formats that carry no pagination of their own (everything
@@ -77,7 +111,10 @@ export declare class ChunkerService {
77
111
  private _capChunkChars;
78
112
  generateContentStructureFromFile(params: {
79
113
  fileType: string;
80
- /** Storage key, or an absolute http(s) URL for external/legacy sources. */
114
+ /**
115
+ * Storage key. An http(s) URL is read only when it is this API's own signed object link or the
116
+ * application binds `CHUNKER_SOURCE_FETCHER`; a local path is refused.
117
+ */
81
118
  filePath: string;
82
119
  attribution?: ChunkerAttribution;
83
120
  /**
@@ -96,6 +133,10 @@ export declare class ChunkerService {
96
133
  content: string;
97
134
  title?: string;
98
135
  }): Promise<Document[]>;
136
+ /**
137
+ * Reads a URL through the same gate as `generateContentStructureFromFile`: this API's own signed
138
+ * object link, or the application's `CHUNKER_SOURCE_FETCHER`. Any other URL is refused.
139
+ */
99
140
  extractContentFromUrl(params: {
100
141
  url: string;
101
142
  }): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"chunker.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/chunker/services/chunker.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chunker.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/chunker/services/chunker.service.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
46
46
  };
47
47
  var ChunkerService_1;
48
48
  Object.defineProperty(exports, "__esModule", { value: true });
49
- exports.ChunkerService = void 0;
49
+ exports.ChunkerService = exports.CHUNKER_SOURCE_FETCHER = void 0;
50
50
  exports.fileNameOf = fileNameOf;
51
51
  const csv_1 = require("@langchain/community/document_loaders/fs/csv");
52
52
  const documents_1 = require("@langchain/core/documents");
@@ -56,9 +56,13 @@ const common_1 = require("@nestjs/common");
56
56
  const config_1 = require("@nestjs/config");
57
57
  const crypto_1 = require("crypto");
58
58
  const fs = __importStar(require("fs/promises"));
59
+ const os = __importStar(require("os"));
59
60
  const path = __importStar(require("path"));
60
61
  const tokens_1 = require("../../../common/tokens");
62
+ const s3_key_access_policy_interface_1 = require("../../../common/interfaces/s3.key-access.policy.interface");
61
63
  const model_service_1 = require("../../../core/llm/services/model.service");
64
+ const s3_meta_1 = require("../../s3/entities/s3.meta");
65
+ const s3_cipher_service_1 = require("../../s3/services/s3-cipher.service");
62
66
  const s3_service_1 = require("../../s3/services/s3.service");
63
67
  const tokenusage_type_1 = require("../../tokenusage/enums/tokenusage.type");
64
68
  const tokenusage_service_1 = require("../../tokenusage/services/tokenusage.service");
@@ -72,6 +76,7 @@ const pdf_service_1 = require("./types/pdf.service");
72
76
  const pptx_service_1 = require("./types/pptx.service");
73
77
  const semanticsplitter_service_1 = require("./types/semanticsplitter.service");
74
78
  const xlsx_service_1 = require("./types/xlsx.service");
79
+ exports.CHUNKER_SOURCE_FETCHER = Symbol("CHUNKER_SOURCE_FETCHER");
75
80
  /** Words per page used to estimate page counts for formats that have no real pagination. */
76
81
  const WORDS_PER_ESTIMATED_PAGE = 500;
77
82
  /**
@@ -89,7 +94,7 @@ const MAX_CHUNK_CHARS = 24_000;
89
94
  */
90
95
  const IMPLAUSIBLE_SINGLE_PAGE_ESTIMATE = 3;
91
96
  let ChunkerService = ChunkerService_1 = class ChunkerService {
92
- constructor(markdownChunkingService, semanticSplitterService, docxService, pptxService, pdfService, xlsxService, modelService, s3Service, emailParserService, config, tokenUsageService, tokenUsageRecorder) {
97
+ constructor(markdownChunkingService, semanticSplitterService, docxService, pptxService, pdfService, xlsxService, modelService, s3Service, emailParserService, config, tokenUsageService, tokenUsageRecorder, s3Cipher, sourceFetcher) {
93
98
  this.markdownChunkingService = markdownChunkingService;
94
99
  this.semanticSplitterService = semanticSplitterService;
95
100
  this.docxService = docxService;
@@ -102,6 +107,8 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
102
107
  this.config = config;
103
108
  this.tokenUsageService = tokenUsageService;
104
109
  this.tokenUsageRecorder = tokenUsageRecorder;
110
+ this.s3Cipher = s3Cipher;
111
+ this.sourceFetcher = sourceFetcher;
105
112
  this.logger = new common_1.Logger(ChunkerService_1.name);
106
113
  const chunker = this.config.get("chunker");
107
114
  this.splitter = chunker?.strategy === "semantic" ? this.semanticSplitterService : this.markdownChunkingService;
@@ -121,28 +128,77 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
121
128
  `split_methods=[${methods.join(",")}] sizes(min/max)=${min}/${max} (targetChars=${this.targetChars})`);
122
129
  }
123
130
  /**
124
- * Reads the bytes behind a `filePath`:
125
- * - an absolute http(s) URL (external or legacy source) is fetched;
126
- * - an absolute local path (the chunker's own /tmp files) is read from disk;
127
- * - anything else is a storage key, read through `S3Service` (which decrypts
128
- * flagged objects) — no URL is signed and no HTTP round trip is made.
131
+ * Reads the bytes behind a `filePath`. A storage key is the normal source and is read through
132
+ * `S3Service` (which decrypts flagged objects), with no URL signed and no HTTP round trip.
133
+ * An http(s) URL goes through `_readUrl`, which never makes a bare request. A local absolute
134
+ * path is refused: no caller passes one, and reading any path a caller names is a file-disclosure
135
+ * primitive.
129
136
  */
130
137
  async _readSource(params) {
131
138
  if (/^https?:\/\//i.test(params.filePath)) {
132
- const response = await fetch(params.filePath);
133
- if (!response.ok) {
134
- throw new Error(`Failed to fetch the file: ${response.statusText}`);
135
- }
136
- return Buffer.from(await response.arrayBuffer());
139
+ return (await this._readUrl({ url: params.filePath })).buffer;
140
+ }
141
+ if (path.isAbsolute(params.filePath) || path.win32.isAbsolute(params.filePath) || /^file:/i.test(params.filePath)) {
142
+ throw new common_1.BadRequestException("The chunker does not read local file paths; pass a storage key");
137
143
  }
138
- if (path.isAbsolute(params.filePath)) {
139
- return fs.readFile(params.filePath);
144
+ if (!(0, s3_key_access_policy_interface_1.isWellFormedS3Key)(params.filePath)) {
145
+ throw new common_1.BadRequestException("Invalid storage key");
140
146
  }
141
147
  return (await this.s3Service.downloadFileBuffer({ key: params.filePath })).buffer;
142
148
  }
149
+ /**
150
+ * An http(s) source:
151
+ * - this API's own signed object link (`<api.url>s3/objects/<token>`, what
152
+ * `S3Service.generateSignedUrl` returns) is verified and read from storage by its key, with no
153
+ * HTTP request: consumers that sign a key before chunking keep working;
154
+ * - any other URL goes to the application's `CHUNKER_SOURCE_FETCHER`, which owns the SSRF vetting;
155
+ * - with no fetcher bound, it is refused.
156
+ */
157
+ async _readUrl(params) {
158
+ const ownKey = this._ownObjectKey(params.url);
159
+ if (ownKey)
160
+ return this.s3Service.downloadFileBuffer({ key: ownKey });
161
+ if (!this.sourceFetcher) {
162
+ throw new common_1.BadRequestException("The chunker does not fetch remote URLs; pass a storage key, or bind CHUNKER_SOURCE_FETCHER");
163
+ }
164
+ return this.sourceFetcher.fetch({ url: params.url });
165
+ }
166
+ /** The storage key behind this API's own signed `get` link, or undefined for any other URL. */
167
+ _ownObjectKey(url) {
168
+ const apiUrl = this.config.get("api")?.url;
169
+ if (!apiUrl || !this.s3Cipher)
170
+ return undefined;
171
+ let candidate;
172
+ let prefix;
173
+ try {
174
+ candidate = new URL(url);
175
+ prefix = new URL(`${apiUrl}${s3_meta_1.s3Meta.endpoint}/${s3_meta_1.S3_OBJECTS_SEGMENT}/`);
176
+ }
177
+ catch {
178
+ return undefined;
179
+ }
180
+ if (candidate.origin !== prefix.origin || !candidate.pathname.startsWith(prefix.pathname))
181
+ return undefined;
182
+ const token = candidate.pathname.slice(prefix.pathname.length);
183
+ if (!token || token.includes("/"))
184
+ return undefined;
185
+ try {
186
+ const payload = this.s3Cipher.verifyObjectToken(decodeURIComponent(token), "get");
187
+ return (0, s3_key_access_policy_interface_1.isWellFormedS3Key)(payload.k) ? payload.k : undefined;
188
+ }
189
+ catch {
190
+ // Not a token this server signed (or expired): treat it as a foreign URL.
191
+ return undefined;
192
+ }
193
+ }
194
+ /** A fresh path under the OS temp directory for a decrypted working copy. Callers unlink it in a `finally`. */
195
+ _tempPath(prefix, extension) {
196
+ const safeExtension = extension.replace(/[^a-z0-9]/gi, "").slice(0, 16) || "bin";
197
+ return path.join(os.tmpdir(), `${prefix}.${(0, crypto_1.randomUUID)()}.${safeExtension}`);
198
+ }
143
199
  async _downloadFile(params) {
144
200
  const buffer = await this._readSource({ filePath: params.filePath });
145
- const tempFilePath = `/tmp/temp-file.${(0, crypto_1.randomUUID)()}.${params.extension}`;
201
+ const tempFilePath = this._tempPath("temp-file", params.extension);
146
202
  await fs.writeFile(tempFilePath, buffer);
147
203
  return tempFilePath;
148
204
  }
@@ -234,24 +290,30 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
234
290
  filePath: params.filePath,
235
291
  extension: params.fileType,
236
292
  });
237
- // Email files need special handling (attachment extraction)
238
- if (params.fileType.toLowerCase() === "eml" || params.fileType.toLowerCase() === "msg") {
239
- const emailDocs = await this._createFromEmail({
240
- filePath: params.filePath,
293
+ // The working copy is the decrypted file: it is removed on every path, success or failure.
294
+ try {
295
+ // Email files need special handling (attachment extraction)
296
+ if (params.fileType.toLowerCase() === "eml" || params.fileType.toLowerCase() === "msg") {
297
+ const emailDocs = await this._createFromEmail({
298
+ filePath: params.filePath,
299
+ localFilePath,
300
+ fileType: params.fileType.toLowerCase(),
301
+ attribution: params.attribution,
302
+ });
303
+ return await this._capChunkChars(emailDocs);
304
+ }
305
+ const docs = await this._capChunkChars(await this._processLocalFile({
241
306
  localFilePath,
242
- fileType: params.fileType.toLowerCase(),
243
- attribution: params.attribution,
244
- });
245
- return this._capChunkChars(emailDocs);
307
+ fileType: params.fileType,
308
+ filePath: params.filePath,
309
+ title: params.title,
310
+ }));
311
+ this._logChunkResult(params.fileType, docs);
312
+ return docs;
313
+ }
314
+ finally {
315
+ await fs.unlink(localFilePath).catch(() => { });
246
316
  }
247
- const docs = await this._capChunkChars(await this._processLocalFile({
248
- localFilePath,
249
- fileType: params.fileType,
250
- filePath: params.filePath,
251
- title: params.title,
252
- }));
253
- this._logChunkResult(params.fileType, docs);
254
- return docs;
255
317
  }
256
318
  async _processLocalFile(params) {
257
319
  const docs = await this._loadLocalFileDocuments(params);
@@ -366,20 +428,18 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
366
428
  }
367
429
  return this.emailParserService.assembleMarkdown({ ...parsed, attachmentContents: nestedAttContents });
368
430
  }
369
- // For images, use the image chunker
431
+ // For images, use the image chunker on the attachment bytes (no working copy needed)
370
432
  if ((0, file_types_1.isImageFile)(extension)) {
371
- const tempPath = `/tmp/temp-att.${(0, crypto_1.randomUUID)()}.${extension}`;
372
- await fs.writeFile(tempPath, attachment.content);
373
- try {
374
- const docs = await this._createChunksFromImage({ filePath: tempPath, fileType: extension, attribution });
375
- return docs.map((d) => d.pageContent).join("\n\n");
376
- }
377
- finally {
378
- await fs.unlink(tempPath).catch(() => { });
379
- }
433
+ const docs = await this._createChunksFromImage({
434
+ buffer: attachment.content,
435
+ filePath: attachment.filename,
436
+ fileType: extension,
437
+ attribution,
438
+ });
439
+ return docs.map((d) => d.pageContent).join("\n\n");
380
440
  }
381
441
  // For other file types, write to temp and delegate to existing handlers
382
- const tempPath = `/tmp/temp-att.${(0, crypto_1.randomUUID)()}.${extension}`;
442
+ const tempPath = this._tempPath("temp-att", extension);
383
443
  await fs.writeFile(tempPath, attachment.content);
384
444
  try {
385
445
  const docs = await this._processLocalFile({ localFilePath: tempPath, fileType: extension, filePath: tempPath });
@@ -409,13 +469,15 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
409
469
  const response = await splitter.createDocuments([params.content]);
410
470
  return response;
411
471
  }
472
+ /**
473
+ * Reads a URL through the same gate as `generateContentStructureFromFile`: this API's own signed
474
+ * object link, or the application's `CHUNKER_SOURCE_FETCHER`. Any other URL is refused.
475
+ */
412
476
  async extractContentFromUrl(params) {
413
- const response = await fetch(params.url);
414
- if (!response.ok) {
415
- throw new Error(`Failed to fetch content from URL: ${response.statusText}`);
416
- }
417
- const contentType = response.headers.get("content-type") || "";
418
- const buffer = Buffer.from(await response.arrayBuffer());
477
+ if (!/^https?:\/\//i.test(params.url))
478
+ throw new common_1.BadRequestException("Not an http(s) URL");
479
+ const { buffer, contentType: fetchedContentType } = await this._readUrl({ url: params.url });
480
+ const contentType = fetchedContentType || "";
419
481
  // Determine file type from content-type header
420
482
  let fileType = "txt";
421
483
  if (contentType.includes("pdf")) {
@@ -440,17 +502,10 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
440
502
  if (fileType === "txt" || fileType === "md") {
441
503
  return buffer.toString("utf-8");
442
504
  }
443
- // For complex file types, write to temp file and process
444
- const tempFilePath = `/tmp/temp-file.${(0, crypto_1.randomUUID)()}.${fileType}`;
445
- await fs.writeFile(tempFilePath, buffer);
446
- try {
447
- const documents = await this.generateContentStructureFromFile({ fileType, filePath: params.url });
448
- return documents.map((doc) => doc.pageContent).join("\n\n");
449
- }
450
- finally {
451
- // Clean up temp file
452
- await fs.unlink(tempFilePath).catch(() => { });
453
- }
505
+ // For complex file types, process through the file pipeline (it re-reads the URL through the
506
+ // same gate and removes its own working copy)
507
+ const documents = await this.generateContentStructureFromFile({ fileType, filePath: params.url });
508
+ return documents.map((doc) => doc.pageContent).join("\n\n");
454
509
  }
455
510
  /**
456
511
  * Image analysis is a vision LLM call made inside the package, so — exactly
@@ -479,7 +534,7 @@ let ChunkerService = ChunkerService_1 = class ChunkerService {
479
534
  }
480
535
  async _createChunksFromImage(params) {
481
536
  try {
482
- const imageBuffer = await this._readSource({ filePath: params.filePath });
537
+ const imageBuffer = params.buffer ?? (await this._readSource({ filePath: params.filePath }));
483
538
  /*
484
539
  * NO USAGE IS RECORDED FOR THIS CALL, DELIBERATELY.
485
540
  *
@@ -732,6 +787,9 @@ exports.ChunkerService = ChunkerService = ChunkerService_1 = __decorate([
732
787
  __param(10, (0, common_1.Optional)()),
733
788
  __param(11, (0, common_1.Optional)()),
734
789
  __param(11, (0, common_1.Inject)(tokens_1.TOKEN_USAGE_RECORDER)),
790
+ __param(12, (0, common_1.Optional)()),
791
+ __param(13, (0, common_1.Optional)()),
792
+ __param(13, (0, common_1.Inject)(exports.CHUNKER_SOURCE_FETCHER)),
735
793
  __metadata("design:paramtypes", [markdownchunking_service_1.MarkdownChunkingService,
736
794
  semanticsplitter_service_1.SemanticSplitterService,
737
795
  docx_service_1.DocXService,
@@ -742,7 +800,7 @@ exports.ChunkerService = ChunkerService = ChunkerService_1 = __decorate([
742
800
  s3_service_1.S3Service,
743
801
  email_service_1.EmailParserService,
744
802
  config_1.ConfigService,
745
- tokenusage_service_1.TokenUsageService, Object])
803
+ tokenusage_service_1.TokenUsageService, Object, s3_cipher_service_1.S3CipherService, Object])
746
804
  ], ChunkerService);
747
805
  /**
748
806
  * The file name of a path or URL, with any query string or fragment removed.