@contentful/optimization-api-client 0.1.0-alpha → 0.1.0-alpha11

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 (79) hide show
  1. package/README.md +70 -95
  2. package/dist/199.mjs +2 -0
  3. package/dist/649.mjs +131 -0
  4. package/dist/649.mjs.map +1 -0
  5. package/dist/api-schemas.cjs +60 -0
  6. package/dist/api-schemas.cjs.map +1 -0
  7. package/dist/api-schemas.d.cts +4 -0
  8. package/dist/api-schemas.d.mts +4 -0
  9. package/dist/api-schemas.d.ts +4 -0
  10. package/dist/api-schemas.mjs +2 -0
  11. package/dist/index.cjs +425 -580
  12. package/dist/index.cjs.map +1 -1
  13. package/dist/index.d.cts +865 -0
  14. package/dist/index.d.mts +865 -0
  15. package/dist/index.d.ts +865 -8
  16. package/dist/index.mjs +67 -277
  17. package/dist/index.mjs.map +1 -1
  18. package/dist/logger.cjs +207 -0
  19. package/dist/logger.cjs.map +1 -0
  20. package/dist/logger.d.cts +287 -0
  21. package/dist/logger.d.mts +287 -0
  22. package/dist/logger.d.ts +287 -0
  23. package/dist/logger.mjs +1 -0
  24. package/package.json +46 -10
  25. package/dist/ApiClient.d.ts +0 -74
  26. package/dist/ApiClient.d.ts.map +0 -1
  27. package/dist/ApiClient.js +0 -61
  28. package/dist/ApiClient.js.map +0 -1
  29. package/dist/ApiClientBase.d.ts +0 -113
  30. package/dist/ApiClientBase.d.ts.map +0 -1
  31. package/dist/ApiClientBase.js +0 -94
  32. package/dist/ApiClientBase.js.map +0 -1
  33. package/dist/builders/EventBuilder.d.ts +0 -589
  34. package/dist/builders/EventBuilder.d.ts.map +0 -1
  35. package/dist/builders/EventBuilder.js +0 -349
  36. package/dist/builders/EventBuilder.js.map +0 -1
  37. package/dist/builders/index.d.ts +0 -3
  38. package/dist/builders/index.d.ts.map +0 -1
  39. package/dist/builders/index.js +0 -3
  40. package/dist/builders/index.js.map +0 -1
  41. package/dist/experience/ExperienceApiClient.d.ts +0 -267
  42. package/dist/experience/ExperienceApiClient.d.ts.map +0 -1
  43. package/dist/experience/ExperienceApiClient.js +0 -324
  44. package/dist/experience/ExperienceApiClient.js.map +0 -1
  45. package/dist/experience/index.d.ts +0 -4
  46. package/dist/experience/index.d.ts.map +0 -1
  47. package/dist/experience/index.js +0 -4
  48. package/dist/experience/index.js.map +0 -1
  49. package/dist/fetch/Fetch.d.ts +0 -96
  50. package/dist/fetch/Fetch.d.ts.map +0 -1
  51. package/dist/fetch/Fetch.js +0 -27
  52. package/dist/fetch/Fetch.js.map +0 -1
  53. package/dist/fetch/createProtectedFetchMethod.d.ts +0 -40
  54. package/dist/fetch/createProtectedFetchMethod.d.ts.map +0 -1
  55. package/dist/fetch/createProtectedFetchMethod.js +0 -53
  56. package/dist/fetch/createProtectedFetchMethod.js.map +0 -1
  57. package/dist/fetch/createRetryFetchMethod.d.ts +0 -60
  58. package/dist/fetch/createRetryFetchMethod.d.ts.map +0 -1
  59. package/dist/fetch/createRetryFetchMethod.js +0 -138
  60. package/dist/fetch/createRetryFetchMethod.js.map +0 -1
  61. package/dist/fetch/createTimeoutFetchMethod.d.ts +0 -51
  62. package/dist/fetch/createTimeoutFetchMethod.d.ts.map +0 -1
  63. package/dist/fetch/createTimeoutFetchMethod.js +0 -51
  64. package/dist/fetch/createTimeoutFetchMethod.js.map +0 -1
  65. package/dist/fetch/index.d.ts +0 -7
  66. package/dist/fetch/index.d.ts.map +0 -1
  67. package/dist/fetch/index.js +0 -7
  68. package/dist/fetch/index.js.map +0 -1
  69. package/dist/index.d.ts.map +0 -1
  70. package/dist/index.js +0 -8
  71. package/dist/index.js.map +0 -1
  72. package/dist/insights/InsightsApiClient.d.ts +0 -130
  73. package/dist/insights/InsightsApiClient.d.ts.map +0 -1
  74. package/dist/insights/InsightsApiClient.js +0 -142
  75. package/dist/insights/InsightsApiClient.js.map +0 -1
  76. package/dist/insights/index.d.ts +0 -4
  77. package/dist/insights/index.d.ts.map +0 -1
  78. package/dist/insights/index.js +0 -4
  79. package/dist/insights/index.js.map +0 -1
@@ -0,0 +1,287 @@
1
+ /**
2
+ * A {@link LogSink} that writes log events to the browser or Node.js console,
3
+ * filtering by a configurable verbosity threshold.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { logger, ConsoleLogSink } from '@contentful/optimization-api-client/logger'
8
+ *
9
+ * logger.addSink(new ConsoleLogSink('debug'))
10
+ * ```
11
+ *
12
+ * @public
13
+ */
14
+ export declare class ConsoleLogSink extends LogSink {
15
+ /** Identifies this sink when registered with the {@link Logger}. */
16
+ name: string;
17
+ /**
18
+ * Minimum log level required for events to be output.
19
+ *
20
+ * @defaultValue 'error'
21
+ */
22
+ readonly verbosity: LogLevels;
23
+ /**
24
+ * Creates a new ConsoleLogSink.
25
+ *
26
+ * @param verbosity - Minimum log level to output.
27
+ */
28
+ constructor(verbosity?: LogLevels);
29
+ /**
30
+ * Writes a log event to the console if its level meets the verbosity threshold.
31
+ *
32
+ * @param event - The log event to process.
33
+ * @returns Nothing.
34
+ */
35
+ ingest(event: LogEvent): void;
36
+ }
37
+
38
+ /**
39
+ * Creates a {@link ScopedLogger} that automatically prepends the given location to every log call.
40
+ *
41
+ * @param location - The module or component identifier to prepend.
42
+ * @returns A {@link ScopedLogger} bound to the specified location.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * import { createScopedLogger } from '@contentful/optimization-api-client/logger'
47
+ *
48
+ * const log = createScopedLogger('MyModule')
49
+ * log.info('Initialization complete')
50
+ * ```
51
+ *
52
+ * @public
53
+ */
54
+ export declare function createScopedLogger(location: string): ScopedLogger;
55
+
56
+ /**
57
+ * A log event emitted by the logger package.
58
+ *
59
+ * @public
60
+ */
61
+ export declare interface LogEvent {
62
+ /** Logger scope name. */
63
+ name: string;
64
+ /** Event severity level. */
65
+ level: LogLevels;
66
+ /** Event payload, where the first entry is the formatted message. */
67
+ messages: unknown[];
68
+ /** Optional additional context attached by sinks or middleware. */
69
+ [other: string]: unknown;
70
+ }
71
+
72
+ /**
73
+ * Central logger that routes log events through registered {@link LogSink} instances.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * import { logger } from '@contentful/optimization-api-client/logger'
78
+ *
79
+ * logger.info('MyModule', 'Application started')
80
+ * ```
81
+ *
82
+ * @public
83
+ */
84
+ declare class Logger {
85
+ /** The logger's identifier, used as the event scope name. */
86
+ readonly name = "@contentful/optimization";
87
+ private readonly PREFIX_PARTS;
88
+ private readonly DELIMITER;
89
+ private sinks;
90
+ private assembleLocationPrefix;
91
+ /**
92
+ * Registers a log sink. If a sink with the same name already exists, it is replaced.
93
+ *
94
+ * @param sink - The {@link LogSink} instance to register.
95
+ * @returns Nothing.
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { logger, ConsoleLogSink } from '@contentful/optimization-api-client/logger'
100
+ *
101
+ * logger.addSink(new ConsoleLogSink('debug'))
102
+ * ```
103
+ */
104
+ addSink(sink: LogSink): void;
105
+ /**
106
+ * Removes a registered sink by name.
107
+ *
108
+ * @param name - The name of the sink to remove.
109
+ * @returns Nothing.
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * logger.removeSink('ConsoleLogSink')
114
+ * ```
115
+ */
116
+ removeSink(name: string): void;
117
+ /**
118
+ * Removes all registered sinks.
119
+ *
120
+ * @returns Nothing.
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * logger.removeSinks()
125
+ * ```
126
+ */
127
+ removeSinks(): void;
128
+ /**
129
+ * Logs a message at the debug level.
130
+ *
131
+ * @param logLocation - The module or component identifier.
132
+ * @param message - The log message.
133
+ * @param args - Additional arguments forwarded in the log event.
134
+ * @returns Nothing.
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * logger.debug('MyModule', 'Debugging value', someVariable)
139
+ * ```
140
+ */
141
+ debug(logLocation: string, message: string, ...args: unknown[]): void;
142
+ /**
143
+ * Logs a message at the info level.
144
+ *
145
+ * @param logLocation - The module or component identifier.
146
+ * @param message - The log message.
147
+ * @param args - Additional arguments forwarded in the log event.
148
+ * @returns Nothing.
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * logger.info('MyModule', 'Operation completed')
153
+ * ```
154
+ */
155
+ info(logLocation: string, message: string, ...args: unknown[]): void;
156
+ /**
157
+ * Logs a message at the log level.
158
+ *
159
+ * @param logLocation - The module or component identifier.
160
+ * @param message - The log message.
161
+ * @param args - Additional arguments forwarded in the log event.
162
+ * @returns Nothing.
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * logger.log('MyModule', 'General log entry')
167
+ * ```
168
+ */
169
+ log(logLocation: string, message: string, ...args: unknown[]): void;
170
+ /**
171
+ * Logs a message at the warn level.
172
+ *
173
+ * @param logLocation - The module or component identifier.
174
+ * @param message - The log message.
175
+ * @param args - Additional arguments forwarded in the log event.
176
+ * @returns Nothing.
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * logger.warn('MyModule', 'Deprecated method called')
181
+ * ```
182
+ */
183
+ warn(logLocation: string, message: string, ...args: unknown[]): void;
184
+ /**
185
+ * Logs a message at the error level.
186
+ *
187
+ * @param logLocation - The module or component identifier.
188
+ * @param message - The log message or Error object.
189
+ * @param args - Additional arguments forwarded in the log event.
190
+ * @returns Nothing.
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * logger.error('MyModule', new Error('Something failed'))
195
+ * ```
196
+ */
197
+ error(logLocation: string, message: string | Error, ...args: unknown[]): void;
198
+ /**
199
+ * Logs a message at the fatal level.
200
+ *
201
+ * @param logLocation - The module or component identifier.
202
+ * @param message - The log message or Error object.
203
+ * @param args - Additional arguments forwarded in the log event.
204
+ * @returns Nothing.
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * logger.fatal('MyModule', new Error('Unrecoverable failure'))
209
+ * ```
210
+ */
211
+ fatal(logLocation: string, message: string | Error, ...args: unknown[]): void;
212
+ private emit;
213
+ private onLogEvent;
214
+ }
215
+ export { Logger }
216
+ export default Logger;
217
+
218
+ /**
219
+ * Shared singleton {@link Logger} instance used across the SDK.
220
+ *
221
+ * @public
222
+ */
223
+ export declare const logger: Logger;
224
+
225
+ /**
226
+ * Supported log levels ordered from highest to lowest severity.
227
+ *
228
+ * @public
229
+ */
230
+ export declare type LogLevels = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'log';
231
+
232
+ /**
233
+ * Numeric severity map used for log-level threshold comparisons.
234
+ *
235
+ * @public
236
+ */
237
+ export declare const logLevelSeverity: Readonly<Record<LogLevels, number>>;
238
+
239
+ /**
240
+ * Abstract base class for log sinks that receive and process log events.
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * class MyCustomSink extends LogSink {
245
+ * name = 'MyCustomSink'
246
+ *
247
+ * ingest(event: LogEvent): void {
248
+ * // process the event
249
+ * }
250
+ * }
251
+ * ```
252
+ *
253
+ * @public
254
+ */
255
+ export declare abstract class LogSink {
256
+ /** Display name used to identify this sink for addition and removal. */
257
+ abstract name: string;
258
+ /**
259
+ * Processes an incoming log event.
260
+ *
261
+ * @param event - The log event to process.
262
+ * @returns Nothing.
263
+ */
264
+ abstract ingest(event: LogEvent): void;
265
+ }
266
+
267
+ /**
268
+ * A location-scoped logger interface whose methods omit the `logLocation` parameter.
269
+ *
270
+ * @public
271
+ */
272
+ export declare interface ScopedLogger {
273
+ /** Logs at debug level. */
274
+ debug: (message: string, ...args: unknown[]) => void;
275
+ /** Logs at info level. */
276
+ info: (message: string, ...args: unknown[]) => void;
277
+ /** Logs at log level. */
278
+ log: (message: string, ...args: unknown[]) => void;
279
+ /** Logs at warn level. */
280
+ warn: (message: string, ...args: unknown[]) => void;
281
+ /** Logs at error level. */
282
+ error: (message: string | Error, ...args: unknown[]) => void;
283
+ /** Logs at fatal level. */
284
+ fatal: (message: string | Error, ...args: unknown[]) => void;
285
+ }
286
+
287
+ export { }
@@ -0,0 +1,287 @@
1
+ /**
2
+ * A {@link LogSink} that writes log events to the browser or Node.js console,
3
+ * filtering by a configurable verbosity threshold.
4
+ *
5
+ * @example
6
+ * ```typescript
7
+ * import { logger, ConsoleLogSink } from '@contentful/optimization-api-client/logger'
8
+ *
9
+ * logger.addSink(new ConsoleLogSink('debug'))
10
+ * ```
11
+ *
12
+ * @public
13
+ */
14
+ export declare class ConsoleLogSink extends LogSink {
15
+ /** Identifies this sink when registered with the {@link Logger}. */
16
+ name: string;
17
+ /**
18
+ * Minimum log level required for events to be output.
19
+ *
20
+ * @defaultValue 'error'
21
+ */
22
+ readonly verbosity: LogLevels;
23
+ /**
24
+ * Creates a new ConsoleLogSink.
25
+ *
26
+ * @param verbosity - Minimum log level to output.
27
+ */
28
+ constructor(verbosity?: LogLevels);
29
+ /**
30
+ * Writes a log event to the console if its level meets the verbosity threshold.
31
+ *
32
+ * @param event - The log event to process.
33
+ * @returns Nothing.
34
+ */
35
+ ingest(event: LogEvent): void;
36
+ }
37
+
38
+ /**
39
+ * Creates a {@link ScopedLogger} that automatically prepends the given location to every log call.
40
+ *
41
+ * @param location - The module or component identifier to prepend.
42
+ * @returns A {@link ScopedLogger} bound to the specified location.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * import { createScopedLogger } from '@contentful/optimization-api-client/logger'
47
+ *
48
+ * const log = createScopedLogger('MyModule')
49
+ * log.info('Initialization complete')
50
+ * ```
51
+ *
52
+ * @public
53
+ */
54
+ export declare function createScopedLogger(location: string): ScopedLogger;
55
+
56
+ /**
57
+ * A log event emitted by the logger package.
58
+ *
59
+ * @public
60
+ */
61
+ export declare interface LogEvent {
62
+ /** Logger scope name. */
63
+ name: string;
64
+ /** Event severity level. */
65
+ level: LogLevels;
66
+ /** Event payload, where the first entry is the formatted message. */
67
+ messages: unknown[];
68
+ /** Optional additional context attached by sinks or middleware. */
69
+ [other: string]: unknown;
70
+ }
71
+
72
+ /**
73
+ * Central logger that routes log events through registered {@link LogSink} instances.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * import { logger } from '@contentful/optimization-api-client/logger'
78
+ *
79
+ * logger.info('MyModule', 'Application started')
80
+ * ```
81
+ *
82
+ * @public
83
+ */
84
+ declare class Logger {
85
+ /** The logger's identifier, used as the event scope name. */
86
+ readonly name = "@contentful/optimization";
87
+ private readonly PREFIX_PARTS;
88
+ private readonly DELIMITER;
89
+ private sinks;
90
+ private assembleLocationPrefix;
91
+ /**
92
+ * Registers a log sink. If a sink with the same name already exists, it is replaced.
93
+ *
94
+ * @param sink - The {@link LogSink} instance to register.
95
+ * @returns Nothing.
96
+ *
97
+ * @example
98
+ * ```typescript
99
+ * import { logger, ConsoleLogSink } from '@contentful/optimization-api-client/logger'
100
+ *
101
+ * logger.addSink(new ConsoleLogSink('debug'))
102
+ * ```
103
+ */
104
+ addSink(sink: LogSink): void;
105
+ /**
106
+ * Removes a registered sink by name.
107
+ *
108
+ * @param name - The name of the sink to remove.
109
+ * @returns Nothing.
110
+ *
111
+ * @example
112
+ * ```typescript
113
+ * logger.removeSink('ConsoleLogSink')
114
+ * ```
115
+ */
116
+ removeSink(name: string): void;
117
+ /**
118
+ * Removes all registered sinks.
119
+ *
120
+ * @returns Nothing.
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * logger.removeSinks()
125
+ * ```
126
+ */
127
+ removeSinks(): void;
128
+ /**
129
+ * Logs a message at the debug level.
130
+ *
131
+ * @param logLocation - The module or component identifier.
132
+ * @param message - The log message.
133
+ * @param args - Additional arguments forwarded in the log event.
134
+ * @returns Nothing.
135
+ *
136
+ * @example
137
+ * ```typescript
138
+ * logger.debug('MyModule', 'Debugging value', someVariable)
139
+ * ```
140
+ */
141
+ debug(logLocation: string, message: string, ...args: unknown[]): void;
142
+ /**
143
+ * Logs a message at the info level.
144
+ *
145
+ * @param logLocation - The module or component identifier.
146
+ * @param message - The log message.
147
+ * @param args - Additional arguments forwarded in the log event.
148
+ * @returns Nothing.
149
+ *
150
+ * @example
151
+ * ```typescript
152
+ * logger.info('MyModule', 'Operation completed')
153
+ * ```
154
+ */
155
+ info(logLocation: string, message: string, ...args: unknown[]): void;
156
+ /**
157
+ * Logs a message at the log level.
158
+ *
159
+ * @param logLocation - The module or component identifier.
160
+ * @param message - The log message.
161
+ * @param args - Additional arguments forwarded in the log event.
162
+ * @returns Nothing.
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * logger.log('MyModule', 'General log entry')
167
+ * ```
168
+ */
169
+ log(logLocation: string, message: string, ...args: unknown[]): void;
170
+ /**
171
+ * Logs a message at the warn level.
172
+ *
173
+ * @param logLocation - The module or component identifier.
174
+ * @param message - The log message.
175
+ * @param args - Additional arguments forwarded in the log event.
176
+ * @returns Nothing.
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * logger.warn('MyModule', 'Deprecated method called')
181
+ * ```
182
+ */
183
+ warn(logLocation: string, message: string, ...args: unknown[]): void;
184
+ /**
185
+ * Logs a message at the error level.
186
+ *
187
+ * @param logLocation - The module or component identifier.
188
+ * @param message - The log message or Error object.
189
+ * @param args - Additional arguments forwarded in the log event.
190
+ * @returns Nothing.
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * logger.error('MyModule', new Error('Something failed'))
195
+ * ```
196
+ */
197
+ error(logLocation: string, message: string | Error, ...args: unknown[]): void;
198
+ /**
199
+ * Logs a message at the fatal level.
200
+ *
201
+ * @param logLocation - The module or component identifier.
202
+ * @param message - The log message or Error object.
203
+ * @param args - Additional arguments forwarded in the log event.
204
+ * @returns Nothing.
205
+ *
206
+ * @example
207
+ * ```typescript
208
+ * logger.fatal('MyModule', new Error('Unrecoverable failure'))
209
+ * ```
210
+ */
211
+ fatal(logLocation: string, message: string | Error, ...args: unknown[]): void;
212
+ private emit;
213
+ private onLogEvent;
214
+ }
215
+ export { Logger }
216
+ export default Logger;
217
+
218
+ /**
219
+ * Shared singleton {@link Logger} instance used across the SDK.
220
+ *
221
+ * @public
222
+ */
223
+ export declare const logger: Logger;
224
+
225
+ /**
226
+ * Supported log levels ordered from highest to lowest severity.
227
+ *
228
+ * @public
229
+ */
230
+ export declare type LogLevels = 'fatal' | 'error' | 'warn' | 'info' | 'debug' | 'log';
231
+
232
+ /**
233
+ * Numeric severity map used for log-level threshold comparisons.
234
+ *
235
+ * @public
236
+ */
237
+ export declare const logLevelSeverity: Readonly<Record<LogLevels, number>>;
238
+
239
+ /**
240
+ * Abstract base class for log sinks that receive and process log events.
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * class MyCustomSink extends LogSink {
245
+ * name = 'MyCustomSink'
246
+ *
247
+ * ingest(event: LogEvent): void {
248
+ * // process the event
249
+ * }
250
+ * }
251
+ * ```
252
+ *
253
+ * @public
254
+ */
255
+ export declare abstract class LogSink {
256
+ /** Display name used to identify this sink for addition and removal. */
257
+ abstract name: string;
258
+ /**
259
+ * Processes an incoming log event.
260
+ *
261
+ * @param event - The log event to process.
262
+ * @returns Nothing.
263
+ */
264
+ abstract ingest(event: LogEvent): void;
265
+ }
266
+
267
+ /**
268
+ * A location-scoped logger interface whose methods omit the `logLocation` parameter.
269
+ *
270
+ * @public
271
+ */
272
+ export declare interface ScopedLogger {
273
+ /** Logs at debug level. */
274
+ debug: (message: string, ...args: unknown[]) => void;
275
+ /** Logs at info level. */
276
+ info: (message: string, ...args: unknown[]) => void;
277
+ /** Logs at log level. */
278
+ log: (message: string, ...args: unknown[]) => void;
279
+ /** Logs at warn level. */
280
+ warn: (message: string, ...args: unknown[]) => void;
281
+ /** Logs at error level. */
282
+ error: (message: string | Error, ...args: unknown[]) => void;
283
+ /** Logs at fatal level. */
284
+ fatal: (message: string | Error, ...args: unknown[]) => void;
285
+ }
286
+
287
+ export { }