@treasuredata/tdx 0.16.7 → 0.16.9

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 (276) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli-categories.js +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/activations.js +1 -1
  8. package/dist/commands/agent-command.js +1 -1
  9. package/dist/commands/agent-test-command.d.ts.map +1 -1
  10. package/dist/commands/agent-test-command.js +1 -1
  11. package/dist/commands/agent-test-command.js.map +1 -1
  12. package/dist/commands/api-command.js +1 -1
  13. package/dist/commands/auth-command.js +1 -1
  14. package/dist/commands/chat-command.js +1 -1
  15. package/dist/commands/claude-command.js +1 -1
  16. package/dist/commands/claude-statusline-command.js +1 -1
  17. package/dist/commands/claude-usage-command.js +1 -1
  18. package/dist/commands/command.d.ts.map +1 -1
  19. package/dist/commands/command.js +1 -1
  20. package/dist/commands/command.js.map +1 -1
  21. package/dist/commands/connection-command.js +1 -1
  22. package/dist/commands/databases.js +1 -1
  23. package/dist/commands/describe.js +1 -1
  24. package/dist/commands/engage-command.js +1 -1
  25. package/dist/commands/job-command.js +1 -1
  26. package/dist/commands/journey-command.js +1 -1
  27. package/dist/commands/journey-validate-command.js +1 -1
  28. package/dist/commands/llm-command.js +1 -1
  29. package/dist/commands/llm-proxy.js +1 -1
  30. package/dist/commands/mcp-command.js +1 -1
  31. package/dist/commands/parent-segment-command.js +1 -1
  32. package/dist/commands/profile-command.js +1 -1
  33. package/dist/commands/profiles-command.js +1 -1
  34. package/dist/commands/query-command.js +1 -1
  35. package/dist/commands/segment-command.js +1 -1
  36. package/dist/commands/segment-create-command.js +1 -1
  37. package/dist/commands/segment-fields-command.js +1 -1
  38. package/dist/commands/segment-pull-command.js +1 -1
  39. package/dist/commands/segment-push-command.js +1 -1
  40. package/dist/commands/segment-update-command.js +1 -1
  41. package/dist/commands/segment-use-command.js +1 -1
  42. package/dist/commands/segment-validate-command.js +1 -1
  43. package/dist/commands/segments.js +1 -1
  44. package/dist/commands/show.js +1 -1
  45. package/dist/commands/status-command.js +1 -1
  46. package/dist/commands/tables.js +1 -1
  47. package/dist/commands/unset-command.js +1 -1
  48. package/dist/commands/use-command.js +1 -1
  49. package/dist/commands/user-command.js +1 -1
  50. package/dist/commands/workflow-command.js +1 -1
  51. package/dist/core/auth.js +1 -1
  52. package/dist/core/command-output.js +1 -1
  53. package/dist/core/config.js +1 -1
  54. package/dist/core/connection-cache.js +1 -1
  55. package/dist/core/constants.js +1 -1
  56. package/dist/core/credential-cache.js +1 -1
  57. package/dist/core/global-context.d.ts +1 -1
  58. package/dist/core/global-context.d.ts.map +1 -1
  59. package/dist/core/global-context.js +1 -1
  60. package/dist/core/global-context.js.map +1 -1
  61. package/dist/core/keychain.js +1 -1
  62. package/dist/core/profile.d.ts +5 -0
  63. package/dist/core/profile.d.ts.map +1 -1
  64. package/dist/core/profile.js +1 -1
  65. package/dist/core/profile.js.map +1 -1
  66. package/dist/core/project-config.js +1 -1
  67. package/dist/core/session.js +1 -1
  68. package/dist/core/user-cache.js +1 -1
  69. package/dist/core/version.js +1 -1
  70. package/dist/index.js +1 -1
  71. package/dist/mcp/server.js +1 -1
  72. package/dist/mcp/tools/index.js +1 -1
  73. package/dist/mcp/tools/tdx-run.js +1 -1
  74. package/dist/mcp/tools/tdx-search.js +1 -1
  75. package/dist/mcp/utils.js +1 -1
  76. package/dist/proxy/anthropic-adapter.js +1 -1
  77. package/dist/proxy/claude-usage-tracker.js +1 -1
  78. package/dist/proxy/context-signature.js +1 -1
  79. package/dist/proxy/conversation-utils.js +1 -1
  80. package/dist/proxy/passthrough-server.js +1 -1
  81. package/dist/proxy/server.js +1 -1
  82. package/dist/proxy/session-cache.js +1 -1
  83. package/dist/proxy/sse-usage-parser.js +1 -1
  84. package/dist/sdk/agent/agent-config.js +1 -1
  85. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  86. package/dist/sdk/agent/agent-yaml.js +1 -1
  87. package/dist/sdk/agent/test/evaluator.js +1 -1
  88. package/dist/sdk/agent/test/executor.js +1 -1
  89. package/dist/sdk/agent/test/index.js +1 -1
  90. package/dist/sdk/agent/test/output.js +1 -1
  91. package/dist/sdk/agent/test/parser.d.ts.map +1 -1
  92. package/dist/sdk/agent/test/parser.js +1 -1
  93. package/dist/sdk/agent/test/parser.js.map +1 -1
  94. package/dist/sdk/agent/test/types.d.ts +4 -0
  95. package/dist/sdk/agent/test/types.d.ts.map +1 -1
  96. package/dist/sdk/api.js +1 -1
  97. package/dist/sdk/api.js.map +1 -1
  98. package/dist/sdk/claude-agent/claude-agent-client.d.ts.map +1 -1
  99. package/dist/sdk/claude-agent/claude-agent-client.js +1 -1
  100. package/dist/sdk/claude-agent/claude-agent-client.js.map +1 -1
  101. package/dist/sdk/claude-agent/environment.js +1 -1
  102. package/dist/sdk/claude-agent/index.js +1 -1
  103. package/dist/sdk/claude-agent/system-prompts.d.ts +1 -1
  104. package/dist/sdk/claude-agent/system-prompts.d.ts.map +1 -1
  105. package/dist/sdk/claude-agent/system-prompts.js +1 -1
  106. package/dist/sdk/claude-agent/system-prompts.js.map +1 -1
  107. package/dist/sdk/claude-agent/types.d.ts +6 -0
  108. package/dist/sdk/claude-agent/types.d.ts.map +1 -1
  109. package/dist/sdk/client/cdp-api-client.d.ts +1 -2
  110. package/dist/sdk/client/cdp-api-client.d.ts.map +1 -1
  111. package/dist/sdk/client/cdp-api-client.js +1 -1
  112. package/dist/sdk/client/cdp-api-client.js.map +1 -1
  113. package/dist/sdk/client/endpoints.js +1 -1
  114. package/dist/sdk/client/engage-api-client.d.ts +1 -1
  115. package/dist/sdk/client/engage-api-client.js +1 -1
  116. package/dist/sdk/client/engage-api-client.js.map +1 -1
  117. package/dist/sdk/client/http-client.d.ts +2 -5
  118. package/dist/sdk/client/http-client.d.ts.map +1 -1
  119. package/dist/sdk/client/http-client.js +1 -1
  120. package/dist/sdk/client/http-client.js.map +1 -1
  121. package/dist/sdk/client/llm-api-client.d.ts +1 -2
  122. package/dist/sdk/client/llm-api-client.d.ts.map +1 -1
  123. package/dist/sdk/client/llm-api-client.js +1 -1
  124. package/dist/sdk/client/llm-api-client.js.map +1 -1
  125. package/dist/sdk/client/rate-limiter.js +1 -1
  126. package/dist/sdk/client/td-api-client.d.ts +2 -4
  127. package/dist/sdk/client/td-api-client.d.ts.map +1 -1
  128. package/dist/sdk/client/td-api-client.js +1 -1
  129. package/dist/sdk/client/td-api-client.js.map +1 -1
  130. package/dist/sdk/client/trino-api-client.d.ts +1 -3
  131. package/dist/sdk/client/trino-api-client.d.ts.map +1 -1
  132. package/dist/sdk/client/trino-api-client.js +1 -1
  133. package/dist/sdk/client/trino-api-client.js.map +1 -1
  134. package/dist/sdk/client/workflow-client.d.ts +1 -2
  135. package/dist/sdk/client/workflow-client.d.ts.map +1 -1
  136. package/dist/sdk/client/workflow-client.js +1 -1
  137. package/dist/sdk/client/workflow-client.js.map +1 -1
  138. package/dist/sdk/connection-validator.js +1 -1
  139. package/dist/sdk/connection.js +1 -1
  140. package/dist/sdk/connection.js.map +1 -1
  141. package/dist/sdk/engage.js +1 -1
  142. package/dist/sdk/errors.js +1 -1
  143. package/dist/sdk/index.d.ts +2 -10
  144. package/dist/sdk/index.d.ts.map +1 -1
  145. package/dist/sdk/index.js +1 -1
  146. package/dist/sdk/index.js.map +1 -1
  147. package/dist/sdk/io/index.js +1 -1
  148. package/dist/sdk/io/node-filesystem.js +1 -1
  149. package/dist/sdk/job.js +1 -1
  150. package/dist/sdk/job.js.map +1 -1
  151. package/dist/sdk/journey.js +1 -1
  152. package/dist/sdk/journey.js.map +1 -1
  153. package/dist/sdk/llm/chat-cache.js +1 -1
  154. package/dist/sdk/llm/index.d.ts +1 -0
  155. package/dist/sdk/llm/index.d.ts.map +1 -1
  156. package/dist/sdk/llm/index.js +1 -1
  157. package/dist/sdk/llm/index.js.map +1 -1
  158. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  159. package/dist/sdk/llm/model-aliases.js +1 -1
  160. package/dist/sdk/llm/model-factors.js +1 -1
  161. package/dist/sdk/query/index.js +1 -1
  162. package/dist/sdk/query/index.js.map +1 -1
  163. package/dist/sdk/query/sql-parser.js +1 -1
  164. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  165. package/dist/sdk/segment/fields-display.js +1 -1
  166. package/dist/sdk/segment/file-discovery.js +1 -1
  167. package/dist/sdk/segment/journey-utils.js +1 -1
  168. package/dist/sdk/segment/journey-yaml.js +1 -1
  169. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  170. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  171. package/dist/sdk/segment/pull-workflow.js +1 -1
  172. package/dist/sdk/segment/push-workflow.js +1 -1
  173. package/dist/sdk/segment/resolution-context.js +1 -1
  174. package/dist/sdk/segment/segment-path-parser.js +1 -1
  175. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  176. package/dist/sdk/segment/target-resolution.js +1 -1
  177. package/dist/sdk/segment/tdx-config.js +1 -1
  178. package/dist/sdk/segment/validate-files.js +1 -1
  179. package/dist/sdk/segment/yaml-validator.js +1 -1
  180. package/dist/sdk/segment.js +1 -1
  181. package/dist/sdk/segment.js.map +1 -1
  182. package/dist/sdk/types/index.js +1 -1
  183. package/dist/sdk/types/progress.js +1 -1
  184. package/dist/sdk/user.js +1 -1
  185. package/dist/sdk/user.js.map +1 -1
  186. package/dist/sdk/util/format-detector.js +1 -1
  187. package/dist/sdk/util/formatters.js +1 -1
  188. package/dist/sdk/util/index.js +1 -1
  189. package/dist/sdk/util/tree-formatter.js +1 -1
  190. package/dist/sdk/workflow/clone-workflow.js +1 -1
  191. package/dist/sdk/workflow/index.js +1 -1
  192. package/dist/sdk/workflow/index.js.map +1 -1
  193. package/dist/sdk/workflow/pull-workflow.js +1 -1
  194. package/dist/sdk/workflow/push-workflow.js +1 -1
  195. package/dist/sdk/workflow/tdx-config.js +1 -1
  196. package/dist/sdk/workflow/workflow-utils.js +1 -1
  197. package/dist/test-utils/command-runner.d.ts +99 -0
  198. package/dist/test-utils/command-runner.d.ts.map +1 -0
  199. package/dist/test-utils/command-runner.js +1 -0
  200. package/dist/test-utils/command-runner.js.map +1 -0
  201. package/dist/test-utils/factories.d.ts +183 -0
  202. package/dist/test-utils/factories.d.ts.map +1 -0
  203. package/dist/test-utils/factories.js +1 -0
  204. package/dist/test-utils/factories.js.map +1 -0
  205. package/dist/test-utils/fixtures.d.ts +395 -0
  206. package/dist/test-utils/fixtures.d.ts.map +1 -0
  207. package/dist/test-utils/fixtures.js +1 -0
  208. package/dist/test-utils/fixtures.js.map +1 -0
  209. package/dist/test-utils/http-mock.d.ts +285 -0
  210. package/dist/test-utils/http-mock.d.ts.map +1 -0
  211. package/dist/test-utils/http-mock.js +1 -0
  212. package/dist/test-utils/http-mock.js.map +1 -0
  213. package/dist/test-utils/index.d.ts +47 -0
  214. package/dist/test-utils/index.d.ts.map +1 -0
  215. package/dist/test-utils/index.js +1 -0
  216. package/dist/test-utils/index.js.map +1 -0
  217. package/dist/utils/async.js +1 -1
  218. package/dist/utils/colors.js +1 -1
  219. package/dist/utils/diff.js +1 -1
  220. package/dist/utils/file-permissions.js +1 -1
  221. package/dist/utils/global-cache.js +1 -1
  222. package/dist/utils/json-loader.js +1 -1
  223. package/dist/utils/local-cache.js +1 -1
  224. package/dist/utils/logger/formatters/default-formatter.d.ts +33 -0
  225. package/dist/utils/logger/formatters/default-formatter.d.ts.map +1 -0
  226. package/dist/utils/logger/formatters/default-formatter.js +1 -0
  227. package/dist/utils/logger/formatters/default-formatter.js.map +1 -0
  228. package/dist/utils/logger/formatters/index.d.ts +8 -0
  229. package/dist/utils/logger/formatters/index.d.ts.map +1 -0
  230. package/dist/utils/logger/formatters/index.js +1 -0
  231. package/dist/utils/logger/formatters/index.js.map +1 -0
  232. package/dist/utils/logger/handlers/console-handler.d.ts +31 -0
  233. package/dist/utils/logger/handlers/console-handler.d.ts.map +1 -0
  234. package/dist/utils/logger/handlers/console-handler.js +1 -0
  235. package/dist/utils/logger/handlers/console-handler.js.map +1 -0
  236. package/dist/utils/logger/handlers/file-handler.d.ts +51 -0
  237. package/dist/utils/logger/handlers/file-handler.d.ts.map +1 -0
  238. package/dist/utils/logger/handlers/file-handler.js +1 -0
  239. package/dist/utils/logger/handlers/file-handler.js.map +1 -0
  240. package/dist/utils/logger/handlers/index.d.ts +11 -0
  241. package/dist/utils/logger/handlers/index.d.ts.map +1 -0
  242. package/dist/utils/logger/handlers/index.js +1 -0
  243. package/dist/utils/logger/handlers/index.js.map +1 -0
  244. package/dist/utils/logger/handlers/null-handler.d.ts +16 -0
  245. package/dist/utils/logger/handlers/null-handler.d.ts.map +1 -0
  246. package/dist/utils/logger/handlers/null-handler.js +1 -0
  247. package/dist/utils/logger/handlers/null-handler.js.map +1 -0
  248. package/dist/utils/logger/index.d.ts +37 -0
  249. package/dist/utils/logger/index.d.ts.map +1 -0
  250. package/dist/utils/logger/index.js +1 -0
  251. package/dist/utils/logger/index.js.map +1 -0
  252. package/dist/utils/logger/logger.d.ts +132 -0
  253. package/dist/utils/logger/logger.d.ts.map +1 -0
  254. package/dist/utils/logger/logger.js +1 -0
  255. package/dist/utils/logger/logger.js.map +1 -0
  256. package/dist/utils/logger/types.d.ts +95 -0
  257. package/dist/utils/logger/types.d.ts.map +1 -0
  258. package/dist/utils/logger/types.js +1 -0
  259. package/dist/utils/logger/types.js.map +1 -0
  260. package/dist/utils/option-validation.js +1 -1
  261. package/dist/utils/port.js +1 -1
  262. package/dist/utils/process.js +1 -1
  263. package/dist/utils/prompt.js +1 -1
  264. package/dist/utils/spinner.js +1 -1
  265. package/dist/utils/sse-parser.d.ts +9 -2
  266. package/dist/utils/sse-parser.d.ts.map +1 -1
  267. package/dist/utils/sse-parser.js +1 -1
  268. package/dist/utils/sse-parser.js.map +1 -1
  269. package/dist/utils/string-utils.js +1 -1
  270. package/dist/utils/table-ref-parser.js +1 -1
  271. package/dist/utils/tdx-logger.d.ts +44 -21
  272. package/dist/utils/tdx-logger.d.ts.map +1 -1
  273. package/dist/utils/tdx-logger.js +1 -1
  274. package/dist/utils/tdx-logger.js.map +1 -1
  275. package/dist/utils/version-check.js +1 -1
  276. package/package.json +1 -1
@@ -0,0 +1,285 @@
1
+ /**
2
+ * HTTP Mock Registry for Testing
3
+ *
4
+ * Inspired by GitHub CLI's httpmock package. Provides:
5
+ * - Registry pattern for centralized stub management
6
+ * - Request matchers for REST endpoints
7
+ * - Response generators for common patterns
8
+ * - Verification that all stubs were matched
9
+ * - Stack traces for debugging unmatched stubs
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { createHTTPMock, HTTPMockRegistry } from '../test-utils/http-mock.js';
14
+ *
15
+ * describe('MyTest', () => {
16
+ * let http: HTTPMockRegistry;
17
+ *
18
+ * beforeEach(() => {
19
+ * http = createHTTPMock();
20
+ * global.fetch = http.createFetch();
21
+ * });
22
+ *
23
+ * afterEach(() => {
24
+ * http.verify({ fail: (msg) => { throw new Error(msg); } });
25
+ * });
26
+ *
27
+ * it('should call API', async () => {
28
+ * http.register(
29
+ * http.REST('GET', '/v1/users'),
30
+ * HTTPMockRegistry.jsonResponse({ users: [] })
31
+ * );
32
+ *
33
+ * const result = await myFunction();
34
+ * expect(result.users).toEqual([]);
35
+ * });
36
+ * });
37
+ * ```
38
+ */
39
+ import { type Mock } from 'vitest';
40
+ /**
41
+ * Captured request information for inspection and matching
42
+ */
43
+ export interface MockRequest {
44
+ method: string;
45
+ url: string;
46
+ headers: Record<string, string>;
47
+ body?: unknown;
48
+ }
49
+ /**
50
+ * Function that determines if a request matches a stub
51
+ */
52
+ export type RequestMatcher = (req: MockRequest) => boolean;
53
+ /**
54
+ * Function that generates a response for a matched request
55
+ */
56
+ export type ResponseGenerator = (req: MockRequest) => Response | Promise<Response>;
57
+ /**
58
+ * Callback for inspecting request body during matching
59
+ */
60
+ export type RequestInspector = (body: unknown, req: MockRequest) => void;
61
+ /**
62
+ * Interface for test failure reporting
63
+ */
64
+ export interface TestContext {
65
+ fail: (message: string) => void;
66
+ }
67
+ /**
68
+ * HTTP Mock Registry
69
+ *
70
+ * Manages HTTP request stubs with verification support.
71
+ * All registered stubs are tracked and can be verified at test end.
72
+ */
73
+ export declare class HTTPMockRegistry {
74
+ private stubs;
75
+ private requests;
76
+ private fetchMock;
77
+ /**
78
+ * Create a REST endpoint matcher
79
+ *
80
+ * @param method - HTTP method (GET, POST, PUT, DELETE, etc.)
81
+ * @param pathPattern - String or RegExp to match against URL path
82
+ * @returns Matcher function
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * http.REST('GET', '/v1/users') // Exact path match
87
+ * http.REST('GET', /\/v1\/users\/\d+/) // Regex match
88
+ * http.REST('POST', '/v1/audiences') // POST request
89
+ * ```
90
+ */
91
+ REST(method: string, pathPattern: string | RegExp): RequestMatcher;
92
+ /**
93
+ * Create a matcher that also validates query parameters
94
+ *
95
+ * @param baseMatcher - Base matcher (usually from REST())
96
+ * @param params - Required query parameters
97
+ * @returns Combined matcher function
98
+ *
99
+ * @example
100
+ * ```typescript
101
+ * http.register(
102
+ * http.withQuery(http.REST('GET', '/v1/users'), { limit: '10' }),
103
+ * HTTPMockRegistry.jsonResponse({ users: [] })
104
+ * );
105
+ * ```
106
+ */
107
+ withQuery(baseMatcher: RequestMatcher, params: Record<string, string>): RequestMatcher;
108
+ /**
109
+ * Create a matcher that validates request body
110
+ *
111
+ * @param baseMatcher - Base matcher (usually from REST())
112
+ * @param bodyMatcher - Function to validate body or object for deep equality
113
+ * @returns Combined matcher function
114
+ *
115
+ * @example
116
+ * ```typescript
117
+ * http.register(
118
+ * http.withBody(http.REST('POST', '/v1/users'), { name: 'test' }),
119
+ * HTTPMockRegistry.jsonResponse({ id: '123' })
120
+ * );
121
+ * ```
122
+ */
123
+ withBody(baseMatcher: RequestMatcher, bodyMatcher: Record<string, unknown> | ((body: unknown) => boolean)): RequestMatcher;
124
+ /**
125
+ * Create a matcher that validates host
126
+ *
127
+ * @param baseMatcher - Base matcher (usually from REST())
128
+ * @param host - Expected host (e.g., 'api.treasuredata.com')
129
+ * @returns Combined matcher function
130
+ */
131
+ withHost(baseMatcher: RequestMatcher, host: string): RequestMatcher;
132
+ /**
133
+ * Register a stub for matching requests
134
+ *
135
+ * Stubs are matched in order of registration (first match wins).
136
+ * Unmatched stubs will cause verify() to fail.
137
+ *
138
+ * @param matcher - Function to match requests
139
+ * @param responder - Function to generate responses
140
+ * @param options - Optional configuration
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * http.register(
145
+ * http.REST('GET', '/v1/users'),
146
+ * HTTPMockRegistry.jsonResponse({ users: [] }),
147
+ * { description: 'List users endpoint' }
148
+ * );
149
+ * ```
150
+ */
151
+ register(matcher: RequestMatcher, responder: ResponseGenerator, options?: {
152
+ description?: string;
153
+ }): void;
154
+ /**
155
+ * Register a stub with request body inspection
156
+ *
157
+ * Allows asserting on request bodies during test execution.
158
+ *
159
+ * @param matcher - Function to match requests
160
+ * @param responder - Function to generate responses
161
+ * @param inspector - Callback to inspect request body
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * http.registerWithInspector(
166
+ * http.REST('POST', '/v1/users'),
167
+ * HTTPMockRegistry.jsonResponse({ id: '123' }),
168
+ * (body) => {
169
+ * expect(body).toHaveProperty('name');
170
+ * }
171
+ * );
172
+ * ```
173
+ */
174
+ registerWithInspector(matcher: RequestMatcher, responder: ResponseGenerator, inspector: RequestInspector): void;
175
+ /**
176
+ * Create a JSON response
177
+ *
178
+ * @param data - Response body (will be serialized to JSON)
179
+ * @param status - HTTP status code (default: 200)
180
+ * @returns Response generator function
181
+ */
182
+ static jsonResponse(data: unknown, status?: number): ResponseGenerator;
183
+ /**
184
+ * Create an error response
185
+ *
186
+ * @param status - HTTP status code
187
+ * @param message - Error message
188
+ * @param format - Error format ('simple' | 'td-api' | 'rfc9457')
189
+ * @returns Response generator function
190
+ */
191
+ static errorResponse(status: number, message: string, format?: 'simple' | 'td-api' | 'rfc9457'): ResponseGenerator;
192
+ /**
193
+ * Create a response with custom headers
194
+ *
195
+ * @param data - Response body
196
+ * @param headers - Custom headers
197
+ * @param status - HTTP status code
198
+ * @returns Response generator function
199
+ */
200
+ static jsonResponseWithHeaders(data: unknown, headers: Record<string, string>, status?: number): ResponseGenerator;
201
+ /**
202
+ * Create a plain text response
203
+ *
204
+ * @param text - Response body
205
+ * @param status - HTTP status code
206
+ * @returns Response generator function
207
+ */
208
+ static textResponse(text: string, status?: number): ResponseGenerator;
209
+ /**
210
+ * Create a network error (simulates fetch failure)
211
+ *
212
+ * @param message - Error message
213
+ * @returns Response generator function that throws
214
+ */
215
+ static networkError(message: string): ResponseGenerator;
216
+ /**
217
+ * Create the mock fetch function
218
+ *
219
+ * @returns Mock fetch function to assign to global.fetch
220
+ */
221
+ createFetch(): Mock;
222
+ /**
223
+ * Parse a fetch request into MockRequest format
224
+ */
225
+ private parseRequest;
226
+ /**
227
+ * Verify all registered stubs were matched
228
+ *
229
+ * Call this in afterEach() to ensure no dead stubs exist.
230
+ *
231
+ * @param t - Test context with fail() method
232
+ *
233
+ * @example
234
+ * ```typescript
235
+ * afterEach(() => {
236
+ * http.verify({ fail: (msg) => { throw new Error(msg); } });
237
+ * });
238
+ * ```
239
+ */
240
+ verify(t: TestContext): void;
241
+ /**
242
+ * Get all captured requests
243
+ *
244
+ * @returns Array of all requests made through the mock
245
+ */
246
+ getRequests(): MockRequest[];
247
+ /**
248
+ * Get the last captured request
249
+ *
250
+ * @returns Last request or undefined if none
251
+ */
252
+ getLastRequest(): MockRequest | undefined;
253
+ /**
254
+ * Check if a specific request was made
255
+ *
256
+ * @param method - HTTP method
257
+ * @param urlPattern - String or RegExp to match URL
258
+ * @returns True if matching request was made
259
+ */
260
+ wasCalled(method: string, urlPattern: string | RegExp): boolean;
261
+ /**
262
+ * Get number of times a stub was matched
263
+ *
264
+ * @param index - Stub index (0-based, in registration order)
265
+ * @returns Number of times matched
266
+ */
267
+ getMatchCount(index: number): number;
268
+ /**
269
+ * Reset registry state (clear stubs and requests)
270
+ */
271
+ reset(): void;
272
+ /**
273
+ * Get status text for common HTTP status codes
274
+ */
275
+ private static getStatusText;
276
+ }
277
+ /**
278
+ * Create a new HTTP mock registry
279
+ *
280
+ * Convenience function for creating registries in tests.
281
+ *
282
+ * @returns New HTTPMockRegistry instance
283
+ */
284
+ export declare function createHTTPMock(): HTTPMockRegistry;
285
+ //# sourceMappingURL=http-mock.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-mock.d.ts","sourceRoot":"","sources":["../../src/test-utils/http-mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ const a159_0x421f3c=a159_0x2027;function a159_0x2027(_0x3fe3b,_0x3f70c9){_0x3fe3b=_0x3fe3b-0xde;const _0x44ccc3=a159_0x44cc();let _0x202747=_0x44ccc3[_0x3fe3b];return _0x202747;}(function(_0x1f5d57,_0x196ed7){const _0x3d9d73=a159_0x2027,_0x4df345=_0x1f5d57();while(!![]){try{const _0x2081b6=parseInt(_0x3d9d73(0x132))/0x1*(parseInt(_0x3d9d73(0x117))/0x2)+parseInt(_0x3d9d73(0x107))/0x3*(-parseInt(_0x3d9d73(0x119))/0x4)+parseInt(_0x3d9d73(0xee))/0x5+-parseInt(_0x3d9d73(0x118))/0x6*(parseInt(_0x3d9d73(0x125))/0x7)+-parseInt(_0x3d9d73(0xff))/0x8+-parseInt(_0x3d9d73(0x126))/0x9*(-parseInt(_0x3d9d73(0x129))/0xa)+parseInt(_0x3d9d73(0x12e))/0xb*(-parseInt(_0x3d9d73(0xe7))/0xc);if(_0x2081b6===_0x196ed7)break;else _0x4df345['push'](_0x4df345['shift']());}catch(_0x3679c6){_0x4df345['push'](_0x4df345['shift']());}}}(a159_0x44cc,0x904cf));function a159_0x44cc(){const _0x3f945e=['toUpperCase','stringify','20XLholU','6EWwuqj','717172qAuCCZ','matchCount','wasCalled','REST','some','Too\x20Many\x20Requests','createFetch','entries','errorResponse','headers','reset','Not\x20Found','4732189DNgtNT','9mVGHwt','getLastRequest','Conflict','10275670asCayg','withHost','pathname','toLowerCase','withQuery','122716CqDTOe','\x20stub(s)\x20were\x20not\x20matched:\x0a\x0a','No\x20stub\x20matched\x20request:\x20','Bad\x20Gateway','71405fUZaTb','slice','No\x20Content','includes','fail','Bad\x20Request','text/plain','searchParams','filter','jsonResponseWithHeaders','isArray','matched','getStatusText','body','\x20registered\x20at:\x0a','rfc9457','12HeornJ','error','Registered\x20stubs:\x0a','fetchMock','test','parse','Unprocessable\x20Entity','993950RPjinW','jsonResponse','mockImplementation','td-api','withBody','networkError','function','GET','Created','application/json','method','parseRequest','join','Unknown','stack','Unauthorized','matcher','3863008qnKTdk','host','requests','url','Service\x20Unavailable','registerWithInspector','map','verify','3OMJhJX','getRequests','Unmatched\x20stub','stubs','push','string','length','register','Forbidden','textResponse','getMatchCount','split','forEach','Internal\x20Server\x20Error'];a159_0x44cc=function(){return _0x3f945e;};return a159_0x44cc();}import{vi}from'vitest';export class HTTPMockRegistry{[a159_0x421f3c(0x10a)]=[];[a159_0x421f3c(0x101)]=[];[a159_0x421f3c(0xea)]=null;[a159_0x421f3c(0x11c)](_0xe08bb3,_0x119c9d){return _0x8eebea=>{const _0x4afed3=a159_0x2027;if(_0x8eebea[_0x4afed3(0xf8)][_0x4afed3(0x115)]()!==_0xe08bb3[_0x4afed3(0x115)]())return![];const _0x231585=new URL(_0x8eebea[_0x4afed3(0x102)]);if(typeof _0x119c9d===_0x4afed3(0x10c))return _0x231585[_0x4afed3(0x12b)]===_0x119c9d||_0x231585[_0x4afed3(0x12b)][_0x4afed3(0x135)](_0x119c9d);return _0x119c9d[_0x4afed3(0xeb)](_0x231585[_0x4afed3(0x12b)]);};}[a159_0x421f3c(0x12d)](_0x25ce77,_0x280d83){return _0x318591=>{const _0x4fba39=a159_0x2027;if(!_0x25ce77(_0x318591))return![];const _0x6639b2=new URL(_0x318591['url']);return Object[_0x4fba39(0x120)](_0x280d83)['every'](([_0x3cbd75,_0x19f246])=>_0x6639b2[_0x4fba39(0xde)]['get'](_0x3cbd75)===_0x19f246);};}[a159_0x421f3c(0xf2)](_0x2e395b,_0x1dd753){return _0x88fd76=>{const _0x386ded=a159_0x2027;if(!_0x2e395b(_0x88fd76))return![];if(typeof _0x1dd753===_0x386ded(0xf4))return _0x1dd753(_0x88fd76[_0x386ded(0xe4)]);return JSON[_0x386ded(0x116)](_0x88fd76[_0x386ded(0xe4)])===JSON[_0x386ded(0x116)](_0x1dd753);};}[a159_0x421f3c(0x12a)](_0x83b25,_0x36735f){return _0x5a341c=>{const _0x3bf0b6=a159_0x2027;if(!_0x83b25(_0x5a341c))return![];const _0x59465c=new URL(_0x5a341c['url']);return _0x59465c[_0x3bf0b6(0x100)]===_0x36735f;};}['register'](_0x5a218a,_0x1e6485,_0x299327){const _0x374fa8=a159_0x421f3c;this[_0x374fa8(0x10a)][_0x374fa8(0x10b)]({'matcher':_0x5a218a,'responder':_0x1e6485,'matched':![],'matchCount':0x0,'stack':new Error()[_0x374fa8(0xfc)]??'','description':_0x299327?.['description']});}[a159_0x421f3c(0x104)](_0x2d5d7c,_0xa448d4,_0x35a7a8){const _0x334b86=a159_0x421f3c,_0x1e136d=_0x13cdea=>{const _0x38c949=a159_0x2027;return _0x35a7a8(_0x13cdea[_0x38c949(0xe4)],_0x13cdea),_0xa448d4(_0x13cdea);};this[_0x334b86(0x10e)](_0x2d5d7c,_0x1e136d);}static[a159_0x421f3c(0xef)](_0x2219b0,_0x680c54=0xc8){const _0x3ef046=a159_0x421f3c;return()=>new Response(JSON['stringify'](_0x2219b0),{'status':_0x680c54,'headers':{'Content-Type':_0x3ef046(0xf7)}});}static[a159_0x421f3c(0x121)](_0x173d56,_0x447a46,_0x345e4a='simple'){return()=>{const _0x26a6fe=a159_0x2027;let _0x3bb98d;switch(_0x345e4a){case _0x26a6fe(0xf1):_0x3bb98d={'errors':{'error':_0x447a46,'message':_0x447a46,'severity':_0x26a6fe(0xe8),'status_code':_0x173d56}};break;case _0x26a6fe(0xe6):_0x3bb98d={'type':'https://api.treasuredata.com/errors/'+_0x173d56,'title':HTTPMockRegistry[_0x26a6fe(0xe3)](_0x173d56),'status':_0x173d56,'detail':_0x447a46};break;default:_0x3bb98d={'error':_0x447a46};}return new Response(JSON[_0x26a6fe(0x116)](_0x3bb98d),{'status':_0x173d56,'headers':{'Content-Type':_0x26a6fe(0xf7)}});};}static[a159_0x421f3c(0xe0)](_0x1dbfe7,_0x17b7fd,_0x16b933=0xc8){const _0x2216f0=a159_0x421f3c;return()=>new Response(JSON[_0x2216f0(0x116)](_0x1dbfe7),{'status':_0x16b933,'headers':{'Content-Type':_0x2216f0(0xf7),..._0x17b7fd}});}static[a159_0x421f3c(0x110)](_0x3e35d0,_0x26833f=0xc8){const _0x57ba63=a159_0x421f3c;return()=>new Response(_0x3e35d0,{'status':_0x26833f,'headers':{'Content-Type':_0x57ba63(0x138)}});}static[a159_0x421f3c(0xf3)](_0x5241aa){return()=>{throw new Error(_0x5241aa);};}[a159_0x421f3c(0x11f)](){const _0x522200=a159_0x421f3c;return this[_0x522200(0xea)]=vi['fn']()[_0x522200(0xf0)](async(_0x5c4d5e,_0x229a5f)=>{const _0x1bba62=_0x522200,_0x458c19=this[_0x1bba62(0xf9)](_0x5c4d5e,_0x229a5f);this[_0x1bba62(0x101)][_0x1bba62(0x10b)](_0x458c19);for(const _0x4222eb of this[_0x1bba62(0x10a)]){if(_0x4222eb[_0x1bba62(0xfe)](_0x458c19))return _0x4222eb[_0x1bba62(0xe2)]=!![],_0x4222eb['matchCount']++,_0x4222eb['responder'](_0x458c19);}const _0x54978f=this['stubs']['map']((_0x5b1e6e,_0x244c37)=>'\x20\x20'+(_0x244c37+0x1)+'.\x20'+(_0x5b1e6e['description']??'unnamed\x20stub'))[_0x1bba62(0xfa)]('\x0a');throw new Error(_0x1bba62(0x130)+_0x458c19[_0x1bba62(0xf8)]+'\x20'+_0x458c19[_0x1bba62(0x102)]+'\x0a'+('Request\x20body:\x20'+JSON[_0x1bba62(0x116)](_0x458c19[_0x1bba62(0xe4)])+'\x0a')+(_0x1bba62(0xe9)+(_0x54978f||'\x20\x20(none)')));}),this['fetchMock'];}[a159_0x421f3c(0xf9)](_0x1faca6,_0x563285){const _0x23bec4=a159_0x421f3c,_0x529add={};if(_0x563285?.[_0x23bec4(0x122)]){if(_0x563285['headers']instanceof Headers)_0x563285['headers'][_0x23bec4(0x113)]((_0x180ce8,_0x45c7b9)=>{const _0x3a6ac5=_0x23bec4;_0x529add[_0x45c7b9[_0x3a6ac5(0x12c)]()]=_0x180ce8;});else{if(Array[_0x23bec4(0xe1)](_0x563285[_0x23bec4(0x122)]))for(const [_0xed1bd5,_0x155280]of _0x563285[_0x23bec4(0x122)]){_0x529add[_0xed1bd5[_0x23bec4(0x12c)]()]=_0x155280;}else for(const [_0x4011f6,_0x5b1814]of Object[_0x23bec4(0x120)](_0x563285['headers'])){_0x5b1814!==undefined&&(_0x529add[_0x4011f6[_0x23bec4(0x12c)]()]=_0x5b1814);}}}let _0x3f15e1;if(_0x563285?.[_0x23bec4(0xe4)])try{_0x3f15e1=JSON[_0x23bec4(0xec)](_0x563285[_0x23bec4(0xe4)]);}catch{_0x3f15e1=_0x563285[_0x23bec4(0xe4)];}return{'method':_0x563285?.[_0x23bec4(0xf8)]??_0x23bec4(0xf5),'url':_0x1faca6,'headers':_0x529add,'body':_0x3f15e1};}[a159_0x421f3c(0x106)](_0x3e4d3c){const _0x3ba014=a159_0x421f3c,_0x570c09=this[_0x3ba014(0x10a)][_0x3ba014(0xdf)](_0x4fbe2c=>!_0x4fbe2c['matched']);if(_0x570c09[_0x3ba014(0x10d)]>0x0){const _0x4e1647=_0x570c09[_0x3ba014(0x105)](_0x1e1f46=>{const _0x25267a=_0x3ba014,_0x135042=_0x1e1f46['description']?'\x20('+_0x1e1f46['description']+')':'',_0x27c8e0=_0x1e1f46[_0x25267a(0xfc)][_0x25267a(0x112)]('\x0a')[_0x25267a(0x133)](0x2,0x5)['join']('\x0a');return _0x25267a(0x109)+_0x135042+_0x25267a(0xe5)+_0x27c8e0;});_0x3e4d3c[_0x3ba014(0x136)](_0x570c09['length']+_0x3ba014(0x12f)+_0x4e1647[_0x3ba014(0xfa)]('\x0a\x0a'));}}[a159_0x421f3c(0x108)](){return[...this['requests']];}[a159_0x421f3c(0x127)](){const _0x509b60=a159_0x421f3c;return this[_0x509b60(0x101)][this[_0x509b60(0x101)][_0x509b60(0x10d)]-0x1];}[a159_0x421f3c(0x11b)](_0x54781e,_0x11d570){const _0x58cc94=a159_0x421f3c;return this[_0x58cc94(0x101)][_0x58cc94(0x11d)](_0x3d86c8=>{const _0x599e1e=_0x58cc94;if(_0x3d86c8[_0x599e1e(0xf8)]['toUpperCase']()!==_0x54781e['toUpperCase']())return![];if(typeof _0x11d570===_0x599e1e(0x10c))return _0x3d86c8[_0x599e1e(0x102)][_0x599e1e(0x135)](_0x11d570);return _0x11d570[_0x599e1e(0xeb)](_0x3d86c8[_0x599e1e(0x102)]);});}[a159_0x421f3c(0x111)](_0x221885){const _0x515dd8=a159_0x421f3c;return this['stubs'][_0x221885]?.[_0x515dd8(0x11a)]??0x0;}[a159_0x421f3c(0x123)](){const _0x13bc7b=a159_0x421f3c;this['stubs']=[],this[_0x13bc7b(0x101)]=[],this[_0x13bc7b(0xea)]=null;}static[a159_0x421f3c(0xe3)](_0x3652a5){const _0xafaf46=a159_0x421f3c,_0x3a9dee={0xc8:'OK',0xc9:_0xafaf46(0xf6),0xcc:_0xafaf46(0x134),0x190:_0xafaf46(0x137),0x191:_0xafaf46(0xfd),0x193:_0xafaf46(0x10f),0x194:_0xafaf46(0x124),0x199:_0xafaf46(0x128),0x1a6:_0xafaf46(0xed),0x1ad:_0xafaf46(0x11e),0x1f4:_0xafaf46(0x114),0x1f6:_0xafaf46(0x131),0x1f7:_0xafaf46(0x103)};return _0x3a9dee[_0x3652a5]??_0xafaf46(0xfb);}}export function createHTTPMock(){return new HTTPMockRegistry();}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-mock.js","sourceRoot":"","sources":["../../src/test-utils/http-mock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Test Utilities
3
+ *
4
+ * Centralized test helpers inspired by GitHub CLI's testing patterns.
5
+ * These utilities provide:
6
+ * - HTTP mock registry for request stubbing and verification
7
+ * - Factories for common test objects
8
+ * - Fixtures for shared test data
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * import {
13
+ * createHTTPMock,
14
+ * HTTPMockRegistry,
15
+ * createTestCommandContext,
16
+ * fixtures,
17
+ * } from '../test-utils/index.js';
18
+ *
19
+ * describe('MyCommand', () => {
20
+ * let http: HTTPMockRegistry;
21
+ *
22
+ * beforeEach(() => {
23
+ * http = createHTTPMock();
24
+ * global.fetch = http.createFetch();
25
+ * });
26
+ *
27
+ * afterEach(() => {
28
+ * http.verify({ fail: (msg) => { throw new Error(msg); } });
29
+ * });
30
+ *
31
+ * it('should list databases', async () => {
32
+ * http.register(
33
+ * http.REST('GET', '/v3/database/list'),
34
+ * HTTPMockRegistry.jsonResponse({ databases: [fixtures.database.basic] })
35
+ * );
36
+ *
37
+ * const ctx = createTestCommandContext({ options: { format: 'json' } });
38
+ * // ... test command
39
+ * });
40
+ * });
41
+ * ```
42
+ */
43
+ export { HTTPMockRegistry, createHTTPMock, type MockRequest, type RequestMatcher, type ResponseGenerator, type RequestInspector, type TestContext, } from './http-mock.js';
44
+ export { createTestSDKContext, createTestGlobalOptions, createTestCommandContext, createMockTDX, captureConsole, type TestSDKContext, type MockTDX, } from './factories.js';
45
+ export { fixtures, createDatabase, createTable, createParentSegment, createSegment, createJourney, createQueryResult, createUser, createJob, createWorkflow, } from './fixtures.js';
46
+ export { CommandRunner, createCommandRunner, type CommandResult, type RunOptions, } from './command-runner.js';
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/test-utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,cAAc,EACd,KAAK,cAAc,EACnB,KAAK,OAAO,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,GACf,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ (function(_0x308fea,_0x47caa0){var _0x2bc15e=a160_0x58c4,_0x174002=_0x308fea();while(!![]){try{var _0x306385=-parseInt(_0x2bc15e(0xc0))/0x1+parseInt(_0x2bc15e(0xbb))/0x2+-parseInt(_0x2bc15e(0xb8))/0x3+-parseInt(_0x2bc15e(0xb9))/0x4*(-parseInt(_0x2bc15e(0xba))/0x5)+parseInt(_0x2bc15e(0xbd))/0x6*(-parseInt(_0x2bc15e(0xbc))/0x7)+-parseInt(_0x2bc15e(0xbf))/0x8+parseInt(_0x2bc15e(0xbe))/0x9;if(_0x306385===_0x47caa0)break;else _0x174002['push'](_0x174002['shift']());}catch(_0x2317a0){_0x174002['push'](_0x174002['shift']());}}}(a160_0x36d7,0x53ce0));export{HTTPMockRegistry,createHTTPMock}from'./http-mock.js';export{createTestSDKContext,createTestGlobalOptions,createTestCommandContext,createMockTDX,captureConsole}from'./factories.js';function a160_0x58c4(_0x1172a8,_0x115612){_0x1172a8=_0x1172a8-0xb8;var _0x36d7a9=a160_0x36d7();var _0x58c469=_0x36d7a9[_0x1172a8];return _0x58c469;}export{fixtures,createDatabase,createTable,createParentSegment,createSegment,createJourney,createQueryResult,createUser,createJob,createWorkflow}from'./fixtures.js';function a160_0x36d7(){var _0x190a69=['3705328yFBuLK','365326QiVKxN','576162ZzEqwb','4DwCNuI','1046165dBzABi','214058araaQe','3500sZgsCO','2202Gtcszr','11079432RBKthA'];a160_0x36d7=function(){return _0x190a69;};return a160_0x36d7();}export{CommandRunner,createCommandRunner}from'./command-runner.js';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/test-utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,qBAAqB;AACrB,OAAO,EACL,gBAAgB,EAChB,cAAc,GAMf,MAAM,gBAAgB,CAAC;AAExB,iBAAiB;AACjB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,wBAAwB,EACxB,aAAa,EACb,cAAc,GAGf,MAAM,gBAAgB,CAAC;AAExB,gBAAgB;AAChB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,uCAAuC;AACvC,OAAO,EACL,aAAa,EACb,mBAAmB,GAGpB,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- (function(_0x19aaba,_0x5a7468){const _0x5c7c20=a156_0x1592,_0x120e09=_0x19aaba();while(!![]){try{const _0x1f196b=parseInt(_0x5c7c20(0x1a4))/0x1*(-parseInt(_0x5c7c20(0x1a6))/0x2)+parseInt(_0x5c7c20(0x1a7))/0x3+-parseInt(_0x5c7c20(0x1a3))/0x4*(parseInt(_0x5c7c20(0x1a1))/0x5)+parseInt(_0x5c7c20(0x1a2))/0x6+parseInt(_0x5c7c20(0x1a5))/0x7+parseInt(_0x5c7c20(0x19d))/0x8+parseInt(_0x5c7c20(0x1a0))/0x9;if(_0x1f196b===_0x5a7468)break;else _0x120e09['push'](_0x120e09['shift']());}catch(_0x4a4179){_0x120e09['push'](_0x120e09['shift']());}}}(a156_0x14fd,0xf205d));function a156_0x1592(_0x6f8abf,_0x2bf3fd){_0x6f8abf=_0x6f8abf-0x19c;const _0x14fd7d=a156_0x14fd();let _0x159259=_0x14fd7d[_0x6f8abf];return _0x159259;}export async function batchAsync(_0x55aa3f,_0x47f821,_0x4f912b=0xa){const _0x541a50=a156_0x1592,_0x468082=[];for(let _0x3e43a8=0x0;_0x3e43a8<_0x55aa3f['length'];_0x3e43a8+=_0x4f912b){const _0x30e8aa=_0x55aa3f[_0x541a50(0x19e)](_0x3e43a8,_0x3e43a8+_0x4f912b),_0x3a5cde=await Promise[_0x541a50(0x19c)](_0x30e8aa[_0x541a50(0x19f)](_0x47f821));_0x468082['push'](..._0x3a5cde);}return _0x468082;}function a156_0x14fd(){const _0x35819b=['all','226128fRPSZt','slice','map','2704473UmHbfP','175kmwMfD','753252JWNrNA','40480IfLyNS','331Pjaewy','11707367NDCiZE','10790EMSfpG','3013452rRxMtJ'];a156_0x14fd=function(){return _0x35819b;};return a156_0x14fd();}
1
+ function a161_0x1b1e(){const _0x50126b=['13215UXYkZc','84zXRLuJ','10704RmLkGe','all','1643593BIEvjP','6124275yAgvva','96vMbmXZ','map','645042CGMtDZ','201326uJQdPL','length','517816yFebWx'];a161_0x1b1e=function(){return _0x50126b;};return a161_0x1b1e();}function a161_0x18fb(_0x2b2c7e,_0x42c481){_0x2b2c7e=_0x2b2c7e-0x1e1;const _0x1b1e2e=a161_0x1b1e();let _0x18fba9=_0x1b1e2e[_0x2b2c7e];return _0x18fba9;}(function(_0x1ae6ed,_0x204e9a){const _0x4fbbee=a161_0x18fb,_0xd55ab4=_0x1ae6ed();while(!![]){try{const _0x426eaf=-parseInt(_0x4fbbee(0x1eb))/0x1+-parseInt(_0x4fbbee(0x1e8))/0x2*(parseInt(_0x4fbbee(0x1e4))/0x3)+-parseInt(_0x4fbbee(0x1e3))/0x4*(-parseInt(_0x4fbbee(0x1e2))/0x5)+parseInt(_0x4fbbee(0x1ea))/0x6+-parseInt(_0x4fbbee(0x1e6))/0x7+-parseInt(_0x4fbbee(0x1e1))/0x8+parseInt(_0x4fbbee(0x1e7))/0x9;if(_0x426eaf===_0x204e9a)break;else _0xd55ab4['push'](_0xd55ab4['shift']());}catch(_0x39cf24){_0xd55ab4['push'](_0xd55ab4['shift']());}}}(a161_0x1b1e,0x29d69));export async function batchAsync(_0xcc4c7d,_0xc9471b,_0x51470f=0xa){const _0x444cec=a161_0x18fb,_0x273af0=[];for(let _0x248c65=0x0;_0x248c65<_0xcc4c7d[_0x444cec(0x1ec)];_0x248c65+=_0x51470f){const _0x454d48=_0xcc4c7d['slice'](_0x248c65,_0x248c65+_0x51470f),_0x34ff4a=await Promise[_0x444cec(0x1e5)](_0x454d48[_0x444cec(0x1e9)](_0xc9471b));_0x273af0['push'](..._0x34ff4a);}return _0x273af0;}
@@ -1 +1 @@
1
- const a157_0x348f5a=a157_0x4522;function a157_0x2773(){const _0x445ac8=['4333ICKHXy','length','427238xEOCIj','isTTY','isArray','Chalk','dim','cyan','entries','number','2205928iMRDdT','stringify','string','959432BNJufv','map','repeat','1898510WLZKpY','null','45DhOVyn','4740OLBBuo','58370EhfPWq','3NGiEuK','color','stdout','object','yellow','join','boolean','3329qxngnl','blue'];a157_0x2773=function(){return _0x445ac8;};return a157_0x2773();}(function(_0x311360,_0x345042){const _0x204a46=a157_0x4522,_0x1304a0=_0x311360();while(!![]){try{const _0x67ba70=-parseInt(_0x204a46(0x153))/0x1+-parseInt(_0x204a46(0x157))/0x2+parseInt(_0x204a46(0x14c))/0x3*(parseInt(_0x204a46(0x15f))/0x4)+parseInt(_0x204a46(0x147))/0x5+-parseInt(_0x204a46(0x14a))/0x6*(parseInt(_0x204a46(0x155))/0x7)+parseInt(_0x204a46(0x144))/0x8+-parseInt(_0x204a46(0x149))/0x9*(parseInt(_0x204a46(0x14b))/0xa);if(_0x67ba70===_0x345042)break;else _0x1304a0['push'](_0x1304a0['shift']());}catch(_0x1816bf){_0x1304a0['push'](_0x1304a0['shift']());}}}(a157_0x2773,0x4d242));import*as a157_0x4674c7 from'chalk';const Chalk=a157_0x4674c7[a157_0x348f5a(0x15a)];export function shouldUseColor(_0x58681f={}){const _0x2d79bc=a157_0x348f5a;if(_0x58681f['noColor']===!![])return![];if(_0x58681f[_0x2d79bc(0x14d)]===!![])return!![];if(process['env']['NO_COLOR']!==undefined)return![];return process[_0x2d79bc(0x14e)][_0x2d79bc(0x158)]??![];}export function getChalk(_0x3b1a30={}){if(shouldUseColor(_0x3b1a30))return new Chalk({'level':0x3});return new Chalk({'level':0x0});}export function colorBorder(_0x56cec1,_0x5613b9={}){const _0x3a879c=a157_0x348f5a;return getChalk(_0x5613b9)[_0x3a879c(0x15b)](_0x56cec1);}function a157_0x4522(_0x46c95f,_0x5e8d26){_0x46c95f=_0x46c95f-0x143;const _0x2773ca=a157_0x2773();let _0x452265=_0x2773ca[_0x46c95f];return _0x452265;}export function colorHeader(_0x380483,_0xf2b673={}){const _0x2e396d=a157_0x348f5a;return getChalk(_0xf2b673)[_0x2e396d(0x15c)](_0x380483);}export function colorType(_0x494304,_0x47d5ea={}){const _0x56a0ba=a157_0x348f5a;return getChalk(_0x47d5ea)[_0x56a0ba(0x15b)](_0x494304);}export function colorJSONKey(_0xbc8e08,_0x4f99e8={}){const _0x43ceba=a157_0x348f5a;return getChalk(_0x4f99e8)[_0x43ceba(0x154)](_0xbc8e08);}export function colorJSONString(_0x3f1c35,_0x5c3bfc={}){return getChalk(_0x5c3bfc)['green'](_0x3f1c35);}export function colorJSONNumber(_0x529454,_0x53d895={}){const _0x39624a=a157_0x348f5a;return getChalk(_0x53d895)[_0x39624a(0x15c)](_0x529454);}export function colorJSONBoolean(_0x109720,_0x9551f3={}){const _0x157adc=a157_0x348f5a;return getChalk(_0x9551f3)[_0x157adc(0x150)](_0x109720);}export function colorJSONNull(_0x180ff9,_0x45739c={}){const _0x5b7dc4=a157_0x348f5a;return getChalk(_0x45739c)[_0x5b7dc4(0x15b)](_0x180ff9);}export function colorizeJSONCompact(_0x3b15f0,_0x5980ec={}){const _0x3aa227=a157_0x348f5a;if(!shouldUseColor(_0x5980ec))return JSON['stringify'](_0x3b15f0);if(_0x3b15f0===null)return colorJSONNull(_0x3aa227(0x148),_0x5980ec);if(typeof _0x3b15f0===_0x3aa227(0x152))return colorJSONBoolean(String(_0x3b15f0),_0x5980ec);if(typeof _0x3b15f0==='number')return colorJSONNumber(String(_0x3b15f0),_0x5980ec);if(typeof _0x3b15f0===_0x3aa227(0x143))return colorJSONString(JSON[_0x3aa227(0x160)](_0x3b15f0),_0x5980ec);if(Array[_0x3aa227(0x159)](_0x3b15f0)){if(_0x3b15f0[_0x3aa227(0x156)]===0x0)return'[]';const _0x2992b0=_0x3b15f0[_0x3aa227(0x145)](_0x442e09=>colorizeJSONCompact(_0x442e09,_0x5980ec));return'['+_0x2992b0[_0x3aa227(0x151)](',')+']';}if(typeof _0x3b15f0===_0x3aa227(0x14f)){const _0x5f0788=Object[_0x3aa227(0x15d)](_0x3b15f0);if(_0x5f0788[_0x3aa227(0x156)]===0x0)return'{}';const _0x380499=_0x5f0788[_0x3aa227(0x145)](([_0x3c3bf2,_0x40fa92])=>{const _0x406a70=_0x3aa227,_0x3dd107=colorJSONKey(JSON[_0x406a70(0x160)](_0x3c3bf2),_0x5980ec),_0x38cc76=colorizeJSONCompact(_0x40fa92,_0x5980ec);return _0x3dd107+':'+_0x38cc76;});return'{'+_0x380499[_0x3aa227(0x151)](',')+'}';}return String(_0x3b15f0);}export function colorizeJSON(_0x44cc60,_0x41841b={},_0x11ff88=0x0){const _0xcb30d9=a157_0x348f5a;if(!shouldUseColor(_0x41841b))return JSON[_0xcb30d9(0x160)](_0x44cc60,null,0x2);const _0x941ff7='\x20'[_0xcb30d9(0x146)](_0x11ff88),_0x5843d5=_0x11ff88+0x2;if(_0x44cc60===null)return colorJSONNull(_0xcb30d9(0x148),_0x41841b);if(typeof _0x44cc60==='boolean')return colorJSONBoolean(String(_0x44cc60),_0x41841b);if(typeof _0x44cc60===_0xcb30d9(0x15e))return colorJSONNumber(String(_0x44cc60),_0x41841b);if(typeof _0x44cc60===_0xcb30d9(0x143))return colorJSONString(JSON[_0xcb30d9(0x160)](_0x44cc60),_0x41841b);if(Array[_0xcb30d9(0x159)](_0x44cc60)){if(_0x44cc60['length']===0x0)return'[]';const _0x45e539=_0x44cc60['map'](_0xf775b3=>{const _0x231931=colorizeJSON(_0xf775b3,_0x41841b,_0x5843d5);return''+'\x20'['repeat'](_0x5843d5)+_0x231931;});return'[\x0a'+_0x45e539[_0xcb30d9(0x151)](',\x0a')+('\x0a'+_0x941ff7+']');}if(typeof _0x44cc60===_0xcb30d9(0x14f)){const _0x3025dd=Object['entries'](_0x44cc60);if(_0x3025dd['length']===0x0)return'{}';const _0x5cead2=_0x3025dd[_0xcb30d9(0x145)](([_0x49b342,_0x4943f6])=>{const _0x563563=_0xcb30d9,_0xc16234=colorJSONKey(JSON[_0x563563(0x160)](_0x49b342),_0x41841b),_0x4a87cb=colorizeJSON(_0x4943f6,_0x41841b,_0x5843d5);return''+'\x20'['repeat'](_0x5843d5)+_0xc16234+':\x20'+_0x4a87cb;});return'{\x0a'+_0x5cead2[_0xcb30d9(0x151)](',\x0a')+('\x0a'+_0x941ff7+'}');}return String(_0x44cc60);}
1
+ (function(_0x5290c7,_0xb35edd){const _0x75a3d5=a162_0x9303,_0x3ca2ed=_0x5290c7();while(!![]){try{const _0x122b2c=parseInt(_0x75a3d5(0x11c))/0x1*(parseInt(_0x75a3d5(0x11e))/0x2)+parseInt(_0x75a3d5(0x116))/0x3+-parseInt(_0x75a3d5(0x114))/0x4*(parseInt(_0x75a3d5(0x11d))/0x5)+parseInt(_0x75a3d5(0x123))/0x6+-parseInt(_0x75a3d5(0x127))/0x7*(-parseInt(_0x75a3d5(0x10f))/0x8)+-parseInt(_0x75a3d5(0x125))/0x9+parseInt(_0x75a3d5(0x120))/0xa;if(_0x122b2c===_0xb35edd)break;else _0x3ca2ed['push'](_0x3ca2ed['shift']());}catch(_0x54da86){_0x3ca2ed['push'](_0x3ca2ed['shift']());}}}(a162_0xd782,0xdb9a5));import*as a162_0x319721 from'chalk';const Chalk=a162_0x319721['Chalk'];export function shouldUseColor(_0x184c98={}){const _0x16b343=a162_0x9303;if(_0x184c98[_0x16b343(0x111)]===!![])return![];if(_0x184c98[_0x16b343(0x10c)]===!![])return!![];if(process['env']['NO_COLOR']!==undefined)return![];return process[_0x16b343(0x10e)][_0x16b343(0x110)]??![];}export function getChalk(_0x15df97={}){if(shouldUseColor(_0x15df97))return new Chalk({'level':0x3});return new Chalk({'level':0x0});}export function colorBorder(_0xe56829,_0x4abde5={}){const _0x55bf1d=a162_0x9303;return getChalk(_0x4abde5)[_0x55bf1d(0x121)](_0xe56829);}export function colorHeader(_0x41e601,_0x115e22={}){const _0x37a1cb=a162_0x9303;return getChalk(_0x115e22)[_0x37a1cb(0x124)](_0x41e601);}export function colorType(_0x118e9c,_0x106ba5={}){const _0x59b44a=a162_0x9303;return getChalk(_0x106ba5)[_0x59b44a(0x121)](_0x118e9c);}function a162_0xd782(){const _0x2fb868=['1BiFOut','8428270epkoVM','191980whacKx','yellow','8692160vfvAlY','dim','string','4067772BpqrxG','cyan','14739561sqwaEu','length','1882405NhsmYz','object','color','boolean','stdout','40iIafsP','isTTY','noColor','null','entries','4husFMt','join','3705399rItMDZ','number','isArray','stringify','map','repeat'];a162_0xd782=function(){return _0x2fb868;};return a162_0xd782();}export function colorJSONKey(_0xa83758,_0x19a21e={}){return getChalk(_0x19a21e)['blue'](_0xa83758);}export function colorJSONString(_0xbf5319,_0x548f62={}){return getChalk(_0x548f62)['green'](_0xbf5319);}function a162_0x9303(_0x336b21,_0x3347d6){_0x336b21=_0x336b21-0x10c;const _0xd782c9=a162_0xd782();let _0x9303ce=_0xd782c9[_0x336b21];return _0x9303ce;}export function colorJSONNumber(_0x4f3ff4,_0x2290b8={}){const _0x36d217=a162_0x9303;return getChalk(_0x2290b8)[_0x36d217(0x124)](_0x4f3ff4);}export function colorJSONBoolean(_0x2d19ad,_0x5369fe={}){const _0x2728f7=a162_0x9303;return getChalk(_0x5369fe)[_0x2728f7(0x11f)](_0x2d19ad);}export function colorJSONNull(_0x4ac246,_0x43cf2d={}){const _0x354cc3=a162_0x9303;return getChalk(_0x43cf2d)[_0x354cc3(0x121)](_0x4ac246);}export function colorizeJSONCompact(_0x2c7030,_0x511129={}){const _0x5709cd=a162_0x9303;if(!shouldUseColor(_0x511129))return JSON[_0x5709cd(0x119)](_0x2c7030);if(_0x2c7030===null)return colorJSONNull(_0x5709cd(0x112),_0x511129);if(typeof _0x2c7030==='boolean')return colorJSONBoolean(String(_0x2c7030),_0x511129);if(typeof _0x2c7030===_0x5709cd(0x117))return colorJSONNumber(String(_0x2c7030),_0x511129);if(typeof _0x2c7030===_0x5709cd(0x122))return colorJSONString(JSON[_0x5709cd(0x119)](_0x2c7030),_0x511129);if(Array['isArray'](_0x2c7030)){if(_0x2c7030['length']===0x0)return'[]';const _0x574b1a=_0x2c7030[_0x5709cd(0x11a)](_0x166d97=>colorizeJSONCompact(_0x166d97,_0x511129));return'['+_0x574b1a['join'](',')+']';}if(typeof _0x2c7030===_0x5709cd(0x128)){const _0xb1c93d=Object[_0x5709cd(0x113)](_0x2c7030);if(_0xb1c93d['length']===0x0)return'{}';const _0x30dbff=_0xb1c93d[_0x5709cd(0x11a)](([_0x32fbc6,_0x47d8d6])=>{const _0x554fe3=_0x5709cd,_0x51f71c=colorJSONKey(JSON[_0x554fe3(0x119)](_0x32fbc6),_0x511129),_0x242aae=colorizeJSONCompact(_0x47d8d6,_0x511129);return _0x51f71c+':'+_0x242aae;});return'{'+_0x30dbff[_0x5709cd(0x115)](',')+'}';}return String(_0x2c7030);}export function colorizeJSON(_0x51ab57,_0x23edb7={},_0x4e6e27=0x0){const _0x53c958=a162_0x9303;if(!shouldUseColor(_0x23edb7))return JSON['stringify'](_0x51ab57,null,0x2);const _0x477953='\x20'['repeat'](_0x4e6e27),_0x4372da=_0x4e6e27+0x2;if(_0x51ab57===null)return colorJSONNull(_0x53c958(0x112),_0x23edb7);if(typeof _0x51ab57===_0x53c958(0x10d))return colorJSONBoolean(String(_0x51ab57),_0x23edb7);if(typeof _0x51ab57==='number')return colorJSONNumber(String(_0x51ab57),_0x23edb7);if(typeof _0x51ab57==='string')return colorJSONString(JSON[_0x53c958(0x119)](_0x51ab57),_0x23edb7);if(Array[_0x53c958(0x118)](_0x51ab57)){if(_0x51ab57[_0x53c958(0x126)]===0x0)return'[]';const _0x38d3b6=_0x51ab57[_0x53c958(0x11a)](_0x203295=>{const _0x365f11=colorizeJSON(_0x203295,_0x23edb7,_0x4372da);return''+'\x20'['repeat'](_0x4372da)+_0x365f11;});return'[\x0a'+_0x38d3b6['join'](',\x0a')+('\x0a'+_0x477953+']');}if(typeof _0x51ab57===_0x53c958(0x128)){const _0x3343b5=Object[_0x53c958(0x113)](_0x51ab57);if(_0x3343b5[_0x53c958(0x126)]===0x0)return'{}';const _0x544e81=_0x3343b5['map'](([_0x4773ca,_0x16134c])=>{const _0x45d99f=_0x53c958,_0x18f0d6=colorJSONKey(JSON['stringify'](_0x4773ca),_0x23edb7),_0x51bf63=colorizeJSON(_0x16134c,_0x23edb7,_0x4372da);return''+'\x20'[_0x45d99f(0x11b)](_0x4372da)+_0x18f0d6+':\x20'+_0x51bf63;});return'{\x0a'+_0x544e81[_0x53c958(0x115)](',\x0a')+('\x0a'+_0x477953+'}');}return String(_0x51ab57);}
@@ -1 +1 @@
1
- (function(_0x4bf2c2,_0x13156b){const _0x5cb14f=a158_0x269c,_0x105f56=_0x4bf2c2();while(!![]){try{const _0x58df70=-parseInt(_0x5cb14f(0x1ae))/0x1+parseInt(_0x5cb14f(0x1b6))/0x2+parseInt(_0x5cb14f(0x1af))/0x3*(parseInt(_0x5cb14f(0x1aa))/0x4)+-parseInt(_0x5cb14f(0x1c1))/0x5+-parseInt(_0x5cb14f(0x1bc))/0x6*(parseInt(_0x5cb14f(0x1cc))/0x7)+-parseInt(_0x5cb14f(0x1ad))/0x8*(-parseInt(_0x5cb14f(0x1b2))/0x9)+parseInt(_0x5cb14f(0x1ba))/0xa;if(_0x58df70===_0x13156b)break;else _0x105f56['push'](_0x105f56['shift']());}catch(_0x4c5aaa){_0x105f56['push'](_0x105f56['shift']());}}}(a158_0x33a3,0xd2692));import a158_0x1b2780 from'chalk';export function generateDiff(_0x20ea71,_0x154b80){const _0xdea9e1=a158_0x269c,_0x50d8ec=_0x20ea71[_0xdea9e1(0x1bf)]('\x0a'),_0x2b6987=_0x154b80[_0xdea9e1(0x1bf)]('\x0a'),_0x1e227f=[],_0x480d3c=computeLCS(_0x50d8ec,_0x2b6987);let _0x3bbfbd=0x0,_0x1e1caa=0x0,_0x3fee92=0x0;while(_0x3bbfbd<_0x50d8ec[_0xdea9e1(0x1cd)]||_0x1e1caa<_0x2b6987[_0xdea9e1(0x1cd)]){if(_0x3fee92<_0x480d3c[_0xdea9e1(0x1cd)]&&_0x3bbfbd<_0x50d8ec[_0xdea9e1(0x1cd)]&&_0x50d8ec[_0x3bbfbd]===_0x480d3c[_0x3fee92])_0x1e1caa<_0x2b6987[_0xdea9e1(0x1cd)]&&_0x2b6987[_0x1e1caa]===_0x480d3c[_0x3fee92]?(_0x1e227f[_0xdea9e1(0x1b0)]({'type':_0xdea9e1(0x1be),'content':_0x50d8ec[_0x3bbfbd]}),_0x3bbfbd++,_0x1e1caa++,_0x3fee92++):(_0x1e227f[_0xdea9e1(0x1b0)]({'type':_0xdea9e1(0x1ab),'content':_0x2b6987[_0x1e1caa]}),_0x1e1caa++);else{if(_0x3fee92<_0x480d3c['length']&&_0x1e1caa<_0x2b6987[_0xdea9e1(0x1cd)]&&_0x2b6987[_0x1e1caa]===_0x480d3c[_0x3fee92])_0x1e227f[_0xdea9e1(0x1b0)]({'type':_0xdea9e1(0x1b1),'content':_0x50d8ec[_0x3bbfbd]}),_0x3bbfbd++;else{if(_0x3bbfbd<_0x50d8ec[_0xdea9e1(0x1cd)]&&(_0x3fee92>=_0x480d3c[_0xdea9e1(0x1cd)]||_0x50d8ec[_0x3bbfbd]!==_0x480d3c[_0x3fee92]))_0x1e227f[_0xdea9e1(0x1b0)]({'type':_0xdea9e1(0x1b1),'content':_0x50d8ec[_0x3bbfbd]}),_0x3bbfbd++;else _0x1e1caa<_0x2b6987[_0xdea9e1(0x1cd)]&&(_0x1e227f[_0xdea9e1(0x1b0)]({'type':_0xdea9e1(0x1ab),'content':_0x2b6987[_0x1e1caa]}),_0x1e1caa++);}}}return _0x1e227f;}function a158_0x269c(_0x40db73,_0x78731d){_0x40db73=_0x40db73-0x1aa;const _0x33a357=a158_0x33a3();let _0x269c40=_0x33a357[_0x40db73];return _0x269c40;}function computeLCS(_0x4d4f0d,_0x504e65){const _0x13c94a=a158_0x269c,_0x4df835=_0x4d4f0d[_0x13c94a(0x1cd)],_0x1a9045=_0x504e65[_0x13c94a(0x1cd)],_0x3eb019=Array(_0x4df835+0x1)[_0x13c94a(0x1c2)](null)[_0x13c94a(0x1c0)](()=>Array(_0x1a9045+0x1)[_0x13c94a(0x1c2)](0x0));for(let _0xf235c4=0x1;_0xf235c4<=_0x4df835;_0xf235c4++){for(let _0x23a5a4=0x1;_0x23a5a4<=_0x1a9045;_0x23a5a4++){_0x4d4f0d[_0xf235c4-0x1]===_0x504e65[_0x23a5a4-0x1]?_0x3eb019[_0xf235c4][_0x23a5a4]=_0x3eb019[_0xf235c4-0x1][_0x23a5a4-0x1]+0x1:_0x3eb019[_0xf235c4][_0x23a5a4]=Math[_0x13c94a(0x1b4)](_0x3eb019[_0xf235c4-0x1][_0x23a5a4],_0x3eb019[_0xf235c4][_0x23a5a4-0x1]);}}const _0x266894=[];let _0x4aad53=_0x4df835,_0x477004=_0x1a9045;while(_0x4aad53>0x0&&_0x477004>0x0){if(_0x4d4f0d[_0x4aad53-0x1]===_0x504e65[_0x477004-0x1])_0x266894[_0x13c94a(0x1c6)](_0x4d4f0d[_0x4aad53-0x1]),_0x4aad53--,_0x477004--;else _0x3eb019[_0x4aad53-0x1][_0x477004]>_0x3eb019[_0x4aad53][_0x477004-0x1]?_0x4aad53--:_0x477004--;}return _0x266894;}function a158_0x33a3(){const _0x1f4ec2=['max','content','1372778XKkggZ','\x20\x20...','new','join','18792280IUkIeK','padStart','2245578XjJQgQ','size','unchanged','split','map','3261290EitnZM','fill','repeat','old','forEach','unshift','has','\x20\x20\x20','type','min','red','14dfwfwS','length','8wShSKO','added','add','20264xUSTDQ','1026537TCGcMk','644577sgrujq','push','removed','1044AZiZNY','cyan'];a158_0x33a3=function(){return _0x1f4ec2;};return a158_0x33a3();}export function formatDiffWithColors(_0x2c2ead,_0x24fff2=0x3){const _0x37651d=a158_0x269c,_0x54e59b=new Set();_0x2c2ead[_0x37651d(0x1c5)]((_0x4dc3e7,_0x4c6dea)=>{const _0x4fecd2=_0x37651d;_0x4dc3e7[_0x4fecd2(0x1c9)]!=='unchanged'&&_0x54e59b[_0x4fecd2(0x1ac)](_0x4c6dea);});if(_0x54e59b[_0x37651d(0x1bd)]===0x0)return'';const _0x3d5fe6=new Set();for(const _0x18810b of _0x54e59b){for(let _0x3b9c8f=Math[_0x37651d(0x1b4)](0x0,_0x18810b-_0x24fff2);_0x3b9c8f<=Math[_0x37651d(0x1ca)](_0x2c2ead[_0x37651d(0x1cd)]-0x1,_0x18810b+_0x24fff2);_0x3b9c8f++){_0x3d5fe6['add'](_0x3b9c8f);}}const _0x92c8d6=[];let _0x5be3ef=-0x1;const _0x3efaec=_0x2c2ead['length'],_0x194a0e=Math[_0x37651d(0x1b4)](0x3,String(_0x3efaec)[_0x37651d(0x1cd)]),_0x32a3bb=[];let _0x57b0a3=0x0,_0x31fefb=0x0;for(const _0x1f6e38 of _0x2c2ead){if(_0x1f6e38[_0x37651d(0x1c9)]===_0x37651d(0x1b1))_0x57b0a3++,_0x32a3bb[_0x37651d(0x1b0)]({'old':_0x57b0a3,'new':0x0});else _0x1f6e38[_0x37651d(0x1c9)]===_0x37651d(0x1ab)?(_0x31fefb++,_0x32a3bb['push']({'old':0x0,'new':_0x31fefb})):(_0x57b0a3++,_0x31fefb++,_0x32a3bb[_0x37651d(0x1b0)]({'old':_0x57b0a3,'new':_0x31fefb}));}for(let _0x104813=0x0;_0x104813<_0x2c2ead[_0x37651d(0x1cd)];_0x104813++){if(!_0x3d5fe6[_0x37651d(0x1c7)](_0x104813))continue;_0x5be3ef!==-0x1&&_0x104813>_0x5be3ef+0x1&&_0x92c8d6['push'](a158_0x1b2780[_0x37651d(0x1b3)](_0x37651d(0x1b7)));_0x5be3ef=_0x104813;const _0xd86cee=_0x2c2ead[_0x104813],_0x445a51=_0x32a3bb[_0x104813],_0x34a3c8=_0x445a51[_0x37651d(0x1c4)]>0x0?String(_0x445a51[_0x37651d(0x1c4)])[_0x37651d(0x1bb)](_0x194a0e):'\x20'[_0x37651d(0x1c3)](_0x194a0e),_0x4246b4=_0x445a51[_0x37651d(0x1b8)]>0x0?String(_0x445a51['new'])['padStart'](_0x194a0e):'\x20'[_0x37651d(0x1c3)](_0x194a0e);switch(_0xd86cee[_0x37651d(0x1c9)]){case _0x37651d(0x1b1):_0x92c8d6['push'](a158_0x1b2780[_0x37651d(0x1cb)](_0x34a3c8+'\x20'+_0x4246b4+'\x20-\x20'+_0xd86cee['content']));break;case'added':_0x92c8d6[_0x37651d(0x1b0)](a158_0x1b2780['green'](_0x34a3c8+'\x20'+_0x4246b4+'\x20+\x20'+_0xd86cee['content']));break;default:_0x92c8d6[_0x37651d(0x1b0)](a158_0x1b2780['dim'](_0x34a3c8+'\x20'+_0x4246b4+_0x37651d(0x1c8)+_0xd86cee[_0x37651d(0x1b5)]));break;}}return _0x92c8d6[_0x37651d(0x1b9)]('\x0a');}export function hasChanges(_0x1282cb){const _0x55e1bf=a158_0x269c;return _0x1282cb['some'](_0x40bbd1=>_0x40bbd1[_0x55e1bf(0x1c9)]!=='unchanged');}
1
+ (function(_0x4ce468,_0x12c922){const _0x576785=a163_0x57ab,_0x2b58cb=_0x4ce468();while(!![]){try{const _0x3da060=-parseInt(_0x576785(0xcf))/0x1*(-parseInt(_0x576785(0xb8))/0x2)+parseInt(_0x576785(0xd3))/0x3*(parseInt(_0x576785(0xba))/0x4)+parseInt(_0x576785(0xc3))/0x5+-parseInt(_0x576785(0xc4))/0x6*(-parseInt(_0x576785(0xd0))/0x7)+-parseInt(_0x576785(0xc7))/0x8*(-parseInt(_0x576785(0xd5))/0x9)+parseInt(_0x576785(0xc0))/0xa*(-parseInt(_0x576785(0xc8))/0xb)+-parseInt(_0x576785(0xb9))/0xc*(parseInt(_0x576785(0xbf))/0xd);if(_0x3da060===_0x12c922)break;else _0x2b58cb['push'](_0x2b58cb['shift']());}catch(_0x3a822d){_0x2b58cb['push'](_0x2b58cb['shift']());}}}(a163_0x39b0,0x68bfe));function a163_0x57ab(_0x5021aa,_0x576a4a){_0x5021aa=_0x5021aa-0xb3;const _0x39b000=a163_0x39b0();let _0x57ab75=_0x39b000[_0x5021aa];return _0x57ab75;}import a163_0x104424 from'chalk';export function generateDiff(_0x367ffe,_0x4c2def){const _0x5a9fdd=a163_0x57ab,_0x193ee4=_0x367ffe[_0x5a9fdd(0xb5)]('\x0a'),_0x447ad1=_0x4c2def[_0x5a9fdd(0xb5)]('\x0a'),_0x138e7b=[],_0x3dd512=computeLCS(_0x193ee4,_0x447ad1);let _0x3959dd=0x0,_0x1a8627=0x0,_0x329ad5=0x0;while(_0x3959dd<_0x193ee4[_0x5a9fdd(0xb3)]||_0x1a8627<_0x447ad1[_0x5a9fdd(0xb3)]){if(_0x329ad5<_0x3dd512[_0x5a9fdd(0xb3)]&&_0x3959dd<_0x193ee4['length']&&_0x193ee4[_0x3959dd]===_0x3dd512[_0x329ad5])_0x1a8627<_0x447ad1[_0x5a9fdd(0xb3)]&&_0x447ad1[_0x1a8627]===_0x3dd512[_0x329ad5]?(_0x138e7b[_0x5a9fdd(0xb7)]({'type':_0x5a9fdd(0xbe),'content':_0x193ee4[_0x3959dd]}),_0x3959dd++,_0x1a8627++,_0x329ad5++):(_0x138e7b['push']({'type':_0x5a9fdd(0xbb),'content':_0x447ad1[_0x1a8627]}),_0x1a8627++);else{if(_0x329ad5<_0x3dd512[_0x5a9fdd(0xb3)]&&_0x1a8627<_0x447ad1['length']&&_0x447ad1[_0x1a8627]===_0x3dd512[_0x329ad5])_0x138e7b[_0x5a9fdd(0xb7)]({'type':_0x5a9fdd(0xd1),'content':_0x193ee4[_0x3959dd]}),_0x3959dd++;else{if(_0x3959dd<_0x193ee4[_0x5a9fdd(0xb3)]&&(_0x329ad5>=_0x3dd512[_0x5a9fdd(0xb3)]||_0x193ee4[_0x3959dd]!==_0x3dd512[_0x329ad5]))_0x138e7b[_0x5a9fdd(0xb7)]({'type':_0x5a9fdd(0xd1),'content':_0x193ee4[_0x3959dd]}),_0x3959dd++;else _0x1a8627<_0x447ad1[_0x5a9fdd(0xb3)]&&(_0x138e7b[_0x5a9fdd(0xb7)]({'type':'added','content':_0x447ad1[_0x1a8627]}),_0x1a8627++);}}}return _0x138e7b;}function a163_0x39b0(){const _0x13bbee=['1318992ZcJxYz','forEach','padStart','4656MhoxJd','19690qXRicI','unshift','type','min','max','cyan','green','797773JsfdUo','7QNZYXO','removed','old','129XLIDat','join','1539sqLATW','content','red','size','length','\x20\x20\x20','split','\x20-\x20','push','2sdRImy','6456lqNApD','35268GUOUNA','added','map','dim','unchanged','19890luqKwk','3440Qcudgi','fill','repeat','1858480KzxZvG'];a163_0x39b0=function(){return _0x13bbee;};return a163_0x39b0();}function computeLCS(_0x37ae52,_0x38dbc6){const _0x48d2f7=a163_0x57ab,_0x5484ea=_0x37ae52[_0x48d2f7(0xb3)],_0x379310=_0x38dbc6[_0x48d2f7(0xb3)],_0x48be56=Array(_0x5484ea+0x1)[_0x48d2f7(0xc1)](null)[_0x48d2f7(0xbc)](()=>Array(_0x379310+0x1)['fill'](0x0));for(let _0x22476c=0x1;_0x22476c<=_0x5484ea;_0x22476c++){for(let _0x98075f=0x1;_0x98075f<=_0x379310;_0x98075f++){_0x37ae52[_0x22476c-0x1]===_0x38dbc6[_0x98075f-0x1]?_0x48be56[_0x22476c][_0x98075f]=_0x48be56[_0x22476c-0x1][_0x98075f-0x1]+0x1:_0x48be56[_0x22476c][_0x98075f]=Math[_0x48d2f7(0xcc)](_0x48be56[_0x22476c-0x1][_0x98075f],_0x48be56[_0x22476c][_0x98075f-0x1]);}}const _0x2f2c0b=[];let _0x101efe=_0x5484ea,_0x1a51ba=_0x379310;while(_0x101efe>0x0&&_0x1a51ba>0x0){if(_0x37ae52[_0x101efe-0x1]===_0x38dbc6[_0x1a51ba-0x1])_0x2f2c0b[_0x48d2f7(0xc9)](_0x37ae52[_0x101efe-0x1]),_0x101efe--,_0x1a51ba--;else _0x48be56[_0x101efe-0x1][_0x1a51ba]>_0x48be56[_0x101efe][_0x1a51ba-0x1]?_0x101efe--:_0x1a51ba--;}return _0x2f2c0b;}export function formatDiffWithColors(_0x1c4d2a,_0x546a54=0x3){const _0x152110=a163_0x57ab,_0x56b03d=new Set();_0x1c4d2a[_0x152110(0xc5)]((_0x1807fd,_0x5ea6b5)=>{const _0x30e9=_0x152110;_0x1807fd[_0x30e9(0xca)]!==_0x30e9(0xbe)&&_0x56b03d['add'](_0x5ea6b5);});if(_0x56b03d[_0x152110(0xd8)]===0x0)return'';const _0x47a813=new Set();for(const _0x5747ff of _0x56b03d){for(let _0x4e70e2=Math[_0x152110(0xcc)](0x0,_0x5747ff-_0x546a54);_0x4e70e2<=Math[_0x152110(0xcb)](_0x1c4d2a['length']-0x1,_0x5747ff+_0x546a54);_0x4e70e2++){_0x47a813['add'](_0x4e70e2);}}const _0x570394=[];let _0x393c18=-0x1;const _0x15d2f1=_0x1c4d2a[_0x152110(0xb3)],_0x4ab8ed=Math[_0x152110(0xcc)](0x3,String(_0x15d2f1)[_0x152110(0xb3)]),_0x8b4d31=[];let _0x41b85d=0x0,_0x5ef012=0x0;for(const _0x59bf30 of _0x1c4d2a){if(_0x59bf30[_0x152110(0xca)]===_0x152110(0xd1))_0x41b85d++,_0x8b4d31[_0x152110(0xb7)]({'old':_0x41b85d,'new':0x0});else _0x59bf30['type']==='added'?(_0x5ef012++,_0x8b4d31['push']({'old':0x0,'new':_0x5ef012})):(_0x41b85d++,_0x5ef012++,_0x8b4d31[_0x152110(0xb7)]({'old':_0x41b85d,'new':_0x5ef012}));}for(let _0x3603de=0x0;_0x3603de<_0x1c4d2a[_0x152110(0xb3)];_0x3603de++){if(!_0x47a813['has'](_0x3603de))continue;_0x393c18!==-0x1&&_0x3603de>_0x393c18+0x1&&_0x570394[_0x152110(0xb7)](a163_0x104424[_0x152110(0xcd)]('\x20\x20...'));_0x393c18=_0x3603de;const _0x350f08=_0x1c4d2a[_0x3603de],_0xabcb24=_0x8b4d31[_0x3603de],_0x5224d1=_0xabcb24[_0x152110(0xd2)]>0x0?String(_0xabcb24[_0x152110(0xd2)])['padStart'](_0x4ab8ed):'\x20'['repeat'](_0x4ab8ed),_0x1cc5d2=_0xabcb24['new']>0x0?String(_0xabcb24['new'])[_0x152110(0xc6)](_0x4ab8ed):'\x20'[_0x152110(0xc2)](_0x4ab8ed);switch(_0x350f08[_0x152110(0xca)]){case _0x152110(0xd1):_0x570394[_0x152110(0xb7)](a163_0x104424[_0x152110(0xd7)](_0x5224d1+'\x20'+_0x1cc5d2+_0x152110(0xb6)+_0x350f08[_0x152110(0xd6)]));break;case _0x152110(0xbb):_0x570394[_0x152110(0xb7)](a163_0x104424[_0x152110(0xce)](_0x5224d1+'\x20'+_0x1cc5d2+'\x20+\x20'+_0x350f08['content']));break;default:_0x570394[_0x152110(0xb7)](a163_0x104424[_0x152110(0xbd)](_0x5224d1+'\x20'+_0x1cc5d2+_0x152110(0xb4)+_0x350f08['content']));break;}}return _0x570394[_0x152110(0xd4)]('\x0a');}export function hasChanges(_0x363363){const _0x281e3d=a163_0x57ab;return _0x363363['some'](_0x1e2465=>_0x1e2465[_0x281e3d(0xca)]!==_0x281e3d(0xbe));}
@@ -1 +1 @@
1
- (function(_0x209720,_0x5e77ae){const _0x23ba37=a159_0x4300,_0x5c1072=_0x209720();while(!![]){try{const _0x4507c9=parseInt(_0x23ba37(0x106))/0x1+-parseInt(_0x23ba37(0x10e))/0x2*(-parseInt(_0x23ba37(0x107))/0x3)+-parseInt(_0x23ba37(0x111))/0x4*(-parseInt(_0x23ba37(0x117))/0x5)+parseInt(_0x23ba37(0x104))/0x6*(parseInt(_0x23ba37(0x108))/0x7)+parseInt(_0x23ba37(0x114))/0x8*(-parseInt(_0x23ba37(0x105))/0x9)+parseInt(_0x23ba37(0x113))/0xa+-parseInt(_0x23ba37(0x109))/0xb;if(_0x4507c9===_0x5e77ae)break;else _0x5c1072['push'](_0x5c1072['shift']());}catch(_0x9a76d0){_0x5c1072['push'](_0x5c1072['shift']());}}}(a159_0x242a,0x8a269));import*as a159_0x5caa8b from'node:fs';import*as a159_0x5e418d from'node:path';export function setSecureFilePermissions(_0x410512){const _0x58c99d=a159_0x4300;try{a159_0x5caa8b[_0x58c99d(0x116)](_0x410512,0x180);}catch{console[_0x58c99d(0x10c)](_0x58c99d(0x10a)+_0x410512);}}export function setSecureDirectoryPermissions(_0x1e77be){const _0x6d679d=a159_0x4300;try{a159_0x5caa8b[_0x6d679d(0x116)](_0x1e77be,0x1c0);}catch{console[_0x6d679d(0x10c)](_0x6d679d(0x10a)+_0x1e77be);}}function a159_0x4300(_0x2d8ef3,_0x1130df){_0x2d8ef3=_0x2d8ef3-0x102;const _0x242abb=a159_0x242a();let _0x430023=_0x242abb[_0x2d8ef3];return _0x430023;}export function createSecureDirectory(_0x3cc5ba){const _0xd36822=a159_0x4300;!a159_0x5caa8b[_0xd36822(0x112)](_0x3cc5ba)&&(a159_0x5caa8b[_0xd36822(0x10b)](_0x3cc5ba,{'recursive':!![],'mode':0x1c0}),setSecureDirectoryPermissions(_0x3cc5ba));}function a159_0x242a(){const _0x5a09bc=['toString','8826YlQzqN','288pUCPXw','399600qZRCsl','23631LRJtie','2408jfIhHE','22299475YPRuTD','Warning:\x20Could\x20not\x20set\x20secure\x20permissions\x20on\x20','mkdirSync','warn','writeFileSync','214DiGEgB',').\x20','\x20has\x20insecure\x20permissions\x20(','13036nPdKdR','existsSync','7783280dgHgtE','88528JavnsV','mode','chmodSync','645jQUwKh','statSync'];a159_0x242a=function(){return _0x5a09bc;};return a159_0x242a();}export function validateSecureFilePermissions(_0x166211){const _0xa14dc1=a159_0x4300;try{const _0x4b4462=a159_0x5caa8b[_0xa14dc1(0x102)](_0x166211),_0x4cf98b=_0x4b4462[_0xa14dc1(0x115)]&0x1ff,_0x1583e5=(_0x4cf98b&0x3f)!==0x0;if(_0x1583e5)return console[_0xa14dc1(0x10c)]('Warning:\x20'+_0x166211+_0xa14dc1(0x110)+_0x4cf98b[_0xa14dc1(0x103)](0x8)+_0xa14dc1(0x10f)+'Should\x20be\x200600\x20or\x20more\x20restrictive.'),![];return!![];}catch{return!![];}}export function writeSecureFile(_0x1dc086,_0x1fe5ab){const _0x37968b=a159_0x4300,_0x114ac9=a159_0x5e418d['dirname'](_0x1dc086);createSecureDirectory(_0x114ac9),a159_0x5caa8b[_0x37968b(0x10d)](_0x1dc086,_0x1fe5ab,{'mode':0x180}),setSecureFilePermissions(_0x1dc086);}
1
+ (function(_0x375667,_0x173df6){const _0x47b3d2=a164_0x10d9,_0x15de1f=_0x375667();while(!![]){try{const _0x235de0=-parseInt(_0x47b3d2(0x87))/0x1*(parseInt(_0x47b3d2(0x8b))/0x2)+parseInt(_0x47b3d2(0x80))/0x3*(parseInt(_0x47b3d2(0x92))/0x4)+-parseInt(_0x47b3d2(0x84))/0x5+-parseInt(_0x47b3d2(0x82))/0x6+parseInt(_0x47b3d2(0x85))/0x7+parseInt(_0x47b3d2(0x89))/0x8+parseInt(_0x47b3d2(0x86))/0x9;if(_0x235de0===_0x173df6)break;else _0x15de1f['push'](_0x15de1f['shift']());}catch(_0x15a1a6){_0x15de1f['push'](_0x15de1f['shift']());}}}(a164_0x401a,0xa99af));import*as a164_0x464b48 from'node:fs';import*as a164_0x270f7e from'node:path';export function setSecureFilePermissions(_0xdcb809){const _0x4d1315=a164_0x10d9;try{a164_0x464b48[_0x4d1315(0x88)](_0xdcb809,0x180);}catch{console[_0x4d1315(0x90)]('Warning:\x20Could\x20not\x20set\x20secure\x20permissions\x20on\x20'+_0xdcb809);}}function a164_0x10d9(_0x421093,_0x44f5bd){_0x421093=_0x421093-0x80;const _0x401af7=a164_0x401a();let _0x10d950=_0x401af7[_0x421093];return _0x10d950;}export function setSecureDirectoryPermissions(_0x375357){const _0x15c621=a164_0x10d9;try{a164_0x464b48['chmodSync'](_0x375357,0x1c0);}catch{console[_0x15c621(0x90)](_0x15c621(0x81)+_0x375357);}}export function createSecureDirectory(_0x4015ba){const _0x3d7087=a164_0x10d9;!a164_0x464b48[_0x3d7087(0x8d)](_0x4015ba)&&(a164_0x464b48[_0x3d7087(0x91)](_0x4015ba,{'recursive':!![],'mode':0x1c0}),setSecureDirectoryPermissions(_0x4015ba));}export function validateSecureFilePermissions(_0x44a390){const _0x229935=a164_0x10d9;try{const _0x42a716=a164_0x464b48[_0x229935(0x8f)](_0x44a390),_0x147e4d=_0x42a716[_0x229935(0x8c)]&0x1ff,_0x57d612=(_0x147e4d&0x3f)!==0x0;if(_0x57d612)return console[_0x229935(0x90)]('Warning:\x20'+_0x44a390+_0x229935(0x8e)+_0x147e4d[_0x229935(0x8a)](0x8)+_0x229935(0x83)+'Should\x20be\x200600\x20or\x20more\x20restrictive.'),![];return!![];}catch{return!![];}}function a164_0x401a(){const _0x39cba8=['6301992cBQavN','toString','1457092EwCOnO','mode','existsSync','\x20has\x20insecure\x20permissions\x20(','statSync','warn','mkdirSync','476wbRwoe','14583Ymekjn','Warning:\x20Could\x20not\x20set\x20secure\x20permissions\x20on\x20','6316962AUWQAS',').\x20','4092920sYMEFw','6257489MEFnzT','9310725JuKAcx','1TMoRVk','chmodSync'];a164_0x401a=function(){return _0x39cba8;};return a164_0x401a();}export function writeSecureFile(_0x29cb75,_0x4f73f8){const _0x1d642a=a164_0x270f7e['dirname'](_0x29cb75);createSecureDirectory(_0x1d642a),a164_0x464b48['writeFileSync'](_0x29cb75,_0x4f73f8,{'mode':0x180}),setSecureFilePermissions(_0x29cb75);}
@@ -1 +1 @@
1
- (function(_0x3b872f,_0x604b2c){const _0x4adbcf=a160_0x250e,_0x39d177=_0x3b872f();while(!![]){try{const _0x3a798c=parseInt(_0x4adbcf(0x86))/0x1*(-parseInt(_0x4adbcf(0x7d))/0x2)+-parseInt(_0x4adbcf(0x7b))/0x3*(-parseInt(_0x4adbcf(0x82))/0x4)+-parseInt(_0x4adbcf(0x81))/0x5*(-parseInt(_0x4adbcf(0x7e))/0x6)+-parseInt(_0x4adbcf(0x77))/0x7*(-parseInt(_0x4adbcf(0x84))/0x8)+-parseInt(_0x4adbcf(0x75))/0x9+-parseInt(_0x4adbcf(0x83))/0xa+-parseInt(_0x4adbcf(0x85))/0xb*(parseInt(_0x4adbcf(0x76))/0xc);if(_0x3a798c===_0x604b2c)break;else _0x39d177['push'](_0x39d177['shift']());}catch(_0x2ed2e3){_0x39d177['push'](_0x39d177['shift']());}}}(a160_0x56fe,0x49ae2));import{existsSync,mkdirSync,readFileSync,writeFileSync,unlinkSync}from'fs';import{join}from'path';import{homedir}from'os';export function getGlobalCacheDir(){const _0x54d006=a160_0x250e;return process[_0x54d006(0x80)]['TDX_CACHE_DIR']||join(homedir(),_0x54d006(0x78),'tdx');}const registry=new Map();export function registerGlobalCacheKey(_0x426b4b,_0x1d3c24){const _0x294a24=a160_0x250e,_0x4f8561=registry[_0x294a24(0x79)](_0x426b4b);if(_0x4f8561&&_0x4f8561!==_0x1d3c24)throw new Error('Global\x20cache\x20key\x20\x22'+_0x426b4b+_0x294a24(0x7c)+_0x4f8561+'\x22,\x20cannot\x20register\x20for\x20\x22'+_0x1d3c24+'\x22');registry['set'](_0x426b4b,_0x1d3c24);}export function getGlobalCachePath(_0x643100){return join(getGlobalCacheDir(),_0x643100);}function ensureGlobalCacheDir(){const _0x59293a=getGlobalCacheDir();!existsSync(_0x59293a)&&mkdirSync(_0x59293a,{'recursive':!![]});}function readCacheJson(_0x3f3c75){const _0x1b7160=a160_0x250e,_0x5f5a88=getGlobalCachePath(_0x3f3c75);if(!existsSync(_0x5f5a88))return undefined;try{const _0x225189=readFileSync(_0x5f5a88,_0x1b7160(0x74));return JSON[_0x1b7160(0x72)](_0x225189);}catch{return undefined;}}function writeCacheJson(_0x4248d3,_0xe9c234){const _0x5d52f5=a160_0x250e;ensureGlobalCacheDir(),writeFileSync(getGlobalCachePath(_0x4248d3),JSON[_0x5d52f5(0x71)](_0xe9c234,null,0x2),_0x5d52f5(0x74));}function readCacheText(_0x2f1dde){const _0x45f163=a160_0x250e,_0x1b0ccd=getGlobalCachePath(_0x2f1dde);if(!existsSync(_0x1b0ccd))return undefined;try{return readFileSync(_0x1b0ccd,_0x45f163(0x74));}catch{return undefined;}}function writeCacheText(_0xbde1ff,_0x1ba91c){ensureGlobalCacheDir(),writeFileSync(getGlobalCachePath(_0xbde1ff),_0x1ba91c,'utf-8');}function a160_0x250e(_0x3dcf63,_0x5e54e9){_0x3dcf63=_0x3dcf63-0x71;const _0x56fed6=a160_0x56fe();let _0x250e41=_0x56fed6[_0x3dcf63];return _0x250e41;}function clearCache(_0x35df7a){const _0x350c44=getGlobalCachePath(_0x35df7a);if(existsSync(_0x350c44))try{unlinkSync(_0x350c44);}catch{}}function cacheExists(_0x1f7eea){return existsSync(getGlobalCachePath(_0x1f7eea));}export function createGlobalCache(_0x532acf,_0x215b63){return registerGlobalCacheKey(_0x532acf,_0x215b63),{'read':()=>readCacheJson(_0x532acf),'write':_0x3bb387=>writeCacheJson(_0x532acf,_0x3bb387),'clear':()=>clearCache(_0x532acf),'exists':()=>cacheExists(_0x532acf),'path':()=>getGlobalCachePath(_0x532acf)};}export function createGlobalTextCache(_0x460e28,_0x3116a5){const _0x592c96=a160_0x250e;return registerGlobalCacheKey(_0x460e28,_0x3116a5),{'read':()=>readCacheText(_0x460e28)?.[_0x592c96(0x7a)]()||undefined,'write':_0x28c29a=>writeCacheText(_0x460e28,_0x28c29a),'clear':()=>clearCache(_0x460e28),'exists':()=>cacheExists(_0x460e28),'path':()=>getGlobalCachePath(_0x460e28)};}export function createProfileCache(_0x525ff7,_0x3db2c0){const _0x16ff6b=_0x75b278=>{const _0x2c79ae=a160_0x250e,_0x2d5c1f=_0x75b278||'default';return _0x525ff7[_0x2c79ae(0x7f)](_0x2c79ae(0x73),_0x2d5c1f);};return{'read':_0x494e77=>{const _0x4beb0c=_0x16ff6b(_0x494e77);return registerGlobalCacheKey(_0x4beb0c,_0x3db2c0),readCacheJson(_0x4beb0c);},'write':(_0x200f2e,_0x9ee407)=>{const _0x50f557=_0x16ff6b(_0x200f2e);registerGlobalCacheKey(_0x50f557,_0x3db2c0),writeCacheJson(_0x50f557,_0x9ee407);},'clear':_0x203446=>{const _0x4a12a9=_0x16ff6b(_0x203446);clearCache(_0x4a12a9);},'exists':_0x58c85e=>{const _0x43f068=_0x16ff6b(_0x58c85e);return cacheExists(_0x43f068);},'path':_0x16a143=>{const _0x4ff204=_0x16ff6b(_0x16a143);return getGlobalCachePath(_0x4ff204);}};}function a160_0x56fe(){const _0x5f7033=['282075YLZYia','\x22\x20already\x20registered\x20by\x20\x22','195508OMhbZz','1914iuHsgT','replace','env','6215lzJCvn','4kYoEFj','1052390jACHps','50288dIWzDS','11XkwcQw','1wwNLiE','stringify','parse','{profile}','utf-8','865737GAAXhb','3804120VUZphw','476RvIncl','.cache','get','trim'];a160_0x56fe=function(){return _0x5f7033;};return a160_0x56fe();}export function createOptionalProfileCache(_0x3d3144,_0x8a12ae,_0x2b3a20={}){const {profileSeparator:profileSeparator='.',suffix:suffix=''}=_0x2b3a20,_0x90429a=_0x1848dc=>{return _0x1848dc?''+_0x3d3144+profileSeparator+_0x1848dc+suffix:''+_0x3d3144+suffix;};return{'read':_0x39ffe7=>{const _0x3f07c7=_0x90429a(_0x39ffe7);return registerGlobalCacheKey(_0x3f07c7,_0x8a12ae),readCacheJson(_0x3f07c7);},'write':(_0x1633f1,_0x568953)=>{const _0x17a23a=_0x90429a(_0x568953);registerGlobalCacheKey(_0x17a23a,_0x8a12ae),writeCacheJson(_0x17a23a,_0x1633f1);},'clear':_0x5f1817=>{const _0x203192=_0x90429a(_0x5f1817);clearCache(_0x203192);},'exists':_0x42042c=>{const _0x4a1f62=_0x90429a(_0x42042c);return cacheExists(_0x4a1f62);},'path':_0xdfc052=>{const _0x3b5c49=_0x90429a(_0xdfc052);return getGlobalCachePath(_0x3b5c49);}};}export function clearGlobalRegistry(){registry['clear']();}
1
+ (function(_0x2831d3,_0xdddb3e){const _0x2f8844=a165_0x4419,_0x1a1a7b=_0x2831d3();while(!![]){try{const _0x266a6f=parseInt(_0x2f8844(0x1c1))/0x1*(-parseInt(_0x2f8844(0x1bc))/0x2)+-parseInt(_0x2f8844(0x1c3))/0x3+-parseInt(_0x2f8844(0x1be))/0x4*(-parseInt(_0x2f8844(0x1bd))/0x5)+-parseInt(_0x2f8844(0x1c2))/0x6+parseInt(_0x2f8844(0x1cb))/0x7+parseInt(_0x2f8844(0x1c5))/0x8+parseInt(_0x2f8844(0x1bf))/0x9*(-parseInt(_0x2f8844(0x1c9))/0xa);if(_0x266a6f===_0xdddb3e)break;else _0x1a1a7b['push'](_0x1a1a7b['shift']());}catch(_0x11b122){_0x1a1a7b['push'](_0x1a1a7b['shift']());}}}(a165_0x4a22,0xe0859));import{existsSync,mkdirSync,readFileSync,writeFileSync,unlinkSync}from'fs';import{join}from'path';import{homedir}from'os';export function getGlobalCacheDir(){const _0xdd92a0=a165_0x4419;return process['env'][_0xdd92a0(0x1ca)]||join(homedir(),_0xdd92a0(0x1cc),'tdx');}const registry=new Map();function a165_0x4a22(){const _0x4d7d3a=['{profile}','10QnwZne','TDX_CACHE_DIR','9223046nciLhf','.cache','\x22\x20already\x20registered\x20by\x20\x22','default','55796HNVDNn','2126770OJadiu','12iNYqJx','872199FEUOKq','parse','41OknKdw','797844NNWQNP','1629129nVucot','get','1941976HicNYF','utf-8','set'];a165_0x4a22=function(){return _0x4d7d3a;};return a165_0x4a22();}export function registerGlobalCacheKey(_0x3dceee,_0x27bbda){const _0x1ce689=a165_0x4419,_0x4ac671=registry[_0x1ce689(0x1c4)](_0x3dceee);if(_0x4ac671&&_0x4ac671!==_0x27bbda)throw new Error('Global\x20cache\x20key\x20\x22'+_0x3dceee+_0x1ce689(0x1ba)+_0x4ac671+'\x22,\x20cannot\x20register\x20for\x20\x22'+_0x27bbda+'\x22');registry[_0x1ce689(0x1c7)](_0x3dceee,_0x27bbda);}export function getGlobalCachePath(_0x1ac358){return join(getGlobalCacheDir(),_0x1ac358);}function ensureGlobalCacheDir(){const _0x407b1f=getGlobalCacheDir();!existsSync(_0x407b1f)&&mkdirSync(_0x407b1f,{'recursive':!![]});}function readCacheJson(_0x105508){const _0xb9ca31=a165_0x4419,_0x8a5190=getGlobalCachePath(_0x105508);if(!existsSync(_0x8a5190))return undefined;try{const _0xb04aa2=readFileSync(_0x8a5190,'utf-8');return JSON[_0xb9ca31(0x1c0)](_0xb04aa2);}catch{return undefined;}}function writeCacheJson(_0xa763ba,_0x351fde){const _0x4b87f9=a165_0x4419;ensureGlobalCacheDir(),writeFileSync(getGlobalCachePath(_0xa763ba),JSON['stringify'](_0x351fde,null,0x2),_0x4b87f9(0x1c6));}function readCacheText(_0x1bf917){const _0x3c95f4=a165_0x4419,_0x34fea3=getGlobalCachePath(_0x1bf917);if(!existsSync(_0x34fea3))return undefined;try{return readFileSync(_0x34fea3,_0x3c95f4(0x1c6));}catch{return undefined;}}function writeCacheText(_0x327739,_0x44d671){const _0x1946af=a165_0x4419;ensureGlobalCacheDir(),writeFileSync(getGlobalCachePath(_0x327739),_0x44d671,_0x1946af(0x1c6));}function clearCache(_0x5b8fa7){const _0x34400b=getGlobalCachePath(_0x5b8fa7);if(existsSync(_0x34400b))try{unlinkSync(_0x34400b);}catch{}}function a165_0x4419(_0x3b985f,_0x20399b){_0x3b985f=_0x3b985f-0x1ba;const _0x4a22c8=a165_0x4a22();let _0x441985=_0x4a22c8[_0x3b985f];return _0x441985;}function cacheExists(_0x140e8e){return existsSync(getGlobalCachePath(_0x140e8e));}export function createGlobalCache(_0x357045,_0x429698){return registerGlobalCacheKey(_0x357045,_0x429698),{'read':()=>readCacheJson(_0x357045),'write':_0x3f984e=>writeCacheJson(_0x357045,_0x3f984e),'clear':()=>clearCache(_0x357045),'exists':()=>cacheExists(_0x357045),'path':()=>getGlobalCachePath(_0x357045)};}export function createGlobalTextCache(_0x1eb0ae,_0x5a698f){return registerGlobalCacheKey(_0x1eb0ae,_0x5a698f),{'read':()=>readCacheText(_0x1eb0ae)?.['trim']()||undefined,'write':_0x5911c1=>writeCacheText(_0x1eb0ae,_0x5911c1),'clear':()=>clearCache(_0x1eb0ae),'exists':()=>cacheExists(_0x1eb0ae),'path':()=>getGlobalCachePath(_0x1eb0ae)};}export function createProfileCache(_0x256f8e,_0x4ad213){const _0x5b4ee7=_0x2cc3e1=>{const _0xd4bdfa=a165_0x4419,_0x1a3f39=_0x2cc3e1||_0xd4bdfa(0x1bb);return _0x256f8e['replace'](_0xd4bdfa(0x1c8),_0x1a3f39);};return{'read':_0xe10cb7=>{const _0x9d7610=_0x5b4ee7(_0xe10cb7);return registerGlobalCacheKey(_0x9d7610,_0x4ad213),readCacheJson(_0x9d7610);},'write':(_0x1d549b,_0xe55d28)=>{const _0x24d4c7=_0x5b4ee7(_0x1d549b);registerGlobalCacheKey(_0x24d4c7,_0x4ad213),writeCacheJson(_0x24d4c7,_0xe55d28);},'clear':_0x2c4005=>{const _0x58849b=_0x5b4ee7(_0x2c4005);clearCache(_0x58849b);},'exists':_0x7894ce=>{const _0x4eb8c1=_0x5b4ee7(_0x7894ce);return cacheExists(_0x4eb8c1);},'path':_0x2ea3a4=>{const _0x215c79=_0x5b4ee7(_0x2ea3a4);return getGlobalCachePath(_0x215c79);}};}export function createOptionalProfileCache(_0x166ca0,_0x517a7e,_0x3e11e0={}){const {profileSeparator:profileSeparator='.',suffix:suffix=''}=_0x3e11e0,_0x2ff796=_0x21dfe7=>{return _0x21dfe7?''+_0x166ca0+profileSeparator+_0x21dfe7+suffix:''+_0x166ca0+suffix;};return{'read':_0x4c1975=>{const _0x57f3ae=_0x2ff796(_0x4c1975);return registerGlobalCacheKey(_0x57f3ae,_0x517a7e),readCacheJson(_0x57f3ae);},'write':(_0x44c819,_0x55912b)=>{const _0x334a28=_0x2ff796(_0x55912b);registerGlobalCacheKey(_0x334a28,_0x517a7e),writeCacheJson(_0x334a28,_0x44c819);},'clear':_0x311509=>{const _0xf0217f=_0x2ff796(_0x311509);clearCache(_0xf0217f);},'exists':_0x461b99=>{const _0x37796=_0x2ff796(_0x461b99);return cacheExists(_0x37796);},'path':_0x36fd3b=>{const _0xc179d7=_0x2ff796(_0x36fd3b);return getGlobalCachePath(_0xc179d7);}};}export function clearGlobalRegistry(){registry['clear']();}
@@ -1 +1 @@
1
- function a161_0x5a72(_0x6b7730,_0xdadd7d){_0x6b7730=_0x6b7730-0x150;const _0x268b55=a161_0x268b();let _0x5a72b9=_0x268b55[_0x6b7730];return _0x5a72b9;}(function(_0x547d38,_0x1b8517){const _0x1dd440=a161_0x5a72,_0x4e56d1=_0x547d38();while(!![]){try{const _0x5e67f8=parseInt(_0x1dd440(0x15d))/0x1+-parseInt(_0x1dd440(0x152))/0x2*(-parseInt(_0x1dd440(0x164))/0x3)+parseInt(_0x1dd440(0x159))/0x4*(parseInt(_0x1dd440(0x15a))/0x5)+parseInt(_0x1dd440(0x15b))/0x6*(parseInt(_0x1dd440(0x161))/0x7)+parseInt(_0x1dd440(0x166))/0x8*(-parseInt(_0x1dd440(0x165))/0x9)+parseInt(_0x1dd440(0x15e))/0xa*(-parseInt(_0x1dd440(0x158))/0xb)+-parseInt(_0x1dd440(0x167))/0xc*(parseInt(_0x1dd440(0x154))/0xd);if(_0x5e67f8===_0x1b8517)break;else _0x4e56d1['push'](_0x4e56d1['shift']());}catch(_0x3eb7ae){_0x4e56d1['push'](_0x4e56d1['shift']());}}}(a161_0x268b,0xbeb56));function a161_0x268b(){const _0x56d42b=['INTERNAL','1499874SEeptO','message','26vLeldy','NOT_FOUND','File\x20not\x20found:\x20','Cannot\x20specify\x20both\x20inline\x20JSON\x20and\x20file\x20path.\x20Use\x20one\x20or\x20the\x20other.','11MzzbHg','417488oAFBPD','30YfCEzO','12XLbVVy','Invalid\x20JSON\x20string:\x20','258381pxtAyg','6191490COoDLc','code','INVALID_ARGUMENT','5079333vjNHEY','Failed\x20to\x20load\x20JSON:\x20','parse','3UQnfXH','3249cbRVSV','3352ybqYwF','9205428hczftK','\x27:\x20','Permission\x20denied\x20reading\x20file:\x20'];a161_0x268b=function(){return _0x56d42b;};return a161_0x268b();}import{readFile}from'fs/promises';import{SDKError,ErrorCode}from'../sdk/errors.js';export async function loadJSON(_0x27c194,_0x47b3ac){const _0x494171=a161_0x5a72;try{if(_0x47b3ac){const _0x5906d6=await readFile(_0x27c194,'utf-8');try{return JSON[_0x494171(0x163)](_0x5906d6);}catch(_0x3b054c){throw new SDKError(ErrorCode[_0x494171(0x160)],'Invalid\x20JSON\x20in\x20file\x20\x27'+_0x27c194+_0x494171(0x168)+(_0x3b054c instanceof Error?_0x3b054c[_0x494171(0x153)]:String(_0x3b054c)));}}else try{return JSON[_0x494171(0x163)](_0x27c194);}catch(_0x205f3c){throw new SDKError(ErrorCode[_0x494171(0x160)],_0x494171(0x15c)+(_0x205f3c instanceof Error?_0x205f3c[_0x494171(0x153)]:String(_0x205f3c)));}}catch(_0x34630c){if(_0x34630c instanceof SDKError)throw _0x34630c;if(_0x34630c instanceof Error&&_0x494171(0x15f)in _0x34630c){const _0x50ea40=_0x34630c;if(_0x50ea40[_0x494171(0x15f)]==='ENOENT')throw new SDKError(ErrorCode[_0x494171(0x155)],_0x494171(0x156)+_0x27c194);else{if(_0x50ea40[_0x494171(0x15f)]==='EACCES')throw new SDKError(ErrorCode['PERMISSION_DENIED'],_0x494171(0x150)+_0x27c194);}}throw new SDKError(ErrorCode[_0x494171(0x151)],_0x494171(0x162)+(_0x34630c instanceof Error?_0x34630c['message']:String(_0x34630c)));}}export async function loadJSONFromOptions(_0x2090d8,_0xe2ba6c){const _0x84e1e9=a161_0x5a72;if(_0x2090d8&&_0xe2ba6c)throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x84e1e9(0x157));if(_0x2090d8)return await loadJSON(_0x2090d8,![]);if(_0xe2ba6c)return await loadJSON(_0xe2ba6c,!![]);return undefined;}
1
+ function a166_0x1475(_0x418190,_0x1fbb96){_0x418190=_0x418190-0x100;const _0xc9507=a166_0xc950();let _0x147572=_0xc9507[_0x418190];return _0x147572;}(function(_0x17c400,_0x5983f4){const _0x4cde43=a166_0x1475,_0x54a10e=_0x17c400();while(!![]){try{const _0x59589f=parseInt(_0x4cde43(0x117))/0x1+parseInt(_0x4cde43(0x103))/0x2+-parseInt(_0x4cde43(0x110))/0x3+-parseInt(_0x4cde43(0x10d))/0x4+parseInt(_0x4cde43(0x10c))/0x5+parseInt(_0x4cde43(0x113))/0x6*(-parseInt(_0x4cde43(0x101))/0x7)+parseInt(_0x4cde43(0x114))/0x8*(parseInt(_0x4cde43(0x10a))/0x9);if(_0x59589f===_0x5983f4)break;else _0x54a10e['push'](_0x54a10e['shift']());}catch(_0xcd33f3){_0x54a10e['push'](_0x54a10e['shift']());}}}(a166_0xc950,0xe2964));import{readFile}from'fs/promises';function a166_0xc950(){const _0x16e25b=['\x27:\x20','message','parse','70857gYgQJi','INVALID_ARGUMENT','236645BTmxpZ','67784SywTdg','INTERNAL','File\x20not\x20found:\x20','2454762BYNvGf','utf-8','PERMISSION_DENIED','4878qQRqVv','1992SNexfx','code','Cannot\x20specify\x20both\x20inline\x20JSON\x20and\x20file\x20path.\x20Use\x20one\x20or\x20the\x20other.','49473wYMFIG','ENOENT','9142igNoZE','Invalid\x20JSON\x20in\x20file\x20\x27','1535798OkbajC','Permission\x20denied\x20reading\x20file:\x20','Invalid\x20JSON\x20string:\x20','Failed\x20to\x20load\x20JSON:\x20'];a166_0xc950=function(){return _0x16e25b;};return a166_0xc950();}import{SDKError,ErrorCode}from'../sdk/errors.js';export async function loadJSON(_0x13a488,_0x5d2d62){const _0x3d84cc=a166_0x1475;try{if(_0x5d2d62){const _0x5c8a6a=await readFile(_0x13a488,_0x3d84cc(0x111));try{return JSON[_0x3d84cc(0x109)](_0x5c8a6a);}catch(_0x495e0a){throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x3d84cc(0x102)+_0x13a488+_0x3d84cc(0x107)+(_0x495e0a instanceof Error?_0x495e0a[_0x3d84cc(0x108)]:String(_0x495e0a)));}}else try{return JSON[_0x3d84cc(0x109)](_0x13a488);}catch(_0x17ff24){throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x3d84cc(0x105)+(_0x17ff24 instanceof Error?_0x17ff24[_0x3d84cc(0x108)]:String(_0x17ff24)));}}catch(_0x39886f){if(_0x39886f instanceof SDKError)throw _0x39886f;if(_0x39886f instanceof Error&&_0x3d84cc(0x115)in _0x39886f){const _0x409da3=_0x39886f;if(_0x409da3[_0x3d84cc(0x115)]===_0x3d84cc(0x100))throw new SDKError(ErrorCode['NOT_FOUND'],_0x3d84cc(0x10f)+_0x13a488);else{if(_0x409da3[_0x3d84cc(0x115)]==='EACCES')throw new SDKError(ErrorCode[_0x3d84cc(0x112)],_0x3d84cc(0x104)+_0x13a488);}}throw new SDKError(ErrorCode[_0x3d84cc(0x10e)],_0x3d84cc(0x106)+(_0x39886f instanceof Error?_0x39886f[_0x3d84cc(0x108)]:String(_0x39886f)));}}export async function loadJSONFromOptions(_0x1e1f8,_0x3d9fca){const _0x23f8ee=a166_0x1475;if(_0x1e1f8&&_0x3d9fca)throw new SDKError(ErrorCode[_0x23f8ee(0x10b)],_0x23f8ee(0x116));if(_0x1e1f8)return await loadJSON(_0x1e1f8,![]);if(_0x3d9fca)return await loadJSON(_0x3d9fca,!![]);return undefined;}