@hoox-sh/hoox-shared 1.2.0

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 (161) hide show
  1. package/README.md +44 -0
  2. package/dist/agent-config-fields.d.ts +32 -0
  3. package/dist/agent-config-fields.d.ts.map +1 -0
  4. package/dist/agent-config-fields.js +220 -0
  5. package/dist/analytics.d.ts +47 -0
  6. package/dist/analytics.d.ts.map +1 -0
  7. package/dist/analytics.js +45 -0
  8. package/dist/api-client.d.ts +48 -0
  9. package/dist/api-client.d.ts.map +1 -0
  10. package/dist/api-client.js +191 -0
  11. package/dist/colors.d.ts +76 -0
  12. package/dist/colors.d.ts.map +1 -0
  13. package/dist/colors.js +82 -0
  14. package/dist/config.d.ts +61 -0
  15. package/dist/config.d.ts.map +1 -0
  16. package/dist/config.js +146 -0
  17. package/dist/cron-handler.d.ts +38 -0
  18. package/dist/cron-handler.d.ts.map +1 -0
  19. package/dist/cron-handler.js +48 -0
  20. package/dist/d1/index.d.ts +9 -0
  21. package/dist/d1/index.d.ts.map +1 -0
  22. package/dist/d1/index.js +360 -0
  23. package/dist/d1/repository.d.ts +86 -0
  24. package/dist/d1/repository.d.ts.map +1 -0
  25. package/dist/d1/repository.js +297 -0
  26. package/dist/d1/schemas.d.ts +89 -0
  27. package/dist/d1/schemas.d.ts.map +1 -0
  28. package/dist/d1/schemas.js +81 -0
  29. package/dist/dashboard-manifest.d.ts +135 -0
  30. package/dist/dashboard-manifest.d.ts.map +1 -0
  31. package/dist/dashboard-manifest.js +401 -0
  32. package/dist/errors.d.ts +44 -0
  33. package/dist/errors.d.ts.map +1 -0
  34. package/dist/errors.js +149 -0
  35. package/dist/exchange-client.d.ts +98 -0
  36. package/dist/exchange-client.d.ts.map +1 -0
  37. package/dist/exchange-client.js +107 -0
  38. package/dist/exchanges/base-exchange-client.d.ts +81 -0
  39. package/dist/exchanges/base-exchange-client.d.ts.map +1 -0
  40. package/dist/exchanges/base-exchange-client.js +123 -0
  41. package/dist/exchanges/index.d.ts +7 -0
  42. package/dist/exchanges/index.d.ts.map +1 -0
  43. package/dist/exchanges/index.js +123 -0
  44. package/dist/exchanges/types.d.ts +23 -0
  45. package/dist/exchanges/types.d.ts.map +1 -0
  46. package/dist/exchanges/types.js +1 -0
  47. package/dist/format-time.d.ts +28 -0
  48. package/dist/format-time.d.ts.map +1 -0
  49. package/dist/format-time.js +57 -0
  50. package/dist/formatters.d.ts +36 -0
  51. package/dist/formatters.d.ts.map +1 -0
  52. package/dist/formatters.js +155 -0
  53. package/dist/health.d.ts +19 -0
  54. package/dist/health.d.ts.map +1 -0
  55. package/dist/health.js +160 -0
  56. package/dist/index.d.ts +72 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +4198 -0
  59. package/dist/kvKeys.d.ts +76 -0
  60. package/dist/kvKeys.d.ts.map +1 -0
  61. package/dist/kvKeys.js +107 -0
  62. package/dist/kvUtils.d.ts +30 -0
  63. package/dist/kvUtils.d.ts.map +1 -0
  64. package/dist/kvUtils.js +170 -0
  65. package/dist/legal.d.ts +15 -0
  66. package/dist/legal.d.ts.map +1 -0
  67. package/dist/legal.js +40 -0
  68. package/dist/middleware/auth.d.ts +102 -0
  69. package/dist/middleware/auth.d.ts.map +1 -0
  70. package/dist/middleware/auth.js +151 -0
  71. package/dist/middleware/cors.d.ts +58 -0
  72. package/dist/middleware/cors.d.ts.map +1 -0
  73. package/dist/middleware/cors.js +77 -0
  74. package/dist/middleware/index.d.ts +14 -0
  75. package/dist/middleware/index.d.ts.map +1 -0
  76. package/dist/middleware/index.js +635 -0
  77. package/dist/middleware/logger.d.ts +17 -0
  78. package/dist/middleware/logger.d.ts.map +1 -0
  79. package/dist/middleware/logger.js +202 -0
  80. package/dist/middleware/rate-limit.d.ts +30 -0
  81. package/dist/middleware/rate-limit.d.ts.map +1 -0
  82. package/dist/middleware/rate-limit.js +181 -0
  83. package/dist/middleware/security-headers.d.ts +43 -0
  84. package/dist/middleware/security-headers.d.ts.map +1 -0
  85. package/dist/middleware/security-headers.js +58 -0
  86. package/dist/middleware/validate.d.ts +25 -0
  87. package/dist/middleware/validate.d.ts.map +1 -0
  88. package/dist/middleware/validate.js +56 -0
  89. package/dist/operator-transport.d.ts +65 -0
  90. package/dist/operator-transport.d.ts.map +1 -0
  91. package/dist/operator-transport.js +87 -0
  92. package/dist/path-utils.d.ts +190 -0
  93. package/dist/path-utils.d.ts.map +1 -0
  94. package/dist/path-utils.js +188 -0
  95. package/dist/queue-handler.d.ts +47 -0
  96. package/dist/queue-handler.d.ts.map +1 -0
  97. package/dist/queue-handler.js +46 -0
  98. package/dist/router.d.ts +15 -0
  99. package/dist/router.d.ts.map +1 -0
  100. package/dist/router.js +130 -0
  101. package/dist/schemas/index.d.ts +8 -0
  102. package/dist/schemas/index.d.ts.map +1 -0
  103. package/dist/schemas/index.js +705 -0
  104. package/dist/schemas/registry.d.ts +12 -0
  105. package/dist/schemas/registry.d.ts.map +1 -0
  106. package/dist/schemas/registry.js +433 -0
  107. package/dist/schemas/types.d.ts +83 -0
  108. package/dist/schemas/types.d.ts.map +1 -0
  109. package/dist/schemas/types.js +1 -0
  110. package/dist/schemas/validators.d.ts +39 -0
  111. package/dist/schemas/validators.d.ts.map +1 -0
  112. package/dist/schemas/validators.js +290 -0
  113. package/dist/service-bindings.d.ts +78 -0
  114. package/dist/service-bindings.d.ts.map +1 -0
  115. package/dist/service-bindings.js +248 -0
  116. package/dist/session.d.ts +39 -0
  117. package/dist/session.d.ts.map +1 -0
  118. package/dist/session.js +261 -0
  119. package/dist/sse.d.ts +39 -0
  120. package/dist/sse.d.ts.map +1 -0
  121. package/dist/sse.js +154 -0
  122. package/dist/stores/config-store.d.ts +91 -0
  123. package/dist/stores/config-store.d.ts.map +1 -0
  124. package/dist/stores/config-store.js +255 -0
  125. package/dist/stores/service-store.d.ts +266 -0
  126. package/dist/stores/service-store.d.ts.map +1 -0
  127. package/dist/stores/service-store.js +516 -0
  128. package/dist/stores/ui-store.d.ts +67 -0
  129. package/dist/stores/ui-store.d.ts.map +1 -0
  130. package/dist/stores/ui-store.js +62 -0
  131. package/dist/test-utils.d.ts +136 -0
  132. package/dist/test-utils.d.ts.map +1 -0
  133. package/dist/test-utils.js +128 -0
  134. package/dist/types/errors.d.ts +20 -0
  135. package/dist/types/errors.d.ts.map +1 -0
  136. package/dist/types/errors.js +1 -0
  137. package/dist/types/router.d.ts +36 -0
  138. package/dist/types/router.d.ts.map +1 -0
  139. package/dist/types/router.js +1 -0
  140. package/dist/types.d.ts +442 -0
  141. package/dist/types.d.ts.map +1 -0
  142. package/dist/types.js +83 -0
  143. package/dist/wizard/engine.d.ts +46 -0
  144. package/dist/wizard/engine.d.ts.map +1 -0
  145. package/dist/wizard/engine.js +525 -0
  146. package/dist/wizard/index.d.ts +11 -0
  147. package/dist/wizard/index.d.ts.map +1 -0
  148. package/dist/wizard/index.js +544 -0
  149. package/dist/wizard/persistence.d.ts +18 -0
  150. package/dist/wizard/persistence.d.ts.map +1 -0
  151. package/dist/wizard/persistence.js +31 -0
  152. package/dist/wizard/presets.d.ts +38 -0
  153. package/dist/wizard/presets.d.ts.map +1 -0
  154. package/dist/wizard/presets.js +223 -0
  155. package/dist/wizard/provisioner.d.ts +15 -0
  156. package/dist/wizard/provisioner.d.ts.map +1 -0
  157. package/dist/wizard/provisioner.js +1 -0
  158. package/dist/wizard/types.d.ts +76 -0
  159. package/dist/wizard/types.d.ts.map +1 -0
  160. package/dist/wizard/types.js +1 -0
  161. package/package.json +117 -0
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright (c) 2026 HOOX · HOOX · jango-blockchained (hoox-sh)
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ export interface MockKVNamespace<T = unknown> {
6
+ get: (key: string) => Promise<T | null>;
7
+ put: (key: string, value: string | ReadableStream, options?: unknown) => Promise<void>;
8
+ delete: (key: string) => Promise<void>;
9
+ list: (options?: {
10
+ prefix?: string;
11
+ limit?: number;
12
+ }) => Promise<{
13
+ keys: {
14
+ name: string;
15
+ }[];
16
+ }>;
17
+ }
18
+ export declare function createMockKV<T = unknown>(overrides?: Partial<MockKVNamespace<T>>): MockKVNamespace<T>;
19
+ export interface MockR2Bucket {
20
+ put: (key: string, value: ReadableStream | ArrayBuffer, options?: unknown) => Promise<{
21
+ key: string;
22
+ }>;
23
+ get: (key: string) => Promise<{
24
+ body: ReadableStream;
25
+ key: string;
26
+ size: number;
27
+ } | null>;
28
+ delete: (key: string) => Promise<void>;
29
+ list: (options?: {
30
+ prefix?: string;
31
+ limit?: number;
32
+ }) => Promise<{
33
+ objects: {
34
+ key: string;
35
+ }[];
36
+ }>;
37
+ }
38
+ export declare function createMockR2(overrides?: Partial<MockR2Bucket>): MockR2Bucket;
39
+ export interface MockD1PreparedStatement {
40
+ bind: (...params: unknown[]) => MockD1PreparedStatement;
41
+ run: () => Promise<{
42
+ success: boolean;
43
+ results?: unknown[];
44
+ error?: string;
45
+ meta?: unknown;
46
+ }>;
47
+ all: () => Promise<{
48
+ success: boolean;
49
+ results?: unknown[];
50
+ error?: string;
51
+ }>;
52
+ first: <T = unknown>() => Promise<T | null>;
53
+ }
54
+ export interface MockD1Database {
55
+ prepare: (sql: string) => MockD1PreparedStatement;
56
+ dump: () => Promise<ArrayBuffer>;
57
+ batch: (statements: unknown[]) => Promise<{
58
+ success: boolean;
59
+ results?: unknown[];
60
+ error?: string;
61
+ }[]>;
62
+ exec: (sql: string) => Promise<{
63
+ success: boolean;
64
+ error?: string;
65
+ }>;
66
+ }
67
+ export declare function createMockD1(overrides?: Partial<MockD1Database>): MockD1Database;
68
+ export interface MockFetcher {
69
+ fetch: (request: Request | string, init?: RequestInit) => Promise<Response>;
70
+ }
71
+ export declare function createMockFetcher(response?: Response): MockFetcher;
72
+ export interface MockAnalyticsEngine {
73
+ writeDataPoint: (data: {
74
+ blobs?: string[];
75
+ doubles?: number[];
76
+ indexes?: string[];
77
+ }) => void;
78
+ }
79
+ export declare function createMockAnalyticsEngine(): MockAnalyticsEngine;
80
+ export interface MockAnalyticsEngineDataset {
81
+ writeDataPoint: (data: {
82
+ blobs?: string[];
83
+ doubles?: number[];
84
+ indexes?: string[];
85
+ }) => void;
86
+ }
87
+ export declare function createMockAnalyticsEngineDataset(): MockAnalyticsEngineDataset;
88
+ export interface MockQueue {
89
+ send: (body: unknown, options?: {
90
+ delay?: number;
91
+ }) => Promise<void>;
92
+ sendBatch: (messages: {
93
+ body: unknown;
94
+ }[]) => Promise<void>;
95
+ }
96
+ export declare function createMockQueue(): MockQueue;
97
+ export interface MockVectorizeIndex {
98
+ query: (vector: number[], options?: {
99
+ topK?: number;
100
+ }) => Promise<{
101
+ matches: {
102
+ id: string;
103
+ score: number;
104
+ }[];
105
+ }>;
106
+ upsert: (vectors: {
107
+ id: string;
108
+ values: number[];
109
+ }[]) => Promise<void>;
110
+ deleteByIds: (ids: string[]) => Promise<void>;
111
+ describe: () => Promise<{
112
+ dimension: number;
113
+ totalVectors?: number;
114
+ }>;
115
+ }
116
+ export declare function createMockVectorizeIndex(overrides?: Partial<MockVectorizeIndex>): MockVectorizeIndex;
117
+ export interface MockAi {
118
+ run: (model: string, input: unknown) => Promise<unknown>;
119
+ }
120
+ export declare function createMockAi(overrides?: Partial<MockAi>): MockAi;
121
+ export interface MockExecutionContext {
122
+ waitUntil: (promise: Promise<unknown>) => void;
123
+ passThroughOnException: () => void;
124
+ }
125
+ export declare function createMockExecutionContext(overrides?: Partial<MockExecutionContext>): MockExecutionContext;
126
+ export interface MockSecretsStore {
127
+ get: (key: string) => Promise<string | null>;
128
+ put: (key: string, value: string) => Promise<void>;
129
+ delete: (key: string) => Promise<void>;
130
+ }
131
+ export declare function createMockSecretsStore(overrides?: Partial<MockSecretsStore>): MockSecretsStore;
132
+ export interface ServiceBinding {
133
+ fetch: (request: Request | string, init?: RequestInit) => Promise<Response>;
134
+ }
135
+ export declare function createMockEnv<T extends Record<string, unknown>>(overrides: T): T;
136
+ //# sourceMappingURL=test-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../src/test-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ // @bun
2
+ var __defProp = Object.defineProperty;
3
+ var __returnValue = (v) => v;
4
+ function __exportSetter(name, newValue) {
5
+ this[name] = __returnValue.bind(null, newValue);
6
+ }
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, {
10
+ get: all[name],
11
+ enumerable: true,
12
+ configurable: true,
13
+ set: __exportSetter.bind(all, name)
14
+ });
15
+ };
16
+ var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
17
+
18
+ // src/test-utils.ts
19
+ function createMockKV(overrides) {
20
+ return {
21
+ get: async (_key) => null,
22
+ put: async (_key, _value, _options) => {},
23
+ delete: async (_key) => {},
24
+ list: async (_options) => ({
25
+ keys: []
26
+ }),
27
+ ...overrides
28
+ };
29
+ }
30
+ function createMockR2(overrides) {
31
+ return {
32
+ put: async (key, _value, _options) => ({
33
+ key
34
+ }),
35
+ get: async (_key) => null,
36
+ delete: async (_key) => {},
37
+ list: async (_options) => ({
38
+ objects: []
39
+ }),
40
+ ...overrides
41
+ };
42
+ }
43
+ function createMockPreparedStatement() {
44
+ return {
45
+ bind: (..._params) => createMockPreparedStatement(),
46
+ run: async () => ({ success: true }),
47
+ all: async () => ({ success: true, results: [] }),
48
+ first: async () => null
49
+ };
50
+ }
51
+ function createMockD1(overrides) {
52
+ return {
53
+ prepare: (_sql) => createMockPreparedStatement(),
54
+ dump: async () => new ArrayBuffer(0),
55
+ batch: async (_statements) => [],
56
+ exec: async (_sql) => ({ success: true }),
57
+ ...overrides
58
+ };
59
+ }
60
+ function createMockFetcher(response) {
61
+ const defaultResponse = response ?? new Response("OK", { status: 200 });
62
+ return {
63
+ fetch: async (_request, _init) => defaultResponse
64
+ };
65
+ }
66
+ function createMockAnalyticsEngine() {
67
+ return {
68
+ writeDataPoint: (_data) => {}
69
+ };
70
+ }
71
+ function createMockAnalyticsEngineDataset() {
72
+ return createMockAnalyticsEngine();
73
+ }
74
+ function createMockQueue() {
75
+ return {
76
+ send: async (_body, _options) => {},
77
+ sendBatch: async (_messages) => {}
78
+ };
79
+ }
80
+ function createMockVectorizeIndex(overrides) {
81
+ return {
82
+ query: async (_vector, _options) => ({
83
+ matches: []
84
+ }),
85
+ upsert: async (_vectors) => {},
86
+ deleteByIds: async (_ids) => {},
87
+ describe: async () => ({ dimension: 384, totalVectors: 0 }),
88
+ ...overrides
89
+ };
90
+ }
91
+ function createMockAi(overrides) {
92
+ return {
93
+ run: async (_model, _input) => ({}),
94
+ ...overrides
95
+ };
96
+ }
97
+ function createMockExecutionContext(overrides) {
98
+ return {
99
+ waitUntil: (_promise) => {},
100
+ passThroughOnException: () => {},
101
+ ...overrides
102
+ };
103
+ }
104
+ function createMockSecretsStore(overrides) {
105
+ return {
106
+ get: async (_key) => null,
107
+ put: async (_key, _value) => {},
108
+ delete: async (_key) => {},
109
+ ...overrides
110
+ };
111
+ }
112
+ function createMockEnv(overrides) {
113
+ return overrides;
114
+ }
115
+ export {
116
+ createMockVectorizeIndex,
117
+ createMockSecretsStore,
118
+ createMockR2,
119
+ createMockQueue,
120
+ createMockKV,
121
+ createMockFetcher,
122
+ createMockExecutionContext,
123
+ createMockEnv,
124
+ createMockD1,
125
+ createMockAnalyticsEngineDataset,
126
+ createMockAnalyticsEngine,
127
+ createMockAi
128
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Copyright (c) 2026 HOOX · HOOX · jango-blockchained (hoox-sh)
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Error type definitions for centralized error handling
7
+ * Used across all workers and dashboard
8
+ */
9
+ export interface AppError {
10
+ message: string;
11
+ status: number;
12
+ code?: string;
13
+ details?: Record<string, unknown>;
14
+ }
15
+ export type ErrorResponse = {
16
+ error: string;
17
+ code?: string;
18
+ details?: Record<string, unknown>;
19
+ };
20
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/types/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC"}
@@ -0,0 +1 @@
1
+ // @bun
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Copyright (c) 2026 HOOX · HOOX · jango-blockchained (hoox-sh)
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /**
6
+ * Router type definitions for standardized worker routing
7
+ * Compatible with Cloudflare Workers edge runtime
8
+ */
9
+ export type RouteParams = Record<string, string>;
10
+ /**
11
+ * Handler type for route handlers.
12
+ * TEnv is the environment type with bindings.
13
+ */
14
+ export type Handler<TEnv = unknown> = (request: Request, env: TEnv, ctx: ExecutionContext, params?: RouteParams) => Promise<Response | void>;
15
+ /**
16
+ * Middleware handler type - uses any to allow compatibility with
17
+ * stricter Env types that don't have index signatures.
18
+ * This enables InternalAuthEnv middleware to be used with any Env.
19
+ */
20
+ export type MiddlewareHandler<TEnv = unknown> = (request: Request, env: TEnv, ctx: ExecutionContext) => Promise<Response | void>;
21
+ export interface RouteDefinition<TEnv = unknown> {
22
+ path: string;
23
+ method: string;
24
+ handler: Handler<TEnv>;
25
+ middleware?: MiddlewareHandler<TEnv>[];
26
+ params?: string[];
27
+ regex?: RegExp;
28
+ }
29
+ export interface Router<TEnv = unknown> {
30
+ get(path: string, handler: Handler<TEnv>, middleware?: MiddlewareHandler<TEnv>[]): void;
31
+ post(path: string, handler: Handler<TEnv>, middleware?: MiddlewareHandler<TEnv>[]): void;
32
+ put(path: string, handler: Handler<TEnv>, middleware?: MiddlewareHandler<TEnv>[]): void;
33
+ delete(path: string, handler: Handler<TEnv>, middleware?: MiddlewareHandler<TEnv>[]): void;
34
+ handle(request: Request, env: TEnv, ctx: ExecutionContext): Promise<Response>;
35
+ }
36
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/types/router.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,OAAO,CAAC,IAAI,GAAG,OAAO,IAAI,CACpC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,EACrB,MAAM,CAAC,EAAE,WAAW,KACjB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE9B;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,CAAC,IAAI,GAAG,OAAO,IAAI,CAC9C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,IAAI,EACT,GAAG,EAAE,gBAAgB,KAClB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AAE9B,MAAM,WAAW,eAAe,CAAC,IAAI,GAAG,OAAO;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,UAAU,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,MAAM,CAAC,IAAI,GAAG,OAAO;IACpC,GAAG,CACD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,GACrC,IAAI,CAAC;IACR,IAAI,CACF,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,GACrC,IAAI,CAAC;IACR,GAAG,CACD,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,GACrC,IAAI,CAAC;IACR,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,EACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,GACrC,IAAI,CAAC;IACR,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAC/E"}
@@ -0,0 +1 @@
1
+ // @bun