@moogodev/client 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/client.d.ts CHANGED
@@ -64,7 +64,12 @@ export declare class MoogoClient {
64
64
  updateBucket(bucketId: string, request: UpdateBucketRequest): Promise<Bucket>;
65
65
  /** Delete a bucket and all its objects */
66
66
  deleteBucket(bucketId: string): Promise<void>;
67
- /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key} */
67
+ /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key}
68
+ * Note: This endpoint is protected by SigV4 middleware. For private objects,
69
+ * the SDK must send a valid HMAC-SHA256 signature (not implemented in this
70
+ * version). Public objects are accessible without auth; private objects require
71
+ * either the signed URL from getPresignedUrl or the storage credential with
72
+ * full SigV4 signing. */
68
73
  s3Download(bucketName: string, key: string, opts?: {
69
74
  signal?: AbortSignal;
70
75
  }): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -11,6 +11,25 @@ exports.createClientFromEnv = createClientFromEnv;
11
11
  const errors_js_1 = require("./errors.js");
12
12
  /** Default timeout: 30 seconds */
13
13
  const DEFAULT_TIMEOUT = 30_000;
14
+ // Polyfill for AbortSignal.any — available natively in Node 20+ / modern
15
+ // browsers but not in older runtimes, which made every abort-aware client
16
+ // method throw on invocation. Combines multiple signals into one AbortSignal.
17
+ if (typeof AbortSignal !== 'undefined' && typeof AbortSignal.any !== 'function') {
18
+ AbortSignal.any = function (signals) {
19
+ const controller = new AbortController();
20
+ const onAbort = () => controller.abort();
21
+ for (const signal of signals) {
22
+ signal.addEventListener('abort', onAbort, { once: true });
23
+ }
24
+ const cleanup = () => {
25
+ for (const signal of signals) {
26
+ signal.removeEventListener('abort', onAbort);
27
+ }
28
+ };
29
+ controller.signal.addEventListener('abort', cleanup, { once: true });
30
+ return controller.signal;
31
+ };
32
+ }
14
33
  /**
15
34
  * Moogo client for object storage operations.
16
35
  *
@@ -84,7 +103,9 @@ class MoogoClient {
84
103
  /** Detect auth mode from secret key prefix */
85
104
  detectAuthMode() {
86
105
  // moogo_sk_ = Bearer token (current API)
87
- // moogo_hmac_ = HMAC-SHA256 (legacy/enterprise)
106
+ // moogo_hmac_ = HMAC-SHA256 (legacy/enterprise) — dead code because
107
+ // the server expects Bearer for storage credentials; HMAC signing is
108
+ // not implemented in this client version (Bug 10).
88
109
  if (this.secretKey?.startsWith('moogo_hmac_'))
89
110
  return 'hmac';
90
111
  return 'bearer';
@@ -260,9 +281,23 @@ class MoogoClient {
260
281
  async deleteBucket(bucketId) {
261
282
  await this.requestStorage('DELETE', `${this.getCatalogPath()}/${bucketId}`);
262
283
  }
263
- /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key} */
284
+ /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key}
285
+ * Note: This endpoint is protected by SigV4 middleware. For private objects,
286
+ * the SDK must send a valid HMAC-SHA256 signature (not implemented in this
287
+ * version). Public objects are accessible without auth; private objects require
288
+ * either the signed URL from getPresignedUrl or the storage credential with
289
+ * full SigV4 signing. */
264
290
  async s3Download(bucketName, key, opts) {
265
- return fetch(`${this.baseUrl}/s3/${encodeURIComponent(bucketName)}/${encodeURIComponent(key)}`, { signal: opts?.signal });
291
+ const url = `${this.baseUrl}/s3/${encodeURIComponent(bucketName)}/${encodeURIComponent(key)}`;
292
+ // Pass storage auth headers when available; the SigV4 middleware can
293
+ // fall back to bearer token for some deployments, but full HMAC signing
294
+ // (dead code in detectAuthMode) remains unimplemented.
295
+ const headers = {};
296
+ if (this.hasStorageCredentials()) {
297
+ const auth = this.getStorageAuthHeaders();
298
+ Object.assign(headers, auth);
299
+ }
300
+ return fetch(url, { headers, signal: opts?.signal });
266
301
  }
267
302
  /** Toggle bucket public/private (fans out to all objects) */
268
303
  async setBucketPublic(bucketId, isPublic) {
@@ -507,26 +542,40 @@ class MoogoClient {
507
542
  /** Get a presigned URL for an object */
508
543
  async getPresignedUrl(key, request, options = {}) {
509
544
  const { bucket = 'default', signal } = options;
545
+ // The bucket is folded into the signed grant, so it goes in the body
546
+ // alongside the key, method and expiry. The server reads request.Bucket
547
+ // from the body; sending it as a query parameter is ignored and every
548
+ // PUT grant silently signs for the default bucket.
510
549
  const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
511
- const query = {};
550
+ const body = {
551
+ method: request.method,
552
+ expires_in: request.expires_in,
553
+ };
512
554
  if (bucket !== 'default')
513
- query.bucket = bucket;
555
+ body.bucket = bucket;
514
556
  return this.requestStorage('POST', path, {
515
- query,
516
- body: JSON.stringify(request),
557
+ body: JSON.stringify(body),
517
558
  signal,
518
559
  });
519
560
  }
520
561
  /** Create a signed upload URL (returns upload URL + object metadata) */
521
562
  async createSignedUpload(key, request, options = {}) {
522
563
  const { bucket = 'default', signal } = options;
523
- const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign-upload`;
524
- const query = {};
564
+ // The server exposes one signing route: POST /buckets/{project_id}/sign.
565
+ // A PUT grant is minted by passing method: "PUT" in the body, which is
566
+ // what the client does here. The old /sign-upload path does not exist on
567
+ // the server and always answered 404.
568
+ const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
569
+ const body = {
570
+ method: 'PUT',
571
+ expires_in: request.expires_in,
572
+ };
525
573
  if (bucket !== 'default')
526
- query.bucket = bucket;
574
+ body.bucket = bucket;
575
+ if (request.content_type)
576
+ body.content_type = request.content_type;
527
577
  return this.requestStorage('POST', path, {
528
- query,
529
- body: JSON.stringify(request),
578
+ body: JSON.stringify(body),
530
579
  signal,
531
580
  });
532
581
  }
@@ -643,23 +692,33 @@ function createSQLClient(config) {
643
692
  /** Convenience function to create a client from environment variables */
644
693
  function createClientFromEnv(env) {
645
694
  const getEnv = (key) => env?.[key] ?? process.env[key];
646
- // Standard env vars only (no legacy fallbacks)
647
695
  const rawBase = getEnv('MOOGO_BASE_URL') || 'https://api.moogo.dev';
648
696
  const baseUrl = rawBase.replace(/\/p\/[^/]+\/bucket.*$/, '').replace(/\/+$/, '');
697
+ const projectId = getEnv('MOOGO_PROJECT_ID');
698
+ if (!projectId) {
699
+ throw new Error('MOOGO_PROJECT_ID is required (Bug 18 fix: non-null assertions removed)');
700
+ }
649
701
  // SQL key
650
702
  const projectKey = getEnv('MOOGO_SQL_KEY');
651
703
  if (projectKey) {
704
+ if (!projectId)
705
+ throw new Error('MOOGO_PROJECT_ID is required');
652
706
  return new MoogoClient({
653
707
  baseUrl,
654
- projectId: getEnv('MOOGO_PROJECT_ID'),
708
+ projectId,
655
709
  projectKey,
656
710
  });
657
711
  }
658
712
  // Storage keys
713
+ const accessKeyId = getEnv('MOOGO_STORAGE_ACCESS_KEY_ID');
714
+ const secretKey = getEnv('MOOGO_STORAGE_SECRET_KEY');
715
+ if (!accessKeyId || !secretKey) {
716
+ throw new Error('MOOGO_STORAGE_ACCESS_KEY_ID and MOOGO_STORAGE_SECRET_KEY are required when MOOGO_SQL_KEY is not set');
717
+ }
659
718
  return new MoogoClient({
660
719
  baseUrl,
661
- projectId: getEnv('MOOGO_PROJECT_ID'),
662
- accessKeyId: getEnv('MOOGO_STORAGE_ACCESS_KEY_ID'),
663
- secretKey: getEnv('MOOGO_STORAGE_SECRET_KEY'),
720
+ projectId,
721
+ accessKeyId,
722
+ secretKey,
664
723
  });
665
724
  }
package/dist/errors.js CHANGED
@@ -134,7 +134,7 @@ class LinkExpiredError extends MoogoError {
134
134
  exports.LinkExpiredError = LinkExpiredError;
135
135
  class NotFoundError extends MoogoError {
136
136
  constructor(detail) {
137
- super('not_found', 'Bucket/object missing or not published. For public URLs: ensure object is published (PATCH is_public: true) and check key spelling. Private objects return 404 on /pub/ routes.', 404, detail);
137
+ super('not_found', 'Bucket/object missing or not published. Visibility is bucket-level: make the bucket public (POST /buckets/{id}/public) rather than toggling per-object. Private objects return 404 on /pub/ routes.', 404, detail);
138
138
  this.name = 'NotFoundError';
139
139
  Object.setPrototypeOf(this, NotFoundError.prototype);
140
140
  }
@@ -64,7 +64,12 @@ export declare class MoogoClient {
64
64
  updateBucket(bucketId: string, request: UpdateBucketRequest): Promise<Bucket>;
65
65
  /** Delete a bucket and all its objects */
66
66
  deleteBucket(bucketId: string): Promise<void>;
67
- /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key} */
67
+ /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key}
68
+ * Note: This endpoint is protected by SigV4 middleware. For private objects,
69
+ * the SDK must send a valid HMAC-SHA256 signature (not implemented in this
70
+ * version). Public objects are accessible without auth; private objects require
71
+ * either the signed URL from getPresignedUrl or the storage credential with
72
+ * full SigV4 signing. */
68
73
  s3Download(bucketName: string, key: string, opts?: {
69
74
  signal?: AbortSignal;
70
75
  }): Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,25 @@
5
5
  import { MoogoError, createErrorFromResponse, } from './errors.js';
6
6
  /** Default timeout: 30 seconds */
7
7
  const DEFAULT_TIMEOUT = 30_000;
8
+ // Polyfill for AbortSignal.any — available natively in Node 20+ / modern
9
+ // browsers but not in older runtimes, which made every abort-aware client
10
+ // method throw on invocation. Combines multiple signals into one AbortSignal.
11
+ if (typeof AbortSignal !== 'undefined' && typeof AbortSignal.any !== 'function') {
12
+ AbortSignal.any = function (signals) {
13
+ const controller = new AbortController();
14
+ const onAbort = () => controller.abort();
15
+ for (const signal of signals) {
16
+ signal.addEventListener('abort', onAbort, { once: true });
17
+ }
18
+ const cleanup = () => {
19
+ for (const signal of signals) {
20
+ signal.removeEventListener('abort', onAbort);
21
+ }
22
+ };
23
+ controller.signal.addEventListener('abort', cleanup, { once: true });
24
+ return controller.signal;
25
+ };
26
+ }
8
27
  /**
9
28
  * Moogo client for object storage operations.
10
29
  *
@@ -78,7 +97,9 @@ export class MoogoClient {
78
97
  /** Detect auth mode from secret key prefix */
79
98
  detectAuthMode() {
80
99
  // moogo_sk_ = Bearer token (current API)
81
- // moogo_hmac_ = HMAC-SHA256 (legacy/enterprise)
100
+ // moogo_hmac_ = HMAC-SHA256 (legacy/enterprise) — dead code because
101
+ // the server expects Bearer for storage credentials; HMAC signing is
102
+ // not implemented in this client version (Bug 10).
82
103
  if (this.secretKey?.startsWith('moogo_hmac_'))
83
104
  return 'hmac';
84
105
  return 'bearer';
@@ -254,9 +275,23 @@ export class MoogoClient {
254
275
  async deleteBucket(bucketId) {
255
276
  await this.requestStorage('DELETE', `${this.getCatalogPath()}/${bucketId}`);
256
277
  }
257
- /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key} */
278
+ /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key}
279
+ * Note: This endpoint is protected by SigV4 middleware. For private objects,
280
+ * the SDK must send a valid HMAC-SHA256 signature (not implemented in this
281
+ * version). Public objects are accessible without auth; private objects require
282
+ * either the signed URL from getPresignedUrl or the storage credential with
283
+ * full SigV4 signing. */
258
284
  async s3Download(bucketName, key, opts) {
259
- return fetch(`${this.baseUrl}/s3/${encodeURIComponent(bucketName)}/${encodeURIComponent(key)}`, { signal: opts?.signal });
285
+ const url = `${this.baseUrl}/s3/${encodeURIComponent(bucketName)}/${encodeURIComponent(key)}`;
286
+ // Pass storage auth headers when available; the SigV4 middleware can
287
+ // fall back to bearer token for some deployments, but full HMAC signing
288
+ // (dead code in detectAuthMode) remains unimplemented.
289
+ const headers = {};
290
+ if (this.hasStorageCredentials()) {
291
+ const auth = this.getStorageAuthHeaders();
292
+ Object.assign(headers, auth);
293
+ }
294
+ return fetch(url, { headers, signal: opts?.signal });
260
295
  }
261
296
  /** Toggle bucket public/private (fans out to all objects) */
262
297
  async setBucketPublic(bucketId, isPublic) {
@@ -501,26 +536,40 @@ export class MoogoClient {
501
536
  /** Get a presigned URL for an object */
502
537
  async getPresignedUrl(key, request, options = {}) {
503
538
  const { bucket = 'default', signal } = options;
539
+ // The bucket is folded into the signed grant, so it goes in the body
540
+ // alongside the key, method and expiry. The server reads request.Bucket
541
+ // from the body; sending it as a query parameter is ignored and every
542
+ // PUT grant silently signs for the default bucket.
504
543
  const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
505
- const query = {};
544
+ const body = {
545
+ method: request.method,
546
+ expires_in: request.expires_in,
547
+ };
506
548
  if (bucket !== 'default')
507
- query.bucket = bucket;
549
+ body.bucket = bucket;
508
550
  return this.requestStorage('POST', path, {
509
- query,
510
- body: JSON.stringify(request),
551
+ body: JSON.stringify(body),
511
552
  signal,
512
553
  });
513
554
  }
514
555
  /** Create a signed upload URL (returns upload URL + object metadata) */
515
556
  async createSignedUpload(key, request, options = {}) {
516
557
  const { bucket = 'default', signal } = options;
517
- const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign-upload`;
518
- const query = {};
558
+ // The server exposes one signing route: POST /buckets/{project_id}/sign.
559
+ // A PUT grant is minted by passing method: "PUT" in the body, which is
560
+ // what the client does here. The old /sign-upload path does not exist on
561
+ // the server and always answered 404.
562
+ const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
563
+ const body = {
564
+ method: 'PUT',
565
+ expires_in: request.expires_in,
566
+ };
519
567
  if (bucket !== 'default')
520
- query.bucket = bucket;
568
+ body.bucket = bucket;
569
+ if (request.content_type)
570
+ body.content_type = request.content_type;
521
571
  return this.requestStorage('POST', path, {
522
- query,
523
- body: JSON.stringify(request),
572
+ body: JSON.stringify(body),
524
573
  signal,
525
574
  });
526
575
  }
@@ -636,23 +685,33 @@ export function createSQLClient(config) {
636
685
  /** Convenience function to create a client from environment variables */
637
686
  export function createClientFromEnv(env) {
638
687
  const getEnv = (key) => env?.[key] ?? process.env[key];
639
- // Standard env vars only (no legacy fallbacks)
640
688
  const rawBase = getEnv('MOOGO_BASE_URL') || 'https://api.moogo.dev';
641
689
  const baseUrl = rawBase.replace(/\/p\/[^/]+\/bucket.*$/, '').replace(/\/+$/, '');
690
+ const projectId = getEnv('MOOGO_PROJECT_ID');
691
+ if (!projectId) {
692
+ throw new Error('MOOGO_PROJECT_ID is required (Bug 18 fix: non-null assertions removed)');
693
+ }
642
694
  // SQL key
643
695
  const projectKey = getEnv('MOOGO_SQL_KEY');
644
696
  if (projectKey) {
697
+ if (!projectId)
698
+ throw new Error('MOOGO_PROJECT_ID is required');
645
699
  return new MoogoClient({
646
700
  baseUrl,
647
- projectId: getEnv('MOOGO_PROJECT_ID'),
701
+ projectId,
648
702
  projectKey,
649
703
  });
650
704
  }
651
705
  // Storage keys
706
+ const accessKeyId = getEnv('MOOGO_STORAGE_ACCESS_KEY_ID');
707
+ const secretKey = getEnv('MOOGO_STORAGE_SECRET_KEY');
708
+ if (!accessKeyId || !secretKey) {
709
+ throw new Error('MOOGO_STORAGE_ACCESS_KEY_ID and MOOGO_STORAGE_SECRET_KEY are required when MOOGO_SQL_KEY is not set');
710
+ }
652
711
  return new MoogoClient({
653
712
  baseUrl,
654
- projectId: getEnv('MOOGO_PROJECT_ID'),
655
- accessKeyId: getEnv('MOOGO_STORAGE_ACCESS_KEY_ID'),
656
- secretKey: getEnv('MOOGO_STORAGE_SECRET_KEY'),
713
+ projectId,
714
+ accessKeyId,
715
+ secretKey,
657
716
  });
658
717
  }
@@ -116,7 +116,7 @@ export class LinkExpiredError extends MoogoError {
116
116
  }
117
117
  export class NotFoundError extends MoogoError {
118
118
  constructor(detail) {
119
- super('not_found', 'Bucket/object missing or not published. For public URLs: ensure object is published (PATCH is_public: true) and check key spelling. Private objects return 404 on /pub/ routes.', 404, detail);
119
+ super('not_found', 'Bucket/object missing or not published. Visibility is bucket-level: make the bucket public (POST /buckets/{id}/public) rather than toggling per-object. Private objects return 404 on /pub/ routes.', 404, detail);
120
120
  this.name = 'NotFoundError';
121
121
  Object.setPrototypeOf(this, NotFoundError.prototype);
122
122
  }
@@ -61,9 +61,8 @@ export interface CreateBucketRequest {
61
61
  max_object_size_bytes?: number;
62
62
  quota_bytes?: number;
63
63
  }
64
- /** Bucket update request */
64
+ /** Bucket update request (dashboard-only; visibility is handled via /public endpoint) */
65
65
  export interface UpdateBucketRequest {
66
- is_public?: boolean;
67
66
  allowed_types?: string[];
68
67
  max_object_size_bytes?: number;
69
68
  quota_bytes?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -61,9 +61,8 @@ export interface CreateBucketRequest {
61
61
  max_object_size_bytes?: number;
62
62
  quota_bytes?: number;
63
63
  }
64
- /** Bucket update request */
64
+ /** Bucket update request (dashboard-only; visibility is handled via /public endpoint) */
65
65
  export interface UpdateBucketRequest {
66
- is_public?: boolean;
67
66
  allowed_types?: string[];
68
67
  max_object_size_bytes?: number;
69
68
  quota_bytes?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moogodev/client",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "description": "Official JavaScript/TypeScript client for Moogo object storage",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
package/src/client.ts CHANGED
@@ -40,6 +40,30 @@ import {
40
40
  /** Default timeout: 30 seconds */
41
41
  const DEFAULT_TIMEOUT = 30_000;
42
42
 
43
+ // Polyfill for AbortSignal.any — available natively in Node 20+ / modern
44
+ // browsers but not in older runtimes, which made every abort-aware client
45
+ // method throw on invocation. Combines multiple signals into one AbortSignal.
46
+ if (typeof AbortSignal !== 'undefined' && typeof (AbortSignal as any).any !== 'function') {
47
+ (AbortSignal as any).any = function (signals: AbortSignal[]): AbortSignal {
48
+ const controller = new AbortController();
49
+ const onAbort = () => controller.abort();
50
+
51
+ for (const signal of signals) {
52
+ signal.addEventListener('abort', onAbort, { once: true });
53
+ }
54
+
55
+ const cleanup = () => {
56
+ for (const signal of signals) {
57
+ signal.removeEventListener('abort', onAbort);
58
+ }
59
+ };
60
+
61
+ controller.signal.addEventListener('abort', cleanup, { once: true });
62
+
63
+ return controller.signal;
64
+ };
65
+ }
66
+
43
67
  /**
44
68
  * Moogo client for object storage operations.
45
69
  *
@@ -118,7 +142,9 @@ export class MoogoClient {
118
142
  /** Detect auth mode from secret key prefix */
119
143
  private detectAuthMode(): 'bearer' | 'hmac' {
120
144
  // moogo_sk_ = Bearer token (current API)
121
- // moogo_hmac_ = HMAC-SHA256 (legacy/enterprise)
145
+ // moogo_hmac_ = HMAC-SHA256 (legacy/enterprise) — dead code because
146
+ // the server expects Bearer for storage credentials; HMAC signing is
147
+ // not implemented in this client version (Bug 10).
122
148
  if (this.secretKey?.startsWith('moogo_hmac_')) return 'hmac';
123
149
  return 'bearer';
124
150
  }
@@ -348,9 +374,23 @@ export class MoogoClient {
348
374
  await this.requestStorage<DeleteResponse>('DELETE', `${this.getCatalogPath()}/${bucketId}`);
349
375
  }
350
376
 
351
- /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key} */
377
+ /** S3-compatible download (R2 wire-compat) via /s3/{bucket}/{key}
378
+ * Note: This endpoint is protected by SigV4 middleware. For private objects,
379
+ * the SDK must send a valid HMAC-SHA256 signature (not implemented in this
380
+ * version). Public objects are accessible without auth; private objects require
381
+ * either the signed URL from getPresignedUrl or the storage credential with
382
+ * full SigV4 signing. */
352
383
  async s3Download(bucketName: string, key: string, opts?: { signal?: AbortSignal }): Promise<Response> {
353
- return fetch(`${this.baseUrl}/s3/${encodeURIComponent(bucketName)}/${encodeURIComponent(key)}`, { signal: opts?.signal });
384
+ const url = `${this.baseUrl}/s3/${encodeURIComponent(bucketName)}/${encodeURIComponent(key)}`;
385
+ // Pass storage auth headers when available; the SigV4 middleware can
386
+ // fall back to bearer token for some deployments, but full HMAC signing
387
+ // (dead code in detectAuthMode) remains unimplemented.
388
+ const headers: Record<string, string> = {};
389
+ if (this.hasStorageCredentials()) {
390
+ const auth = this.getStorageAuthHeaders();
391
+ Object.assign(headers, auth);
392
+ }
393
+ return fetch(url, { headers, signal: opts?.signal });
354
394
  }
355
395
 
356
396
  /** Toggle bucket public/private (fans out to all objects) */
@@ -651,13 +691,19 @@ export class MoogoClient {
651
691
  ): Promise<PresignedUrlResponse> {
652
692
  const { bucket = 'default', signal } = options;
653
693
 
694
+ // The bucket is folded into the signed grant, so it goes in the body
695
+ // alongside the key, method and expiry. The server reads request.Bucket
696
+ // from the body; sending it as a query parameter is ignored and every
697
+ // PUT grant silently signs for the default bucket.
654
698
  const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
655
- const query: Record<string, string> = {};
656
- if (bucket !== 'default') query.bucket = bucket;
699
+ const body: Record<string, any> = {
700
+ method: request.method,
701
+ expires_in: request.expires_in,
702
+ };
703
+ if (bucket !== 'default') body.bucket = bucket;
657
704
 
658
705
  return this.requestStorage<PresignedUrlResponse>('POST', path, {
659
- query,
660
- body: JSON.stringify(request),
706
+ body: JSON.stringify(body),
661
707
  signal,
662
708
  });
663
709
  }
@@ -670,13 +716,20 @@ export class MoogoClient {
670
716
  ): Promise<SignedUploadResponse> {
671
717
  const { bucket = 'default', signal } = options;
672
718
 
673
- const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign-upload`;
674
- const query: Record<string, string> = {};
675
- if (bucket !== 'default') query.bucket = bucket;
719
+ // The server exposes one signing route: POST /buckets/{project_id}/sign.
720
+ // A PUT grant is minted by passing method: "PUT" in the body, which is
721
+ // what the client does here. The old /sign-upload path does not exist on
722
+ // the server and always answered 404.
723
+ const path = `/p/${this.projectId}/bucket/${encodeURIComponent(key)}/sign`;
724
+ const body: Record<string, any> = {
725
+ method: 'PUT',
726
+ expires_in: request.expires_in,
727
+ };
728
+ if (bucket !== 'default') body.bucket = bucket;
729
+ if (request.content_type) body.content_type = request.content_type;
676
730
 
677
731
  return this.requestStorage<SignedUploadResponse>('POST', path, {
678
- query,
679
- body: JSON.stringify(request),
732
+ body: JSON.stringify(body),
680
733
  signal,
681
734
  });
682
735
  }
@@ -850,24 +903,34 @@ export function createSQLClient(config: {
850
903
  export function createClientFromEnv(env?: Record<string, string | undefined>): MoogoClient {
851
904
  const getEnv = (key: string) => env?.[key] ?? process.env[key];
852
905
 
853
- // Standard env vars only (no legacy fallbacks)
854
906
  const rawBase = getEnv('MOOGO_BASE_URL') || 'https://api.moogo.dev';
855
907
  const baseUrl = rawBase.replace(/\/p\/[^/]+\/bucket.*$/, '').replace(/\/+$/, '');
856
908
 
909
+ const projectId = getEnv('MOOGO_PROJECT_ID');
910
+ if (!projectId) {
911
+ throw new Error('MOOGO_PROJECT_ID is required (Bug 18 fix: non-null assertions removed)');
912
+ }
913
+
857
914
  // SQL key
858
915
  const projectKey = getEnv('MOOGO_SQL_KEY');
859
916
  if (projectKey) {
917
+ if (!projectId) throw new Error('MOOGO_PROJECT_ID is required');
860
918
  return new MoogoClient({
861
919
  baseUrl,
862
- projectId: getEnv('MOOGO_PROJECT_ID')!,
920
+ projectId,
863
921
  projectKey,
864
922
  });
865
923
  }
866
924
  // Storage keys
925
+ const accessKeyId = getEnv('MOOGO_STORAGE_ACCESS_KEY_ID');
926
+ const secretKey = getEnv('MOOGO_STORAGE_SECRET_KEY');
927
+ if (!accessKeyId || !secretKey) {
928
+ throw new Error('MOOGO_STORAGE_ACCESS_KEY_ID and MOOGO_STORAGE_SECRET_KEY are required when MOOGO_SQL_KEY is not set');
929
+ }
867
930
  return new MoogoClient({
868
931
  baseUrl,
869
- projectId: getEnv('MOOGO_PROJECT_ID')!,
870
- accessKeyId: getEnv('MOOGO_STORAGE_ACCESS_KEY_ID')!,
871
- secretKey: getEnv('MOOGO_STORAGE_SECRET_KEY')!,
932
+ projectId,
933
+ accessKeyId,
934
+ secretKey,
872
935
  });
873
936
  }
package/src/errors.ts CHANGED
@@ -142,7 +142,7 @@ export class LinkExpiredError extends MoogoError {
142
142
 
143
143
  export class NotFoundError extends MoogoError {
144
144
  constructor(detail?: string) {
145
- super('not_found', 'Bucket/object missing or not published. For public URLs: ensure object is published (PATCH is_public: true) and check key spelling. Private objects return 404 on /pub/ routes.', 404, detail);
145
+ super('not_found', 'Bucket/object missing or not published. Visibility is bucket-level: make the bucket public (POST /buckets/{id}/public) rather than toggling per-object. Private objects return 404 on /pub/ routes.', 404, detail);
146
146
  this.name = 'NotFoundError';
147
147
  Object.setPrototypeOf(this, NotFoundError.prototype);
148
148
  }
package/src/types.ts CHANGED
@@ -69,9 +69,8 @@ export interface CreateBucketRequest {
69
69
  quota_bytes?: number;
70
70
  }
71
71
 
72
- /** Bucket update request */
72
+ /** Bucket update request (dashboard-only; visibility is handled via /public endpoint) */
73
73
  export interface UpdateBucketRequest {
74
- is_public?: boolean;
75
74
  allowed_types?: string[];
76
75
  max_object_size_bytes?: number;
77
76
  quota_bytes?: number;