@skillcap/gdh 0.16.0 → 0.17.1

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 (56) hide show
  1. package/INSTALL-BUNDLE.json +1 -1
  2. package/RELEASE-SPAN-UPDATE-CONTRACTS.json +145 -0
  3. package/node_modules/@gdh/adapters/dist/index.d.ts +2 -2
  4. package/node_modules/@gdh/adapters/dist/index.d.ts.map +1 -1
  5. package/node_modules/@gdh/adapters/dist/index.js +164 -125
  6. package/node_modules/@gdh/adapters/dist/index.js.map +1 -1
  7. package/node_modules/@gdh/adapters/package.json +8 -8
  8. package/node_modules/@gdh/authoring/dist/index.d.ts +4 -3
  9. package/node_modules/@gdh/authoring/dist/index.d.ts.map +1 -1
  10. package/node_modules/@gdh/authoring/dist/index.js +80 -9
  11. package/node_modules/@gdh/authoring/dist/index.js.map +1 -1
  12. package/node_modules/@gdh/authoring/dist/lsp-client.d.ts +47 -0
  13. package/node_modules/@gdh/authoring/dist/lsp-client.d.ts.map +1 -0
  14. package/node_modules/@gdh/authoring/dist/lsp-client.js +371 -0
  15. package/node_modules/@gdh/authoring/dist/lsp-client.js.map +1 -0
  16. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.d.ts +35 -0
  17. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.d.ts.map +1 -0
  18. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.js +194 -0
  19. package/node_modules/@gdh/authoring/dist/lsp-test-server.test-utils.js.map +1 -0
  20. package/node_modules/@gdh/authoring/dist/lsp.d.ts +62 -1
  21. package/node_modules/@gdh/authoring/dist/lsp.d.ts.map +1 -1
  22. package/node_modules/@gdh/authoring/dist/lsp.js +1278 -112
  23. package/node_modules/@gdh/authoring/dist/lsp.js.map +1 -1
  24. package/node_modules/@gdh/authoring/dist/scene-resource.d.ts +39 -0
  25. package/node_modules/@gdh/authoring/dist/scene-resource.d.ts.map +1 -0
  26. package/node_modules/@gdh/authoring/dist/scene-resource.js +544 -0
  27. package/node_modules/@gdh/authoring/dist/scene-resource.js.map +1 -0
  28. package/node_modules/@gdh/authoring/package.json +2 -2
  29. package/node_modules/@gdh/cli/dist/index.d.ts.map +1 -1
  30. package/node_modules/@gdh/cli/dist/index.js +116 -18
  31. package/node_modules/@gdh/cli/dist/index.js.map +1 -1
  32. package/node_modules/@gdh/cli/dist/migrate.d.ts.map +1 -1
  33. package/node_modules/@gdh/cli/dist/migrate.js +12 -5
  34. package/node_modules/@gdh/cli/dist/migrate.js.map +1 -1
  35. package/node_modules/@gdh/cli/package.json +10 -10
  36. package/node_modules/@gdh/core/dist/index.d.ts +48 -13
  37. package/node_modules/@gdh/core/dist/index.d.ts.map +1 -1
  38. package/node_modules/@gdh/core/dist/index.js +14 -17
  39. package/node_modules/@gdh/core/dist/index.js.map +1 -1
  40. package/node_modules/@gdh/core/package.json +1 -1
  41. package/node_modules/@gdh/docs/dist/guidance.d.ts.map +1 -1
  42. package/node_modules/@gdh/docs/dist/guidance.js +12 -2
  43. package/node_modules/@gdh/docs/dist/guidance.js.map +1 -1
  44. package/node_modules/@gdh/docs/dist/rules.d.ts.map +1 -1
  45. package/node_modules/@gdh/docs/dist/rules.js +2 -2
  46. package/node_modules/@gdh/docs/dist/rules.js.map +1 -1
  47. package/node_modules/@gdh/docs/package.json +2 -2
  48. package/node_modules/@gdh/mcp/package.json +8 -8
  49. package/node_modules/@gdh/observability/package.json +2 -2
  50. package/node_modules/@gdh/runtime/package.json +2 -2
  51. package/node_modules/@gdh/scan/package.json +3 -3
  52. package/node_modules/@gdh/verify/dist/policy.d.ts.map +1 -1
  53. package/node_modules/@gdh/verify/dist/policy.js +157 -29
  54. package/node_modules/@gdh/verify/dist/policy.js.map +1 -1
  55. package/node_modules/@gdh/verify/package.json +7 -7
  56. package/package.json +11 -11
@@ -0,0 +1,544 @@
1
+ import { spawn } from "node:child_process";
2
+ import { randomUUID } from "node:crypto";
3
+ import fs from "node:fs/promises";
4
+ import path from "node:path";
5
+ import { detectFatalGodotStderr, resolveConfiguredGodotEditorBin } from "@gdh/core";
6
+ const SCENE_RESOURCE_VALIDATOR_TIMEOUT_MS = 20_000;
7
+ const SCENE_RESOURCE_VALIDATOR_SCRIPT = `extends SceneTree
8
+
9
+ func _init() -> void:
10
+ var args := OS.get_cmdline_user_args()
11
+ if args.size() < 1:
12
+ push_error("GDH scene/resource validator missing manifest path.")
13
+ quit(2)
14
+ return
15
+
16
+ var manifest_path := args[0]
17
+ var manifest_text := FileAccess.get_file_as_string(manifest_path)
18
+ var manifest = JSON.parse_string(manifest_text)
19
+ if typeof(manifest) != TYPE_DICTIONARY:
20
+ push_error("GDH scene/resource validator received malformed manifest JSON.")
21
+ quit(2)
22
+ return
23
+
24
+ var result_path = manifest.get("resultPath", "")
25
+ if typeof(result_path) != TYPE_STRING or result_path == "":
26
+ push_error("GDH scene/resource validator manifest is missing resultPath.")
27
+ quit(2)
28
+ return
29
+
30
+ var results: Array = []
31
+ for file_entry in manifest.get("files", []):
32
+ if typeof(file_entry) != TYPE_DICTIONARY:
33
+ continue
34
+
35
+ var relative_path = file_entry.get("path", "")
36
+ var resource_path = file_entry.get("resourcePath", "")
37
+ if typeof(relative_path) != TYPE_STRING or typeof(resource_path) != TYPE_STRING:
38
+ continue
39
+
40
+ var resource = ResourceLoader.load(resource_path)
41
+ if resource == null:
42
+ results.push_back({
43
+ "path": relative_path,
44
+ "status": "diagnostic",
45
+ "severity": "error",
46
+ "reason": "godot_resource_load_failed",
47
+ "message": "Godot could not load resource: " + resource_path,
48
+ })
49
+ else:
50
+ results.push_back({
51
+ "path": relative_path,
52
+ "status": "passed",
53
+ "resourceType": resource.get_class(),
54
+ })
55
+
56
+ var output := {
57
+ "schemaVersion": 1,
58
+ "validator": "godot_scene_resource",
59
+ "files": results,
60
+ }
61
+
62
+ var result_file := FileAccess.open(result_path, FileAccess.WRITE)
63
+ if result_file == null:
64
+ push_error("GDH scene/resource validator could not write result file.")
65
+ quit(2)
66
+ return
67
+
68
+ result_file.store_string(JSON.stringify(output))
69
+ quit(0)
70
+ `;
71
+ export async function runSceneResourceValidation(input) {
72
+ if (input.projectConfig === null || input.status.readiness !== "authorable") {
73
+ return unavailableResult({
74
+ targetPath: input.targetPath,
75
+ reason: "scene_resource_validation_target_not_authorable",
76
+ summary: "Scene/resource validation is unavailable because the target is not onboarded and authorable.",
77
+ projectPath: null,
78
+ checkedFiles: [],
79
+ rawPayload: {
80
+ readiness: input.status.readiness,
81
+ reasons: input.status.reasons,
82
+ projectConfigPresent: input.projectConfig !== null,
83
+ },
84
+ });
85
+ }
86
+ const primaryProjectPath = input.projectConfig.primaryGodotProjectPath;
87
+ const projectPath = path.resolve(input.targetPath, primaryProjectPath);
88
+ const files = await listSceneResourceFiles(projectPath);
89
+ const checkedFiles = files.map((filePath) => toProjectRelativePath(projectPath, filePath));
90
+ const testMode = process.env["GDH_TEST_SCENE_RESOURCE_MODE"];
91
+ if (testMode) {
92
+ return createTestSceneResourceResult({
93
+ mode: testMode,
94
+ projectPath,
95
+ checkedFiles,
96
+ ...(input.importState === undefined ? {} : { importState: input.importState }),
97
+ });
98
+ }
99
+ if (files.length === 0) {
100
+ return {
101
+ status: "passed",
102
+ summary: "Scene/resource validation found no `.tscn` or `.tres` files to check.",
103
+ diagnostics: [],
104
+ reasons: [],
105
+ provenance: {
106
+ validator: "godot_scene_resource",
107
+ projectPath,
108
+ checkedFiles,
109
+ command: null,
110
+ rawPayload: {
111
+ validator: "godot_scene_resource",
112
+ checkedFiles,
113
+ resourceCount: 0,
114
+ },
115
+ },
116
+ };
117
+ }
118
+ const editorBinPath = input.editorBinPath === undefined
119
+ ? await resolveConfiguredGodotEditorBin({
120
+ targetPath: input.targetPath,
121
+ environment: process.env,
122
+ })
123
+ : input.editorBinPath;
124
+ if (editorBinPath === null) {
125
+ return unavailableResult({
126
+ targetPath: input.targetPath,
127
+ reason: "godot_editor_not_configured",
128
+ summary: "Scene/resource validation is unavailable because no machine-local Godot editor path is configured for this target.",
129
+ projectPath,
130
+ checkedFiles,
131
+ rawPayload: {
132
+ validator: "godot_scene_resource",
133
+ checkedFiles,
134
+ },
135
+ });
136
+ }
137
+ const operationRoot = path.join(input.targetPath, ".gdh-state", "authoring", `scene-resource-${randomUUID()}`);
138
+ const manifestPath = path.join(operationRoot, "manifest.json");
139
+ const resultPath = path.join(operationRoot, "result.json");
140
+ const scriptPath = path.join(operationRoot, "scene-resource-validator.gd");
141
+ const command = [
142
+ editorBinPath,
143
+ "--headless",
144
+ "--path",
145
+ projectPath,
146
+ "--script",
147
+ scriptPath,
148
+ "--",
149
+ manifestPath,
150
+ ];
151
+ await fs.mkdir(operationRoot, { recursive: true });
152
+ try {
153
+ await fs.writeFile(scriptPath, SCENE_RESOURCE_VALIDATOR_SCRIPT, "utf8");
154
+ await fs.writeFile(manifestPath, JSON.stringify({
155
+ schemaVersion: 1,
156
+ validator: "godot_scene_resource",
157
+ projectPath,
158
+ resultPath,
159
+ files: files.map((filePath) => ({
160
+ path: toProjectRelativePath(projectPath, filePath),
161
+ resourcePath: toResourcePath(projectPath, filePath),
162
+ })),
163
+ }, null, 2), "utf8");
164
+ const execution = await (input.processExecutor ?? executeSceneResourceProcess)({
165
+ command,
166
+ cwd: projectPath,
167
+ timeoutMs: input.timeoutMs ?? SCENE_RESOURCE_VALIDATOR_TIMEOUT_MS,
168
+ manifestPath,
169
+ resultPath,
170
+ });
171
+ const parsed = await readValidatorResult(resultPath);
172
+ const rawPayload = {
173
+ validator: "godot_scene_resource",
174
+ checkedFiles,
175
+ command,
176
+ exitCode: execution.exitCode,
177
+ timedOut: execution.timedOut,
178
+ errorSummary: execution.errorSummary,
179
+ stdout: truncateOutput(execution.stdout),
180
+ stderr: truncateOutput(execution.stderr),
181
+ importState: input.importState ?? null,
182
+ result: parsed.raw,
183
+ };
184
+ if (execution.timedOut) {
185
+ return degradedResult({
186
+ reason: "scene_resource_validator_timeout",
187
+ summary: "Scene/resource validation timed out before Godot returned a result.",
188
+ projectPath,
189
+ checkedFiles,
190
+ command,
191
+ rawPayload,
192
+ });
193
+ }
194
+ if (!parsed.valid) {
195
+ return degradedResult({
196
+ reason: parsed.reason,
197
+ summary: parsed.summary,
198
+ projectPath,
199
+ checkedFiles,
200
+ command,
201
+ rawPayload,
202
+ });
203
+ }
204
+ const diagnostics = parsed.files.flatMap((file) => normalizeValidatorFile(file));
205
+ if (diagnostics.length > 0) {
206
+ return {
207
+ status: "diagnostics",
208
+ summary: "Scene/resource validation completed and found Godot resource diagnostics.",
209
+ diagnostics,
210
+ reasons: [],
211
+ provenance: {
212
+ validator: "godot_scene_resource",
213
+ projectPath,
214
+ checkedFiles,
215
+ command,
216
+ rawPayload,
217
+ },
218
+ };
219
+ }
220
+ const stderrFatality = detectFatalGodotStderr({
221
+ exitCode: execution.exitCode,
222
+ stderr: execution.stderr,
223
+ });
224
+ if (execution.exitCode !== 0 || stderrFatality.detected) {
225
+ return degradedResult({
226
+ reason: stderrFatality.reason ?? `scene_resource_validator_exit_${execution.exitCode}`,
227
+ summary: stderrFatality.summary ??
228
+ execution.errorSummary ??
229
+ `Scene/resource validation exited with code ${execution.exitCode}.`,
230
+ projectPath,
231
+ checkedFiles,
232
+ command,
233
+ rawPayload,
234
+ });
235
+ }
236
+ return {
237
+ status: "passed",
238
+ summary: "Scene/resource validation completed without diagnostics.",
239
+ diagnostics: [],
240
+ reasons: [],
241
+ provenance: {
242
+ validator: "godot_scene_resource",
243
+ projectPath,
244
+ checkedFiles,
245
+ command,
246
+ rawPayload,
247
+ },
248
+ };
249
+ }
250
+ finally {
251
+ await fs.rm(operationRoot, { recursive: true, force: true });
252
+ }
253
+ }
254
+ async function listSceneResourceFiles(projectPath) {
255
+ const ignoredDirectoryNames = new Set([
256
+ ".git",
257
+ ".godot",
258
+ ".gdh",
259
+ ".gdh-state",
260
+ "node_modules",
261
+ "dist",
262
+ "coverage",
263
+ ]);
264
+ const files = [];
265
+ const visit = async (directoryPath) => {
266
+ let entries;
267
+ try {
268
+ entries = await fs.readdir(directoryPath, { withFileTypes: true });
269
+ }
270
+ catch {
271
+ return;
272
+ }
273
+ for (const entry of entries) {
274
+ const entryPath = path.join(directoryPath, entry.name);
275
+ if (entry.isDirectory()) {
276
+ if (!ignoredDirectoryNames.has(entry.name)) {
277
+ await visit(entryPath);
278
+ }
279
+ continue;
280
+ }
281
+ if (entry.isFile() && (entry.name.endsWith(".tscn") || entry.name.endsWith(".tres"))) {
282
+ files.push(entryPath);
283
+ }
284
+ }
285
+ };
286
+ await visit(projectPath);
287
+ return files.sort((a, b) => a.localeCompare(b));
288
+ }
289
+ async function executeSceneResourceProcess(input) {
290
+ const [command, ...args] = input.command;
291
+ if (!command) {
292
+ return {
293
+ exitCode: 1,
294
+ timedOut: false,
295
+ errorSummary: "No command was supplied.",
296
+ stdout: "",
297
+ stderr: "",
298
+ };
299
+ }
300
+ return await new Promise((resolve) => {
301
+ let settled = false;
302
+ let stdout = "";
303
+ let stderr = "";
304
+ const child = spawn(command, args, {
305
+ cwd: input.cwd,
306
+ stdio: ["ignore", "pipe", "pipe"],
307
+ env: process.env,
308
+ });
309
+ const settle = (result) => {
310
+ if (settled) {
311
+ return;
312
+ }
313
+ settled = true;
314
+ clearTimeout(timer);
315
+ resolve(result);
316
+ };
317
+ const timer = setTimeout(() => {
318
+ child.kill("SIGTERM");
319
+ settle({
320
+ exitCode: 1,
321
+ timedOut: true,
322
+ errorSummary: `Timed out after ${input.timeoutMs}ms.`,
323
+ stdout,
324
+ stderr,
325
+ });
326
+ }, input.timeoutMs);
327
+ child.stdout.on("data", (chunk) => {
328
+ stdout += chunk.toString("utf8");
329
+ });
330
+ child.stderr.on("data", (chunk) => {
331
+ stderr += chunk.toString("utf8");
332
+ });
333
+ child.on("error", (error) => {
334
+ settle({
335
+ exitCode: 1,
336
+ timedOut: false,
337
+ errorSummary: error.message,
338
+ stdout,
339
+ stderr,
340
+ });
341
+ });
342
+ child.on("close", (code) => {
343
+ settle({
344
+ exitCode: code ?? 1,
345
+ timedOut: false,
346
+ errorSummary: summarizeProcessError(stderr),
347
+ stdout,
348
+ stderr,
349
+ });
350
+ });
351
+ });
352
+ }
353
+ async function readValidatorResult(resultPath) {
354
+ const content = await fs.readFile(resultPath, "utf8").catch(() => null);
355
+ if (content === null) {
356
+ return {
357
+ valid: false,
358
+ reason: "scene_resource_validator_result_missing",
359
+ summary: "Scene/resource validation did not produce a result file.",
360
+ raw: null,
361
+ };
362
+ }
363
+ let parsed;
364
+ try {
365
+ parsed = JSON.parse(content);
366
+ }
367
+ catch {
368
+ return {
369
+ valid: false,
370
+ reason: "scene_resource_validator_malformed_output",
371
+ summary: "Scene/resource validation produced malformed JSON output.",
372
+ raw: { content },
373
+ };
374
+ }
375
+ if (typeof parsed !== "object" ||
376
+ parsed === null ||
377
+ !Array.isArray(parsed.files)) {
378
+ return {
379
+ valid: false,
380
+ reason: "scene_resource_validator_malformed_output",
381
+ summary: "Scene/resource validation output did not match the expected schema.",
382
+ raw: typeof parsed === "object" && parsed !== null
383
+ ? parsed
384
+ : { parsed },
385
+ };
386
+ }
387
+ return {
388
+ valid: true,
389
+ raw: parsed,
390
+ files: parsed.files,
391
+ };
392
+ }
393
+ function normalizeValidatorFile(file) {
394
+ if (file["status"] !== "diagnostic") {
395
+ return [];
396
+ }
397
+ return [
398
+ {
399
+ message: typeof file["message"] === "string"
400
+ ? file["message"]
401
+ : "Godot could not load this resource.",
402
+ path: typeof file["path"] === "string" ? file["path"] : null,
403
+ line: null,
404
+ column: null,
405
+ endLine: null,
406
+ endColumn: null,
407
+ severity: file["severity"] === "warning" || file["severity"] === "info" ? file["severity"] : "error",
408
+ source: "godot_scene_resource",
409
+ raw: file,
410
+ },
411
+ ];
412
+ }
413
+ function unavailableResult(input) {
414
+ return {
415
+ status: "unavailable",
416
+ summary: input.summary,
417
+ diagnostics: [],
418
+ reasons: [input.reason],
419
+ provenance: {
420
+ validator: "godot_scene_resource",
421
+ projectPath: input.projectPath,
422
+ checkedFiles: input.checkedFiles,
423
+ command: null,
424
+ rawPayload: input.rawPayload,
425
+ },
426
+ };
427
+ }
428
+ function degradedResult(input) {
429
+ return {
430
+ status: "degraded",
431
+ summary: input.summary,
432
+ diagnostics: [],
433
+ reasons: [input.reason],
434
+ provenance: {
435
+ validator: "godot_scene_resource",
436
+ projectPath: input.projectPath,
437
+ checkedFiles: input.checkedFiles,
438
+ command: input.command,
439
+ rawPayload: input.rawPayload,
440
+ },
441
+ };
442
+ }
443
+ function toProjectRelativePath(projectPath, filePath) {
444
+ return path.relative(projectPath, filePath).split(path.sep).join("/");
445
+ }
446
+ function toResourcePath(projectPath, filePath) {
447
+ return `res://${toProjectRelativePath(projectPath, filePath)}`;
448
+ }
449
+ function summarizeProcessError(stderr) {
450
+ const line = stderr
451
+ .split(/\r?\n/)
452
+ .map((value) => value.trim())
453
+ .find((value) => value.length > 0);
454
+ return line ?? null;
455
+ }
456
+ function truncateOutput(value) {
457
+ if (value.length <= 12_000) {
458
+ return value;
459
+ }
460
+ return `${value.slice(0, 12_000)}...`;
461
+ }
462
+ function createTestSceneResourceResult(input) {
463
+ const normalizedMode = input.mode === "diagnostics" || input.mode === "degraded" || input.mode === "unavailable"
464
+ ? input.mode
465
+ : "passed";
466
+ const rawPayload = {
467
+ validator: "godot_scene_resource",
468
+ launcher: "test_fake",
469
+ validationMode: normalizedMode,
470
+ checkedFiles: input.checkedFiles,
471
+ importState: input.importState ?? null,
472
+ };
473
+ if (normalizedMode === "unavailable") {
474
+ return unavailableResult({
475
+ targetPath: input.projectPath,
476
+ reason: "scene_resource_test_unavailable",
477
+ summary: "Test fake scene/resource validator is unavailable.",
478
+ projectPath: input.projectPath,
479
+ checkedFiles: input.checkedFiles,
480
+ rawPayload,
481
+ });
482
+ }
483
+ if (normalizedMode === "degraded") {
484
+ return degradedResult({
485
+ reason: "scene_resource_test_degraded",
486
+ summary: "Test fake scene/resource validator is degraded.",
487
+ projectPath: input.projectPath,
488
+ checkedFiles: input.checkedFiles,
489
+ command: ["test_fake_scene_resource", normalizedMode],
490
+ rawPayload,
491
+ });
492
+ }
493
+ if (normalizedMode === "diagnostics") {
494
+ const diagnosticPath = input.checkedFiles.find((filePath) => filePath.endsWith(".tscn")) ??
495
+ input.checkedFiles.find((filePath) => filePath.endsWith(".tres")) ??
496
+ "scenes/main.tscn";
497
+ return {
498
+ status: "diagnostics",
499
+ summary: "Test fake scene/resource validator returned diagnostics.",
500
+ diagnostics: [
501
+ {
502
+ message: "Fake scene/resource validator reported a load failure.",
503
+ path: diagnosticPath,
504
+ line: null,
505
+ column: null,
506
+ endLine: null,
507
+ endColumn: null,
508
+ severity: "error",
509
+ source: "godot_scene_resource",
510
+ raw: {
511
+ path: diagnosticPath,
512
+ reason: "godot_resource_load_failed",
513
+ launcher: "test_fake",
514
+ },
515
+ },
516
+ ],
517
+ reasons: [],
518
+ provenance: {
519
+ validator: "godot_scene_resource",
520
+ projectPath: input.projectPath,
521
+ checkedFiles: input.checkedFiles,
522
+ command: ["test_fake_scene_resource", normalizedMode],
523
+ rawPayload: {
524
+ ...rawPayload,
525
+ diagnosticsCount: 1,
526
+ },
527
+ },
528
+ };
529
+ }
530
+ return {
531
+ status: "passed",
532
+ summary: "Test fake scene/resource validator completed without diagnostics.",
533
+ diagnostics: [],
534
+ reasons: [],
535
+ provenance: {
536
+ validator: "godot_scene_resource",
537
+ projectPath: input.projectPath,
538
+ checkedFiles: input.checkedFiles,
539
+ command: ["test_fake_scene_resource", normalizedMode],
540
+ rawPayload,
541
+ },
542
+ };
543
+ }
544
+ //# sourceMappingURL=scene-resource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene-resource.js","sourceRoot":"","sources":["../src/scene-resource.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@
14
14
  "test": "vitest run"
15
15
  },
16
16
  "dependencies": {
17
- "@gdh/core": "0.16.0"
17
+ "@gdh/core": "0.17.1"
18
18
  },
19
- "version": "0.16.0"
19
+ "version": "0.17.1"
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA2EA,OAAO,EAIL,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AA4C5B,eAAO,MAAM,UAAU,wCAerB,CAAC;AAEH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CACpD;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAA0D,GAC7D,OAAO,CAAC,MAAM,CAAC,CA4HjB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GACvD,IAAI,CAGN;AA6+ID,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAyDD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAchG;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,GACA,MAAM,GAAG,IAAI,CAcf;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,GACA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CA4CA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,2BAA2B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5D,GACA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAeA;AAuBD,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAAC,GAAG;IACzD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC,GACA,OAAO,CAAC,IAAI,CAAC,CAoBf;AAiFD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,SAAS,MAAM,EAAE,CAuBnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgFA,OAAO,EAIL,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AA4C5B,eAAO,MAAM,UAAU,wCAerB,CAAC;AAEH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACnD,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;CACpD;AAED,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,EAAE,GAAE,KAA0D,GAC7D,OAAO,CAAC,MAAM,CAAC,CA4HjB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,KAAK,EACT,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAAO,GACvD,IAAI,CAGN;AAylJD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAErD;AAyDD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAchG;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C,GACA,MAAM,GAAG,IAAI,CAYf;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC,GACA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CA2CA;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,iCAAiC,CAC/C,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IACP,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,2BAA2B,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5D,GACA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B,CAeA;AAuBD,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,UAAU,CAAC,OAAO,2BAA2B,CAAC,CAAC,CAAC,CAAC,GAAG;IACzD,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC,GACA,OAAO,CAAC,IAAI,CAAC,CAoBf;AAiFD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAAC,GACrC,SAAS,MAAM,EAAE,CAuBnB"}