@soulbatical/tetra-core 0.2.4 → 0.2.6

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.

Potentially problematic release.


This version of @soulbatical/tetra-core might be problematic. Click here for more details.

Files changed (51) hide show
  1. package/dist/index.d.ts +4 -3
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +4 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/mcp.d.ts +1 -1
  6. package/dist/mcp.d.ts.map +1 -1
  7. package/dist/shared/crypto/credentials.d.ts +17 -0
  8. package/dist/shared/crypto/credentials.d.ts.map +1 -1
  9. package/dist/shared/crypto/credentials.js +66 -0
  10. package/dist/shared/crypto/credentials.js.map +1 -1
  11. package/dist/shared/crypto/index.d.ts +1 -1
  12. package/dist/shared/crypto/index.d.ts.map +1 -1
  13. package/dist/shared/crypto/index.js +1 -1
  14. package/dist/shared/crypto/index.js.map +1 -1
  15. package/dist/shared/factories/QueryServiceFactory.d.ts +55 -30
  16. package/dist/shared/factories/QueryServiceFactory.d.ts.map +1 -1
  17. package/dist/shared/factories/QueryServiceFactory.js +51 -30
  18. package/dist/shared/factories/QueryServiceFactory.js.map +1 -1
  19. package/dist/shared/mcp/index.d.ts +1 -0
  20. package/dist/shared/mcp/index.d.ts.map +1 -1
  21. package/dist/shared/mcp/index.js.map +1 -1
  22. package/dist/shared/mcp/mcp-routes.d.ts +1 -1
  23. package/dist/shared/mcp/mcp-routes.js +1 -1
  24. package/dist/shared/mcp/tenant-context.d.ts +20 -5
  25. package/dist/shared/mcp/tenant-context.d.ts.map +1 -1
  26. package/dist/shared/mcp/tenant-context.js +30 -11
  27. package/dist/shared/mcp/tenant-context.js.map +1 -1
  28. package/dist/shared/mcp/types.d.ts +4 -0
  29. package/dist/shared/mcp/types.d.ts.map +1 -1
  30. package/dist/shared/meta-api/index.d.ts +20 -0
  31. package/dist/shared/meta-api/index.d.ts.map +1 -0
  32. package/dist/shared/meta-api/index.js +47 -0
  33. package/dist/shared/meta-api/index.js.map +1 -0
  34. package/dist/shared/services/TableQueryService.d.ts +4 -0
  35. package/dist/shared/services/TableQueryService.d.ts.map +1 -1
  36. package/dist/shared/services/TableQueryService.js +27 -0
  37. package/dist/shared/services/TableQueryService.js.map +1 -1
  38. package/dist/shared/storage/creative-urls.d.ts +14 -0
  39. package/dist/shared/storage/creative-urls.d.ts.map +1 -0
  40. package/dist/shared/storage/creative-urls.js +30 -0
  41. package/dist/shared/storage/creative-urls.js.map +1 -0
  42. package/dist/shared/storage/index.d.ts +1 -0
  43. package/dist/shared/storage/index.d.ts.map +1 -1
  44. package/dist/shared/storage/index.js +2 -0
  45. package/dist/shared/storage/index.js.map +1 -1
  46. package/dist/storage.d.ts +1 -0
  47. package/dist/storage.d.ts.map +1 -1
  48. package/dist/storage.js +1 -0
  49. package/dist/storage.js.map +1 -1
  50. package/package.json +3 -1
  51. package/scripts/postinstall.js +79 -0
@@ -14,7 +14,7 @@
14
14
  * handlers: myToolHandlers,
15
15
  * tokenPrefix: 'vincifox_',
16
16
  * });
17
- * app.use('/api/mcp', mcpRouter);
17
+ * app.use('/', mcpRouter); // or app.use('/api/mcp', ...) if behind a backend proxy
18
18
  * ```
19
19
  */
20
20
  import { createLogger } from '../../utils/logger.js';
@@ -31,14 +31,29 @@ export declare function runWithMcpTenant<T>(ctx: TenantContext, fn: () => T): T;
31
31
  * @param expectedPrefix - Expected token prefix (e.g. "vincifox_")
32
32
  */
33
33
  export declare function validateMcpApiToken(token: string, expectedPrefix: string): Promise<TenantContext>;
34
+ /**
35
+ * Options for generating an MCP API token.
36
+ */
37
+ export interface GenerateMcpApiTokenOptions {
38
+ organizationId: string;
39
+ name: string;
40
+ prefix: string;
41
+ createdBy?: string;
42
+ accessLevel?: string;
43
+ userId?: string;
44
+ permissions?: string[];
45
+ expiresAt?: string;
46
+ rateLimit?: number;
47
+ keyPrefix?: string;
48
+ }
34
49
  /**
35
50
  * Generate a new API token for an organization.
36
51
  * Returns the plaintext token (only shown once — stored as SHA-256 hash).
37
52
  *
38
- * @param organizationId - The organization UUID
39
- * @param name - Human-readable token name
40
- * @param prefix - Token prefix (e.g. "vincifox_")
41
- * @param createdBy - Optional user UUID who created the token
53
+ * @param organizationIdOrOptions - The organization UUID (legacy) or full options object
54
+ * @param name - Human-readable token name (legacy)
55
+ * @param prefix - Token prefix (e.g. "vincifox_") (legacy)
56
+ * @param createdBy - Optional user UUID who created the token (legacy)
42
57
  */
43
- export declare function generateMcpApiToken(organizationId: string, name: string, prefix: string, createdBy?: string): Promise<string>;
58
+ export declare function generateMcpApiToken(organizationIdOrOptions: string | GenerateMcpApiTokenOptions, name?: string, prefix?: string, createdBy?: string): Promise<string>;
44
59
  //# sourceMappingURL=tenant-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-context.d.ts","sourceRoot":"","sources":["../../../src/shared/mcp/tenant-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAEzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,GAAG,SAAS,CAE/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtE;AA4BD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CAiCxB;AAID;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
1
+ {"version":3,"file":"tenant-context.d.ts","sourceRoot":"","sources":["../../../src/shared/mcp/tenant-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAMhD;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,SAAS,CAEzD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,GAAG,SAAS,CAE/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAEtE;AA4BD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,aAAa,CAAC,CA4CxB;AAID;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,uBAAuB,EAAE,MAAM,GAAG,0BAA0B,EAC5D,IAAI,CAAC,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,CAAC,CA8BjB"}
@@ -68,7 +68,7 @@ export async function validateMcpApiToken(token, expectedPrefix) {
68
68
  const supabase = getDb();
69
69
  const { data, error } = await supabase
70
70
  .from('mcp_api_tokens')
71
- .select('id, organization_id, is_active, revoked_at')
71
+ .select('id, organization_id, is_active, revoked_at, access_level, user_id, permissions, expires_at, rate_limit')
72
72
  .eq('token_hash', hash)
73
73
  .single();
74
74
  if (error || !data) {
@@ -77,37 +77,56 @@ export async function validateMcpApiToken(token, expectedPrefix) {
77
77
  if (!data.is_active || data.revoked_at) {
78
78
  throw new Error('Token has been revoked');
79
79
  }
80
+ // Check expiration
81
+ if (data.expires_at && new Date(data.expires_at) < new Date()) {
82
+ throw new Error('Token has expired');
83
+ }
80
84
  // Update last_used_at (fire and forget)
81
85
  supabase
82
86
  .from('mcp_api_tokens')
83
87
  .update({ last_used_at: new Date().toISOString() })
84
88
  .eq('id', data.id)
85
89
  .then(() => { });
90
+ const accessLevel = data.access_level || 'admin';
86
91
  return {
87
92
  organizationId: data.organization_id,
88
93
  tokenId: data.id,
94
+ accessLevel,
95
+ isSuperAdmin: accessLevel === 'superadmin',
96
+ userId: data.user_id || null,
97
+ permissions: Array.isArray(data.permissions) ? data.permissions : [],
89
98
  };
90
99
  }
91
- // ── Token generation ──
92
100
  /**
93
101
  * Generate a new API token for an organization.
94
102
  * Returns the plaintext token (only shown once — stored as SHA-256 hash).
95
103
  *
96
- * @param organizationId - The organization UUID
97
- * @param name - Human-readable token name
98
- * @param prefix - Token prefix (e.g. "vincifox_")
99
- * @param createdBy - Optional user UUID who created the token
104
+ * @param organizationIdOrOptions - The organization UUID (legacy) or full options object
105
+ * @param name - Human-readable token name (legacy)
106
+ * @param prefix - Token prefix (e.g. "vincifox_") (legacy)
107
+ * @param createdBy - Optional user UUID who created the token (legacy)
100
108
  */
101
- export async function generateMcpApiToken(organizationId, name, prefix, createdBy) {
109
+ export async function generateMcpApiToken(organizationIdOrOptions, name, prefix, createdBy) {
110
+ // Support both legacy positional args and new options object
111
+ const opts = typeof organizationIdOrOptions === 'string'
112
+ ? { organizationId: organizationIdOrOptions, name: name, prefix: prefix, createdBy }
113
+ : organizationIdOrOptions;
102
114
  const hex = randomBytes(32).toString('hex');
103
- const token = `${prefix}${hex}`;
115
+ const token = `${opts.prefix}${hex}`;
104
116
  const hash = hashToken(token);
117
+ const tokenKeyPrefix = opts.keyPrefix || token.substring(0, 12);
105
118
  const supabase = getDb();
106
119
  const { error } = await supabase.from('mcp_api_tokens').insert({
107
- organization_id: organizationId,
120
+ organization_id: opts.organizationId,
108
121
  token_hash: hash,
109
- name,
110
- created_by: createdBy || null,
122
+ name: opts.name,
123
+ created_by: opts.createdBy || null,
124
+ access_level: opts.accessLevel || 'admin',
125
+ user_id: opts.userId || null,
126
+ permissions: opts.permissions || [],
127
+ expires_at: opts.expiresAt || null,
128
+ rate_limit: opts.rateLimit || 60,
129
+ key_prefix: tokenKeyPrefix,
111
130
  });
112
131
  if (error) {
113
132
  throw new Error(`Failed to create token: ${error.message}`);
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-context.js","sourceRoot":"","sources":["../../../src/shared/mcp/tenant-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-context.js","sourceRoot":"","sources":["../../../src/shared/mcp/tenant-context.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,10 @@ export type McpToolHandler = (args: Record<string, unknown>) => Promise<McpToolR
26
26
  export interface TenantContext {
27
27
  organizationId: string;
28
28
  tokenId: string;
29
+ accessLevel?: string;
30
+ isSuperAdmin?: boolean;
31
+ userId?: string | null;
32
+ permissions?: string[];
29
33
  }
30
34
  export interface McpRoutesConfig {
31
35
  /** Tool definitions to expose via the MCP endpoint */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAIvF,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;CAEpC;AAED,MAAM,WAAW,oBAAoB;CAEpC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/shared/mcp/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACrC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;AAIvF,MAAM,WAAW,aAAa;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAID,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACzC,oEAAoE;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5D;AAED,MAAM,WAAW,mBAAmB;IAClC,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,yFAAyF;IACzF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+FAA+F;IAC/F,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qEAAqE;IACrE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;CAEpC;AAED,MAAM,WAAW,oBAAoB;CAEpC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Meta Graph API Helpers
3
+ *
4
+ * Shared Meta/Facebook Graph API utilities used by both backend and MCP server.
5
+ * All POST endpoints require application/x-www-form-urlencoded (Meta requirement).
6
+ *
7
+ * @module @soulbatical/tetra-core/meta-api
8
+ */
9
+ export declare const META_API_VERSION = "v22.0";
10
+ export declare const META_API_BASE = "https://graph.facebook.com/v22.0";
11
+ /**
12
+ * POST to Meta Graph API with form-urlencoded body.
13
+ * Meta requires this encoding for all POST endpoints.
14
+ */
15
+ export declare function metaPost(path: string, accessToken: string, params: Record<string, string>): Promise<any>;
16
+ /**
17
+ * GET from Meta Graph API.
18
+ */
19
+ export declare function metaGet(path: string, accessToken: string, params?: Record<string, string>): Promise<any>;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/meta-api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,gBAAgB,UAAU,CAAC;AACxC,eAAO,MAAM,aAAa,qCAAmD,CAAC;AAE9E;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAa9G;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAa9G"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Meta Graph API Helpers
3
+ *
4
+ * Shared Meta/Facebook Graph API utilities used by both backend and MCP server.
5
+ * All POST endpoints require application/x-www-form-urlencoded (Meta requirement).
6
+ *
7
+ * @module @soulbatical/tetra-core/meta-api
8
+ */
9
+ export const META_API_VERSION = 'v22.0';
10
+ export const META_API_BASE = `https://graph.facebook.com/${META_API_VERSION}`;
11
+ /**
12
+ * POST to Meta Graph API with form-urlencoded body.
13
+ * Meta requires this encoding for all POST endpoints.
14
+ */
15
+ export async function metaPost(path, accessToken, params) {
16
+ const body = new URLSearchParams({ access_token: accessToken, ...params });
17
+ const res = await fetch(`${META_API_BASE}${path}`, {
18
+ method: 'POST',
19
+ headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
20
+ body,
21
+ });
22
+ const data = await res.json();
23
+ if (!res.ok) {
24
+ const msg = data?.error?.message || JSON.stringify(data?.error || data);
25
+ throw new Error(`Meta API POST ${path} (${res.status}): ${msg}`);
26
+ }
27
+ return data;
28
+ }
29
+ /**
30
+ * GET from Meta Graph API.
31
+ */
32
+ export async function metaGet(path, accessToken, params) {
33
+ const url = new URL(`${META_API_BASE}${path}`);
34
+ url.searchParams.set('access_token', accessToken);
35
+ if (params) {
36
+ for (const [k, v] of Object.entries(params))
37
+ url.searchParams.set(k, v);
38
+ }
39
+ const res = await fetch(url.toString());
40
+ const data = await res.json();
41
+ if (!res.ok) {
42
+ const msg = data?.error?.message || JSON.stringify(data?.error || data);
43
+ throw new Error(`Meta API GET ${path} (${res.status}): ${msg}`);
44
+ }
45
+ return data;
46
+ }
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/meta-api/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,8BAA8B,gBAAgB,EAAE,CAAC;AAE9E;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAY,EAAE,WAAmB,EAAE,MAA8B;IAC9F,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,aAAa,GAAG,IAAI,EAAE,EAAE;QACjD,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,mCAAmC,EAAE;QAChE,IAAI;KACL,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAS,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,KAAK,GAAG,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,IAAY,EAAE,WAAmB,EAAE,MAA+B;IAC9F,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,aAAa,GAAG,IAAI,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAClD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAS,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,gBAAgB,IAAI,KAAK,GAAG,CAAC,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -28,6 +28,8 @@ export declare class TableQueryService<TFilters extends Record<string, any> = Re
28
28
  supabase: SupabaseClient;
29
29
  config: FeatureConfig<TItem>;
30
30
  organizationId?: string | undefined;
31
+ /** Identifies the active query mode — always 'table' for this service */
32
+ readonly queryMode: 'rpc' | 'table';
31
33
  constructor(supabase: SupabaseClient, config: FeatureConfig<TItem>, organizationId?: string | undefined);
32
34
  /**
33
35
  * Apply a single filter to a Supabase query builder
@@ -93,6 +95,8 @@ export declare class TableQueryService<TFilters extends Record<string, any> = Re
93
95
  */
94
96
  export declare function createTableQueryService<TFilters extends Record<string, any> = Record<string, any>, TItem = Record<string, any>>(config: FeatureConfig<TItem>): {
95
97
  new (supabase: SupabaseClient, organizationId?: string): {
98
+ /** Identifies the active query mode — always 'table' for this service */
99
+ readonly queryMode: "rpc" | "table";
96
100
  supabase: SupabaseClient;
97
101
  config: FeatureConfig<TItem>;
98
102
  organizationId?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"TableQueryService.d.ts","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableQueryService.d.ts","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAKzE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAiB,CAC5B,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMlB,QAAQ,EAAE,cAAc;IACxB,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM;IANhC,yEAAyE;IACzE,SAAgB,SAAS,EAAE,KAAK,GAAG,OAAO,CAAW;gBAG5C,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC,EAC5B,cAAc,CAAC,EAAE,MAAM,YAAA;IAGhC;;OAEG;IACH,WAAW,CACT,KAAK,EAAE,GAAG,EACV,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,GAAG,EACV,UAAU,CAAC,EAAE,MAAM,GAClB,GAAG;IAsIN;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,GAAG,GAAG;IAWhD;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,GAAG;IAa9B;;;;OAIG;IACG,UAAU,CAAC,MAAM,EAAE;QACvB,OAAO,EAAE,QAAQ,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;QAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IA0D9C;;;;;;OAMG;IACG,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAqHhE;;OAEG;IACG,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAyB9E;;OAEG;IACG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAsBvE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IA8B5C;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;CAG/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1D,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,MAAM,EAAE,aAAa,CAAC,KAAK,CAAC;mBAEJ,cAAc,mBAAmB,MAAM;QAne/D,yEAAyE;4BAC9C,KAAK,GAAG,OAAO;kBAGvB,cAAc;;yBAEP,MAAM;QAGhC;;WAEG;2BAEM,GAAG,UACF,YAAY,SACb,GAAG,eACG,MAAM,GAClB,GAAG;QAsIN;;WAEG;4BACiB,GAAG,sBAAsB,GAAG;QAWhD;;WAEG;6BACkB,GAAG,GAAG,GAAG;QAa9B;;;;WAIG;;;mBAGM,MAAM;oBACL,MAAM;oBACN,MAAM;wBACF,KAAK,GAAG,MAAM;sBAChB,MAAM,EAAE;;;mBACiB,MAAM;;QA0D3C;;;;;;WAMG;sCACiC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAqHhE;;WAEG;0BACqB,MAAM,YAAW,MAAM,EAAE;QAyBjD;;WAEG;sBACiB,MAAM,EAAE,YAAW,MAAM,EAAE;QAsB/C;;WAEG;mCACwB,MAAM,EAAE,GAAG,MAAM;QA8B5C;;WAEG;iDACsC,MAAM,EAAE;;EAuBlD"}
@@ -28,6 +28,8 @@ export class TableQueryService {
28
28
  supabase;
29
29
  config;
30
30
  organizationId;
31
+ /** Identifies the active query mode — always 'table' for this service */
32
+ queryMode = 'table';
31
33
  constructor(supabase, config, organizationId) {
32
34
  this.supabase = supabase;
33
35
  this.config = config;
@@ -191,6 +193,7 @@ export class TableQueryService {
191
193
  */
192
194
  async getResults(params) {
193
195
  const { filters, limit, offset, sortBy, sortOrder = 'desc', include = [] } = params;
196
+ const startMs = Date.now();
194
197
  try {
195
198
  // Build select query (with includes/joins if configured)
196
199
  const selectFields = include.length > 0 ? this.buildSelectQuery(include) : '*';
@@ -208,6 +211,15 @@ export class TableQueryService {
208
211
  // Apply pagination
209
212
  query = query.range(offset, offset + limit - 1);
210
213
  const { data, error, count: totalCount } = await query;
214
+ const durationMs = Date.now() - startMs;
215
+ logger.debug({
216
+ feature: this.config.tableName,
217
+ durationMs,
218
+ resultCount: data?.length ?? 0,
219
+ totalCount: totalCount ?? 0,
220
+ limit,
221
+ offset,
222
+ }, `table:getResults completed in ${durationMs}ms`);
211
223
  if (error) {
212
224
  logger.error({
213
225
  error: error.message,
@@ -235,6 +247,7 @@ export class TableQueryService {
235
247
  * For 'breakdown': SELECT status, count(*) FROM table WHERE filters GROUP BY status
236
248
  */
237
249
  async getCounts(filters) {
250
+ const startMs = Date.now();
238
251
  try {
239
252
  const counts = {};
240
253
  if (!this.config.counts) {
@@ -278,6 +291,14 @@ export class TableQueryService {
278
291
  counts[key] = {};
279
292
  }
280
293
  else {
294
+ // Warn when breakdown fetches very large result sets — RPC would be more efficient
295
+ if (data && data.length > 10000) {
296
+ logger.warn({
297
+ feature: this.config.tableName,
298
+ rowCount: data.length,
299
+ countKey: key,
300
+ }, 'Table mode breakdown count fetched >10k rows. Consider adding RPC functions for this feature.');
301
+ }
281
302
  // Count occurrences of each value
282
303
  const breakdown = {};
283
304
  for (const row of data || []) {
@@ -317,6 +338,12 @@ export class TableQueryService {
317
338
  logger.debug({ key, type: countConfig.type }, 'Skipping unsupported count type');
318
339
  }
319
340
  }
341
+ const durationMs = Date.now() - startMs;
342
+ logger.debug({
343
+ feature: this.config.tableName,
344
+ durationMs,
345
+ countKeys: Object.keys(counts),
346
+ }, `table:getCounts completed in ${durationMs}ms`);
320
347
  return counts;
321
348
  }
322
349
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"TableQueryService.js","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableQueryService.js","sourceRoot":"","sources":["../../../src/shared/services/TableQueryService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Deterministic Storage URL Helpers
3
+ *
4
+ * All storage paths follow: {bucket}/{org_id}/{record_id}.{ext}
5
+ * URLs are derived from the ID — no need to store them in the database.
6
+ *
7
+ * Returns absolute Supabase Storage URLs.
8
+ * Falls back to relative proxy URLs when SUPABASE_URL is unavailable.
9
+ */
10
+ export declare function getCreativeUrl(creativeId: string, orgId: string): string;
11
+ export declare function getCreativeStoragePath(creativeId: string, orgId: string): string;
12
+ export declare function getAdLibraryThumbnailUrl(itemId: string, orgId: string): string;
13
+ export declare function getAdLibraryThumbnailPath(itemId: string, orgId: string): string;
14
+ //# sourceMappingURL=creative-urls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creative-urls.d.ts","sourceRoot":"","sources":["../../../src/shared/storage/creative-urls.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAEhF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/E"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Deterministic Storage URL Helpers
3
+ *
4
+ * All storage paths follow: {bucket}/{org_id}/{record_id}.{ext}
5
+ * URLs are derived from the ID — no need to store them in the database.
6
+ *
7
+ * Returns absolute Supabase Storage URLs.
8
+ * Falls back to relative proxy URLs when SUPABASE_URL is unavailable.
9
+ */
10
+ const getSupabaseUrl = () => process.env.SUPABASE_URL || process.env.NEXT_PUBLIC_SUPABASE_URL || '';
11
+ function storageUrl(bucket, path) {
12
+ const supabaseUrl = getSupabaseUrl();
13
+ if (supabaseUrl) {
14
+ return `${supabaseUrl}/storage/v1/object/public/${bucket}/${path}`;
15
+ }
16
+ return `/api/public/storage/${bucket}/${path}`;
17
+ }
18
+ export function getCreativeUrl(creativeId, orgId) {
19
+ return storageUrl('ad-creatives', `${orgId}/${creativeId}.png`);
20
+ }
21
+ export function getCreativeStoragePath(creativeId, orgId) {
22
+ return `${orgId}/${creativeId}.png`;
23
+ }
24
+ export function getAdLibraryThumbnailUrl(itemId, orgId) {
25
+ return storageUrl('ad-library', `${orgId}/${itemId}.jpg`);
26
+ }
27
+ export function getAdLibraryThumbnailPath(itemId, orgId) {
28
+ return `${orgId}/${itemId}.jpg`;
29
+ }
30
+ //# sourceMappingURL=creative-urls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creative-urls.js","sourceRoot":"","sources":["../../../src/shared/storage/creative-urls.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,EAAE,CAAC;AAEpG,SAAS,UAAU,CAAC,MAAc,EAAE,IAAY;IAC9C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,GAAG,WAAW,6BAA6B,MAAM,IAAI,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,uBAAuB,MAAM,IAAI,IAAI,EAAE,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,KAAa;IAC9D,OAAO,UAAU,CAAC,cAAc,EAAE,GAAG,KAAK,IAAI,UAAU,MAAM,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB,EAAE,KAAa;IACtE,OAAO,GAAG,KAAK,IAAI,UAAU,MAAM,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,MAAc,EAAE,KAAa;IACpE,OAAO,UAAU,CAAC,YAAY,EAAE,GAAG,KAAK,IAAI,MAAM,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,MAAc,EAAE,KAAa;IACrE,OAAO,GAAG,KAAK,IAAI,MAAM,MAAM,CAAC;AAClC,CAAC"}
@@ -24,4 +24,5 @@ export { ImageProcessingService, STANDARD_IMAGE_SIZES } from './ImageProcessingS
24
24
  export { StorageUploadService } from './StorageUploadService.js';
25
25
  export type { StorageConfig, StorageProxyOptions, StorageUploadOptions, UploadResult, ImageSize, ProcessedImageResult, ImageProcessingOptions, } from './types.js';
26
26
  export type { FileUploadOptions, MultiSizeUploadOptions, PrivateUploadOptions, PrivateUploadResult, MultiSizeUploadResult, } from './StorageUploadService.js';
27
+ export { getCreativeUrl, getCreativeStoragePath, getAdLibraryThumbnailUrl, getAdLibraryThumbnailPath } from './creative-urls.js';
27
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,SAAS,EACT,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -22,4 +22,6 @@ export { addStorageProxyRoutes, addStorageUploadRoutes } from './routes.js';
22
22
  export { StorageProxyService } from './StorageProxyService.js';
23
23
  export { ImageProcessingService, STANDARD_IMAGE_SIZES } from './ImageProcessingService.js';
24
24
  export { StorageUploadService } from './StorageUploadService.js';
25
+ // ─── Creative URL Helpers ─────────────────────────────────────
26
+ export { getCreativeUrl, getCreativeStoragePath, getAdLibraryThumbnailUrl, getAdLibraryThumbnailPath } from './creative-urls.js';
25
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/shared/storage/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3F,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAkBjE,iEAAiE;AACjE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/storage.d.ts CHANGED
@@ -5,4 +5,5 @@
5
5
  */
6
6
  export { addStorageProxyRoutes, addStorageUploadRoutes, StorageProxyService, StorageUploadService, ImageProcessingService, STANDARD_IMAGE_SIZES } from './shared/storage/index.js';
7
7
  export type { StorageConfig, StorageProxyOptions, StorageUploadOptions, UploadResult as StorageUploadResult, ImageSize, ProcessedImageResult, ImageProcessingOptions, FileUploadOptions, MultiSizeUploadOptions, PrivateUploadOptions, PrivateUploadResult, MultiSizeUploadResult } from './shared/storage/index.js';
8
+ export { getCreativeUrl, getCreativeStoragePath, getAdLibraryThumbnailUrl, getAdLibraryThumbnailPath } from './shared/storage/index.js';
8
9
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnL,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,IAAI,mBAAmB,EAAE,SAAS,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACnL,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,YAAY,IAAI,mBAAmB,EAAE,SAAS,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACrT,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
package/dist/storage.js CHANGED
@@ -4,4 +4,5 @@
4
4
  * Storage module (file uploads, image processing). Requires multer + sharp.
5
5
  */
6
6
  export { addStorageProxyRoutes, addStorageUploadRoutes, StorageProxyService, StorageUploadService, ImageProcessingService, STANDARD_IMAGE_SIZES } from './shared/storage/index.js';
7
+ export { getCreativeUrl, getCreativeStoragePath, getAdLibraryThumbnailUrl, getAdLibraryThumbnailPath } from './shared/storage/index.js';
7
8
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEnL,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soulbatical/tetra-core",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
4
4
  "publishConfig": {
5
5
  "access": "restricted"
6
6
  },
@@ -76,6 +76,7 @@
76
76
  ],
77
77
  "scripts": {
78
78
  "build": "tsc",
79
+ "postinstall": "node scripts/postinstall.js || true",
79
80
  "prepublishOnly": "npm run build && npm run typecheck && npx tetra-check-peers",
80
81
  "check:peers": "npx tetra-check-peers",
81
82
  "typecheck": "tsc --noEmit",
@@ -84,6 +85,7 @@
84
85
  "enforce:api": "./scripts/enforce-api-standards.sh"
85
86
  },
86
87
  "dependencies": {
88
+ "@soulbatical/tetra-dev-toolkit": "^1.20.11",
87
89
  "express-rate-limit": "^8.2.1",
88
90
  "handlebars": "^4.7.8",
89
91
  "helmet": "^8.1.0",