@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.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.js +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/activations.js +1 -1
- package/dist/commands/agent-command.js +1 -1
- package/dist/commands/agent-test-command.d.ts.map +1 -1
- package/dist/commands/agent-test-command.js +1 -1
- package/dist/commands/agent-test-command.js.map +1 -1
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/chat-command.js +1 -1
- package/dist/commands/claude-command.js +1 -1
- package/dist/commands/claude-statusline-command.js +1 -1
- package/dist/commands/claude-usage-command.js +1 -1
- package/dist/commands/command.d.ts.map +1 -1
- package/dist/commands/command.js +1 -1
- package/dist/commands/command.js.map +1 -1
- package/dist/commands/connection-command.js +1 -1
- package/dist/commands/databases.js +1 -1
- package/dist/commands/describe.js +1 -1
- package/dist/commands/engage-command.js +1 -1
- package/dist/commands/job-command.js +1 -1
- package/dist/commands/journey-command.js +1 -1
- package/dist/commands/journey-validate-command.js +1 -1
- package/dist/commands/llm-command.js +1 -1
- package/dist/commands/llm-proxy.js +1 -1
- package/dist/commands/mcp-command.js +1 -1
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/query-command.js +1 -1
- package/dist/commands/segment-command.js +1 -1
- package/dist/commands/segment-create-command.js +1 -1
- package/dist/commands/segment-fields-command.js +1 -1
- package/dist/commands/segment-pull-command.js +1 -1
- package/dist/commands/segment-push-command.js +1 -1
- package/dist/commands/segment-update-command.js +1 -1
- package/dist/commands/segment-use-command.js +1 -1
- package/dist/commands/segment-validate-command.js +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/show.js +1 -1
- package/dist/commands/status-command.js +1 -1
- package/dist/commands/tables.js +1 -1
- package/dist/commands/unset-command.js +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/workflow-command.js +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/command-output.js +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.d.ts +1 -1
- package/dist/core/global-context.d.ts.map +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/global-context.js.map +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/profile.d.ts +5 -0
- package/dist/core/profile.d.ts.map +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/profile.js.map +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools/index.js +1 -1
- package/dist/mcp/tools/tdx-run.js +1 -1
- package/dist/mcp/tools/tdx-search.js +1 -1
- package/dist/mcp/utils.js +1 -1
- package/dist/proxy/anthropic-adapter.js +1 -1
- package/dist/proxy/claude-usage-tracker.js +1 -1
- package/dist/proxy/context-signature.js +1 -1
- package/dist/proxy/conversation-utils.js +1 -1
- package/dist/proxy/passthrough-server.js +1 -1
- package/dist/proxy/server.js +1 -1
- package/dist/proxy/session-cache.js +1 -1
- package/dist/proxy/sse-usage-parser.js +1 -1
- package/dist/sdk/agent/agent-config.js +1 -1
- package/dist/sdk/agent/agent-ref-parser.js +1 -1
- package/dist/sdk/agent/agent-yaml.js +1 -1
- package/dist/sdk/agent/test/evaluator.js +1 -1
- package/dist/sdk/agent/test/executor.js +1 -1
- package/dist/sdk/agent/test/index.js +1 -1
- package/dist/sdk/agent/test/output.js +1 -1
- package/dist/sdk/agent/test/parser.d.ts.map +1 -1
- package/dist/sdk/agent/test/parser.js +1 -1
- package/dist/sdk/agent/test/parser.js.map +1 -1
- package/dist/sdk/agent/test/types.d.ts +4 -0
- package/dist/sdk/agent/test/types.d.ts.map +1 -1
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/api.js.map +1 -1
- package/dist/sdk/claude-agent/claude-agent-client.d.ts.map +1 -1
- package/dist/sdk/claude-agent/claude-agent-client.js +1 -1
- package/dist/sdk/claude-agent/claude-agent-client.js.map +1 -1
- package/dist/sdk/claude-agent/environment.js +1 -1
- package/dist/sdk/claude-agent/index.js +1 -1
- package/dist/sdk/claude-agent/system-prompts.d.ts +1 -1
- package/dist/sdk/claude-agent/system-prompts.d.ts.map +1 -1
- package/dist/sdk/claude-agent/system-prompts.js +1 -1
- package/dist/sdk/claude-agent/system-prompts.js.map +1 -1
- package/dist/sdk/claude-agent/types.d.ts +6 -0
- package/dist/sdk/claude-agent/types.d.ts.map +1 -1
- package/dist/sdk/client/cdp-api-client.d.ts +1 -2
- package/dist/sdk/client/cdp-api-client.d.ts.map +1 -1
- package/dist/sdk/client/cdp-api-client.js +1 -1
- package/dist/sdk/client/cdp-api-client.js.map +1 -1
- package/dist/sdk/client/endpoints.js +1 -1
- package/dist/sdk/client/engage-api-client.d.ts +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/engage-api-client.js.map +1 -1
- package/dist/sdk/client/http-client.d.ts +2 -5
- package/dist/sdk/client/http-client.d.ts.map +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/http-client.js.map +1 -1
- package/dist/sdk/client/llm-api-client.d.ts +1 -2
- package/dist/sdk/client/llm-api-client.d.ts.map +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js.map +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.d.ts +2 -4
- package/dist/sdk/client/td-api-client.d.ts.map +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/td-api-client.js.map +1 -1
- package/dist/sdk/client/trino-api-client.d.ts +1 -3
- package/dist/sdk/client/trino-api-client.d.ts.map +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js.map +1 -1
- package/dist/sdk/client/workflow-client.d.ts +1 -2
- package/dist/sdk/client/workflow-client.d.ts.map +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/client/workflow-client.js.map +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/connection.js.map +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/index.d.ts +2 -10
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/io/index.js +1 -1
- package/dist/sdk/io/node-filesystem.js +1 -1
- package/dist/sdk/job.js +1 -1
- package/dist/sdk/job.js.map +1 -1
- package/dist/sdk/journey.js +1 -1
- package/dist/sdk/journey.js.map +1 -1
- package/dist/sdk/llm/chat-cache.js +1 -1
- package/dist/sdk/llm/index.d.ts +1 -0
- package/dist/sdk/llm/index.d.ts.map +1 -1
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/index.js.map +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-aliases.js +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/query/index.js +1 -1
- package/dist/sdk/query/index.js.map +1 -1
- package/dist/sdk/query/sql-parser.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/fields-display.js +1 -1
- package/dist/sdk/segment/file-discovery.js +1 -1
- package/dist/sdk/segment/journey-utils.js +1 -1
- package/dist/sdk/segment/journey-yaml.js +1 -1
- package/dist/sdk/segment/parent-segment-preview.js +1 -1
- package/dist/sdk/segment/parent-segment-yaml.js +1 -1
- package/dist/sdk/segment/pull-workflow.js +1 -1
- package/dist/sdk/segment/push-workflow.js +1 -1
- package/dist/sdk/segment/resolution-context.js +1 -1
- package/dist/sdk/segment/segment-path-parser.js +1 -1
- package/dist/sdk/segment/segment-ref-parser.js +1 -1
- package/dist/sdk/segment/target-resolution.js +1 -1
- package/dist/sdk/segment/tdx-config.js +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/yaml-validator.js +1 -1
- package/dist/sdk/segment.js +1 -1
- package/dist/sdk/segment.js.map +1 -1
- package/dist/sdk/types/index.js +1 -1
- package/dist/sdk/types/progress.js +1 -1
- package/dist/sdk/user.js +1 -1
- package/dist/sdk/user.js.map +1 -1
- package/dist/sdk/util/format-detector.js +1 -1
- package/dist/sdk/util/formatters.js +1 -1
- package/dist/sdk/util/index.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/index.js.map +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/test-utils/command-runner.d.ts +99 -0
- package/dist/test-utils/command-runner.d.ts.map +1 -0
- package/dist/test-utils/command-runner.js +1 -0
- package/dist/test-utils/command-runner.js.map +1 -0
- package/dist/test-utils/factories.d.ts +183 -0
- package/dist/test-utils/factories.d.ts.map +1 -0
- package/dist/test-utils/factories.js +1 -0
- package/dist/test-utils/factories.js.map +1 -0
- package/dist/test-utils/fixtures.d.ts +395 -0
- package/dist/test-utils/fixtures.d.ts.map +1 -0
- package/dist/test-utils/fixtures.js +1 -0
- package/dist/test-utils/fixtures.js.map +1 -0
- package/dist/test-utils/http-mock.d.ts +285 -0
- package/dist/test-utils/http-mock.d.ts.map +1 -0
- package/dist/test-utils/http-mock.js +1 -0
- package/dist/test-utils/http-mock.js.map +1 -0
- package/dist/test-utils/index.d.ts +47 -0
- package/dist/test-utils/index.d.ts.map +1 -0
- package/dist/test-utils/index.js +1 -0
- package/dist/test-utils/index.js.map +1 -0
- package/dist/utils/async.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/global-cache.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/local-cache.js +1 -1
- package/dist/utils/logger/formatters/default-formatter.d.ts +33 -0
- package/dist/utils/logger/formatters/default-formatter.d.ts.map +1 -0
- package/dist/utils/logger/formatters/default-formatter.js +1 -0
- package/dist/utils/logger/formatters/default-formatter.js.map +1 -0
- package/dist/utils/logger/formatters/index.d.ts +8 -0
- package/dist/utils/logger/formatters/index.d.ts.map +1 -0
- package/dist/utils/logger/formatters/index.js +1 -0
- package/dist/utils/logger/formatters/index.js.map +1 -0
- package/dist/utils/logger/handlers/console-handler.d.ts +31 -0
- package/dist/utils/logger/handlers/console-handler.d.ts.map +1 -0
- package/dist/utils/logger/handlers/console-handler.js +1 -0
- package/dist/utils/logger/handlers/console-handler.js.map +1 -0
- package/dist/utils/logger/handlers/file-handler.d.ts +51 -0
- package/dist/utils/logger/handlers/file-handler.d.ts.map +1 -0
- package/dist/utils/logger/handlers/file-handler.js +1 -0
- package/dist/utils/logger/handlers/file-handler.js.map +1 -0
- package/dist/utils/logger/handlers/index.d.ts +11 -0
- package/dist/utils/logger/handlers/index.d.ts.map +1 -0
- package/dist/utils/logger/handlers/index.js +1 -0
- package/dist/utils/logger/handlers/index.js.map +1 -0
- package/dist/utils/logger/handlers/null-handler.d.ts +16 -0
- package/dist/utils/logger/handlers/null-handler.d.ts.map +1 -0
- package/dist/utils/logger/handlers/null-handler.js +1 -0
- package/dist/utils/logger/handlers/null-handler.js.map +1 -0
- package/dist/utils/logger/index.d.ts +37 -0
- package/dist/utils/logger/index.d.ts.map +1 -0
- package/dist/utils/logger/index.js +1 -0
- package/dist/utils/logger/index.js.map +1 -0
- package/dist/utils/logger/logger.d.ts +132 -0
- package/dist/utils/logger/logger.d.ts.map +1 -0
- package/dist/utils/logger/logger.js +1 -0
- package/dist/utils/logger/logger.js.map +1 -0
- package/dist/utils/logger/types.d.ts +95 -0
- package/dist/utils/logger/types.d.ts.map +1 -0
- package/dist/utils/logger/types.js +1 -0
- package/dist/utils/logger/types.js.map +1 -0
- package/dist/utils/option-validation.js +1 -1
- package/dist/utils/port.js +1 -1
- package/dist/utils/process.js +1 -1
- package/dist/utils/prompt.js +1 -1
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/sse-parser.d.ts +9 -2
- package/dist/utils/sse-parser.d.ts.map +1 -1
- package/dist/utils/sse-parser.js +1 -1
- package/dist/utils/sse-parser.js.map +1 -1
- package/dist/utils/string-utils.js +1 -1
- package/dist/utils/table-ref-parser.js +1 -1
- package/dist/utils/tdx-logger.d.ts +44 -21
- package/dist/utils/tdx-logger.d.ts.map +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/tdx-logger.js.map +1 -1
- package/dist/utils/version-check.js +1 -1
- 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"}
|
package/dist/utils/async.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
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;}
|
package/dist/utils/colors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
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);}
|
package/dist/utils/diff.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
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(
|
|
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(
|
|
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
|
|
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;}
|