@paperclipai/plugin-sdk 2026.3.17-canary.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +888 -0
- package/dist/bundlers.d.ts +57 -0
- package/dist/bundlers.d.ts.map +1 -0
- package/dist/bundlers.js +105 -0
- package/dist/bundlers.js.map +1 -0
- package/dist/define-plugin.d.ts +218 -0
- package/dist/define-plugin.d.ts.map +1 -0
- package/dist/define-plugin.js +85 -0
- package/dist/define-plugin.js.map +1 -0
- package/dist/dev-cli.d.ts +3 -0
- package/dist/dev-cli.d.ts.map +1 -0
- package/dist/dev-cli.js +49 -0
- package/dist/dev-cli.js.map +1 -0
- package/dist/dev-server.d.ts +34 -0
- package/dist/dev-server.d.ts.map +1 -0
- package/dist/dev-server.js +194 -0
- package/dist/dev-server.js.map +1 -0
- package/dist/host-client-factory.d.ts +229 -0
- package/dist/host-client-factory.d.ts.map +1 -0
- package/dist/host-client-factory.js +353 -0
- package/dist/host-client-factory.js.map +1 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +84 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol.d.ts +881 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +297 -0
- package/dist/protocol.js.map +1 -0
- package/dist/testing.d.ts +63 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +700 -0
- package/dist/testing.js.map +1 -0
- package/dist/types.d.ts +982 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/components.d.ts +257 -0
- package/dist/ui/components.d.ts.map +1 -0
- package/dist/ui/components.js +97 -0
- package/dist/ui/components.js.map +1 -0
- package/dist/ui/hooks.d.ts +120 -0
- package/dist/ui/hooks.d.ts.map +1 -0
- package/dist/ui/hooks.js +148 -0
- package/dist/ui/hooks.js.map +1 -0
- package/dist/ui/index.d.ts +50 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +48 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/runtime.d.ts +3 -0
- package/dist/ui/runtime.d.ts.map +1 -0
- package/dist/ui/runtime.js +30 -0
- package/dist/ui/runtime.js.map +1 -0
- package/dist/ui/types.d.ts +308 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +17 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/worker-rpc-host.d.ts +127 -0
- package/dist/worker-rpc-host.d.ts.map +1 -0
- package/dist/worker-rpc-host.js +941 -0
- package/dist/worker-rpc-host.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/dist/protocol.js
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSON-RPC 2.0 message types and protocol helpers for the host ↔ worker IPC
|
|
3
|
+
* channel.
|
|
4
|
+
*
|
|
5
|
+
* The Paperclip plugin runtime uses JSON-RPC 2.0 over stdio to communicate
|
|
6
|
+
* between the host process and each plugin worker process. This module defines:
|
|
7
|
+
*
|
|
8
|
+
* - Core JSON-RPC 2.0 envelope types (request, response, notification, error)
|
|
9
|
+
* - Standard and plugin-specific error codes
|
|
10
|
+
* - Typed method maps for host→worker and worker→host calls
|
|
11
|
+
* - Helper functions for creating well-formed messages
|
|
12
|
+
*
|
|
13
|
+
* @see PLUGIN_SPEC.md §12.1 — Process Model
|
|
14
|
+
* @see PLUGIN_SPEC.md §13 — Host-Worker Protocol
|
|
15
|
+
* @see https://www.jsonrpc.org/specification
|
|
16
|
+
*/
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// JSON-RPC 2.0 — Core Protocol Types
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
/** The JSON-RPC protocol version. Always `"2.0"`. */
|
|
21
|
+
export const JSONRPC_VERSION = "2.0";
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Error Codes
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
/**
|
|
26
|
+
* Standard JSON-RPC 2.0 error codes.
|
|
27
|
+
*
|
|
28
|
+
* @see https://www.jsonrpc.org/specification#error_object
|
|
29
|
+
*/
|
|
30
|
+
export const JSONRPC_ERROR_CODES = {
|
|
31
|
+
/** Invalid JSON was received by the server. */
|
|
32
|
+
PARSE_ERROR: -32700,
|
|
33
|
+
/** The JSON sent is not a valid Request object. */
|
|
34
|
+
INVALID_REQUEST: -32600,
|
|
35
|
+
/** The method does not exist or is not available. */
|
|
36
|
+
METHOD_NOT_FOUND: -32601,
|
|
37
|
+
/** Invalid method parameter(s). */
|
|
38
|
+
INVALID_PARAMS: -32602,
|
|
39
|
+
/** Internal JSON-RPC error. */
|
|
40
|
+
INTERNAL_ERROR: -32603,
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Paperclip plugin-specific error codes.
|
|
44
|
+
*
|
|
45
|
+
* These live in the JSON-RPC "server error" reserved range (-32000 to -32099)
|
|
46
|
+
* as specified by JSON-RPC 2.0 for implementation-defined server errors.
|
|
47
|
+
*
|
|
48
|
+
* @see PLUGIN_SPEC.md §19.7 — Error Propagation Through The Bridge
|
|
49
|
+
*/
|
|
50
|
+
export const PLUGIN_RPC_ERROR_CODES = {
|
|
51
|
+
/** The worker process is not running or not reachable. */
|
|
52
|
+
WORKER_UNAVAILABLE: -32000,
|
|
53
|
+
/** The plugin does not have the required capability for this operation. */
|
|
54
|
+
CAPABILITY_DENIED: -32001,
|
|
55
|
+
/** The worker reported an unhandled error during method execution. */
|
|
56
|
+
WORKER_ERROR: -32002,
|
|
57
|
+
/** The method call timed out waiting for the worker response. */
|
|
58
|
+
TIMEOUT: -32003,
|
|
59
|
+
/** The worker does not implement the requested optional method. */
|
|
60
|
+
METHOD_NOT_IMPLEMENTED: -32004,
|
|
61
|
+
/** A catch-all for errors that do not fit other categories. */
|
|
62
|
+
UNKNOWN: -32099,
|
|
63
|
+
};
|
|
64
|
+
/** Required methods the worker MUST implement. */
|
|
65
|
+
export const HOST_TO_WORKER_REQUIRED_METHODS = [
|
|
66
|
+
"initialize",
|
|
67
|
+
"health",
|
|
68
|
+
"shutdown",
|
|
69
|
+
];
|
|
70
|
+
/** Optional methods the worker MAY implement. */
|
|
71
|
+
export const HOST_TO_WORKER_OPTIONAL_METHODS = [
|
|
72
|
+
"validateConfig",
|
|
73
|
+
"configChanged",
|
|
74
|
+
"onEvent",
|
|
75
|
+
"runJob",
|
|
76
|
+
"handleWebhook",
|
|
77
|
+
"getData",
|
|
78
|
+
"performAction",
|
|
79
|
+
"executeTool",
|
|
80
|
+
];
|
|
81
|
+
// ---------------------------------------------------------------------------
|
|
82
|
+
// Message Factory Functions
|
|
83
|
+
// ---------------------------------------------------------------------------
|
|
84
|
+
/** Counter for generating unique request IDs when no explicit ID is provided. */
|
|
85
|
+
let _nextId = 1;
|
|
86
|
+
/** Wrap around before reaching Number.MAX_SAFE_INTEGER to prevent precision loss. */
|
|
87
|
+
const MAX_SAFE_RPC_ID = Number.MAX_SAFE_INTEGER - 1;
|
|
88
|
+
/**
|
|
89
|
+
* Create a JSON-RPC 2.0 request message.
|
|
90
|
+
*
|
|
91
|
+
* @param method - The RPC method name
|
|
92
|
+
* @param params - Structured parameters
|
|
93
|
+
* @param id - Optional explicit request ID (auto-generated if omitted)
|
|
94
|
+
*/
|
|
95
|
+
export function createRequest(method, params, id) {
|
|
96
|
+
if (_nextId >= MAX_SAFE_RPC_ID) {
|
|
97
|
+
_nextId = 1;
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
jsonrpc: JSONRPC_VERSION,
|
|
101
|
+
id: id ?? _nextId++,
|
|
102
|
+
method,
|
|
103
|
+
params,
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Create a JSON-RPC 2.0 success response.
|
|
108
|
+
*
|
|
109
|
+
* @param id - The request ID being responded to
|
|
110
|
+
* @param result - The result value
|
|
111
|
+
*/
|
|
112
|
+
export function createSuccessResponse(id, result) {
|
|
113
|
+
return {
|
|
114
|
+
jsonrpc: JSONRPC_VERSION,
|
|
115
|
+
id,
|
|
116
|
+
result,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Create a JSON-RPC 2.0 error response.
|
|
121
|
+
*
|
|
122
|
+
* @param id - The request ID being responded to (null if the request ID could not be determined)
|
|
123
|
+
* @param code - Machine-readable error code
|
|
124
|
+
* @param message - Human-readable error message
|
|
125
|
+
* @param data - Optional structured error data
|
|
126
|
+
*/
|
|
127
|
+
export function createErrorResponse(id, code, message, data) {
|
|
128
|
+
const response = {
|
|
129
|
+
jsonrpc: JSONRPC_VERSION,
|
|
130
|
+
id,
|
|
131
|
+
error: data !== undefined
|
|
132
|
+
? { code, message, data }
|
|
133
|
+
: { code, message },
|
|
134
|
+
};
|
|
135
|
+
return response;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Create a JSON-RPC 2.0 notification (fire-and-forget, no response expected).
|
|
139
|
+
*
|
|
140
|
+
* @param method - The notification method name
|
|
141
|
+
* @param params - Structured parameters
|
|
142
|
+
*/
|
|
143
|
+
export function createNotification(method, params) {
|
|
144
|
+
return {
|
|
145
|
+
jsonrpc: JSONRPC_VERSION,
|
|
146
|
+
method,
|
|
147
|
+
params,
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
// ---------------------------------------------------------------------------
|
|
151
|
+
// Type Guards
|
|
152
|
+
// ---------------------------------------------------------------------------
|
|
153
|
+
/**
|
|
154
|
+
* Check whether a value is a well-formed JSON-RPC 2.0 request.
|
|
155
|
+
*
|
|
156
|
+
* A request has `jsonrpc: "2.0"`, a string `method`, and an `id`.
|
|
157
|
+
*/
|
|
158
|
+
export function isJsonRpcRequest(value) {
|
|
159
|
+
if (typeof value !== "object" || value === null)
|
|
160
|
+
return false;
|
|
161
|
+
const obj = value;
|
|
162
|
+
return (obj.jsonrpc === JSONRPC_VERSION &&
|
|
163
|
+
typeof obj.method === "string" &&
|
|
164
|
+
"id" in obj &&
|
|
165
|
+
obj.id !== undefined &&
|
|
166
|
+
obj.id !== null);
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Check whether a value is a well-formed JSON-RPC 2.0 notification.
|
|
170
|
+
*
|
|
171
|
+
* A notification has `jsonrpc: "2.0"`, a string `method`, but no `id`.
|
|
172
|
+
*/
|
|
173
|
+
export function isJsonRpcNotification(value) {
|
|
174
|
+
if (typeof value !== "object" || value === null)
|
|
175
|
+
return false;
|
|
176
|
+
const obj = value;
|
|
177
|
+
return (obj.jsonrpc === JSONRPC_VERSION &&
|
|
178
|
+
typeof obj.method === "string" &&
|
|
179
|
+
!("id" in obj));
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Check whether a value is a well-formed JSON-RPC 2.0 response (success or error).
|
|
183
|
+
*/
|
|
184
|
+
export function isJsonRpcResponse(value) {
|
|
185
|
+
if (typeof value !== "object" || value === null)
|
|
186
|
+
return false;
|
|
187
|
+
const obj = value;
|
|
188
|
+
return (obj.jsonrpc === JSONRPC_VERSION &&
|
|
189
|
+
"id" in obj &&
|
|
190
|
+
("result" in obj || "error" in obj));
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Check whether a JSON-RPC response is a success response.
|
|
194
|
+
*/
|
|
195
|
+
export function isJsonRpcSuccessResponse(response) {
|
|
196
|
+
return "result" in response && !("error" in response && response.error !== undefined);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Check whether a JSON-RPC response is an error response.
|
|
200
|
+
*/
|
|
201
|
+
export function isJsonRpcErrorResponse(response) {
|
|
202
|
+
return "error" in response && response.error !== undefined;
|
|
203
|
+
}
|
|
204
|
+
// ---------------------------------------------------------------------------
|
|
205
|
+
// Serialization Helpers
|
|
206
|
+
// ---------------------------------------------------------------------------
|
|
207
|
+
/**
|
|
208
|
+
* Line delimiter for JSON-RPC messages over stdio.
|
|
209
|
+
*
|
|
210
|
+
* Each message is a single line of JSON terminated by a newline character.
|
|
211
|
+
* This follows the newline-delimited JSON (NDJSON) convention.
|
|
212
|
+
*/
|
|
213
|
+
export const MESSAGE_DELIMITER = "\n";
|
|
214
|
+
/**
|
|
215
|
+
* Serialize a JSON-RPC message to a newline-delimited string for transmission
|
|
216
|
+
* over stdio.
|
|
217
|
+
*
|
|
218
|
+
* @param message - Any JSON-RPC message (request, response, or notification)
|
|
219
|
+
* @returns The JSON string terminated with a newline
|
|
220
|
+
*/
|
|
221
|
+
export function serializeMessage(message) {
|
|
222
|
+
return JSON.stringify(message) + MESSAGE_DELIMITER;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Parse a JSON string into a JSON-RPC message.
|
|
226
|
+
*
|
|
227
|
+
* Returns the parsed message or throws a `JsonRpcParseError` if the input
|
|
228
|
+
* is not valid JSON or does not conform to the JSON-RPC 2.0 structure.
|
|
229
|
+
*
|
|
230
|
+
* @param line - A single line of JSON text (with or without trailing newline)
|
|
231
|
+
* @returns The parsed JSON-RPC message
|
|
232
|
+
* @throws {JsonRpcParseError} If parsing fails
|
|
233
|
+
*/
|
|
234
|
+
export function parseMessage(line) {
|
|
235
|
+
const trimmed = line.trim();
|
|
236
|
+
if (trimmed.length === 0) {
|
|
237
|
+
throw new JsonRpcParseError("Empty message");
|
|
238
|
+
}
|
|
239
|
+
let parsed;
|
|
240
|
+
try {
|
|
241
|
+
parsed = JSON.parse(trimmed);
|
|
242
|
+
}
|
|
243
|
+
catch {
|
|
244
|
+
throw new JsonRpcParseError(`Invalid JSON: ${trimmed.slice(0, 200)}`);
|
|
245
|
+
}
|
|
246
|
+
if (typeof parsed !== "object" || parsed === null) {
|
|
247
|
+
throw new JsonRpcParseError("Message must be a JSON object");
|
|
248
|
+
}
|
|
249
|
+
const obj = parsed;
|
|
250
|
+
if (obj.jsonrpc !== JSONRPC_VERSION) {
|
|
251
|
+
throw new JsonRpcParseError(`Invalid or missing jsonrpc version (expected "${JSONRPC_VERSION}", got ${JSON.stringify(obj.jsonrpc)})`);
|
|
252
|
+
}
|
|
253
|
+
// It's a valid JSON-RPC 2.0 envelope — return as-is and let the caller
|
|
254
|
+
// use the type guards for more specific classification.
|
|
255
|
+
return parsed;
|
|
256
|
+
}
|
|
257
|
+
// ---------------------------------------------------------------------------
|
|
258
|
+
// Error Classes
|
|
259
|
+
// ---------------------------------------------------------------------------
|
|
260
|
+
/**
|
|
261
|
+
* Error thrown when a JSON-RPC message cannot be parsed.
|
|
262
|
+
*/
|
|
263
|
+
export class JsonRpcParseError extends Error {
|
|
264
|
+
name = "JsonRpcParseError";
|
|
265
|
+
constructor(message) {
|
|
266
|
+
super(message);
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Error thrown when a JSON-RPC call fails with a structured error response.
|
|
271
|
+
*
|
|
272
|
+
* Captures the full `JsonRpcError` so callers can inspect the code and data.
|
|
273
|
+
*/
|
|
274
|
+
export class JsonRpcCallError extends Error {
|
|
275
|
+
name = "JsonRpcCallError";
|
|
276
|
+
/** The JSON-RPC error code. */
|
|
277
|
+
code;
|
|
278
|
+
/** Optional structured error data from the response. */
|
|
279
|
+
data;
|
|
280
|
+
constructor(error) {
|
|
281
|
+
super(error.message);
|
|
282
|
+
this.code = error.code;
|
|
283
|
+
this.data = error.data;
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
// ---------------------------------------------------------------------------
|
|
287
|
+
// Reset helper (testing only)
|
|
288
|
+
// ---------------------------------------------------------------------------
|
|
289
|
+
/**
|
|
290
|
+
* Reset the internal request ID counter. **For testing only.**
|
|
291
|
+
*
|
|
292
|
+
* @internal
|
|
293
|
+
*/
|
|
294
|
+
export function _resetIdCounter() {
|
|
295
|
+
_nextId = 1;
|
|
296
|
+
}
|
|
297
|
+
//# sourceMappingURL=protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { PaperclipPluginManifestV1, PluginCapability, PluginEventType, Company, Project, Issue, IssueComment, Agent, Goal } from "@paperclipai/shared";
|
|
2
|
+
import type { PluginContext, PluginJobContext, PluginEvent, ScopeKey, ToolResult, ToolRunContext, AgentSessionEvent } from "./types.js";
|
|
3
|
+
export interface TestHarnessOptions {
|
|
4
|
+
/** Plugin manifest used to seed capability checks and metadata. */
|
|
5
|
+
manifest: PaperclipPluginManifestV1;
|
|
6
|
+
/** Optional capability override. Defaults to `manifest.capabilities`. */
|
|
7
|
+
capabilities?: PluginCapability[];
|
|
8
|
+
/** Initial config returned by `ctx.config.get()`. */
|
|
9
|
+
config?: Record<string, unknown>;
|
|
10
|
+
}
|
|
11
|
+
export interface TestHarnessLogEntry {
|
|
12
|
+
level: "info" | "warn" | "error" | "debug";
|
|
13
|
+
message: string;
|
|
14
|
+
meta?: Record<string, unknown>;
|
|
15
|
+
}
|
|
16
|
+
export interface TestHarness {
|
|
17
|
+
/** Fully-typed in-memory plugin context passed to `plugin.setup(ctx)`. */
|
|
18
|
+
ctx: PluginContext;
|
|
19
|
+
/** Seed host entities for `ctx.companies/projects/issues/agents/goals` reads. */
|
|
20
|
+
seed(input: {
|
|
21
|
+
companies?: Company[];
|
|
22
|
+
projects?: Project[];
|
|
23
|
+
issues?: Issue[];
|
|
24
|
+
issueComments?: IssueComment[];
|
|
25
|
+
agents?: Agent[];
|
|
26
|
+
goals?: Goal[];
|
|
27
|
+
}): void;
|
|
28
|
+
setConfig(config: Record<string, unknown>): void;
|
|
29
|
+
/** Dispatch a host or plugin event to registered handlers. */
|
|
30
|
+
emit(eventType: PluginEventType | `plugin.${string}`, payload: unknown, base?: Partial<PluginEvent>): Promise<void>;
|
|
31
|
+
/** Execute a previously-registered scheduled job handler. */
|
|
32
|
+
runJob(jobKey: string, partial?: Partial<PluginJobContext>): Promise<void>;
|
|
33
|
+
/** Invoke a `ctx.data.register(...)` handler by key. */
|
|
34
|
+
getData<T = unknown>(key: string, params?: Record<string, unknown>): Promise<T>;
|
|
35
|
+
/** Invoke a `ctx.actions.register(...)` handler by key. */
|
|
36
|
+
performAction<T = unknown>(key: string, params?: Record<string, unknown>): Promise<T>;
|
|
37
|
+
/** Execute a registered tool handler via `ctx.tools.execute(...)`. */
|
|
38
|
+
executeTool<T = ToolResult>(name: string, params: unknown, runCtx?: Partial<ToolRunContext>): Promise<T>;
|
|
39
|
+
/** Read raw in-memory state for assertions. */
|
|
40
|
+
getState(input: ScopeKey): unknown;
|
|
41
|
+
/** Simulate a streaming event arriving for an active session. */
|
|
42
|
+
simulateSessionEvent(sessionId: string, event: Omit<AgentSessionEvent, "sessionId">): void;
|
|
43
|
+
logs: TestHarnessLogEntry[];
|
|
44
|
+
activity: Array<{
|
|
45
|
+
message: string;
|
|
46
|
+
entityType?: string;
|
|
47
|
+
entityId?: string;
|
|
48
|
+
metadata?: Record<string, unknown>;
|
|
49
|
+
}>;
|
|
50
|
+
metrics: Array<{
|
|
51
|
+
name: string;
|
|
52
|
+
value: number;
|
|
53
|
+
tags?: Record<string, string>;
|
|
54
|
+
}>;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create an in-memory host harness for plugin worker tests.
|
|
58
|
+
*
|
|
59
|
+
* The harness enforces declared capabilities and simulates host APIs, so tests
|
|
60
|
+
* can validate plugin behavior without spinning up the Paperclip server runtime.
|
|
61
|
+
*/
|
|
62
|
+
export declare function createTestHarness(options: TestHarnessOptions): TestHarness;
|
|
63
|
+
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,eAAe,EACf,OAAO,EACP,OAAO,EACP,KAAK,EACL,YAAY,EACZ,KAAK,EACL,IAAI,EACL,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAEV,aAAa,EAGb,gBAAgB,EAEhB,WAAW,EACX,QAAQ,EACR,UAAU,EACV,cAAc,EAGd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,QAAQ,EAAE,yBAAyB,CAAC;IACpC,yEAAyE;IACzE,YAAY,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAClC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,GAAG,EAAE,aAAa,CAAC;IACnB,iFAAiF;IACjF,IAAI,CAAC,KAAK,EAAE;QACV,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;QAC/B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;KAChB,GAAG,IAAI,CAAC;IACT,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,8DAA8D;IAC9D,IAAI,CAAC,SAAS,EAAE,eAAe,GAAG,UAAU,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpH,6DAA6D;IAC7D,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,wDAAwD;IACxD,OAAO,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAChF,2DAA2D;IAC3D,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtF,sEAAsE;IACtE,WAAW,CAAC,CAAC,GAAG,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACzG,+CAA+C;IAC/C,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnC,iEAAiE;IACjE,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;IAC3F,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,QAAQ,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;IACjH,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC,CAAC;CAChF;AA+CD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,CAgmB1E"}
|