@c15t/backend 2.0.0-rc.3 → 2.0.0-rc.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.
Files changed (45) hide show
  1. package/.turbo/turbo-build.log +12 -12
  2. package/CHANGELOG.md +8 -0
  3. package/dist/cache.cjs +4 -4
  4. package/dist/cache.js +4 -4
  5. package/dist/core.cjs +29 -27
  6. package/dist/core.js +27 -25
  7. package/dist/define-config.d.ts +17 -4
  8. package/dist/define-config.d.ts.map +1 -1
  9. package/dist/handlers/init/translations.d.ts +1 -3
  10. package/dist/handlers/init/translations.d.ts.map +1 -1
  11. package/dist/init.d.ts +4 -6
  12. package/dist/init.d.ts.map +1 -1
  13. package/dist/middleware/openapi/config.d.ts.map +1 -1
  14. package/dist/router.cjs +21 -20
  15. package/dist/router.js +19 -18
  16. package/dist/types/index.d.ts +241 -165
  17. package/dist/types/index.d.ts.map +1 -1
  18. package/dist/utils/create-telemetry-options.d.ts +1 -1
  19. package/dist/utils/create-telemetry-options.d.ts.map +1 -1
  20. package/dist/utils/instrumentation.d.ts.map +1 -1
  21. package/dist/version.d.ts +1 -1
  22. package/package.json +7 -7
  23. package/rslib.config.ts +1 -1
  24. package/src/core.ts +1 -1
  25. package/src/define-config.ts +17 -3
  26. package/src/handlers/init/geo.ts +2 -2
  27. package/src/handlers/init/index.test.ts +3 -3
  28. package/src/handlers/init/translations.test.ts +1 -1
  29. package/src/handlers/init/translations.ts +3 -6
  30. package/src/init.test.ts +3 -7
  31. package/src/init.ts +9 -8
  32. package/src/middleware/openapi/config.ts +2 -2
  33. package/src/middleware/process-ip/index.test.ts +2 -4
  34. package/src/middleware/process-ip/index.ts +1 -1
  35. package/src/routes/init.ts +10 -10
  36. package/src/types/index.ts +268 -174
  37. package/src/utils/create-telemetry-options.test.ts +14 -30
  38. package/src/utils/create-telemetry-options.ts +5 -5
  39. package/src/utils/instrumentation.test.ts +3 -5
  40. package/src/utils/instrumentation.ts +1 -3
  41. package/src/utils/metrics.test.ts +11 -23
  42. package/src/utils/telemetry-pii.test.ts +3 -5
  43. package/src/version.ts +1 -1
  44. /package/dist/{types.cjs → types/index.cjs} +0 -0
  45. /package/dist/{types.js → types/index.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { type Meter, type Span } from '@opentelemetry/api';
2
2
  import type { C15TOptions } from '../types';
3
- type TelemetryConfig = NonNullable<C15TOptions['advanced']>['telemetry'];
3
+ type TelemetryConfig = C15TOptions['telemetry'];
4
4
  /**
5
5
  * Creates telemetry configuration from provided options
6
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"create-telemetry-options.d.ts","sourceRoot":"","sources":["../../src/utils/create-telemetry-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,KAAK,EAEV,KAAK,IAAI,EAGT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,KAAK,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAMzE;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,SAAS,EAChB,eAAe,CAAC,EAAE,eAAe,EACjC,QAAQ,CAAC,EAAE,MAAM,GACf,eAAe,CA0BjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAKjE;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,WAAW,wCAU9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU,WAAW,KAAG,KAUhD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAC7C,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,CACzB,CAEA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC7B,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,UAAU,WAAW,gBAkBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,CAAC,EACtC,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,WAAW,KACnB,OAAO,CAAC,CAAC,CAiBX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,EAAE,OAAO,OAAO,SASzD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAeP;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,CAAC,EACtC,MAAM,IAAI,EACV,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KACzB,OAAO,CAAC,CAAC,CAEX,CAAC"}
1
+ {"version":3,"file":"create-telemetry-options.d.ts","sourceRoot":"","sources":["../../src/utils/create-telemetry-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,KAAK,EAEV,KAAK,IAAI,EAGT,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5C,KAAK,eAAe,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;AAMhD;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACrC,OAAO,SAAS,EAChB,eAAe,CAAC,EAAE,eAAe,EACjC,QAAQ,CAAC,EAAE,MAAM,GACf,eAAe,CA0BjB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAKjE;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,UAAU,WAAW,wCAU9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAU,WAAW,KAAG,KAUhD,CAAC;AAEF;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAC7C,MAAM,EACN,MAAM,GAAG,MAAM,GAAG,OAAO,CACzB,CAEA;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC7B,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,UAAU,WAAW,gBAkBrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,CAAC,EACtC,QAAQ,MAAM,EACd,MAAM,MAAM,EACZ,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,UAAU,WAAW,KACnB,OAAO,CAAC,CAAC,CAiBX,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,IAAI,EAAE,OAAO,OAAO,SASzD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,eAAe,IAAI;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CACf,GAAG,IAAI,CAeP;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAU,CAAC,EACtC,MAAM,IAAI,EACV,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KACzB,OAAO,CAAC,CAAC,CAEX,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/utils/instrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAS5C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,iEAAiE;IACjE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;IACpE,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAmCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACvC,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACvC,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAyBZ;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACpC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,EACnC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,EACxC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAkBZ"}
1
+ {"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/utils/instrumentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAS5C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,iEAAiE;IACjE,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,cAAc,CAAC;IACpE,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACrD;AAiCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACvC,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAwBZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EACvC,UAAU,EAAE,sBAAsB,EAClC,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAyBZ;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACpC,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,EACnC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,UAAU,EACxC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,CAAC,CAAC,CAkBZ"}
package/dist/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const version = "2.0.0-rc.3";
1
+ export declare const version = "2.0.0-rc.4";
2
2
  //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@c15t/backend",
3
- "version": "2.0.0-rc.3",
3
+ "version": "2.0.0-rc.4",
4
4
  "description": "Consent policy engine and API for c15t. Powers the cookie banner, consent manager, and preferences centre. Webhooks, audit logs, storage adapters. Self host or use consent.io",
5
5
  "keywords": [
6
6
  "consent",
@@ -85,8 +85,8 @@
85
85
  },
86
86
  "./types": {
87
87
  "types": "./dist/types/index.d.ts",
88
- "import": "./dist/types.js",
89
- "require": "./dist/types.cjs"
88
+ "import": "./dist/types/index.js",
89
+ "require": "./dist/types/index.cjs"
90
90
  },
91
91
  "./cache": {
92
92
  "types": "./dist/cache/index.d.ts",
@@ -94,9 +94,9 @@
94
94
  "require": "./dist/cache.cjs"
95
95
  }
96
96
  },
97
- "main": "./dist/server.cjs",
98
- "module": "./dist/server.js",
99
- "types": "./dist/server.d.ts",
97
+ "main": "./dist/core.cjs",
98
+ "module": "./dist/core.js",
99
+ "types": "./dist/core.d.ts",
100
100
  "scripts": {
101
101
  "prebuild": "genversion --esm --semi src/version.ts",
102
102
  "build": "bun prebuild && rslib build",
@@ -112,7 +112,7 @@
112
112
  "dependencies": {
113
113
  "@c15t/logger": "2.0.0-rc.1",
114
114
  "@c15t/schema": "2.0.0-rc.2",
115
- "@c15t/translations": "2.0.0-rc.1",
115
+ "@c15t/translations": "2.0.0-rc.4",
116
116
  "@hono/standard-validator": "^0.2.2",
117
117
  "@hono/valibot-validator": "0.6.1",
118
118
  "@opentelemetry/api": "1.9.0",
package/rslib.config.ts CHANGED
@@ -58,7 +58,7 @@ export default defineConfig({
58
58
  'db/adapters/mongo': ['./src/db/adapters/mongo.ts'],
59
59
  'db/migrator': ['./src/db/migrator/index.ts'],
60
60
  'define-config': ['./src/define-config.ts'],
61
- types: ['./src/types/index.ts'],
61
+ 'types/index': ['./src/types/index.ts'],
62
62
  cache: ['./src/cache/index.ts'],
63
63
  },
64
64
  },
package/src/core.ts CHANGED
@@ -130,7 +130,7 @@ export const c15tInstance = (options: C15TOptions): C15TInstance => {
130
130
  // Check API key authentication
131
131
  const apiKeyAuthenticated = validateRequestAuth(
132
132
  request.headers,
133
- options.advanced?.apiKeys
133
+ options.apiKeys
134
134
  );
135
135
 
136
136
  const enrichedContext: C15TContext = {
@@ -1,5 +1,19 @@
1
- import type { DatabaseOptions } from './types';
1
+ import type { C15TOptions } from './types';
2
2
 
3
- export interface DatabaseConfig extends DatabaseOptions {}
3
+ /**
4
+ * c15t backend config accepted by `defineConfig`.
5
+ *
6
+ * Keep this as an intersection with `C15TOptions` (instead of `Omit`) so
7
+ * TypeScript preserves property-level JSDoc in editor completions.
8
+ */
9
+ export type C15TConfig = C15TOptions & {
10
+ /**
11
+ * Logger config is managed internally and is not supported via config files.
12
+ */
13
+ logger?: never;
14
+ };
4
15
 
5
- export const defineConfig = (config: DatabaseConfig) => config;
16
+ /**
17
+ * Helper for typed backend configuration in `c15t-backend.config.ts`.
18
+ */
19
+ export const defineConfig = (config: C15TConfig) => config;
@@ -168,7 +168,7 @@ export async function getLocation(
168
168
  request: Request,
169
169
  options: C15TOptions
170
170
  ): Promise<{ countryCode: string | null; regionCode: string | null }> {
171
- if (options.advanced?.disableGeoLocation) {
171
+ if (options.disableGeoLocation) {
172
172
  return { countryCode: null, regionCode: null };
173
173
  }
174
174
 
@@ -187,7 +187,7 @@ export function getJurisdiction(
187
187
  location: { countryCode: string | null; regionCode: string | null },
188
188
  options: C15TOptions
189
189
  ): JurisdictionCode {
190
- if (options.advanced?.disableGeoLocation) {
190
+ if (options.disableGeoLocation) {
191
191
  return 'GDPR';
192
192
  }
193
193
 
@@ -1,4 +1,4 @@
1
- import { baseTranslations } from '@c15t/translations';
1
+ import { baseTranslations } from '@c15t/translations/all';
2
2
  import { describe, expect, it } from 'vitest';
3
3
  import type { C15TOptions } from '~/types';
4
4
  import { checkJurisdiction, getJurisdiction, getLocation } from './geo';
@@ -161,7 +161,7 @@ describe('Init Handler Utilities', () => {
161
161
  const options: C15TOptions = {
162
162
  trustedOrigins: [],
163
163
  adapter: {} as C15TOptions['adapter'],
164
- advanced: { disableGeoLocation: true },
164
+ disableGeoLocation: true,
165
165
  };
166
166
 
167
167
  const result = await getLocation(request, options);
@@ -175,7 +175,7 @@ describe('Init Handler Utilities', () => {
175
175
  const options: C15TOptions = {
176
176
  trustedOrigins: [],
177
177
  adapter: {} as C15TOptions['adapter'],
178
- advanced: { disableGeoLocation: true },
178
+ disableGeoLocation: true,
179
179
  };
180
180
 
181
181
  const result = getJurisdiction(
@@ -1,4 +1,4 @@
1
- import { baseTranslations } from '@c15t/translations';
1
+ import { baseTranslations } from '@c15t/translations/all';
2
2
  import { describe, expect, it } from 'vitest';
3
3
  import { getTranslationsData } from './translations';
4
4
 
@@ -1,10 +1,10 @@
1
1
  import {
2
- baseTranslations,
3
2
  type CompleteTranslations,
4
3
  deepMergeTranslations,
5
4
  selectLanguage,
6
5
  type Translations,
7
6
  } from '@c15t/translations';
7
+ import { baseTranslations } from '@c15t/translations/all';
8
8
 
9
9
  type SupportedBaseLanguage = keyof typeof baseTranslations;
10
10
 
@@ -62,11 +62,8 @@ export function getTranslationsData(
62
62
  export async function getTranslations(
63
63
  acceptLanguage: string,
64
64
  options: {
65
- advanced?: { customTranslations?: Record<string, Partial<Translations>> };
65
+ customTranslations?: Record<string, Partial<Translations>>;
66
66
  }
67
67
  ) {
68
- return getTranslationsData(
69
- acceptLanguage,
70
- options.advanced?.customTranslations
71
- );
68
+ return getTranslationsData(acceptLanguage, options.customTranslations);
72
69
  }
package/src/init.test.ts CHANGED
@@ -36,9 +36,7 @@ vi.mock('./utils/create-telemetry-options', () => ({
36
36
  ...config?.defaultAttributes,
37
37
  },
38
38
  })),
39
- isTelemetryEnabled: vi.fn(
40
- (options) => options?.advanced?.telemetry?.enabled === true
41
- ),
39
+ isTelemetryEnabled: vi.fn((options) => options?.telemetry?.enabled === true),
42
40
  }));
43
41
 
44
42
  vi.mock('./db/registry', () => ({
@@ -95,10 +93,8 @@ describe('init', () => {
95
93
 
96
94
  it('logs telemetry enabled when explicitly enabled', () => {
97
95
  const options = createOptions({
98
- advanced: {
99
- telemetry: {
100
- enabled: true,
101
- },
96
+ telemetry: {
97
+ enabled: true,
102
98
  },
103
99
  });
104
100
  init(options);
package/src/init.ts CHANGED
@@ -25,12 +25,10 @@ import { initLogger } from './utils/logger';
25
25
  *
26
26
  * // Then pass telemetry config
27
27
  * const instance = c15tInstance({
28
- * advanced: {
29
- * telemetry: {
30
- * enabled: true,
31
- * tracer: trace.getTracer('my-app'),
32
- * meter: metrics.getMeter('my-app'),
33
- * },
28
+ * telemetry: {
29
+ * enabled: true,
30
+ * tracer: trace.getTracer('my-app'),
31
+ * meter: metrics.getMeter('my-app'),
34
32
  * },
35
33
  * });
36
34
  * ```
@@ -46,7 +44,7 @@ export const init = (options: C15TOptions): C15TContext => {
46
44
  // Create telemetry options (validates and merges with defaults)
47
45
  const telemetryOptions = createTelemetryOptions(
48
46
  String(appName),
49
- options.advanced?.telemetry,
47
+ options.telemetry,
50
48
  options.tenantId
51
49
  );
52
50
 
@@ -70,8 +68,11 @@ export const init = (options: C15TOptions): C15TContext => {
70
68
  ? withTenantScope(rawOrm, options.tenantId)
71
69
  : rawOrm;
72
70
 
71
+ // Destructure ipAddress config to avoid type conflict with C15TContext.ipAddress (resolved string)
72
+ const { ipAddress: _ipAddressConfig, ...baseOptions } = options;
73
+
73
74
  const context: C15TContext = {
74
- ...options,
75
+ ...baseOptions,
75
76
  appName,
76
77
  logger,
77
78
  db: orm,
@@ -8,10 +8,10 @@ import { version } from '~/version';
8
8
  */
9
9
  export const createOpenAPIConfig = (options: C15TOptions) => {
10
10
  return {
11
- enabled: options.advanced?.openapi?.enabled !== false,
11
+ enabled: options.openapi?.enabled !== false,
12
12
  specPath: '/spec.json',
13
13
  docsPath: '/docs',
14
- ...(options.advanced?.openapi || {}),
14
+ ...(options.openapi || {}),
15
15
  };
16
16
  };
17
17
 
@@ -85,13 +85,11 @@ describe('getIpAddress', () => {
85
85
  };
86
86
 
87
87
  const createBaseOptions = (
88
- ipAddressOverrides?: NonNullable<C15TOptions['advanced']>['ipAddress']
88
+ ipAddressOverrides?: C15TOptions['ipAddress']
89
89
  ): C15TOptions => ({
90
90
  trustedOrigins: ['http://localhost'],
91
91
  adapter: {} as C15TOptions['adapter'],
92
- advanced: {
93
- ipAddress: ipAddressOverrides,
94
- },
92
+ ipAddress: ipAddressOverrides,
95
93
  });
96
94
 
97
95
  describe('IP extraction', () => {
@@ -172,7 +172,7 @@ export function getIpAddress(
172
172
  req: Request | Headers,
173
173
  options: C15TOptions
174
174
  ): string | null {
175
- const ipAddressConfig = options.advanced?.ipAddress;
175
+ const ipAddressConfig = options.ipAddress;
176
176
 
177
177
  if (ipAddressConfig?.tracking === false) {
178
178
  return null;
@@ -58,25 +58,25 @@ Use for geo-targeted consent banners and regional compliance.`,
58
58
  // Get translations
59
59
  const translationsResult = getTranslationsData(
60
60
  acceptLanguage,
61
- options.advanced?.customTranslations
61
+ options.customTranslations
62
62
  );
63
63
 
64
64
  // Get GVL if enabled
65
65
  let gvl = null;
66
- if (options.advanced?.iab?.enabled) {
66
+ if (options.iab?.enabled) {
67
67
  const language = translationsResult.language.split('-')[0] || 'en';
68
68
  const gvlResolver = createGVLResolver({
69
69
  appName: options.appName || 'c15t',
70
- bundled: options.advanced.iab.bundled,
71
- cacheAdapter: options.advanced.cache?.adapter,
72
- vendorIds: options.advanced.iab.vendorIds,
73
- endpoint: options.advanced.iab.endpoint,
70
+ bundled: options.iab.bundled,
71
+ cacheAdapter: options.cache?.adapter,
72
+ vendorIds: options.iab.vendorIds,
73
+ endpoint: options.iab.endpoint,
74
74
  });
75
75
  gvl = await gvlResolver.get(language);
76
76
  }
77
77
 
78
78
  // Get custom vendors if configured
79
- const customVendors = options.advanced?.iab?.customVendors;
79
+ const customVendors = options.iab?.customVendors;
80
80
 
81
81
  // Record init metric
82
82
  const gpc = request.headers.get('sec-gpc') === '1';
@@ -91,11 +91,11 @@ Use for geo-targeted consent banners and regional compliance.`,
91
91
  jurisdiction,
92
92
  location,
93
93
  translations: translationsResult,
94
- branding: options.advanced?.branding || 'c15t',
94
+ branding: options.branding || 'c15t',
95
95
  gvl,
96
96
  customVendors,
97
- ...(options.advanced?.iab?.cmpId != null && {
98
- cmpId: options.advanced.iab.cmpId,
97
+ ...(options.iab?.cmpId != null && {
98
+ cmpId: options.iab.cmpId,
99
99
  }),
100
100
  });
101
101
  }