@proofhound/core 0.1.10 → 0.1.11

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 (24) hide show
  1. package/dist/server/common/contracts/index.d.ts +2 -0
  2. package/dist/server/common/contracts/index.d.ts.map +1 -1
  3. package/dist/server/common/contracts/index.js +2 -0
  4. package/dist/server/common/contracts/index.js.map +1 -1
  5. package/dist/server/common/contracts/local-contracts.module.d.ts.map +1 -1
  6. package/dist/server/common/contracts/local-contracts.module.js +4 -0
  7. package/dist/server/common/contracts/local-contracts.module.js.map +1 -1
  8. package/dist/server/common/contracts/local-fs-object-storage.provider.d.ts +17 -0
  9. package/dist/server/common/contracts/local-fs-object-storage.provider.d.ts.map +1 -0
  10. package/dist/server/common/contracts/local-fs-object-storage.provider.js +109 -0
  11. package/dist/server/common/contracts/local-fs-object-storage.provider.js.map +1 -0
  12. package/dist/server/common/contracts/object-storage.provider.d.ts +79 -0
  13. package/dist/server/common/contracts/object-storage.provider.d.ts.map +1 -0
  14. package/dist/server/common/contracts/object-storage.provider.js +17 -0
  15. package/dist/server/common/contracts/object-storage.provider.js.map +1 -0
  16. package/dist/server/modules/dataset/dataset.controller.d.ts +1 -1
  17. package/dist/server/modules/dataset/dataset.controller.d.ts.map +1 -1
  18. package/dist/server/modules/dataset/dataset.controller.js +8 -1
  19. package/dist/server/modules/dataset/dataset.controller.js.map +1 -1
  20. package/dist/server/modules/dataset/dataset.service.d.ts +26 -2
  21. package/dist/server/modules/dataset/dataset.service.d.ts.map +1 -1
  22. package/dist/server/modules/dataset/dataset.service.js +32 -2
  23. package/dist/server/modules/dataset/dataset.service.js.map +1 -1
  24. package/package.json +12 -12
@@ -10,6 +10,8 @@ export * from './runtime-limits.provider';
10
10
  export * from './quota-policy.hook';
11
11
  export * from './usage-metering.hook';
12
12
  export * from './workflow-authorization.hook';
13
+ export * from './object-storage.provider';
14
+ export * from './local-fs-object-storage.provider';
13
15
  export * from './http-actor.guard';
14
16
  export * from './local-project-context.resolver';
15
17
  export * from './local-actor-context.resolver';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACnH,cAAc,sDAAsD,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAC;AACxB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,oCAAoC,CAAC;AACnD,cAAc,oBAAoB,CAAC;AACnC,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,cAAc,sCAAsC,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,oEAAoE,CAAC;AACnH,cAAc,sDAAsD,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -29,6 +29,8 @@ __exportStar(require("./runtime-limits.provider"), exports);
29
29
  __exportStar(require("./quota-policy.hook"), exports);
30
30
  __exportStar(require("./usage-metering.hook"), exports);
31
31
  __exportStar(require("./workflow-authorization.hook"), exports);
32
+ __exportStar(require("./object-storage.provider"), exports);
33
+ __exportStar(require("./local-fs-object-storage.provider"), exports);
32
34
  __exportStar(require("./http-actor.guard"), exports);
33
35
  __exportStar(require("./local-project-context.resolver"), exports);
34
36
  __exportStar(require("./local-actor-context.resolver"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/index.ts"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,6CAA6C;;;;;;;;;;;;;;;;;AAE7C,0CAAwB;AACxB,6DAA2C;AAC3C,2DAAyC;AACzC,sDAAoC;AACpC,2DAAyC;AACzC,+DAA6C;AAC7C,kDAAgC;AAChC,yDAAuC;AACvC,4DAA0C;AAC1C,sDAAoC;AACpC,wDAAsC;AACtC,gEAA8C;AAC9C,qDAAmC;AACnC,mEAAiD;AACjD,iEAA+C;AAC/C,4DAA0C;AAC1C,iEAA+C;AAC/C,8DAA4C;AAC5C,mEAAsE;AAA7D,kHAAA,iBAAiB,OAAA;AAC1B,uEAAqD;AACrD,uHAAmH;AAA1G,iJAAA,6BAA6B,OAAA;AACtC,uFAAqE;AACrE,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/index.ts"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,6CAA6C;;;;;;;;;;;;;;;;;AAE7C,0CAAwB;AACxB,6DAA2C;AAC3C,2DAAyC;AACzC,sDAAoC;AACpC,2DAAyC;AACzC,+DAA6C;AAC7C,kDAAgC;AAChC,yDAAuC;AACvC,4DAA0C;AAC1C,sDAAoC;AACpC,wDAAsC;AACtC,gEAA8C;AAC9C,4DAA0C;AAC1C,qEAAmD;AACnD,qDAAmC;AACnC,mEAAiD;AACjD,iEAA+C;AAC/C,4DAA0C;AAC1C,iEAA+C;AAC/C,8DAA4C;AAC5C,mEAAsE;AAA7D,kHAAA,iBAAiB,OAAA;AAC1B,uEAAqD;AACrD,uHAAmH;AAA1G,iJAAA,6BAA6B,OAAA;AACtC,uFAAqE;AACrE,mEAAgE;AAAvD,8HAAA,oBAAoB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"local-contracts.module.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-contracts.module.ts"],"names":[],"mappings":"AAkCA,qBAkCa,oBAAoB;CAAG"}
1
+ {"version":3,"file":"local-contracts.module.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-contracts.module.ts"],"names":[],"mappings":"AAoCA,qBAoCa,oBAAoB;CAAG"}
@@ -32,7 +32,9 @@ const local_actor_context_resolver_1 = require("./local-actor-context.resolver")
32
32
  const local_mcp_auth_resolver_1 = require("./local-mcp-auth.resolver");
33
33
  const local_project_context_resolver_1 = require("./local-project-context.resolver");
34
34
  const local_user_token_verifier_1 = require("./local-user-token.verifier");
35
+ const local_fs_object_storage_provider_1 = require("./local-fs-object-storage.provider");
35
36
  const mcp_auth_resolver_1 = require("./mcp-auth.resolver");
37
+ const object_storage_provider_1 = require("./object-storage.provider");
36
38
  const project_context_resolver_1 = require("./project-context.resolver");
37
39
  const quota_policy_hook_1 = require("./quota-policy.hook");
38
40
  const runtime_limits_provider_1 = require("./runtime-limits.provider");
@@ -61,6 +63,7 @@ exports.LocalContractsModule = LocalContractsModule = __decorate([
61
63
  { provide: quota_policy_hook_1.QuotaPolicyHook, useClass: quota_policy_hook_1.LocalQuotaPolicyHook },
62
64
  { provide: usage_metering_hook_1.UsageMeteringHook, useClass: usage_metering_hook_1.NoopUsageMeteringHook },
63
65
  { provide: workflow_authorization_hook_1.WorkflowAuthorizationHook, useClass: workflow_authorization_hook_1.LocalWorkflowAuthorizationHook },
66
+ { provide: object_storage_provider_1.ObjectStorageProvider, useClass: local_fs_object_storage_provider_1.LocalFsObjectStorageProvider },
64
67
  ],
65
68
  exports: [
66
69
  project_context_resolver_1.ProjectContextResolver,
@@ -74,6 +77,7 @@ exports.LocalContractsModule = LocalContractsModule = __decorate([
74
77
  quota_policy_hook_1.QuotaPolicyHook,
75
78
  usage_metering_hook_1.UsageMeteringHook,
76
79
  workflow_authorization_hook_1.WorkflowAuthorizationHook,
80
+ object_storage_provider_1.ObjectStorageProvider,
77
81
  local_user_token_verifier_1.LocalUserTokenVerifier,
78
82
  ],
79
83
  })
@@ -1 +1 @@
1
- {"version":3,"file":"local-contracts.module.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-contracts.module.ts"],"names":[],"mappings":";AAAA,gGAAgG;AAChG,sCAAsC;AACtC,sDAAsD;AACtD,EAAE;AACF,oGAAoG;AACpG,oGAAoG;AACpG,+FAA+F;AAC/F,EAAE;AACF,iGAAiG;;;;;;;;;AAEjG,2CAAgD;AAChD,wEAAoE;AACpE,8EAA0E;AAC1E,yHAAmH;AACnH,6FAAyF;AACzF,2EAAuE;AACvE,qEAAsE;AACtE,qEAAgE;AAChE,qEAAgE;AAChE,6EAAwE;AACxE,iEAAqF;AACrF,iFAA2E;AAC3E,iFAA2E;AAC3E,uEAAiE;AACjE,qFAA+E;AAC/E,2EAAqE;AACrE,2DAAsD;AACtD,yEAAoE;AACpE,2DAA4E;AAC5E,uEAA8F;AAC9F,mDAA+C;AAC/C,+DAAiF;AACjF,+EAA0G;AAoCnG,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oDAAoB;+BAApB,oBAAoB;IAlChC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,gCAAc,CAAC;QACvC,SAAS,EAAE;YACT,sCAAiB;YACjB,kCAAe;YACf,kDAAsB;YACtB,EAAE,OAAO,EAAE,iDAAsB,EAAE,QAAQ,EAAE,4DAA2B,EAAE;YAC1E,EAAE,OAAO,EAAE,6CAAoB,EAAE,QAAQ,EAAE,wDAAyB,EAAE;YACtE,EAAE,OAAO,EAAE,mCAAe,EAAE,QAAQ,EAAE,8CAAoB,EAAE;YAC5D,EAAE,OAAO,EAAE,qDAAwB,EAAE,QAAQ,EAAE,gEAA6B,EAAE;YAC9E,EAAE,OAAO,EAAE,4BAAY,EAAE,QAAQ,EAAE,iCAAiB,EAAE;YACtD,EAAE,OAAO,EAAE,6CAAoB,EAAE,QAAQ,EAAE,wDAAyB,EAAE;YACtE,EAAE,OAAO,EAAE,yCAAkB,EAAE,QAAQ,EAAE,8CAAuB,EAAE;YAClE,EAAE,OAAO,EAAE,+CAAqB,EAAE,QAAQ,EAAE,oDAA0B,EAAE;YACxE,EAAE,OAAO,EAAE,mCAAe,EAAE,QAAQ,EAAE,wCAAoB,EAAE;YAC5D,EAAE,OAAO,EAAE,uCAAiB,EAAE,QAAQ,EAAE,2CAAqB,EAAE;YAC/D,EAAE,OAAO,EAAE,uDAAyB,EAAE,QAAQ,EAAE,4DAA8B,EAAE;SACjF;QACD,OAAO,EAAE;YACP,iDAAsB;YACtB,6CAAoB;YACpB,mCAAe;YACf,qDAAwB;YACxB,4BAAY;YACZ,6CAAoB;YACpB,yCAAkB;YAClB,+CAAqB;YACrB,mCAAe;YACf,uCAAiB;YACjB,uDAAyB;YACzB,kDAAsB;SACvB;KACF,CAAC;GACW,oBAAoB,CAAG"}
1
+ {"version":3,"file":"local-contracts.module.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-contracts.module.ts"],"names":[],"mappings":";AAAA,gGAAgG;AAChG,sCAAsC;AACtC,sDAAsD;AACtD,EAAE;AACF,oGAAoG;AACpG,oGAAoG;AACpG,+FAA+F;AAC/F,EAAE;AACF,iGAAiG;;;;;;;;;AAEjG,2CAAgD;AAChD,wEAAoE;AACpE,8EAA0E;AAC1E,yHAAmH;AACnH,6FAAyF;AACzF,2EAAuE;AACvE,qEAAsE;AACtE,qEAAgE;AAChE,qEAAgE;AAChE,6EAAwE;AACxE,iEAAqF;AACrF,iFAA2E;AAC3E,iFAA2E;AAC3E,uEAAiE;AACjE,qFAA+E;AAC/E,2EAAqE;AACrE,yFAAkF;AAClF,2DAAsD;AACtD,uEAAkE;AAClE,yEAAoE;AACpE,2DAA4E;AAC5E,uEAA8F;AAC9F,mDAA+C;AAC/C,+DAAiF;AACjF,+EAA0G;AAsCnG,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;CAAG,CAAA;AAAvB,oDAAoB;+BAApB,oBAAoB;IApChC,IAAA,eAAM,GAAE;IACR,IAAA,eAAM,EAAC;QACN,OAAO,EAAE,CAAC,4BAAY,EAAE,gCAAc,CAAC;QACvC,SAAS,EAAE;YACT,sCAAiB;YACjB,kCAAe;YACf,kDAAsB;YACtB,EAAE,OAAO,EAAE,iDAAsB,EAAE,QAAQ,EAAE,4DAA2B,EAAE;YAC1E,EAAE,OAAO,EAAE,6CAAoB,EAAE,QAAQ,EAAE,wDAAyB,EAAE;YACtE,EAAE,OAAO,EAAE,mCAAe,EAAE,QAAQ,EAAE,8CAAoB,EAAE;YAC5D,EAAE,OAAO,EAAE,qDAAwB,EAAE,QAAQ,EAAE,gEAA6B,EAAE;YAC9E,EAAE,OAAO,EAAE,4BAAY,EAAE,QAAQ,EAAE,iCAAiB,EAAE;YACtD,EAAE,OAAO,EAAE,6CAAoB,EAAE,QAAQ,EAAE,wDAAyB,EAAE;YACtE,EAAE,OAAO,EAAE,yCAAkB,EAAE,QAAQ,EAAE,8CAAuB,EAAE;YAClE,EAAE,OAAO,EAAE,+CAAqB,EAAE,QAAQ,EAAE,oDAA0B,EAAE;YACxE,EAAE,OAAO,EAAE,mCAAe,EAAE,QAAQ,EAAE,wCAAoB,EAAE;YAC5D,EAAE,OAAO,EAAE,uCAAiB,EAAE,QAAQ,EAAE,2CAAqB,EAAE;YAC/D,EAAE,OAAO,EAAE,uDAAyB,EAAE,QAAQ,EAAE,4DAA8B,EAAE;YAChF,EAAE,OAAO,EAAE,+CAAqB,EAAE,QAAQ,EAAE,+DAA4B,EAAE;SAC3E;QACD,OAAO,EAAE;YACP,iDAAsB;YACtB,6CAAoB;YACpB,mCAAe;YACf,qDAAwB;YACxB,4BAAY;YACZ,6CAAoB;YACpB,yCAAkB;YAClB,+CAAqB;YACrB,mCAAe;YACf,uCAAiB;YACjB,uDAAyB;YACzB,+CAAqB;YACrB,kDAAsB;SACvB;KACF,CAAC;GACW,oBAAoB,CAAG"}
@@ -0,0 +1,17 @@
1
+ import { Buffer } from 'node:buffer';
2
+ import { type Readable } from 'node:stream';
3
+ import { type GetObjectRange, ObjectStorageProvider, type PutObjectOptions, type ResourceLocator, type SignedDownloadUrl, type StoredObjectRef } from './object-storage.provider';
4
+ export declare class LocalFsObjectStorageProvider extends ObjectStorageProvider {
5
+ private readonly root?;
6
+ constructor(root?: string | undefined);
7
+ isEnabled(): boolean;
8
+ putObject(loc: ResourceLocator, body: Buffer | Readable, opts?: PutObjectOptions): Promise<StoredObjectRef>;
9
+ getObject(ref: StoredObjectRef, range?: GetObjectRange): Promise<Buffer>;
10
+ getObjectStream(ref: StoredObjectRef, range?: GetObjectRange): Promise<Readable>;
11
+ deleteObjects(refs: StoredObjectRef[]): Promise<void>;
12
+ createSignedDownloadUrl(_ref: StoredObjectRef, _opts?: {
13
+ expiresInSeconds?: number;
14
+ }): Promise<SignedDownloadUrl | null>;
15
+ private requireRoot;
16
+ }
17
+ //# sourceMappingURL=local-fs-object-storage.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-fs-object-storage.provider.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-fs-object-storage.provider.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAKrC,OAAO,EAAE,KAAK,QAAQ,EAAa,MAAM,aAAa,CAAC;AAEvD,OAAO,EACL,KAAK,cAAc,EACnB,qBAAqB,EACrB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAInC,qBAAa,4BAA6B,SAAQ,qBAAqB;IACrE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAS;gBAEnB,IAAI,GAAE,MAAM,GAAG,SAAoD;IAK/E,SAAS,IAAI,OAAO;IAId,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA2C3G,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAOxE,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAKhF,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAMrD,uBAAuB,CAC3B,IAAI,EAAE,eAAe,EACrB,KAAK,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACpC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAIpC,OAAO,CAAC,WAAW;CAMpB"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ // LocalFsObjectStorageProvider — OSS default ObjectStorageProvider.
3
+ //
4
+ // Disk-backed for self-hosting; disabled (isEnabled() === false) when no root is configured, so the
5
+ // OSS mainline keeps its DB-only behaviour. It cannot mint browser-reachable signed URLs, so
6
+ // createSignedDownloadUrl() returns null and callers stream the object through the app server.
7
+ //
8
+ // Key convention (OSS): {resourceType}/{resourceId}/{name} — no tenant prefix; ownership lives in the
9
+ // database (see docs/specs/04-postgresql.md). A hosted provider composes its own org-scoped key.
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.LocalFsObjectStorageProvider = void 0;
12
+ const node_buffer_1 = require("node:buffer");
13
+ const node_crypto_1 = require("node:crypto");
14
+ const node_fs_1 = require("node:fs");
15
+ const promises_1 = require("node:fs/promises");
16
+ const node_path_1 = require("node:path");
17
+ const node_stream_1 = require("node:stream");
18
+ const promises_2 = require("node:stream/promises");
19
+ const object_storage_provider_1 = require("./object-storage.provider");
20
+ const PROVIDER = 'localfs';
21
+ class LocalFsObjectStorageProvider extends object_storage_provider_1.ObjectStorageProvider {
22
+ constructor(root = process.env.PH_OBJECT_STORAGE_LOCAL_ROOT) {
23
+ super();
24
+ this.root = root && root.trim() ? (0, node_path_1.resolve)(root) : undefined;
25
+ }
26
+ isEnabled() {
27
+ return this.root !== undefined;
28
+ }
29
+ async putObject(loc, body, opts) {
30
+ const root = this.requireRoot();
31
+ const key = buildKey(loc);
32
+ const abs = absForKey(root, key);
33
+ await (0, promises_1.mkdir)((0, node_path_1.dirname)(abs), { recursive: true });
34
+ let bytes;
35
+ let sha256;
36
+ if (node_buffer_1.Buffer.isBuffer(body)) {
37
+ bytes = body.byteLength;
38
+ sha256 = opts?.sha256 ?? (0, node_crypto_1.createHash)('sha256').update(body).digest('hex');
39
+ await (0, promises_1.writeFile)(abs, body);
40
+ }
41
+ else {
42
+ // Stream straight to disk, hashing + counting as bytes pass — never buffer the whole object.
43
+ const hash = (0, node_crypto_1.createHash)('sha256');
44
+ let counted = 0;
45
+ const meter = new node_stream_1.Transform({
46
+ transform(chunk, _enc, cb) {
47
+ const b = node_buffer_1.Buffer.isBuffer(chunk) ? chunk : node_buffer_1.Buffer.from(chunk);
48
+ counted += b.byteLength;
49
+ hash.update(b);
50
+ cb(null, b);
51
+ },
52
+ });
53
+ await (0, promises_2.pipeline)(body, meter, (0, node_fs_1.createWriteStream)(abs));
54
+ bytes = counted;
55
+ sha256 = opts?.sha256 ?? hash.digest('hex');
56
+ }
57
+ return {
58
+ provider: PROVIDER,
59
+ key,
60
+ bytes,
61
+ codec: opts?.codec,
62
+ contentType: opts?.contentType,
63
+ contentDisposition: opts?.contentDisposition,
64
+ sha256,
65
+ checksumAlgorithm: 'sha256',
66
+ resourceType: loc.resourceType,
67
+ resourceId: loc.resourceId,
68
+ };
69
+ }
70
+ async getObject(ref, range) {
71
+ const buf = await (0, promises_1.readFile)(absForKey(this.requireRoot(), ref.key));
72
+ if (!range)
73
+ return buf;
74
+ const end = range.end === undefined ? buf.byteLength : range.end + 1;
75
+ return buf.subarray(range.start, end);
76
+ }
77
+ async getObjectStream(ref, range) {
78
+ const abs = absForKey(this.requireRoot(), ref.key);
79
+ return (0, node_fs_1.createReadStream)(abs, range ? { start: range.start, end: range.end } : undefined);
80
+ }
81
+ async deleteObjects(refs) {
82
+ const root = this.requireRoot();
83
+ await Promise.all(refs.map((ref) => (0, promises_1.rm)(absForKey(root, ref.key), { force: true })));
84
+ }
85
+ // LocalFs cannot expose a browser-reachable URL; caller streams via getObjectStream instead.
86
+ async createSignedDownloadUrl(_ref, _opts) {
87
+ return null;
88
+ }
89
+ requireRoot() {
90
+ if (this.root === undefined) {
91
+ throw new Error('LocalFsObjectStorageProvider is not configured (set PH_OBJECT_STORAGE_LOCAL_ROOT).');
92
+ }
93
+ return this.root;
94
+ }
95
+ }
96
+ exports.LocalFsObjectStorageProvider = LocalFsObjectStorageProvider;
97
+ function buildKey(loc) {
98
+ return [loc.resourceType, loc.resourceId, loc.name].join('/');
99
+ }
100
+ function absForKey(root, key) {
101
+ const abs = (0, node_path_1.resolve)(root, key);
102
+ // A valid object key always resolves strictly under the root. Reject anything that resolves to
103
+ // the root itself (e.g. `export/.`+`..`) or outside it — otherwise deleteObjects could target the root.
104
+ if (!abs.startsWith(root + node_path_1.sep)) {
105
+ throw new Error('object key escapes storage root');
106
+ }
107
+ return abs;
108
+ }
109
+ //# sourceMappingURL=local-fs-object-storage.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-fs-object-storage.provider.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/local-fs-object-storage.provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import type { Readable } from 'node:stream';
2
+ import type { ProjectContext } from '../actor-context';
3
+ export type ObjectResourceType = 'dataset_raw' | 'dataset_normalized' | 'run_result_shard' | 'export';
4
+ /** Internal shard compression. Applied/removed at the application layer; NEVER mapped to HTTP
5
+ * Content-Encoding (that would let SDKs/browsers auto-decompress, so stored bytes !== read bytes). */
6
+ export type ObjectCodec = 'gzip' | 'br' | 'zstd' | 'identity';
7
+ /**
8
+ * Logical description of what is being stored. The provider — not the caller — turns this into a
9
+ * physical key. OSS LocalFs ignores the tenant dimension; a hosted provider composes an org-scoped
10
+ * prefix (orgs/{orgId}/projects/{projectId}/…) and writes its own object registry / audit row.
11
+ */
12
+ export interface ResourceLocator {
13
+ /** Tenant/project ownership. A hosted provider derives org-scoped prefixes + audit from it. */
14
+ project: ProjectContext;
15
+ resourceType: ObjectResourceType;
16
+ resourceId: string;
17
+ /** File name within the resource, e.g. part-00003.jsonl.gz / input.csv. */
18
+ name: string;
19
+ }
20
+ /**
21
+ * Self-describing reference to a stored object. This is the shape callers persist (e.g. into
22
+ * run_results.payload_ref / dataset_samples.payload_ref); it MUST resolve back to the object
23
+ * without depending on any hosted-only side-table id.
24
+ */
25
+ export interface StoredObjectRef {
26
+ provider: string;
27
+ bucket?: string;
28
+ key: string;
29
+ bytes: number;
30
+ codec?: ObjectCodec;
31
+ contentType?: string;
32
+ contentDisposition?: string;
33
+ etag?: string;
34
+ sha256?: string;
35
+ checksumAlgorithm?: 'sha256';
36
+ resourceType: ObjectResourceType;
37
+ resourceId: string;
38
+ /** Generation of a logical shard; see the compaction protocol in the design doc. */
39
+ version?: number;
40
+ /** Hosted-only convenience (e.g. phs_storage_objects PK); never required to resolve the object. */
41
+ storageObjectId?: string;
42
+ }
43
+ export interface GetObjectRange {
44
+ /** Inclusive start byte offset. */
45
+ start: number;
46
+ /** Inclusive end byte offset; omit to read to EOF. */
47
+ end?: number;
48
+ }
49
+ export interface PutObjectOptions {
50
+ codec?: ObjectCodec;
51
+ contentType?: string;
52
+ contentDisposition?: string;
53
+ /** Caller-supplied content hash; the provider stores it for integrity / cache validation. */
54
+ sha256?: string;
55
+ }
56
+ export interface SignedDownloadUrl {
57
+ url: string;
58
+ expiresAt: string;
59
+ }
60
+ export declare abstract class ObjectStorageProvider {
61
+ /**
62
+ * False when no storage backend is configured. Callers MUST treat false as "object storage
63
+ * unavailable" and keep the DB-inline / streamed-response behaviour, so an unconfigured OSS
64
+ * deployment behaves exactly as before.
65
+ */
66
+ abstract isEnabled(): boolean;
67
+ abstract putObject(loc: ResourceLocator, body: Buffer | Readable, opts?: PutObjectOptions): Promise<StoredObjectRef>;
68
+ abstract getObject(ref: StoredObjectRef, range?: GetObjectRange): Promise<Buffer>;
69
+ abstract getObjectStream(ref: StoredObjectRef, range?: GetObjectRange): Promise<Readable>;
70
+ abstract deleteObjects(refs: StoredObjectRef[]): Promise<void>;
71
+ /**
72
+ * Mint a time-limited public download URL, or null when the provider cannot expose one
73
+ * (e.g. LocalFs) — callers then fall back to streaming the object through the app server.
74
+ */
75
+ abstract createSignedDownloadUrl(ref: StoredObjectRef, opts?: {
76
+ expiresInSeconds?: number;
77
+ }): Promise<SignedDownloadUrl | null>;
78
+ }
79
+ //# sourceMappingURL=object-storage.provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-storage.provider.d.ts","sourceRoot":"","sources":["../../../../src/server/common/contracts/object-storage.provider.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,QAAQ,CAAC;AAEtG;sGACsG;AACtG,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,UAAU,CAAC;AAE9D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,+FAA+F;IAC/F,OAAO,EAAE,cAAc,CAAC;IACxB,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mGAAmG;IACnG,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6FAA6F;IAC7F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8BAAsB,qBAAqB;IACzC;;;;OAIG;IACH,QAAQ,CAAC,SAAS,IAAI,OAAO;IAE7B,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IACpH,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IACjF,QAAQ,CAAC,eAAe,CAAC,GAAG,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IACzF,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAE9D;;;OAGG;IACH,QAAQ,CAAC,uBAAuB,CAC9B,GAAG,EAAE,eAAe,EACpB,IAAI,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACnC,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC;CACrC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ // ObjectStorageProvider — adapter extension point: the large-payload / artifact storage layer.
3
+ // See docs/specs/08-saas-adapter-boundary.md (§2 assembly-time DI).
4
+ //
5
+ // The OSS default (LocalFsObjectStorageProvider) is disk-backed and reports isEnabled() === false
6
+ // when unconfigured, so an OSS deployment without object storage keeps its existing DB-only behaviour
7
+ // (callers must treat a disabled provider as "object storage unavailable" and stream / inline instead).
8
+ // Hosted deployments override this token with an S3 / R2 implementation.
9
+ //
10
+ // M1 scope: server-side direct writes + signed download only. Client-direct-upload
11
+ // (createUploadSession / completeUpload / abortUpload / sweepPendingUploads) lands in a later milestone.
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ObjectStorageProvider = void 0;
14
+ class ObjectStorageProvider {
15
+ }
16
+ exports.ObjectStorageProvider = ObjectStorageProvider;
17
+ //# sourceMappingURL=object-storage.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-storage.provider.js","sourceRoot":"","sources":["../../../../src/server/common/contracts/object-storage.provider.ts"],"names":[],"mappings":";AAAA,+FAA+F;AAC/F,oEAAoE;AACpE,EAAE;AACF,kGAAkG;AAClG,sGAAsG;AACtG,wGAAwG;AACxG,yEAAyE;AACzE,EAAE;AACF,mFAAmF;AACnF,yGAAyG;;;AAuEzG,MAAsB,qBAAqB;CAqB1C;AArBD,sDAqBC"}
@@ -21,7 +21,7 @@ export declare class DatasetController {
21
21
  }[];
22
22
  total: number;
23
23
  }>;
24
- exportDataset(datasetId: string, format: string | undefined, actor: CurrentUserPayload, project: ProjectContext, response: Response): Promise<StreamableFile>;
24
+ exportDataset(datasetId: string, format: string | undefined, actor: CurrentUserPayload, project: ProjectContext, response: Response): Promise<StreamableFile | undefined>;
25
25
  getDataset(datasetId: string, actor: CurrentUserPayload, project: ProjectContext): Promise<{
26
26
  id: string;
27
27
  projectId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.controller.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,cAAc,EAEf,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAGtG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAEa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGrD,YAAY,CAAgB,KAAK,EAAE,kBAAkB,EAAoB,OAAO,EAAE,cAAc;;;;IAKhG,kBAAkB,CACF,SAAS,EAAE,MAAM,EAC5B,QAAQ,EAAE,OAAO,EACX,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;IAWrC,aAAa,CACG,SAAS,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc,EACb,QAAQ,EAAE,QAAQ;IAuB1C,UAAU,CACM,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrC,sBAAsB,CACN,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrC,aAAa,CACT,OAAO,EAAE,OAAO,EACT,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWrC,qBAAqB,CACL,SAAS,EAAE,MAAM,EAC7B,OAAO,EAAE,OAAO,EACT,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBrC,cAAc,CACE,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrC,cAAc,CACE,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOrC,oBAAoB,CACJ,SAAS,EAAE,MAAM,EAC7B,OAAO,EAAE,OAAO,EACT,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;IAiBrC,aAAa,CACG,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;IAK3C,OAAO,CAAC,cAAc;CAOvB"}
1
+ {"version":3,"file":"dataset.controller.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAaL,cAAc,EAEf,MAAM,gBAAgB,CAAC;AASxB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAe,KAAK,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAGtG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAEa,iBAAiB;IAChB,OAAO,CAAC,QAAQ,CAAC,cAAc;gBAAd,cAAc,EAAE,cAAc;IAGrD,YAAY,CAAgB,KAAK,EAAE,kBAAkB,EAAoB,OAAO,EAAE,cAAc;;;;IAKhG,kBAAkB,CACF,SAAS,EAAE,MAAM,EAC5B,QAAQ,EAAE,OAAO,EACX,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;IAWrC,aAAa,CACG,SAAS,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,GAAG,SAAS,EAC5B,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc,EACb,QAAQ,EAAE,QAAQ;IAgC1C,UAAU,CACM,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrC,sBAAsB,CACN,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrC,aAAa,CACT,OAAO,EAAE,OAAO,EACT,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAWrC,qBAAqB,CACL,SAAS,EAAE,MAAM,EAC7B,OAAO,EAAE,OAAO,EACT,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgBrC,cAAc,CACE,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAMrC,cAAc,CACE,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAOrC,oBAAoB,CACJ,SAAS,EAAE,MAAM,EAC7B,OAAO,EAAE,OAAO,EACT,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;;;IAiBrC,aAAa,CACG,SAAS,EAAE,MAAM,EACtB,KAAK,EAAE,kBAAkB,EACtB,OAAO,EAAE,cAAc;IAK3C,OAAO,CAAC,cAAc;CAOvB"}
@@ -38,7 +38,14 @@ let DatasetController = class DatasetController {
38
38
  if (!parse.success) {
39
39
  throw new common_1.BadRequestException(parse.error.issues);
40
40
  }
41
- const file = await this.datasetService.exportDataset(project.projectId, this.parseDatasetId(datasetId), parse.data, actor);
41
+ const delivery = await this.datasetService.exportDatasetForDownload(project, this.parseDatasetId(datasetId), parse.data, actor);
42
+ // Object storage minted a signed URL → 302 to it so the bytes are served directly by the store
43
+ // (the existing blob-fetch client transparently follows the redirect). No DTO / client change.
44
+ if (delivery.kind === 'redirect') {
45
+ response.status(common_1.HttpStatus.FOUND).set({ Location: delivery.url });
46
+ return undefined;
47
+ }
48
+ const file = delivery.file;
42
49
  response.set({
43
50
  'Content-Disposition': `attachment; filename="${file.fileName}"; filename*=UTF-8''${encodeURIComponent(file.fileName)}`,
44
51
  'Content-Length': String(file.byteLength),
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataset.controller.js","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.controller.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { Buffer } from 'node:buffer';
2
- import type { CreateDatasetDto, DatasetCreateResponseDto, DatasetExportFormatDto, DatasetListItemDto, DatasetSamplesListResponseDto, DatasetSamplesQueryDto, DeleteDatasetSamplesDto, DeleteDatasetSamplesResponseDto, UpdateDatasetMetadataDto } from '@proofhound/shared';
2
+ import type { CreateDatasetDto, DatasetCreateResponseDto, DatasetExportFormatDto, DatasetListItemDto, DatasetSamplesListResponseDto, DatasetSamplesQueryDto, DeleteDatasetSamplesDto, DeleteDatasetSamplesResponseDto, ProjectContext, UpdateDatasetMetadataDto } from '@proofhound/shared';
3
3
  import type { CurrentUserPayload } from '../../common/decorators/current-user.decorator';
4
4
  import { AccessControlService } from '../../common/contracts/access-control.service';
5
+ import { ObjectStorageProvider } from '../../common/contracts/object-storage.provider';
5
6
  import { QuotaPolicyHook } from '../../common/contracts/quota-policy.hook';
6
7
  import { UsageMeteringHook } from '../../common/contracts/usage-metering.hook';
7
8
  import { DatasetDeletionHook } from './dataset-deletion.hook';
@@ -13,14 +14,30 @@ export interface DatasetExportFile {
13
14
  buffer: Buffer;
14
15
  format: DatasetExportFormatDto;
15
16
  }
17
+ /**
18
+ * How the export should be delivered to the client:
19
+ * - `stream`: respond with the buffer (object storage disabled, or the provider can't mint a
20
+ * public URL — e.g. LocalFs); preserves the original streamed-download behaviour.
21
+ * - `redirect`: the artifact was written to object storage; redirect the client to a signed URL
22
+ * so the bytes are served directly by the store (no DB / API egress for the payload).
23
+ */
24
+ export type DatasetExportDelivery = {
25
+ kind: 'stream';
26
+ file: DatasetExportFile;
27
+ } | {
28
+ kind: 'redirect';
29
+ url: string;
30
+ expiresAt: string;
31
+ };
16
32
  export declare class DatasetService {
17
33
  private readonly repo;
18
34
  private readonly accessControl;
19
35
  private readonly quotaPolicy;
20
36
  private readonly deletionHook;
21
37
  private readonly usageMetering?;
38
+ private readonly objectStorage?;
22
39
  private readonly logger;
23
- constructor(repo: DatasetRepository, accessControl: AccessControlService, quotaPolicy: QuotaPolicyHook, deletionHook: DatasetDeletionHook, usageMetering?: UsageMeteringHook | undefined);
40
+ constructor(repo: DatasetRepository, accessControl: AccessControlService, quotaPolicy: QuotaPolicyHook, deletionHook: DatasetDeletionHook, usageMetering?: UsageMeteringHook | undefined, objectStorage?: ObjectStorageProvider | undefined);
24
41
  listDatasets(projectId: string, actor: CurrentUserPayload): Promise<{
25
42
  data: DatasetListItemDto[];
26
43
  total: number;
@@ -28,6 +45,13 @@ export declare class DatasetService {
28
45
  getDataset(projectId: string, datasetId: string, actor: CurrentUserPayload): Promise<DatasetListItemDto>;
29
46
  listDatasetSamples(projectId: string, datasetId: string, actor: CurrentUserPayload, query: DatasetSamplesQueryDto): Promise<DatasetSamplesListResponseDto>;
30
47
  exportDataset(projectId: string, datasetId: string, format: DatasetExportFormatDto, actor: CurrentUserPayload): Promise<DatasetExportFile>;
48
+ /**
49
+ * Build the export artifact and decide how to deliver it. When an object-storage provider is
50
+ * configured and can mint a signed URL, the artifact is written to the store and the caller is
51
+ * redirected there (payload bytes leave the store, not the DB/API). Otherwise — provider disabled
52
+ * or unable to sign (e.g. LocalFs) — it falls back to streaming the buffer, exactly as before.
53
+ */
54
+ exportDatasetForDownload(project: ProjectContext, datasetId: string, format: DatasetExportFormatDto, actor: CurrentUserPayload): Promise<DatasetExportDelivery>;
31
55
  createDataset(projectId: string, dto: CreateDatasetDto, actor: CurrentUserPayload): Promise<DatasetCreateResponseDto>;
32
56
  deleteDatasetSamples(projectId: string, datasetId: string, dto: DeleteDatasetSamplesDto, actor: CurrentUserPayload): Promise<DeleteDatasetSamplesResponseDto>;
33
57
  updateDatasetMetadata(projectId: string, datasetId: string, dto: UpdateDatasetMetadataDto, actor: CurrentUserPayload): Promise<DatasetListItemDto>;
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.service.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataset.service.d.ts","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.service.ts"],"names":[],"mappings":"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"}
@@ -19,18 +19,20 @@ const common_1 = require("@nestjs/common");
19
19
  const logger_1 = require("@proofhound/logger");
20
20
  const access_control_1 = require("../../common/access-control");
21
21
  const access_control_service_1 = require("../../common/contracts/access-control.service");
22
+ const object_storage_provider_1 = require("../../common/contracts/object-storage.provider");
22
23
  const quota_policy_hook_1 = require("../../common/contracts/quota-policy.hook");
23
24
  const usage_metering_hook_1 = require("../../common/contracts/usage-metering.hook");
24
25
  const dataset_deletion_hook_1 = require("./dataset-deletion.hook");
25
26
  const dataset_field_schema_util_1 = require("./dataset-field-schema.util");
26
27
  const dataset_repository_1 = require("./dataset.repository");
27
28
  let DatasetService = class DatasetService {
28
- constructor(repo, accessControl, quotaPolicy, deletionHook, usageMetering) {
29
+ constructor(repo, accessControl, quotaPolicy, deletionHook, usageMetering, objectStorage) {
29
30
  this.repo = repo;
30
31
  this.accessControl = accessControl;
31
32
  this.quotaPolicy = quotaPolicy;
32
33
  this.deletionHook = deletionHook;
33
34
  this.usageMetering = usageMetering;
35
+ this.objectStorage = objectStorage;
34
36
  this.logger = (0, logger_1.createLogger)('dataset.service', { service: 'server' });
35
37
  }
36
38
  async listDatasets(projectId, actor) {
@@ -74,6 +76,32 @@ let DatasetService = class DatasetService {
74
76
  format,
75
77
  };
76
78
  }
79
+ /**
80
+ * Build the export artifact and decide how to deliver it. When an object-storage provider is
81
+ * configured and can mint a signed URL, the artifact is written to the store and the caller is
82
+ * redirected there (payload bytes leave the store, not the DB/API). Otherwise — provider disabled
83
+ * or unable to sign (e.g. LocalFs) — it falls back to streaming the buffer, exactly as before.
84
+ */
85
+ async exportDatasetForDownload(project, datasetId, format, actor) {
86
+ const file = await this.exportDataset(project.projectId, datasetId, format, actor);
87
+ if (this.objectStorage?.isEnabled()) {
88
+ const contentDisposition = `attachment; filename="${file.fileName}"; filename*=UTF-8''${encodeURIComponent(file.fileName)}`;
89
+ const ref = await this.objectStorage.putObject({ project, resourceType: 'export', resourceId: (0, node_crypto_1.randomUUID)(), name: file.fileName }, file.buffer, { contentType: file.contentType, contentDisposition });
90
+ const signed = await this.objectStorage.createSignedDownloadUrl(ref);
91
+ if (signed) {
92
+ return { kind: 'redirect', url: signed.url, expiresAt: signed.expiresAt };
93
+ }
94
+ // Provider stored the object but cannot expose a public URL (e.g. LocalFs). Drop the
95
+ // now-orphaned artifact before streaming — otherwise every such export leaks an object.
96
+ try {
97
+ await this.objectStorage.deleteObjects([ref]);
98
+ }
99
+ catch (err) {
100
+ this.logger.warn({ key: ref.key, err }, 'export_artifact_cleanup_failed');
101
+ }
102
+ }
103
+ return { kind: 'stream', file };
104
+ }
77
105
  async createDataset(projectId, dto, actor) {
78
106
  await this.getWritableProject(projectId, actor);
79
107
  this.assertConsistentMappings(dto);
@@ -450,11 +478,13 @@ exports.DatasetService = DatasetService = __decorate([
450
478
  (0, common_1.Injectable)(),
451
479
  __param(3, (0, common_1.Inject)(dataset_deletion_hook_1.DatasetDeletionHook)),
452
480
  __param(4, (0, common_1.Optional)()),
481
+ __param(5, (0, common_1.Optional)()),
453
482
  __metadata("design:paramtypes", [dataset_repository_1.DatasetRepository,
454
483
  access_control_service_1.AccessControlService,
455
484
  quota_policy_hook_1.QuotaPolicyHook,
456
485
  dataset_deletion_hook_1.DatasetDeletionHook,
457
- usage_metering_hook_1.UsageMeteringHook])
486
+ usage_metering_hook_1.UsageMeteringHook,
487
+ object_storage_provider_1.ObjectStorageProvider])
458
488
  ], DatasetService);
459
489
  function estimateDatasetCreateBytes(dto) {
460
490
  return nonnegativeInteger(dto.uploadSource.fileSizeBytes) + utf8JsonBytes(dto.samples);
@@ -1 +1 @@
1
- {"version":3,"file":"dataset.service.js","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataset.service.js","sourceRoot":"","sources":["../../../../src/server/modules/dataset/dataset.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proofhound/core",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "ProofHound reusable backend runtime: server / webhook / worker NestJS modules, contracts, local defaults, Services, Repositories",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -36,17 +36,17 @@
36
36
  "rxjs": "^7.8.2",
37
37
  "sharp": "^0.34.5",
38
38
  "zod": "^4.4.3",
39
- "@proofhound/connector-client": "0.1.10",
40
- "@proofhound/crypto": "0.1.10",
41
- "@proofhound/llm-client": "0.1.10",
42
- "@proofhound/judgment": "0.1.10",
43
- "@proofhound/limiter": "0.1.10",
44
- "@proofhound/logger": "0.1.10",
45
- "@proofhound/metrics": "0.1.10",
46
- "@proofhound/optimization-strategy": "0.1.10",
47
- "@proofhound/shared": "0.1.10",
48
- "@proofhound/orchestration-shared": "0.1.10",
49
- "@proofhound/db": "0.1.10"
39
+ "@proofhound/connector-client": "0.1.11",
40
+ "@proofhound/db": "0.1.11",
41
+ "@proofhound/judgment": "0.1.11",
42
+ "@proofhound/crypto": "0.1.11",
43
+ "@proofhound/llm-client": "0.1.11",
44
+ "@proofhound/logger": "0.1.11",
45
+ "@proofhound/metrics": "0.1.11",
46
+ "@proofhound/limiter": "0.1.11",
47
+ "@proofhound/orchestration-shared": "0.1.11",
48
+ "@proofhound/shared": "0.1.11",
49
+ "@proofhound/optimization-strategy": "0.1.11"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@nestjs/testing": "^11.1.21",