rigline 1.0.0-alpha.0 → 1.0.0-alpha.2

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/build.js CHANGED
@@ -1,19 +1,7 @@
1
- /**
2
- * `rigline build`: the convenience preset that turns a plugin's TypeScript into the one file its
3
- * manifest points at.
4
- *
5
- * The contract a plugin meets is an output, not a toolchain (decisions.md, P6): one browser-target
6
- * ES module plus rigline.json. This is the shortest way to produce that output and nothing more.
7
- * Everything the entry imports is bundled in, `@rigline/plugin-api` included, because a plugin
8
- * directory is copied into the extension as it stands and nothing there resolves a bare specifier.
9
- * Source maps are inline for the same reason the loader's are: the webview's CSP makes a sibling
10
- * `.map` fetch a gamble.
11
- */
12
1
  import { existsSync, readFileSync } from "node:fs";
13
2
  import { join, relative, resolve } from "node:path";
14
3
  import { UserError } from "@rigline/core";
15
4
  import { build as bundle } from "rolldown";
16
- /** Build one plugin from its source entry to the `entry` its manifest names. */
17
5
  export async function buildPlugin(options = {}) {
18
6
  const dir = resolve(options.dir ?? process.cwd());
19
7
  const manifestPath = join(dir, "rigline.json");
package/dist/index.js CHANGED
@@ -1,111 +1,91 @@
1
1
  #!/usr/bin/env node
2
- /**
3
- * The rigline command: a thin surface over @rigline/core.
4
- *
5
- * Commands land here as core grows. Every command throws UserError for a problem a person must
6
- * fix and lets anything else propagate with its stack, so a bug is never dressed up as advice.
7
- */
8
2
  import { existsSync, watch as fsWatch, readdirSync, readFileSync, writeFileSync } from "node:fs";
9
3
  import { basename, dirname, join, relative, resolve } from "node:path";
10
4
  import { fileURLToPath } from "node:url";
11
5
  import { parseArgs } from "node:util";
12
6
  import { addFromNpm, addPlugin, CORE_VERSION, check, collect, diffScans, EXTENSIONS_DIR, extensionVersion, findExtension, formatDiff, formatDoctor, formatFlow, formatPlugins, formatUpdates, generate, harvestAll, hostVerdict, inspect, install, installedExtensions, listPlugins, readAnchorOverrides, readBundles, removePlugin, restoreAll, riglinePaths, scanOf, UserError, update, updatePlugins, verdict, watch, } from "@rigline/core";
13
7
  import { buildPlugin } from "./build.js";
14
- const USAGE = `rigline ${CORE_VERSION}
15
-
16
- rigline codegen [DIR] [--check] [--out FILE]
17
- Harvest the installed extension (or DIR) and write ./generated.ts: the identifier
18
- augmentation your plugins compile against, and the baseline install diffs. Commit it.
19
- --check compares instead of writing and exits 1 when the file is out of date. Either
20
- way it exits 1 if a curated anchor claims to name one element and this version
21
- applies its class in more than one place. It reads the shipped anchor table, never
22
- ~/.rigline/anchors.json: its verdict is about this repository's table.
23
-
24
- rigline diff DIR_A DIR_B
25
- Compare the identifier layers of two extension directories.
26
-
27
- rigline build [DIR] [--source FILE]
28
- Bundle a plugin's src/index.ts (or --source) into the entry its rigline.json names.
29
-
30
- rigline install [--ext DIR] [--payload DIR]
31
- Inject the loader into every installed extension version (or DIR), baking the enabled
32
- plugins, and report what moved since the baseline and which plugins each version
33
- refuses. Any entry in ~/.rigline/anchors.json is applied and named, with what this
34
- version makes of it. Rewrites ./generated.ts when the directory has one and records
35
- the new baseline; never commits either. Run it after an extension update, and reload
36
- webviews afterwards. Exits 1 when a person is needed.
37
-
38
- rigline check [--ext DIR]
39
- Read-only. Per installed version (or DIR): what moved since the baseline, which
40
- plugins this version would refuse and by which identifier, which curated anchors it
41
- lacks, and what it makes of each entry in ~/.rigline/anchors.json. Exits 1 when a
42
- person is needed.
43
-
44
- rigline watch [--interval SECONDS]
45
- install, and again whenever the set of installed extension directories changes,
46
- which is what an extension update looks like from outside VS Code.
47
-
48
- rigline dev [DIR...]
49
- Build the named plugin directories (or every first-party one), re-inject, and rebuild
50
- on every source change. Reload webviews after each one.
51
-
52
- rigline add PATH|SPEC [--now]
53
- Install a plugin into ~/.rigline/plugins, say what it can do, and re-inject. PATH is a
54
- directory; SPEC is an npm package, optionally @version or @tag. A published version
55
- must be a day old before it is installed; --now takes it anyway. No package manager
56
- runs, nothing is resolved, and none of the plugin's own code is evaluated.
57
-
58
- rigline update [NAME...] [--now]
59
- Move each plugin installed from npm to whatever its tag resolves to now, and
60
- re-inject. A plugin pinned to a version, added from a directory, or placed by hand is
61
- reported and left alone, as is a newer version too young to install.
62
-
63
- rigline remove NAME
64
- Delete a plugin rigline installed, and re-inject. A plugin you did not install this
65
- way is switched off in ~/.rigline/config.json instead; this will not delete it.
66
-
67
- rigline list
68
- Every plugin found, in the order they load: where it came from, whether it is
69
- switched off, and what its manifest says it can do.
70
-
71
- rigline status
72
- Per installed version: is each bundle vanilla or patched, judged against its backup.
73
-
74
- rigline restore
75
- Every installed version back to the extension's own bytes. Needs neither VS Code nor
76
- the extension to be working.
77
-
78
- rigline doctor [--out FILE] [--ext DIR]
79
- A markdown diagnostic to paste into a bug report: per installed version, whether it is
80
- patched, what the payload holds, which plugins are baked in and what any host patch
81
- did. For what the panel itself was doing, copy the probe's report from the RIG badge.
8
+ const USAGE = `rigline ${CORE_VERSION}
9
+
10
+ rigline codegen [DIR] [--check] [--out FILE]
11
+ Harvest the installed extension (or DIR) and write ./generated.ts: the identifier
12
+ augmentation your plugins compile against, and the baseline install diffs. Commit it.
13
+ --check compares instead of writing and exits 1 when the file is out of date. Either
14
+ way it exits 1 if a curated anchor claims to name one element and this version
15
+ applies its class in more than one place. It reads the shipped anchor table, never
16
+ ~/.rigline/anchors.json: its verdict is about this repository's table.
17
+
18
+ rigline diff DIR_A DIR_B
19
+ Compare the identifier layers of two extension directories.
20
+
21
+ rigline build [DIR] [--source FILE]
22
+ Bundle a plugin's src/index.ts (or --source) into the entry its rigline.json names.
23
+
24
+ rigline install [--ext DIR] [--payload DIR]
25
+ Inject the loader into every installed extension version (or DIR), baking the enabled
26
+ plugins, and report what moved since the baseline and which plugins each version
27
+ refuses. Any entry in ~/.rigline/anchors.json is applied and named, with what this
28
+ version makes of it. Rewrites ./generated.ts when the directory has one and records
29
+ the new baseline; never commits either. Run it after an extension update, and reload
30
+ webviews afterwards. Exits 1 when a person is needed.
31
+
32
+ rigline check [--ext DIR]
33
+ Read-only. Per installed version (or DIR): what moved since the baseline, which
34
+ plugins this version would refuse and by which identifier, which curated anchors it
35
+ lacks, and what it makes of each entry in ~/.rigline/anchors.json. Exits 1 when a
36
+ person is needed.
37
+
38
+ rigline watch [--interval SECONDS]
39
+ install, and again whenever the set of installed extension directories changes,
40
+ which is what an extension update looks like from outside VS Code.
41
+
42
+ rigline dev [DIR...]
43
+ Build the named plugin directories (or every first-party one), re-inject, and rebuild
44
+ on every source change. Reload webviews after each one.
45
+
46
+ rigline add PATH|SPEC [--now]
47
+ Install a plugin into ~/.rigline/plugins, say what it can do, and re-inject. PATH is a
48
+ directory; SPEC is an npm package, optionally @version or @tag. A published version
49
+ must be a day old before it is installed; --now takes it anyway. No package manager
50
+ runs, nothing is resolved, and none of the plugin's own code is evaluated.
51
+
52
+ rigline update [NAME...] [--now]
53
+ Move each plugin installed from npm to whatever its tag resolves to now, and
54
+ re-inject. A plugin pinned to a version, added from a directory, or placed by hand is
55
+ reported and left alone, as is a newer version too young to install.
56
+
57
+ rigline remove NAME
58
+ Delete a plugin rigline installed, and re-inject. A plugin you did not install this
59
+ way is switched off in ~/.rigline/config.json instead; this will not delete it.
60
+
61
+ rigline list
62
+ Every plugin found, in the order they load: where it came from, whether it is
63
+ switched off, and what its manifest says it can do.
64
+
65
+ rigline status
66
+ Per installed version: is each bundle vanilla or patched, judged against its backup.
67
+
68
+ rigline restore
69
+ Every installed version back to the extension's own bytes. Needs neither VS Code nor
70
+ the extension to be working.
71
+
72
+ rigline doctor [--out FILE] [--ext DIR]
73
+ A markdown diagnostic to paste into a bug report: per installed version, whether it is
74
+ patched, what the payload holds, which plugins are baked in and what any host patch
75
+ did. For what the panel itself was doing, copy the probe's report from the RIG badge.
82
76
  `;
83
- /** The prebuilt pre.js and post.js, from the host package's build. */
84
77
  function defaultPayloadDir() {
85
78
  const here = dirname(fileURLToPath(import.meta.url));
86
79
  return resolve(here, "..", "..", "host", "dist");
87
80
  }
88
- /** The first-party plugins in this checkout. Plugins a person installs live under ~/.rigline. */
89
81
  function repoPluginsDir() {
90
82
  const here = dirname(fileURLToPath(import.meta.url));
91
83
  return resolve(here, "..", "..", "..", "plugins");
92
84
  }
93
- /** Where plugins are discovered from, and which of them a person has turned off. */
94
85
  function pluginOptions() {
95
86
  const paths = riglinePaths();
96
87
  return { roots: [repoPluginsDir(), paths.plugins], last: ["probe"], configPath: paths.config };
97
88
  }
98
- /**
99
- * Inject into every installed version and print the report.
100
- *
101
- * `install` is this and nothing else; `add` and `remove` run it too, because they change the plugin
102
- * set and leaving the payload stale behind them would mean a person who added a plugin has to know
103
- * about a second command before anything appears (D56).
104
- *
105
- * No extension installed is not a failure here. `add` has already put the plugin where it belongs,
106
- * and saying so and stopping is a better answer than an error about a directory the person may be
107
- * about to create by installing the extension.
108
- */
109
89
  function reinject(options = {}) {
110
90
  const targets = options.exts ?? installedExtensions();
111
91
  if (targets.length === 0) {
@@ -118,8 +98,6 @@ function reinject(options = {}) {
118
98
  exts: targets,
119
99
  payloadDir: options.payloadDir ?? defaultPayloadDir(),
120
100
  plugins: pluginOptions(),
121
- // Only where the directory already has one; this never creates a harvest for somebody who has
122
- // not asked for one, and it never commits what it rewrites (D30).
123
101
  codegen: true,
124
102
  });
125
103
  console.log(formatFlow(report));
@@ -128,14 +106,6 @@ function reinject(options = {}) {
128
106
  : `\nReload with Developer: Reload Webviews (current window only).`);
129
107
  return report.attention.length > 0 ? 1 : 0;
130
108
  }
131
- /**
132
- * Installs a plugin from a directory. No network and no package manager (D47): a plugin is a
133
- * manifest and a built module, and everything `add` does is around the copy rather than inside it.
134
- *
135
- * What it can do is printed because this is the moment it means something (D26): installing a
136
- * plugin is the act that says yes, and nothing after it asks again, so the sentences belong here
137
- * rather than in a prompt nobody can answer usefully.
138
- */
139
109
  async function addCommand(args) {
140
110
  const { values, positionals } = parseArgs({
141
111
  args,
@@ -162,8 +132,6 @@ async function addCommand(args) {
162
132
  for (const sentence of result.can)
163
133
  console.log(` - ${sentence}`);
164
134
  for (const patch of result.manifest.patches) {
165
- // Named apart, and never folded in with the capability sentences: a host patch is the one
166
- // declaration that reaches outside the webview, into the extension's own bundle.
167
135
  console.log(` - patches extension.js${patch.required ? " (required)" : ""}: ${patch.why}`);
168
136
  }
169
137
  if (result.disabled) {
@@ -172,13 +140,6 @@ async function addCommand(args) {
172
140
  console.log("");
173
141
  return reinject();
174
142
  }
175
- /**
176
- * Whether this is a directory rather than an npm package.
177
- *
178
- * The same rule every package manager uses, said out loud: a leading dot or a path separator, or a
179
- * directory that is simply there. An npm name cannot hold a separator except the one in a scope,
180
- * and a scope starts with `@`, so the two vocabularies do not overlap.
181
- */
182
143
  function isPathSpec(spec) {
183
144
  if (spec.startsWith("@"))
184
145
  return false;
@@ -186,11 +147,6 @@ function isPathSpec(spec) {
186
147
  return true;
187
148
  return existsSync(join(resolve(spec), "rigline.json"));
188
149
  }
189
- /**
190
- * Moves every plugin installed from npm to what its tag resolves to now (D49).
191
- *
192
- * `update` means plugins, which is the whole reason the injection flow is spelled `install` (D55).
193
- */
194
150
  async function updateCommand(args) {
195
151
  const { values, positionals } = parseArgs({
196
152
  args,
@@ -208,8 +164,6 @@ async function updateCommand(args) {
208
164
  console.log(formatUpdates(updates));
209
165
  const moved = updates.some((u) => u.outcome === "updated");
210
166
  if (!moved) {
211
- // Nothing changed on disk, so the payload is already what it should be and re-injecting would
212
- // be a paragraph of report about a no-op.
213
167
  return updates.some((u) => u.outcome === "failed") ? 1 : 0;
214
168
  }
215
169
  console.log("");
@@ -235,10 +189,6 @@ function removeCommand(args) {
235
189
  console.log("");
236
190
  return reinject();
237
191
  }
238
- /**
239
- * The one write command: inject into every installed version, say what moved since the baseline,
240
- * record the new one. `check` is its read-only half. `update` means plugins, in phase 4 (D55).
241
- */
242
192
  function installCommand(args) {
243
193
  const { values } = parseArgs({
244
194
  args,
@@ -251,7 +201,6 @@ function installCommand(args) {
251
201
  required: true,
252
202
  });
253
203
  }
254
- /** The same roots `pluginOptions` discovers from, named for a report rather than for a loader. */
255
204
  function listCommand() {
256
205
  const paths = riglinePaths();
257
206
  console.log(formatPlugins(listPlugins({
@@ -277,14 +226,6 @@ function statusCommand() {
277
226
  }
278
227
  return 0;
279
228
  }
280
- /**
281
- * The diagnostic collector (D53). Always exits 0: a machine with no VS Code logs, or none inside
282
- * the window, still gets an install-state report, and a person whose panel has just frozen should
283
- * not also have to work out why the tool that was meant to explain it failed.
284
- *
285
- * `--ext` and `--logs` point it at copies rather than at what is installed, which is how this gets
286
- * rehearsed against somebody else's log bundle without a test ever touching a live directory (D39).
287
- */
288
229
  function doctorCommand(args) {
289
230
  const { values } = parseArgs({
290
231
  args,
@@ -294,8 +235,6 @@ function doctorCommand(args) {
294
235
  const report = collect({ exts: values.ext ? [resolve(values.ext)] : undefined });
295
236
  const markdown = formatDoctor(report);
296
237
  if (values.out === undefined) {
297
- // Straight to stdout, unadorned, so `rigline doctor | clip` and `> doctor.md` both produce the
298
- // document and nothing else. Every other word this command has to say goes to stderr.
299
238
  process.stdout.write(markdown);
300
239
  return 0;
301
240
  }
@@ -316,8 +255,6 @@ function restoreCommand() {
316
255
  noBackup++;
317
256
  console.log(`NOT restored: ${result.ext} (${result.reason})`);
318
257
  }
319
- // Reported whichever way the webview side went: an extension host still carrying a
320
- // substitution is the failure a person must know about, and it is invisible from the panel.
321
258
  if (result.hostReason) {
322
259
  hostFailed++;
323
260
  console.log(` extension.js NOT restored: ${result.hostReason}`);
@@ -332,14 +269,6 @@ function restoreCommand() {
332
269
  console.log("Reload the window afterwards.");
333
270
  return noBackup + hostFailed > 0 ? 1 : 0;
334
271
  }
335
- /**
336
- * Where a harvest is committed: `generated.ts` in the directory the command was run from.
337
- *
338
- * The same rule for this repository and for an author's, which is the point — nothing here knows
339
- * it is being run inside Rigline's own checkout. It is the working directory rather than a path
340
- * derived from this file's location because the published CLI lives in `node_modules`, where a
341
- * relative walk upwards means nothing.
342
- */
343
272
  function defaultGeneratedPath() {
344
273
  return resolve(process.cwd(), "generated.ts");
345
274
  }
@@ -355,10 +284,6 @@ function codegen(args) {
355
284
  const out = values.out ?? defaultGeneratedPath();
356
285
  const generated = generate(harvestAll(readBundles(ext)));
357
286
  const label = relative(process.cwd(), out) || out;
358
- // Asked before the `--check` branch and again after the write, because it is a verdict about the
359
- // anchor table and not about the file. Asking it only on the writing path let the one invocation
360
- // that runs unattended go green over it: codegen writes `generated.ts` and *then* fails, so a
361
- // maintainer who commits the file it just wrote leaves `--check` comparing equal and saying so.
362
287
  const ambiguous = reportAmbiguousAnchors(generated);
363
288
  if (values.check) {
364
289
  const current = existsSync(out) ? readFileSync(out, "utf8") : "";
@@ -381,16 +306,6 @@ function codegen(args) {
381
306
  console.log(`wrote: ${label}`);
382
307
  return ambiguous ? 1 : 0;
383
308
  }
384
- /**
385
- * Name every anchor that claims to be one element and is not, and say whether there were any.
386
- *
387
- * The one thing codegen fails over that is not a broken harvest, and it fails *here* rather than at
388
- * install for a reason (D7): an ambiguous singleton means this repo's anchor table is wrong, the
389
- * repair is a refinement somebody can write today, and a maintainer is standing here reading this.
390
- * On a user's machine the same verdict is an attention line and a refusal of the plugins that
391
- * declared the anchor, because an upstream release that starts reusing a class is not a reason to
392
- * leave every other plugin uninjected.
393
- */
394
309
  function reportAmbiguousAnchors(generated) {
395
310
  if (generated.anchors.ambiguous.length === 0)
396
311
  return false;
@@ -421,7 +336,6 @@ async function build(args) {
421
336
  console.log(`built ${built.input} -> ${built.output}`);
422
337
  return 0;
423
338
  }
424
- /** `--ext DIR`, for rehearsing against a copy rather than against what is installed (D39). */
425
339
  function extOption(args) {
426
340
  const { values } = parseArgs({ args, options: { ext: { type: "string" } } });
427
341
  return values.ext ? [resolve(values.ext)] : undefined;
@@ -431,10 +345,6 @@ function checkCommand(args) {
431
345
  console.log(formatFlow(report));
432
346
  return report.attention.length > 0 ? 1 : 0;
433
347
  }
434
- /**
435
- * Runs until interrupted. Its exit code is the last report's, so a watcher stopped after an update
436
- * that needs a person still says so, and `rigline watch; echo $?` from a script is meaningful.
437
- */
438
348
  function watchCommand(args) {
439
349
  const { values } = parseArgs({
440
350
  args,
@@ -453,15 +363,12 @@ function watchCommand(args) {
453
363
  codegen: true,
454
364
  intervalMs: seconds * 1000,
455
365
  onReport(report) {
456
- console.log(`
366
+ console.log(`
457
367
  [${new Date().toISOString()}]`);
458
368
  console.log(formatFlow(report));
459
369
  code = report.attention.length > 0 ? 1 : 0;
460
370
  },
461
371
  onError(error) {
462
- // Reported and survived, never fatal: a harvest run against a directory VS Code is still
463
- // writing fails once and succeeds on the next pass, and a watcher that exits then is a
464
- // watcher that is never running when it is needed.
465
372
  console.error(`rigline watch: ${error instanceof Error ? error.message : String(error)}`);
466
373
  code = 1;
467
374
  },
@@ -475,14 +382,6 @@ function watchCommand(args) {
475
382
  process.once("SIGTERM", stop);
476
383
  });
477
384
  }
478
- /**
479
- * The development loop: build, inject, and do it again on every source change.
480
- *
481
- * It rebuilds and re-injects rather than watching the injected copy, because a plugin's shipped
482
- * form is a directory the installer copies; there is nothing on the other side to watch. Re-running
483
- * the install refreshes the payload in place without rewriting the bundle, so the cost of a change
484
- * is a rebuild and a webview reload.
485
- */
486
385
  async function dev(args) {
487
386
  const { positionals } = parseArgs({ args, options: {}, allowPositionals: true });
488
387
  const dirs = positionals.length > 0
@@ -495,10 +394,6 @@ async function dev(args) {
495
394
  const exts = installedExtensions();
496
395
  if (exts.length === 0)
497
396
  throw new UserError("no Claude Code extension is installed");
498
- // `install`, `check` and `watch` read `~/.rigline/anchors.json` through the flow, which owns user
499
- // state. `dev` drives the installer directly, so it reads the file here: a development loop
500
- // resolving anchors differently from the install it stands in for is a difference nobody would
501
- // think to look for (D44).
502
397
  const overrides = readAnchorOverrides();
503
398
  for (const problem of overrides.problems)
504
399
  console.error(`rigline dev: ${problem}`);
@@ -528,8 +423,6 @@ async function dev(args) {
528
423
  : "Developer: Reload Webviews");
529
424
  }
530
425
  await once();
531
- // Debounced, because one editor save can be several filesystem events, and a rebuild racing its
532
- // own re-install would leave the payload half from each.
533
426
  let pending = null;
534
427
  let building = false;
535
428
  const schedule = () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rigline",
3
- "version": "1.0.0-alpha.0",
3
+ "version": "1.0.0-alpha.2",
4
4
  "description": "Install, update and develop plugins for the Claude Code VS Code extension",
5
5
  "keywords": [
6
6
  "rigline",
@@ -20,13 +20,14 @@
20
20
  "type": "module",
21
21
  "license": "MIT",
22
22
  "files": [
23
- "dist"
23
+ "dist",
24
+ "!dist/**/*.map"
24
25
  ],
25
26
  "bin": {
26
27
  "rigline": "./dist/index.js"
27
28
  },
28
29
  "dependencies": {
29
- "@rigline/core": "1.0.0-alpha.0",
30
+ "@rigline/core": "1.0.0-alpha.2",
30
31
  "rolldown": "^1.2.8"
31
32
  },
32
33
  "scripts": {
package/dist/build.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAS3C,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAO,GAAiB,EAAE;IAE1B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,GAAG,sBAAsB,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAwB,CAAC;IACvF,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,SAAS,CAAC,GAAG,YAAY,iBAAiB,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,uBAAuB,KAAK,EAAE,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5C,MAAM,MAAM,CAAC;QACX,KAAK;QACL,QAAQ,EAAE,SAAS;QACnB,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE;KACnF,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;AACxE,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}