@authticon/client 0.0.0-beta2 → 0.0.0-beta21

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 (95) hide show
  1. package/dist/Acccount.d.ts +9 -0
  2. package/dist/Acccount.d.ts.map +1 -0
  3. package/dist/Acccount.js +22 -0
  4. package/dist/Acccount.js.map +1 -0
  5. package/dist/Auth.d.ts +7 -15
  6. package/dist/Auth.d.ts.map +1 -1
  7. package/dist/Auth.js +15 -24
  8. package/dist/Auth.js.map +1 -1
  9. package/dist/Authticon.d.ts +129 -11
  10. package/dist/Authticon.d.ts.map +1 -1
  11. package/dist/Authticon.js +86 -1
  12. package/dist/Authticon.js.map +1 -1
  13. package/dist/Challange.d.ts +8 -0
  14. package/dist/Challange.d.ts.map +1 -0
  15. package/dist/Challange.js +24 -0
  16. package/dist/Challange.js.map +1 -0
  17. package/dist/CookieStorageAdapter.d.ts +14 -0
  18. package/dist/CookieStorageAdapter.d.ts.map +1 -0
  19. package/dist/CookieStorageAdapter.js +43 -0
  20. package/dist/CookieStorageAdapter.js.map +1 -0
  21. package/dist/CookieStorageAdapter.test.d.ts +2 -0
  22. package/dist/CookieStorageAdapter.test.d.ts.map +1 -0
  23. package/dist/CookieStorageAdapter.test.js +137 -0
  24. package/dist/CookieStorageAdapter.test.js.map +1 -0
  25. package/dist/InMemoryCacheAdapter.d.ts +3 -0
  26. package/dist/InMemoryCacheAdapter.d.ts.map +1 -0
  27. package/dist/InMemoryCacheAdapter.js +13 -0
  28. package/dist/InMemoryCacheAdapter.js.map +1 -0
  29. package/dist/InMemoryCacheAdapter.test.d.ts +2 -0
  30. package/dist/InMemoryCacheAdapter.test.d.ts.map +1 -0
  31. package/dist/InMemoryCacheAdapter.test.js +38 -0
  32. package/dist/InMemoryCacheAdapter.test.js.map +1 -0
  33. package/dist/Session.d.ts +10 -0
  34. package/dist/Session.d.ts.map +1 -0
  35. package/dist/Session.js +16 -0
  36. package/dist/Session.js.map +1 -0
  37. package/dist/TokenManager.d.ts +15 -8
  38. package/dist/TokenManager.d.ts.map +1 -1
  39. package/dist/TokenManager.js +23 -22
  40. package/dist/TokenManager.js.map +1 -1
  41. package/dist/TokenManager.test.js +15 -27
  42. package/dist/TokenManager.test.js.map +1 -1
  43. package/dist/TokenStorage.d.ts +14 -2
  44. package/dist/TokenStorage.d.ts.map +1 -1
  45. package/dist/TokenStorage.js +69 -11
  46. package/dist/TokenStorage.js.map +1 -1
  47. package/dist/TokenStorage.test.js +70 -4
  48. package/dist/TokenStorage.test.js.map +1 -1
  49. package/dist/TokenVerifier.d.ts +7 -5
  50. package/dist/TokenVerifier.d.ts.map +1 -1
  51. package/dist/TokenVerifier.js +36 -15
  52. package/dist/TokenVerifier.js.map +1 -1
  53. package/dist/TokenVerifier.test.js +22 -0
  54. package/dist/TokenVerifier.test.js.map +1 -1
  55. package/dist/TwoFa.d.ts +26 -0
  56. package/dist/TwoFa.d.ts.map +1 -0
  57. package/dist/TwoFa.js +55 -0
  58. package/dist/TwoFa.js.map +1 -0
  59. package/dist/User.d.ts +25 -0
  60. package/dist/User.d.ts.map +1 -0
  61. package/dist/User.js +27 -0
  62. package/dist/User.js.map +1 -0
  63. package/dist/Users.d.ts +3 -3
  64. package/dist/Users.d.ts.map +1 -1
  65. package/dist/Users.js +7 -6
  66. package/dist/Users.js.map +1 -1
  67. package/dist/errors.d.ts +22 -0
  68. package/dist/errors.d.ts.map +1 -0
  69. package/dist/errors.js +40 -0
  70. package/dist/errors.js.map +1 -0
  71. package/dist/errors.test.d.ts +2 -0
  72. package/dist/errors.test.d.ts.map +1 -0
  73. package/dist/errors.test.js +99 -0
  74. package/dist/errors.test.js.map +1 -0
  75. package/dist/generated/index.d.ts +2 -2
  76. package/dist/generated/index.d.ts.map +1 -1
  77. package/dist/generated/index.js +1 -1
  78. package/dist/generated/index.js.map +1 -1
  79. package/dist/generated/sdk.gen.d.ts +15 -24
  80. package/dist/generated/sdk.gen.d.ts.map +1 -1
  81. package/dist/generated/sdk.gen.js +56 -121
  82. package/dist/generated/sdk.gen.js.map +1 -1
  83. package/dist/generated/types.gen.d.ts +270 -600
  84. package/dist/generated/types.gen.d.ts.map +1 -1
  85. package/dist/index.d.ts +5 -1
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +4 -1
  88. package/dist/index.js.map +1 -1
  89. package/dist/types.d.ts +23 -3
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/user.d.ts +54 -0
  92. package/dist/user.d.ts.map +1 -0
  93. package/dist/user.js +55 -0
  94. package/dist/user.js.map +1 -0
  95. package/package.json +4 -1
@@ -0,0 +1,137 @@
1
+ import { describe, it, expect, beforeEach } from "vitest";
2
+ import { CookieStorageAdapter, createCookieStorageAdapter, } from "./CookieStorageAdapter.js";
3
+ const defaultSetOptions = {
4
+ path: "/",
5
+ secure: true,
6
+ sameSite: "Lax",
7
+ maxAge: 900,
8
+ };
9
+ const makeRequest = (cookieHeader) => new Request("http://localhost", {
10
+ headers: cookieHeader ? { Cookie: cookieHeader } : {},
11
+ });
12
+ describe("CookieStorageAdapter", () => {
13
+ let adapter;
14
+ beforeEach(() => {
15
+ adapter = new CookieStorageAdapter(makeRequest("foo=bar; token=abc123"));
16
+ });
17
+ describe("get", () => {
18
+ it("should return the value of an existing cookie", () => {
19
+ expect(adapter.get("foo")).toBe("bar");
20
+ expect(adapter.get("token")).toBe("abc123");
21
+ });
22
+ it("should return null for a missing cookie", () => {
23
+ expect(adapter.get("nonexistent")).toBeNull();
24
+ });
25
+ it("should handle empty cookie string", () => {
26
+ const empty = new CookieStorageAdapter(makeRequest(""));
27
+ expect(empty.get("anything")).toBeNull();
28
+ });
29
+ });
30
+ describe("set", () => {
31
+ it("should make new cookie visible via get", () => {
32
+ adapter.set("new_cookie", "val", defaultSetOptions);
33
+ expect(adapter.get("new_cookie")).toBe("val");
34
+ });
35
+ it("should not overwrite request cookies in get", () => {
36
+ adapter.set("foo", "baz", defaultSetOptions);
37
+ expect(adapter.get("foo")).toBe("bar");
38
+ });
39
+ it("should include the cookie in stringifySetCookies output", () => {
40
+ adapter.set("sid", "s1", defaultSetOptions);
41
+ const result = adapter.stringifySetCookies();
42
+ expect(result).toHaveLength(1);
43
+ const cookie = result[0];
44
+ expect(cookie).toContain("sid=s1");
45
+ expect(cookie).toContain("Path=/");
46
+ expect(cookie).toContain("Secure");
47
+ expect(cookie).toContain("SameSite=Lax");
48
+ expect(cookie).toContain("Max-Age=900");
49
+ });
50
+ it("should pass sameSite through to the underlying cookie lib", () => {
51
+ adapter.set("x", "1", { ...defaultSetOptions, sameSite: "Strict" });
52
+ const result = adapter.stringifySetCookies();
53
+ expect(result.some((c) => c.includes("SameSite=Strict"))).toBe(true);
54
+ });
55
+ });
56
+ describe("remove", () => {
57
+ it("should make get return null for the removed cookie", () => {
58
+ adapter.remove("foo");
59
+ expect(adapter.get("foo")).toBeNull();
60
+ });
61
+ it("should exclude removed cookie from stringifyCookies", () => {
62
+ adapter.remove("foo");
63
+ const result = adapter.stringifyCookies();
64
+ expect(result).not.toContain("foo=");
65
+ expect(result).toContain("token=abc123");
66
+ });
67
+ it("should exclude removed cookie from stringifySetCookies", () => {
68
+ adapter.set("foo", "new", defaultSetOptions);
69
+ adapter.remove("foo");
70
+ const result = adapter.stringifySetCookies();
71
+ expect(result.every((c) => !c.includes("foo="))).toBe(true);
72
+ });
73
+ it("should be a no-op for a nonexistent cookie", () => {
74
+ adapter.remove("ghost");
75
+ expect(adapter.get("foo")).toBe("bar");
76
+ expect(adapter.get("token")).toBe("abc123");
77
+ });
78
+ });
79
+ describe("stringifySetCookies", () => {
80
+ it("should return empty array when no cookies were set", () => {
81
+ expect(adapter.stringifySetCookies()).toEqual([]);
82
+ });
83
+ it("should return one entry per set cookie", () => {
84
+ adapter.set("a", "1", defaultSetOptions);
85
+ adapter.set("b", "2", defaultSetOptions);
86
+ const result = adapter.stringifySetCookies();
87
+ expect(result).toHaveLength(2);
88
+ expect(result[0]).toContain("a=1");
89
+ expect(result[1]).toContain("b=2");
90
+ });
91
+ });
92
+ describe("stringifyCookies", () => {
93
+ it("should serialize initial cookies", () => {
94
+ const result = adapter.stringifyCookies();
95
+ expect(result).toContain("foo=bar");
96
+ expect(result).toContain("token=abc123");
97
+ });
98
+ it("should not include cookies added via set", () => {
99
+ adapter.set("extra", "yes", defaultSetOptions);
100
+ expect(adapter.stringifyCookies()).not.toContain("extra=yes");
101
+ });
102
+ it("should return empty string for empty adapter", () => {
103
+ const empty = new CookieStorageAdapter(makeRequest(""));
104
+ expect(empty.stringifyCookies()).toBe("");
105
+ });
106
+ });
107
+ describe("applyToResponse", () => {
108
+ it("should set Cookie header on response", () => {
109
+ const response = new Response();
110
+ adapter.applyToResponse(response);
111
+ const cookieHeader = response.headers.get("Cookie");
112
+ expect(cookieHeader).toContain("foo=bar");
113
+ expect(cookieHeader).toContain("token=abc123");
114
+ });
115
+ it("should set Set-Cookie header when cookies were set", () => {
116
+ adapter.set("sid", "session1", defaultSetOptions);
117
+ const response = new Response();
118
+ adapter.applyToResponse(response);
119
+ const setCookieHeader = response.headers.get("Set-Cookie");
120
+ expect(setCookieHeader).toContain("sid=session1");
121
+ });
122
+ it("should not set Set-Cookie header when no cookies were set", () => {
123
+ const response = new Response();
124
+ adapter.applyToResponse(response);
125
+ expect(response.headers.has("Set-Cookie")).toBe(false);
126
+ });
127
+ });
128
+ });
129
+ describe("createCookieStorageAdapter", () => {
130
+ it("should return a CookieStorageAdapter instance", () => {
131
+ const request = makeRequest("key=value");
132
+ const adapter = createCookieStorageAdapter(request);
133
+ expect(adapter).toBeInstanceOf(CookieStorageAdapter);
134
+ expect(adapter.get("key")).toBe("value");
135
+ });
136
+ });
137
+ //# sourceMappingURL=CookieStorageAdapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CookieStorageAdapter.test.js","sourceRoot":"","sources":["../src/CookieStorageAdapter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CacheAdapter } from "./types.js";
2
+ export declare const createInMemoryCacheAdapter: () => CacheAdapter;
3
+ //# sourceMappingURL=InMemoryCacheAdapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCacheAdapter.d.ts","sourceRoot":"","sources":["../src/InMemoryCacheAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,eAAO,MAAM,0BAA0B,QAAO,YAY7C,CAAC"}
@@ -0,0 +1,13 @@
1
+ export const createInMemoryCacheAdapter = () => {
2
+ const store = new Map();
3
+ return {
4
+ get: (key) => store.get(key),
5
+ set: (key, value) => {
6
+ store.set(key, value);
7
+ },
8
+ delete: (key) => {
9
+ store.delete(key);
10
+ },
11
+ };
12
+ };
13
+ //# sourceMappingURL=InMemoryCacheAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCacheAdapter.js","sourceRoot":"","sources":["../src/InMemoryCacheAdapter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAiB,EAAE;IAC3D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEzC,OAAO;QACL,GAAG,EAAE,CAAI,GAAW,EAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB;QACvE,GAAG,EAAE,CAAI,GAAW,EAAE,KAAQ,EAAQ,EAAE;YACtC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,EAAE,CAAC,GAAW,EAAQ,EAAE;YAC5B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=InMemoryCacheAdapter.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCacheAdapter.test.d.ts","sourceRoot":"","sources":["../src/InMemoryCacheAdapter.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { createInMemoryCacheAdapter } from "./InMemoryCacheAdapter.js";
3
+ describe("InMemoryCacheAdapter", () => {
4
+ it("should return undefined for missing key", () => {
5
+ const cache = createInMemoryCacheAdapter();
6
+ expect(cache.get("missing")).toBeUndefined();
7
+ });
8
+ it("should store and retrieve a value", () => {
9
+ const cache = createInMemoryCacheAdapter();
10
+ cache.set("key", { data: 42 });
11
+ expect(cache.get("key")).toEqual({ data: 42 });
12
+ });
13
+ it("should overwrite existing value", () => {
14
+ const cache = createInMemoryCacheAdapter();
15
+ cache.set("key", "first");
16
+ cache.set("key", "second");
17
+ expect(cache.get("key")).toBe("second");
18
+ });
19
+ it("should delete a value", () => {
20
+ const cache = createInMemoryCacheAdapter();
21
+ cache.set("key", "value");
22
+ cache.delete("key");
23
+ expect(cache.get("key")).toBeUndefined();
24
+ });
25
+ it("should not throw when deleting a non-existent key", () => {
26
+ const cache = createInMemoryCacheAdapter();
27
+ expect(() => cache.delete("missing")).not.toThrow();
28
+ });
29
+ it("should isolate keys from each other", () => {
30
+ const cache = createInMemoryCacheAdapter();
31
+ cache.set("a", 1);
32
+ cache.set("b", 2);
33
+ cache.delete("a");
34
+ expect(cache.get("a")).toBeUndefined();
35
+ expect(cache.get("b")).toBe(2);
36
+ });
37
+ });
38
+ //# sourceMappingURL=InMemoryCacheAdapter.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InMemoryCacheAdapter.test.js","sourceRoot":"","sources":["../src/InMemoryCacheAdapter.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;QAE3C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;QAC3C,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAE/B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAmB,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE3B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC1B,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEpB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QAC3D,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;QAE3C,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,KAAK,GAAG,0BAA0B,EAAE,CAAC;QAC3C,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAElB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Client } from "./generated/client/index.js";
2
+ export declare class Session {
3
+ private readonly client;
4
+ constructor(client: Client);
5
+ completeTwoFaChallange(sessionId: string, code: string): Promise<{
6
+ accessToken: string;
7
+ rememberToken: string;
8
+ }>;
9
+ }
10
+ //# sourceMappingURL=Session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.d.ts","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG1D,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;CAQ7D"}
@@ -0,0 +1,16 @@
1
+ import { postApiV1SessionsBySessionIdChallangesTwoFa } from "./generated/index.js";
2
+ export class Session {
3
+ client;
4
+ constructor(client) {
5
+ this.client = client;
6
+ }
7
+ async completeTwoFaChallange(sessionId, code) {
8
+ const { data } = await postApiV1SessionsBySessionIdChallangesTwoFa({
9
+ client: this.client,
10
+ path: { sessionId },
11
+ body: { code },
12
+ });
13
+ return data;
14
+ }
15
+ }
16
+ //# sourceMappingURL=Session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Session.js","sourceRoot":"","sources":["../src/Session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,2CAA2C,EAAE,MAAM,sBAAsB,CAAC;AAEnF,MAAM,OAAO,OAAO;IACW;IAA7B,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE/C,KAAK,CAAC,sBAAsB,CAAC,SAAiB,EAAE,IAAY;QAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,2CAA2C,CAAC;YACjE,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,EAAE,SAAS,EAAE;YACnB,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
@@ -1,22 +1,29 @@
1
- import type { JWTPayload, TokenManagerOptions, TokenPair } from "./types.js";
1
+ import type { Logger } from "pino";
2
2
  import type { Client } from "./generated/client/index.js";
3
- export declare class TokenManager {
3
+ import type { AccessTokenPayload, TokenManagerOptions, TokenPair } from "./types.js";
4
+ export declare class TokenManager<Payload extends Record<string, any> = Record<string, any>> {
4
5
  private readonly client;
5
6
  private readonly verifier;
6
7
  private readonly storage;
7
- constructor(client: Client, options: TokenManagerOptions);
8
+ constructor(client: Client, options: TokenManagerOptions, logger?: Logger);
8
9
  private requireStorage;
9
- readonly verifyToken: (token: string) => Promise<JWTPayload>;
10
+ readonly verifyToken: (token?: string) => Promise<AccessTokenPayload<Payload>>;
10
11
  readonly clearKeyCache: () => void;
11
12
  readonly save: (tokens: TokenPair) => void;
13
+ readonly setAccessToken: (accessToken: string) => void;
14
+ readonly setRefreshToken: (refreshToken: string) => void;
15
+ readonly setRememberToken: (rememberToken: string) => void;
12
16
  readonly getAccessToken: () => string | null;
13
17
  readonly getRefreshToken: () => string | null;
18
+ readonly getRememberToken: () => string | null;
19
+ readonly getDeviceId: () => string | null;
20
+ readonly setDeviceId: (deviceId: string) => void;
14
21
  readonly getAll: () => TokenPair | null;
15
22
  readonly clear: () => void;
23
+ readonly clearAccessToken: () => void;
24
+ readonly clearRefreshToken: () => void;
25
+ readonly clearDeviceId: () => void;
26
+ readonly clearRememberToken: () => void;
16
27
  readonly hasStorage: () => boolean;
17
- readonly verifyStoredAccessToken: () => Promise<JWTPayload | null>;
18
- refreshAccessToken(refreshToken?: string): Promise<{
19
- accessToken: string;
20
- }>;
21
28
  }
22
29
  //# sourceMappingURL=TokenManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAE1D,qBAAa,YAAY;IAIX,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAEjB,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB;IAOzE,OAAO,CAAC,cAAc;IAStB,QAAQ,CAAC,WAAW,GAAU,OAAO,MAAM,KAAG,OAAO,CAAC,UAAU,CAAC,CAC9B;IAEnC,QAAQ,CAAC,aAAa,QAAO,IAAI,CAAkC;IAEnE,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CACJ;IAErC,QAAQ,CAAC,cAAc,QAAO,MAAM,GAAG,IAAI,CACF;IAEzC,QAAQ,CAAC,eAAe,QAAO,MAAM,GAAG,IAAI,CACF;IAE1C,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CACL;IAEjC,QAAQ,CAAC,KAAK,QAAO,IAAI,CAAkC;IAE3D,QAAQ,CAAC,UAAU,QAAO,OAAO,CAA0B;IAE3D,QAAQ,CAAC,uBAAuB,QAAa,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAIrE;IAEI,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM;;;CAS/C"}
1
+ {"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAG1D,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACV,MAAM,YAAY,CAAC;AAEpB,qBAAa,YAAY,CACvB,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMvD,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;gBAG3B,MAAM,EAAE,MAAM,EAC/B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,CAAC,EAAE,MAAM;IAiBjB,OAAO,CAAC,cAAc;IAStB,QAAQ,CAAC,WAAW,GAClB,QAAQ,MAAM,KACb,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAMrC;IAEF,QAAQ,CAAC,aAAa,QAAO,IAAI,CAAkC;IAEnE,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CACJ;IAErC,QAAQ,CAAC,cAAc,GAAI,aAAa,MAAM,KAAG,IAAI,CACD;IAEpD,QAAQ,CAAC,eAAe,GAAI,cAAc,MAAM,KAAG,IAAI,CACD;IAEtD,QAAQ,CAAC,gBAAgB,GAAI,eAAe,MAAM,KAAG,IAAI,CACD;IAExD,QAAQ,CAAC,cAAc,sBAAgD;IAEvE,QAAQ,CAAC,eAAe,sBAAiD;IAEzE,QAAQ,CAAC,gBAAgB,sBAAkD;IAE3E,QAAQ,CAAC,WAAW,sBAA6C;IAEjE,QAAQ,CAAC,WAAW,GAAI,UAAU,MAAM,KAAG,IAAI,CACD;IAE9C,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAAmC;IAEzE,QAAQ,CAAC,KAAK,QAAO,IAAI,CAAkC;IAE3D,QAAQ,CAAC,gBAAgB,QAAO,IAAI,CACO;IAE3C,QAAQ,CAAC,iBAAiB,QAAO,IAAI,CACO;IAE5C,QAAQ,CAAC,aAAa,QAAO,IAAI,CAA0C;IAE3E,QAAQ,CAAC,kBAAkB,QAAO,IAAI,CACO;IAE7C,QAAQ,CAAC,UAAU,QAAO,OAAO,CAA0B;CAC5D"}
@@ -1,45 +1,46 @@
1
- import { TokenVerifier } from "./TokenVerifier.js";
1
+ import { AuthticonError } from "./errors.js";
2
2
  import { TokenStorage } from "./TokenStorage.js";
3
- import { postApiV1AuthTokenRefresh } from "./generated/index.js";
3
+ import { TokenVerifier } from "./TokenVerifier.js";
4
4
  export class TokenManager {
5
5
  client;
6
6
  verifier;
7
7
  storage;
8
- constructor(client, options) {
8
+ constructor(client, options, logger) {
9
9
  this.client = client;
10
- this.verifier = new TokenVerifier(options.jwksUrl, options.jwksCacheTtlMs);
10
+ this.verifier = new TokenVerifier(options.jwksUrl, options.jwksCacheTtlMs, logger?.child({ authticon: "token-verifier" }), options.cache);
11
11
  this.storage = options.cookies
12
- ? new TokenStorage(options.cookies, options.storage)
12
+ ? new TokenStorage(options.cookies, options.storage, logger?.child({ authticon: "token-storage" }))
13
13
  : null;
14
14
  }
15
15
  requireStorage() {
16
16
  if (!this.storage) {
17
- throw new Error("TokenStorage is not configured. Provide a CookieAdapter to enable token storage.");
17
+ throw new AuthticonError("TokenStorage is not configured. Provide a CookieAdapter to enable token storage.");
18
18
  }
19
19
  return this.storage;
20
20
  }
21
- verifyToken = async (token) => this.verifier.verifyToken(token);
21
+ verifyToken = async (token) => {
22
+ const accessToken = token ?? this.getAccessToken();
23
+ if (!accessToken) {
24
+ throw new AuthticonError("No access token found");
25
+ }
26
+ return this.verifier.verifyToken(accessToken);
27
+ };
22
28
  clearKeyCache = () => this.verifier.clearKeyCache();
23
29
  save = (tokens) => this.requireStorage().save(tokens);
30
+ setAccessToken = (accessToken) => this.requireStorage().setAccessToken(accessToken);
31
+ setRefreshToken = (refreshToken) => this.requireStorage().setRefreshToken(refreshToken);
32
+ setRememberToken = (rememberToken) => this.requireStorage().setRememberToken(rememberToken);
24
33
  getAccessToken = () => this.requireStorage().getAccessToken();
25
34
  getRefreshToken = () => this.requireStorage().getRefreshToken();
35
+ getRememberToken = () => this.requireStorage().getRememberToken();
36
+ getDeviceId = () => this.requireStorage().getDeviceId();
37
+ setDeviceId = (deviceId) => this.requireStorage().setDeviceId(deviceId);
26
38
  getAll = () => this.requireStorage().getAll();
27
39
  clear = () => this.requireStorage().clear();
40
+ clearAccessToken = () => this.requireStorage().clearAccessToken();
41
+ clearRefreshToken = () => this.requireStorage().clearRefreshToken();
42
+ clearDeviceId = () => this.requireStorage().clearDeviceId();
43
+ clearRememberToken = () => this.requireStorage().clearRememberToken();
28
44
  hasStorage = () => this.storage !== null;
29
- verifyStoredAccessToken = async () => {
30
- const token = this.requireStorage().getAccessToken();
31
- if (!token)
32
- return null;
33
- return this.verifier.verifyToken(token);
34
- };
35
- async refreshAccessToken(refreshToken) {
36
- const { data } = await postApiV1AuthTokenRefresh({
37
- client: this.client,
38
- body: {
39
- refreshToken: refreshToken ?? this.getRefreshToken() ?? "",
40
- },
41
- });
42
- return data;
43
- }
44
45
  }
45
46
  //# sourceMappingURL=TokenManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAGjE,MAAM,OAAO,YAAY;IAIM;IAHZ,QAAQ,CAAgB;IACxB,OAAO,CAAsB;IAE9C,YAA6B,MAAc,EAAE,OAA4B;QAA5C,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO;YAC5B,CAAC,CAAC,IAAI,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAEQ,WAAW,GAAG,KAAK,EAAE,KAAa,EAAuB,EAAE,CAClE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE1B,aAAa,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;IAE1D,IAAI,GAAG,CAAC,MAAiB,EAAQ,EAAE,CAC1C,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5B,cAAc,GAAG,GAAkB,EAAE,CAC5C,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;IAEhC,eAAe,GAAG,GAAkB,EAAE,CAC7C,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC;IAEjC,MAAM,GAAG,GAAqB,EAAE,CACvC,IAAI,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,CAAC;IAExB,KAAK,GAAG,GAAS,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;IAElD,UAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC;IAElD,uBAAuB,GAAG,KAAK,IAAgC,EAAE;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,EAAE,CAAC;QACrD,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEF,KAAK,CAAC,kBAAkB,CAAC,YAAqB;QAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,yBAAyB,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE;gBACJ,YAAY,EAAE,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,IAAI,EAAE;aAC3D;SACF,CAAC,CAAA;QACF,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../src/TokenManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { describe, it, expect, vi, beforeEach } from "vitest";
1
+ import { beforeEach, describe, expect, it, vi } from "vitest";
2
2
  import { TokenManager } from "./TokenManager.js";
3
3
  vi.mock("./TokenVerifier.js", () => ({
4
4
  TokenVerifier: class {
@@ -34,28 +34,19 @@ describe("TokenManager", () => {
34
34
  expect(manager.hasStorage()).toBe(false);
35
35
  });
36
36
  it("should throw on save without adapter", () => {
37
- expect(() => manager.save({ accessToken: "a", refreshToken: "r", deviceId: "d" }))
38
- .toThrow("TokenStorage is not configured");
37
+ expect(() => manager.save({ accessToken: "a", refreshToken: "r", deviceId: "d" })).toThrow("TokenStorage is not configured");
39
38
  });
40
39
  it("should throw on getAccessToken without adapter", () => {
41
- expect(() => manager.getAccessToken())
42
- .toThrow("TokenStorage is not configured");
40
+ expect(() => manager.getAccessToken()).toThrow("TokenStorage is not configured");
43
41
  });
44
42
  it("should throw on getRefreshToken without adapter", () => {
45
- expect(() => manager.getRefreshToken())
46
- .toThrow("TokenStorage is not configured");
43
+ expect(() => manager.getRefreshToken()).toThrow("TokenStorage is not configured");
47
44
  });
48
45
  it("should throw on getAll without adapter", () => {
49
- expect(() => manager.getAll())
50
- .toThrow("TokenStorage is not configured");
46
+ expect(() => manager.getAll()).toThrow("TokenStorage is not configured");
51
47
  });
52
48
  it("should throw on clear without adapter", () => {
53
- expect(() => manager.clear())
54
- .toThrow("TokenStorage is not configured");
55
- });
56
- it("should throw on verifyStoredAccessToken without adapter", async () => {
57
- await expect(manager.verifyStoredAccessToken())
58
- .rejects.toThrow("TokenStorage is not configured");
49
+ expect(() => manager.clear()).toThrow("TokenStorage is not configured");
59
50
  });
60
51
  });
61
52
  describe("with storage (CookieAdapter provided)", () => {
@@ -72,7 +63,11 @@ describe("TokenManager", () => {
72
63
  expect(manager.hasStorage()).toBe(true);
73
64
  });
74
65
  it("should save tokens via adapter", () => {
75
- manager.save({ accessToken: "abc", refreshToken: "xyz", deviceId: "dev-1" });
66
+ manager.save({
67
+ accessToken: "abc",
68
+ refreshToken: "xyz",
69
+ deviceId: "dev-1",
70
+ });
76
71
  expect(adapter.set).toHaveBeenCalledTimes(3);
77
72
  expect(adapter.set).toHaveBeenCalledWith("access_token", "abc", expect.any(Object));
78
73
  expect(adapter.set).toHaveBeenCalledWith("refresh_token", "xyz", expect.any(Object));
@@ -90,11 +85,13 @@ describe("TokenManager", () => {
90
85
  vi.mocked(adapter.get)
91
86
  .mockReturnValueOnce("access-val")
92
87
  .mockReturnValueOnce("refresh-val")
93
- .mockReturnValueOnce("device-val");
88
+ .mockReturnValueOnce("device-val")
89
+ .mockReturnValueOnce("remember-val");
94
90
  expect(manager.getAll()).toEqual({
95
91
  accessToken: "access-val",
96
92
  refreshToken: "refresh-val",
97
93
  deviceId: "device-val",
94
+ rememberToken: "remember-val",
98
95
  });
99
96
  });
100
97
  it("should return null from getAll when tokens are missing", () => {
@@ -102,16 +99,7 @@ describe("TokenManager", () => {
102
99
  });
103
100
  it("should clear tokens via adapter", () => {
104
101
  manager.clear();
105
- expect(adapter.remove).toHaveBeenCalledTimes(2);
106
- });
107
- it("should verify stored access token", async () => {
108
- vi.mocked(adapter.get).mockReturnValue("stored-jwt");
109
- const payload = await manager.verifyStoredAccessToken();
110
- expect(payload).toEqual({ sub: "user-1", exp: 9999999999 });
111
- });
112
- it("should return null from verifyStoredAccessToken when no token stored", async () => {
113
- const payload = await manager.verifyStoredAccessToken();
114
- expect(payload).toBeNull();
102
+ expect(adapter.remove).toHaveBeenCalledTimes(4);
115
103
  });
116
104
  });
117
105
  });
@@ -1 +1 @@
1
- {"version":3,"file":"TokenManager.test.js","sourceRoot":"","sources":["../src/TokenManager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TokenManager.test.js","sourceRoot":"","sources":["../src/TokenManager.test.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,29 @@
1
+ import type { Logger } from "pino";
1
2
  import type { CookieAdapter, TokenPair, TokenStorageOptions } from "./types.js";
2
3
  export declare class TokenStorage {
3
4
  private readonly cookies;
5
+ private readonly logger?;
4
6
  private readonly accessName;
5
7
  private readonly refreshName;
6
8
  private readonly deviceIdName;
9
+ private readonly rememberName;
7
10
  private readonly setOptions;
8
11
  private readonly removeOptions;
9
- constructor(cookies: CookieAdapter, options?: TokenStorageOptions);
12
+ constructor(cookies: CookieAdapter, options?: TokenStorageOptions, logger?: Logger | undefined);
10
13
  readonly save: (tokens: TokenPair) => void;
14
+ readonly clear: () => void;
11
15
  readonly getAccessToken: () => string | null;
12
16
  readonly getRefreshToken: () => string | null;
13
17
  readonly getDeviceId: () => string | null;
18
+ readonly getRememberToken: () => string | null;
19
+ readonly setAccessToken: (accessToken: string) => void;
20
+ readonly setRememberToken: (rememberToken: string) => void;
21
+ readonly setRefreshToken: (refreshToken: string) => void;
22
+ readonly setDeviceId: (deviceId: string) => void;
23
+ readonly clearDeviceId: () => void;
24
+ readonly clearRememberToken: () => void;
25
+ readonly clearRefreshToken: () => void;
26
+ readonly clearAccessToken: () => void;
14
27
  readonly getAll: () => TokenPair | null;
15
- readonly clear: () => void;
16
28
  }
17
29
  //# sourceMappingURL=TokenStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../src/TokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EAGb,SAAS,EACT,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAQpB,qBAAa,YAAY;IAYrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAIzB;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAGjC,OAAO,EAAE,aAAa,EACvC,OAAO,GAAE,mBAAwB;IAsCnC,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CAIvC;IAEF,QAAQ,CAAC,cAAc,QAAO,MAAM,GAAG,IAAI,CACP;IAEpC,QAAQ,CAAC,eAAe,QAAO,MAAM,GAAG,IAAI,CACP;IAErC,QAAQ,CAAC,WAAW,QAAO,MAAM,GAAG,IAAI,CACF;IAEtC,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAMpC;IAEF,QAAQ,CAAC,KAAK,QAAO,IAAI,CAGvB;CACH"}
1
+ {"version":3,"file":"TokenStorage.d.ts","sourceRoot":"","sources":["../src/TokenStorage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,KAAK,EACV,aAAa,EAGb,SAAS,EACT,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAUpB,qBAAa,YAAY;IAcrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAf1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAKzB;IACF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsB;gBAGjC,OAAO,EAAE,aAAa,EACvC,OAAO,GAAE,mBAAwB,EAChB,MAAM,CAAC,EAAE,MAAM,YAAA;IA+ClC,QAAQ,CAAC,IAAI,GAAI,QAAQ,SAAS,KAAG,IAAI,CASvC;IAEF,QAAQ,CAAC,KAAK,QAAO,IAAI,CAKvB;IAEF,QAAQ,CAAC,cAAc,sBAA2C;IAElE,QAAQ,CAAC,eAAe,sBAA4C;IAEpE,QAAQ,CAAC,WAAW,sBAA6C;IAEjE,QAAQ,CAAC,gBAAgB,sBAA6C;IAEtE,QAAQ,CAAC,cAAc,GAAI,aAAa,MAAM,KAAG,IAAI,CAMnD;IAEF,QAAQ,CAAC,gBAAgB,GAAI,eAAe,MAAM,KAAG,IAAI,CAUvD;IAEF,QAAQ,CAAC,eAAe,GAAI,cAAc,MAAM,KAAG,IAAI,CAMrD;IAEF,QAAQ,CAAC,WAAW,GAAI,UAAU,MAAM,KAAG,IAAI,CAG7C;IAEF,QAAQ,CAAC,aAAa,QAAO,IAAI,CAG/B;IAEF,QAAQ,CAAC,kBAAkB,QAAO,IAAI,CAGpC;IAEF,QAAQ,CAAC,iBAAiB,QAAO,IAAI,CAGnC;IAEF,QAAQ,CAAC,gBAAgB,QAAO,IAAI,CAGlC;IAEF,QAAQ,CAAC,MAAM,QAAO,SAAS,GAAG,IAAI,CAUpC;CACH"}