@securitydept/client 0.2.0 → 0.3.0-beta.10

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 (59) hide show
  1. package/README.md +6 -0
  2. package/dist/create-i5VyYgN6.mjs +989 -0
  3. package/dist/create-i5VyYgN6.mjs.map +1 -0
  4. package/dist/handle-DwMgqe7R.mjs +638 -0
  5. package/dist/handle-DwMgqe7R.mjs.map +1 -0
  6. package/dist/index-Bo1BtjZH.d.mts +132 -0
  7. package/dist/index-CFAJ969E.d.mts +674 -0
  8. package/dist/index-CbeZ3AfB.d.mts +1680 -0
  9. package/dist/index.d.mts +3 -353
  10. package/dist/index.mjs +1196 -401
  11. package/dist/index.mjs.map +1 -1
  12. package/dist/router-at5bTdJQ.mjs +245 -0
  13. package/dist/router-at5bTdJQ.mjs.map +1 -0
  14. package/dist/rx/index.d.mts +68 -0
  15. package/dist/rx/index.mjs +2 -0
  16. package/dist/rx-DM6Ouv-m.mjs +1119 -0
  17. package/dist/rx-DM6Ouv-m.mjs.map +1 -0
  18. package/dist/server/index.d.mts +20 -0
  19. package/dist/server/index.mjs +29 -0
  20. package/dist/server/index.mjs.map +1 -0
  21. package/dist/test/index.d.mts +101 -0
  22. package/dist/test/index.mjs +270 -0
  23. package/dist/test/index.mjs.map +1 -0
  24. package/dist/uri-string-BPNbIMgv.mjs +300 -0
  25. package/dist/uri-string-BPNbIMgv.mjs.map +1 -0
  26. package/dist/web/index.d.mts +82 -337
  27. package/dist/web/index.mjs +334 -337
  28. package/dist/web/index.mjs.map +1 -1
  29. package/dist/webext/index.d.mts +73 -0
  30. package/dist/webext/index.mjs +231 -0
  31. package/dist/webext/index.mjs.map +1 -0
  32. package/package.json +28 -21
  33. package/dist/auth-coordination/index.d.mts +0 -198
  34. package/dist/auth-coordination/index.mjs +0 -107
  35. package/dist/auth-coordination/index.mjs.map +0 -1
  36. package/dist/events/index.d.mts +0 -2
  37. package/dist/events/index.mjs +0 -2
  38. package/dist/events-BUlfsRfl.mjs +0 -127
  39. package/dist/events-BUlfsRfl.mjs.map +0 -1
  40. package/dist/fetch-transport-Bd5RyWj2.d.mts +0 -339
  41. package/dist/fetch-transport-DtnSRWAH.mjs +0 -631
  42. package/dist/fetch-transport-DtnSRWAH.mjs.map +0 -1
  43. package/dist/index-C_wgl6dW.d.mts +0 -102
  44. package/dist/index-DbYSFHDe.d.mts +0 -39
  45. package/dist/persistence/index.d.mts +0 -3
  46. package/dist/persistence/index.mjs +0 -2
  47. package/dist/persistence/web/index.d.mts +0 -16
  48. package/dist/persistence/web/index.mjs +0 -51
  49. package/dist/persistence/web/index.mjs.map +0 -1
  50. package/dist/persistence-CSB8770k.mjs +0 -108
  51. package/dist/persistence-CSB8770k.mjs.map +0 -1
  52. package/dist/planner-host-CPyGNyQV.d.mts +0 -190
  53. package/dist/planner-host-CV38bMSn.mjs +0 -195
  54. package/dist/planner-host-CV38bMSn.mjs.map +0 -1
  55. package/dist/types-C59fcM5W.d.mts +0 -52
  56. package/dist/types-DQc088ZP.d.mts +0 -32
  57. package/dist/web-router/index.d.mts +0 -259
  58. package/dist/web-router/index.mjs +0 -395
  59. package/dist/web-router/index.mjs.map +0 -1
@@ -1,339 +0,0 @@
1
- import { n as ReadableSignalTrait } from "./types-DQc088ZP.mjs";
2
- import { a as RecordStore } from "./types-C59fcM5W.mjs";
3
-
4
- //#region src/cancellation/types.d.ts
5
- /** Disposable resource handle. */
6
- interface DisposableTrait {
7
- dispose(): void;
8
- }
9
- /** Cancelable operation handle. */
10
- interface CancelableHandle$1 {
11
- cancel(): void;
12
- }
13
- /** Cooperative cancellation token — consumers check / subscribe to cancellation. */
14
- interface CancellationTokenTrait {
15
- readonly isCancellationRequested: boolean;
16
- readonly reason?: unknown;
17
- onCancellationRequested(listener: (reason: unknown) => void): DisposableTrait;
18
- throwIfCancellationRequested(): void;
19
- }
20
- /** Cancellation source — producer-side control. */
21
- interface CancellationTokenSourceTrait extends DisposableTrait {
22
- readonly token: CancellationTokenTrait;
23
- cancel(reason?: unknown): void;
24
- }
25
- //#endregion
26
- //#region src/logging/types.d.ts
27
- declare const LogLevel: {
28
- readonly Debug: "debug";
29
- readonly Info: "info";
30
- readonly Warn: "warn";
31
- readonly Error: "error";
32
- };
33
- type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
34
- interface LogEntry {
35
- level: LogLevel;
36
- message: string;
37
- scope?: string;
38
- code?: string;
39
- attributes?: Record<string, unknown>;
40
- error?: unknown;
41
- at?: number;
42
- }
43
- interface LoggerTrait {
44
- log(entry: LogEntry): void;
45
- }
46
- declare const OperationTraceEventType: {
47
- readonly Started: "operation.started";
48
- readonly Event: "operation.event";
49
- readonly Error: "operation.error";
50
- readonly Ended: "operation.ended";
51
- };
52
- type OperationTraceEventType = (typeof OperationTraceEventType)[keyof typeof OperationTraceEventType];
53
- interface TraceEvent {
54
- type: string;
55
- at: number;
56
- scope?: string;
57
- operationId?: string;
58
- source?: string;
59
- attributes?: Record<string, unknown>;
60
- }
61
- interface TraceEventSinkTrait {
62
- record(event: TraceEvent): void;
63
- }
64
- interface OperationScope {
65
- id: string;
66
- addEvent(type: string, attributes?: Record<string, unknown>): void;
67
- setAttribute(key: string, value: unknown): void;
68
- recordError(error: unknown, attributes?: Record<string, unknown>): void;
69
- end(attributes?: Record<string, unknown>): void;
70
- }
71
- interface OperationTracerTrait {
72
- startOperation(name: string, attributes?: Record<string, unknown>): OperationScope;
73
- }
74
- //#endregion
75
- //#region src/scheduling/types.d.ts
76
- /** Wall clock abstraction — injectable for testing. */
77
- interface Clock {
78
- /** Return current epoch milliseconds. */
79
- now(): number;
80
- }
81
- /** Cancelable scheduled task handle. */
82
- interface CancelableHandle {
83
- cancel(): void;
84
- }
85
- /** Scheduler abstraction — decoupled from platform timers. */
86
- interface Scheduler {
87
- setTimeout(delayMs: number, fn: () => void): CancelableHandle;
88
- }
89
- //#endregion
90
- //#region src/transport/types.d.ts
91
- /** Neutral HTTP request representation. */
92
- interface HttpRequest {
93
- url: string;
94
- method: string;
95
- headers: Record<string, string>;
96
- body?: unknown;
97
- cancellationToken?: CancellationTokenTrait;
98
- }
99
- /** Neutral HTTP response representation. */
100
- interface HttpResponse {
101
- status: number;
102
- headers: Record<string, string>;
103
- body?: unknown;
104
- }
105
- /** Transport protocol — decoupled from any specific HTTP client. */
106
- interface HttpTransport {
107
- execute(request: HttpRequest): Promise<HttpResponse>;
108
- }
109
- //#endregion
110
- //#region src/runtime/types.d.ts
111
- /**
112
- * Runtime capability bundle — injected into auth context clients
113
- * via explicit wiring at composition root.
114
- *
115
- * All capabilities are optional except `transport`.
116
- * Missing capabilities use no-op defaults where applicable.
117
- * `createRuntime()` is a convenience helper for common setups;
118
- * callers can also wire this interface directly.
119
- */
120
- interface ClientRuntime {
121
- transport: HttpTransport;
122
- scheduler: Scheduler;
123
- clock: Clock;
124
- logger?: LoggerTrait;
125
- traceSink?: TraceEventSinkTrait;
126
- operationTracer?: OperationTracerTrait;
127
- /** Optional persistent storage backing. */
128
- persistentStore?: RecordStore;
129
- /** Optional session-scoped storage backing. */
130
- sessionStore?: RecordStore;
131
- }
132
- //#endregion
133
- //#region src/scheduling/helpers.d.ts
134
- /** Subscription handle returned by input-source adapters. */
135
- interface Subscription {
136
- /** Unsubscribe and release resources. */
137
- unsubscribe(): void;
138
- }
139
- interface FromSignalOptions<T> {
140
- /** Signal to observe. */
141
- signal: ReadableSignalTrait<T>;
142
- /** Callback invoked when the signal value changes. */
143
- callback: (value: T) => void;
144
- /**
145
- * Emit the current snapshot immediately after subscription.
146
- * Defaults to `false`.
147
- */
148
- emitInitialValue?: boolean;
149
- }
150
- declare const PromiseSettlementKind: {
151
- readonly Fulfilled: "fulfilled";
152
- readonly Rejected: "rejected";
153
- };
154
- type PromiseSettlementKind = (typeof PromiseSettlementKind)[keyof typeof PromiseSettlementKind];
155
- type PromiseSettlement<T> = {
156
- kind: typeof PromiseSettlementKind.Fulfilled;
157
- value: T;
158
- } | {
159
- kind: typeof PromiseSettlementKind.Rejected;
160
- reason: unknown;
161
- };
162
- interface FromPromiseOptions<T> {
163
- /** Promise-like source to observe. */
164
- promise: PromiseLike<T>;
165
- /** Callback invoked when the promise settles. */
166
- callback: (settlement: PromiseSettlement<T>) => void;
167
- }
168
- /** Options for {@link timer}. */
169
- interface TimerOptions {
170
- /** Scheduler to use (platform default if omitted). */
171
- scheduler: Scheduler;
172
- /** Delay in milliseconds. */
173
- delayMs: number;
174
- /** Callback to invoke after the delay. */
175
- callback: () => void;
176
- }
177
- /**
178
- * Schedule a one-shot callback after a delay.
179
- *
180
- * Returns a {@link CancelableHandle} that can cancel the pending timer.
181
- *
182
- * @example
183
- * ```ts
184
- * const handle = timer({
185
- * scheduler: runtime.scheduler,
186
- * delayMs: 5000,
187
- * callback: () => console.log("fired"),
188
- * });
189
- * // Cancel before it fires:
190
- * handle.cancel();
191
- * ```
192
- */
193
- declare function timer(options: TimerOptions): CancelableHandle;
194
- /** Options for {@link interval}. */
195
- interface IntervalOptions {
196
- /** Scheduler to use. */
197
- scheduler: Scheduler;
198
- /** Interval period in milliseconds. */
199
- periodMs: number;
200
- /** Callback to invoke on each tick. */
201
- callback: () => void;
202
- }
203
- /**
204
- * Schedule a repeating callback at a fixed interval.
205
- *
206
- * Built on top of `Scheduler.setTimeout` so it works with deterministic
207
- * test schedulers. Returns a {@link CancelableHandle} to stop the interval.
208
- *
209
- * @example
210
- * ```ts
211
- * const handle = interval({
212
- * scheduler: runtime.scheduler,
213
- * periodMs: 30_000,
214
- * callback: () => refreshTokens(),
215
- * });
216
- * // Stop:
217
- * handle.cancel();
218
- * ```
219
- */
220
- declare function interval(options: IntervalOptions): CancelableHandle;
221
- /** Options for {@link scheduleAt}. */
222
- interface ScheduleAtOptions {
223
- /** Scheduler to use. */
224
- scheduler: Scheduler;
225
- /** Clock to use for computing the delay. */
226
- clock: Clock;
227
- /** Target epoch milliseconds at which the callback should fire. */
228
- atMs: number;
229
- /** Callback to invoke at (or after) the target time. */
230
- callback: () => void;
231
- }
232
- /**
233
- * Schedule a callback at a specific wall-clock time.
234
- *
235
- * Computes the delay from `clock.now()` to `atMs` and delegates to
236
- * `Scheduler.setTimeout`. If the target time is already in the past,
237
- * the callback fires on the next scheduler tick (delay 0).
238
- *
239
- * @example
240
- * ```ts
241
- * const handle = scheduleAt({
242
- * scheduler: runtime.scheduler,
243
- * clock: runtime.clock,
244
- * atMs: tokenExpiresAtMs - 30_000,
245
- * callback: () => refreshToken(),
246
- * });
247
- * ```
248
- */
249
- declare function scheduleAt(options: ScheduleAtOptions): CancelableHandle;
250
- /**
251
- * Adapt an SDK signal into the shared {@link Subscription} callback model.
252
- *
253
- * @example
254
- * ```ts
255
- * const sub = fromSignal({
256
- * signal: authState,
257
- * callback: (snapshot) => console.log(snapshot),
258
- * });
259
- * sub.unsubscribe();
260
- * ```
261
- */
262
- declare function fromSignal<T>(options: FromSignalOptions<T>): Subscription;
263
- /**
264
- * Adapt a promise settlement into the shared {@link Subscription} callback model.
265
- *
266
- * This helper is intentionally thin: it reports one settlement and lets the
267
- * consumer decide how to model pending/fulfilled/error state.
268
- *
269
- * @example
270
- * ```ts
271
- * const sub = fromPromise({
272
- * promise: fetchConfig(),
273
- * callback: (settlement) => {
274
- * if (settlement.kind === PromiseSettlementKind.Fulfilled) {
275
- * console.log(settlement.value);
276
- * }
277
- * },
278
- * });
279
- * sub.unsubscribe();
280
- * ```
281
- */
282
- declare function fromPromise<T>(options: FromPromiseOptions<T>): Subscription;
283
- /** Options for {@link fromEventPattern}. */
284
- interface FromEventPatternOptions<T> {
285
- /**
286
- * Called to install the event listener. Should return whatever handle
287
- * is needed by `removeHandler` to unsubscribe.
288
- */
289
- addHandler: (handler: (value: T) => void) => void;
290
- /**
291
- * Called to uninstall the event listener.
292
- */
293
- removeHandler: (handler: (value: T) => void) => void;
294
- /** Callback invoked each time the event fires. */
295
- callback: (value: T) => void;
296
- }
297
- /**
298
- * Adapt an arbitrary add/remove event pattern into a {@link Subscription}.
299
- *
300
- * This is a thin bridge between imperative event APIs (e.g. `addEventListener`
301
- * / `removeEventListener`) and the SDK's subscription model.
302
- *
303
- * @example
304
- * ```ts
305
- * const sub = fromEventPattern<Event>({
306
- * addHandler: (h) => document.addEventListener("visibilitychange", h),
307
- * removeHandler: (h) => document.removeEventListener("visibilitychange", h),
308
- * callback: () => onVisibilityChange(),
309
- * });
310
- * // Cleanup:
311
- * sub.unsubscribe();
312
- * ```
313
- */
314
- declare function fromEventPattern<T>(options: FromEventPatternOptions<T>): Subscription;
315
- //#endregion
316
- //#region src/transport/fetch-transport.d.ts
317
- declare const FetchTransportRedirectKind: {
318
- readonly Follow: "follow";
319
- readonly Manual: "manual";
320
- };
321
- type FetchTransportRedirectKind = (typeof FetchTransportRedirectKind)[keyof typeof FetchTransportRedirectKind];
322
- interface FetchTransportOptions {
323
- /**
324
- * How to handle HTTP redirects.
325
- * - `"follow"`: automatically follow redirects (default fetch behavior)
326
- * - `"manual"`: capture redirect responses as-is (needed for fragment-based protocols)
327
- */
328
- redirect?: FetchTransportRedirectKind;
329
- }
330
- /**
331
- * Default `HttpTransport` backed by the global `fetch` API.
332
- *
333
- * The caller is responsible for ensuring `fetch` is available in the runtime.
334
- * No polyfill is injected — see the polyfill strategy in the design guide.
335
- */
336
- declare function createFetchTransport(options?: FetchTransportOptions): HttpTransport;
337
- //#endregion
338
- export { OperationTraceEventType as A, CancelableHandle as C, LogLevel as D, LogEntry as E, CancellationTokenSourceTrait as F, CancellationTokenTrait as I, DisposableTrait as L, TraceEvent as M, TraceEventSinkTrait as N, LoggerTrait as O, CancelableHandle$1 as P, HttpTransport as S, Scheduler as T, scheduleAt as _, FromPromiseOptions as a, HttpRequest as b, PromiseSettlement as c, Subscription as d, TimerOptions as f, interval as g, fromSignal as h, FromEventPatternOptions as i, OperationTracerTrait as j, OperationScope as k, PromiseSettlementKind as l, fromPromise as m, FetchTransportRedirectKind as n, FromSignalOptions as o, fromEventPattern as p, createFetchTransport as r, IntervalOptions as s, FetchTransportOptions as t, ScheduleAtOptions as u, timer as v, Clock as w, HttpResponse as x, ClientRuntime as y };
339
- //# sourceMappingURL=fetch-transport-Bd5RyWj2.d.mts.map