@mesadev/sdk 0.47.3 → 0.48.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.
Files changed (63) hide show
  1. package/README.md +21 -25
  2. package/dist/api/access-token.d.ts +24 -41
  3. package/dist/api/access-token.d.ts.map +1 -1
  4. package/dist/api/access-token.js +119 -71
  5. package/dist/api/access-token.js.map +1 -1
  6. package/dist/api/client.d.ts +2 -2
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/client.js +3 -3
  9. package/dist/api/client.js.map +1 -1
  10. package/dist/api/index.d.ts +0 -1
  11. package/dist/api/index.d.ts.map +1 -1
  12. package/dist/api/index.js +0 -1
  13. package/dist/api/index.js.map +1 -1
  14. package/dist/api/{signing-key.d.ts → private-key.d.ts} +1 -1
  15. package/dist/api/{signing-key.d.ts.map → private-key.d.ts.map} +1 -1
  16. package/dist/api/{signing-key.js → private-key.js} +1 -1
  17. package/dist/api/{signing-key.js.map → private-key.js.map} +1 -1
  18. package/dist/api/repo-tag-filter.d.ts +1 -1
  19. package/dist/api/repo-tag-filter.d.ts.map +1 -1
  20. package/dist/api/repo-tag-filter.js +3 -1
  21. package/dist/api/repo-tag-filter.js.map +1 -1
  22. package/dist/api/resources.d.ts +25 -66
  23. package/dist/api/resources.d.ts.map +1 -1
  24. package/dist/api/resources.js +24 -41
  25. package/dist/api/resources.js.map +1 -1
  26. package/dist/fs/index.d.ts +1 -1
  27. package/dist/fs/index.d.ts.map +1 -1
  28. package/dist/fs/index.js +1 -1
  29. package/dist/fs/index.js.map +1 -1
  30. package/dist/fs/layout.d.ts +7 -25
  31. package/dist/fs/layout.d.ts.map +1 -1
  32. package/dist/fs/layout.js +2 -40
  33. package/dist/fs/layout.js.map +1 -1
  34. package/dist/fs/mesa-file-system.d.ts +37 -36
  35. package/dist/fs/mesa-file-system.d.ts.map +1 -1
  36. package/dist/fs/mesa-file-system.js +66 -30
  37. package/dist/fs/mesa-file-system.js.map +1 -1
  38. package/dist/fs/native-loader.d.ts +3 -4
  39. package/dist/fs/native-loader.d.ts.map +1 -1
  40. package/dist/fs/native-loader.js.map +1 -1
  41. package/dist/fs/search-rg.d.ts +132 -0
  42. package/dist/fs/search-rg.d.ts.map +1 -0
  43. package/dist/fs/search-rg.js +451 -0
  44. package/dist/fs/search-rg.js.map +1 -0
  45. package/dist/index.d.ts +4 -3
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -2
  48. package/dist/index.js.map +1 -1
  49. package/dist/lib/errors.d.ts +5 -2
  50. package/dist/lib/errors.d.ts.map +1 -1
  51. package/dist/lib/errors.js +10 -4
  52. package/dist/lib/errors.js.map +1 -1
  53. package/dist/mesa.d.ts +29 -97
  54. package/dist/mesa.d.ts.map +1 -1
  55. package/dist/mesa.js +75 -153
  56. package/dist/mesa.js.map +1 -1
  57. package/dist/version.d.ts +1 -1
  58. package/dist/version.js +1 -1
  59. package/dist/webhooks/schemas.d.ts +20 -20
  60. package/dist/webhooks/schemas.d.ts.map +1 -1
  61. package/dist/webhooks/schemas.js +8 -1
  62. package/dist/webhooks/schemas.js.map +1 -1
  63. package/package.json +3 -3
@@ -0,0 +1,451 @@
1
+ /**
2
+ * A `rg` that searches next to the storage instead of walking the mount.
3
+ *
4
+ * just-bash's built-in `rg` reads the filesystem, which over a Mesa mount costs
5
+ * a round trip per directory. This one translates the same command line into a
6
+ * single repository search and formats the response the way ripgrep would.
7
+ *
8
+ * A path may span several repositories, because a layout can nest one mount
9
+ * inside another. Each becomes its own search, issued in parallel, with the
10
+ * parent excluding the subtrees its children shadow so no file is counted
11
+ * twice or attributed to the wrong repository.
12
+ *
13
+ * It only replaces the built-in when it can answer exactly what was asked. A
14
+ * flag it does not implement, or a path outside every mount, defers to the
15
+ * built-in, so the worst case is the behaviour that exists today rather than a
16
+ * wrong answer.
17
+ */
18
+ /**
19
+ * Searches issued at once for a single command.
20
+ *
21
+ * The server admits a small number of concurrent searches per task, so a
22
+ * layout with many nested repositories would otherwise let one `rg` fill the
23
+ * queue by itself and stall every other caller.
24
+ */
25
+ const MAX_PARALLEL_LEGS = 4;
26
+ /**
27
+ * Flatten a layout into the repository roots it presents, longest path first.
28
+ *
29
+ * A single declaration mounts at its key; an array mounts each element in a
30
+ * child directory named by its alias. Nested declarations shadow the parent at
31
+ * their own path, which is why the list is ordered longest-first: the deepest
32
+ * mount containing a path is the one that owns it.
33
+ */
34
+ export function mountsFromLayout(layout) {
35
+ const mounts = [];
36
+ const visit = (base, entries) => {
37
+ for (const [key, entry] of Object.entries(entries)) {
38
+ const parent = joinPath(base, key);
39
+ const declarations = Array.isArray(entry) ? entry : [entry];
40
+ for (const declaration of declarations) {
41
+ // A lone declaration is the directory; siblings each get their own.
42
+ const path = Array.isArray(entry) ? joinPath(parent, declaration.alias ?? declaration.name) : parent;
43
+ mounts.push({
44
+ path,
45
+ repo: declaration.name,
46
+ bookmark: declaration.at?.bookmark,
47
+ changeId: declaration.at?.changeId,
48
+ });
49
+ if (declaration.subPaths)
50
+ visit(path, declaration.subPaths);
51
+ }
52
+ }
53
+ };
54
+ visit('', layout);
55
+ return mounts.sort((a, b) => b.path.length - a.path.length);
56
+ }
57
+ function joinPath(base, segment) {
58
+ const trimmed = segment.replace(/^\/+|\/+$/g, '');
59
+ return trimmed === '' ? base || '/' : `${base}/${trimmed}`;
60
+ }
61
+ /** Absolute form of a path as typed on the command line. */
62
+ function absolute(cwd, path) {
63
+ if (path.startsWith('/'))
64
+ return path.replace(/\/+$/, '') || '/';
65
+ const base = cwd.replace(/\/+$/, '');
66
+ const joined = path === '.' || path === '' ? base : `${base}/${path}`;
67
+ return joined.replace(/\/+$/, '') || '/';
68
+ }
69
+ /**
70
+ * Split a target path into one search per repository it covers.
71
+ *
72
+ * The mount containing the target supplies the first leg, scoped to the part
73
+ * of the target below its root. Every mount nested under the target supplies
74
+ * another, searched whole. A parent excludes each nested mount's subtree,
75
+ * because in the mount namespace those paths show the child's content, not
76
+ * the parent's.
77
+ */
78
+ /** Whether `child` sits strictly inside `parent`. The root contains everything. */
79
+ function isUnder(child, parent) {
80
+ return parent === '/' ? child !== '/' : child.startsWith(`${parent}/`);
81
+ }
82
+ function resolveLegs(target, mounts) {
83
+ const owner = mounts.find((mount) => target === mount.path || isUnder(target, mount.path));
84
+ // A target above every mount — the namespace root, most obviously — belongs
85
+ // to no repository but still covers several, so it yields a leg for each
86
+ // rather than falling back to a walk of the whole mount.
87
+ const nested = mounts.filter((mount) => isUnder(mount.path, target));
88
+ if (!owner && nested.length === 0) {
89
+ return { unservable: `${target} is not inside a Mesa repository` };
90
+ }
91
+ const covered = owner ? [owner, ...nested] : nested;
92
+ return covered.map((mount) => ({
93
+ mount,
94
+ pathPrefix: mount === owner ? target.slice(owner.path.length).replace(/^\/+/, '') : '',
95
+ excludes: covered
96
+ .filter((other) => other !== mount && isUnder(other.path, mount.path))
97
+ .map((child) => `${child.path.slice(mount.path.length).replace(/^\/+/, '')}/**`),
98
+ }));
99
+ }
100
+ /**
101
+ * Translate a ripgrep command line into one search.
102
+ *
103
+ * The supported set is deliberately small. Anything else defers rather than
104
+ * approximating, because a flag that silently does nothing changes the answer.
105
+ */
106
+ export function planSearch(args, cwd, mounts) {
107
+ let pattern;
108
+ const targets = [];
109
+ const globs = [];
110
+ let mode = 'lines';
111
+ let caseMode;
112
+ let literal = false;
113
+ let word = false;
114
+ let hidden = false;
115
+ for (let i = 0; i < args.length; i++) {
116
+ const arg = args[i] ?? '';
117
+ if (arg === '--') {
118
+ // Everything after is positional, pattern first.
119
+ for (const rest of args.slice(i + 1)) {
120
+ if (pattern === undefined)
121
+ pattern = rest;
122
+ else
123
+ targets.push(rest);
124
+ }
125
+ break;
126
+ }
127
+ if (!arg.startsWith('-') || arg === '-') {
128
+ if (pattern === undefined)
129
+ pattern = arg;
130
+ else
131
+ targets.push(arg);
132
+ continue;
133
+ }
134
+ switch (arg) {
135
+ case '-i':
136
+ case '--ignore-case':
137
+ caseMode = 'insensitive';
138
+ break;
139
+ case '-s':
140
+ case '--case-sensitive':
141
+ caseMode = 'sensitive';
142
+ break;
143
+ case '-S':
144
+ case '--smart-case':
145
+ caseMode = 'smart';
146
+ break;
147
+ case '-F':
148
+ case '--fixed-strings':
149
+ literal = true;
150
+ break;
151
+ case '-w':
152
+ case '--word-regexp':
153
+ word = true;
154
+ break;
155
+ case '-c':
156
+ case '--count':
157
+ mode = 'count';
158
+ break;
159
+ case '-l':
160
+ case '--files-with-matches':
161
+ mode = 'files';
162
+ break;
163
+ case '--hidden':
164
+ hidden = true;
165
+ break;
166
+ case '-n':
167
+ case '--line-number':
168
+ // Line numbers are always available; this is the default shape.
169
+ break;
170
+ case '-g':
171
+ case '--glob': {
172
+ const glob = args[++i];
173
+ if (glob === undefined)
174
+ return { unservable: `${arg} requires a pattern` };
175
+ globs.push(glob);
176
+ break;
177
+ }
178
+ default:
179
+ return { unservable: `${arg} is not supported by server-side search` };
180
+ }
181
+ }
182
+ if (pattern === undefined)
183
+ return { unservable: 'no pattern given' };
184
+ if (targets.length > 1)
185
+ return { unservable: 'more than one search path' };
186
+ const typed = targets[0] ?? '.';
187
+ const absoluteTarget = absolute(cwd, typed);
188
+ const legs = resolveLegs(absoluteTarget, mounts);
189
+ if ('unservable' in legs)
190
+ return legs;
191
+ return {
192
+ legs,
193
+ target: { typed, absolute: absoluteTarget },
194
+ pattern,
195
+ mode,
196
+ caseMode,
197
+ literal,
198
+ word,
199
+ hidden,
200
+ globs,
201
+ };
202
+ }
203
+ /**
204
+ * Read a search as it arrives, one row per line.
205
+ *
206
+ * The endpoint answers only in newline-delimited JSON, so rows are parsed and
207
+ * handed on as they land rather than accumulating the whole response first.
208
+ */
209
+ async function* searchEvents(url, config, doFetch) {
210
+ const response = await doFetch(url, { headers: { Authorization: `Bearer ${config.accessToken}` } });
211
+ if (!response.ok) {
212
+ throw new Error(`search returned ${response.status}`);
213
+ }
214
+ if (!response.body) {
215
+ throw new Error('search returned no body');
216
+ }
217
+ const decoder = new TextDecoder();
218
+ let pending = '';
219
+ for await (const chunk of response.body) {
220
+ pending += decoder.decode(chunk, { stream: true });
221
+ // A chunk boundary can fall mid-row, so only whole lines are parsed and
222
+ // the remainder waits for the next chunk.
223
+ let newline = pending.indexOf('\n');
224
+ while (newline >= 0) {
225
+ const line = pending.slice(0, newline).trim();
226
+ pending = pending.slice(newline + 1);
227
+ if (line !== '')
228
+ yield JSON.parse(line);
229
+ newline = pending.indexOf('\n');
230
+ }
231
+ }
232
+ const last = pending.trim();
233
+ if (last !== '')
234
+ yield JSON.parse(last);
235
+ }
236
+ function buildUrl(config, query, leg, extraExcludes = []) {
237
+ const params = new URLSearchParams({ q: query.pattern, mode: query.mode });
238
+ if (query.caseMode)
239
+ params.set('case', query.caseMode);
240
+ if (query.literal)
241
+ params.set('literal', 'true');
242
+ if (query.word)
243
+ params.set('word', 'true');
244
+ if (leg.pathPrefix)
245
+ params.set('path', leg.pathPrefix);
246
+ for (const glob of query.globs)
247
+ params.append('include', glob);
248
+ // Carve out what a nested mount covers, so the parent does not answer for
249
+ // paths the namespace shows as the child's.
250
+ for (const exclude of [...leg.excludes, ...extraExcludes])
251
+ params.append('exclude', exclude);
252
+ // A layout may pin either, and the server defaults to the repo's bookmark.
253
+ if (leg.mount.changeId)
254
+ params.set('change_id', leg.mount.changeId);
255
+ else if (leg.mount.bookmark)
256
+ params.set('bookmark', leg.mount.bookmark);
257
+ return `${config.apiBaseUrl}/${config.org}/${leg.mount.repo}/search?${params}`;
258
+ }
259
+ /** The part of a path below the directory the caller named. */
260
+ function belowTarget(absolutePath, target) {
261
+ return absolutePath.slice(target.absolute.length).replace(/^\/+/, '');
262
+ }
263
+ /**
264
+ * Name a file the way ripgrep would, given how the caller named the directory.
265
+ *
266
+ * `rg love sonnets` reports `sonnets/x.md`, `rg love /repo/sonnets` reports
267
+ * `/repo/sonnets/x.md`, and a bare `rg love` reports paths relative to the
268
+ * working directory.
269
+ */
270
+ function displayPath(suffix, target) {
271
+ if (target.typed === '.' || target.typed === '')
272
+ return suffix;
273
+ return `${target.typed.replace(/\/+$/, '')}/${suffix}`;
274
+ }
275
+ /**
276
+ * Whether ripgrep would have walked past this file without opening it.
277
+ *
278
+ * ripgrep skips dot-prefixed entries during traversal, but searches a path the
279
+ * caller named explicitly even when it is hidden. Only the part below the
280
+ * named directory is examined, so `rg foo .agents` still searches `.agents`.
281
+ *
282
+ * The search endpoint does not apply this rule — hiding dotfiles is a
283
+ * convention of the command-line tool, not of the repository — so `rg` applies
284
+ * it here instead.
285
+ */
286
+ export function isHidden(suffix) {
287
+ return suffix.split('/').some((segment) => segment.startsWith('.'));
288
+ }
289
+ /**
290
+ * Translate one `.gitignore` line into repository-root-relative exclude globs.
291
+ *
292
+ * `dir` is the directory holding the ignore file, so a nested file's rules
293
+ * stay scoped to its own subtree. A bare name matches at any depth below that
294
+ * directory and may name either a file or a directory, so it yields both forms.
295
+ *
296
+ * Returns nothing for blanks and comments, and `null` for a negation, which
297
+ * the exclude parameter cannot express: the server prefixes every exclude with
298
+ * `!` already, so a re-inclusion would arrive as a double negation.
299
+ */
300
+ export function gitignoreLineToGlobs(line, dir) {
301
+ const pattern = line.trim();
302
+ if (pattern === '' || pattern.startsWith('#'))
303
+ return [];
304
+ if (pattern.startsWith('!'))
305
+ return null;
306
+ const under = (rest) => (dir === '' ? rest : `${dir}/${rest}`);
307
+ const directoryOnly = pattern.endsWith('/');
308
+ const body = (directoryOnly ? pattern.slice(0, -1) : pattern).replace(/^\/+/, '');
309
+ if (body === '')
310
+ return [];
311
+ // A slash anywhere but the end anchors the pattern to this directory;
312
+ // otherwise it matches a basename at any depth below it.
313
+ const anchored = pattern.startsWith('/') || pattern.slice(0, -1).includes('/');
314
+ const base = anchored ? under(body) : under(`**/${body}`);
315
+ return directoryOnly ? [`${base}/**`] : [`${base}`, `${base}/**`];
316
+ }
317
+ /**
318
+ * Every ignore rule in a subtree, as exclude globs, or `null` when one of them
319
+ * cannot be expressed and the caller should fall back.
320
+ *
321
+ * The ignore files are read through the search endpoint rather than the mount:
322
+ * one request returns the contents of every `.gitignore` under the path, where
323
+ * walking the tree for them would cost the round trips this command exists to
324
+ * avoid.
325
+ */
326
+ export function gitignoreExcludes(files) {
327
+ const globs = [];
328
+ for (const file of files) {
329
+ const dir = file.path.includes('/') ? file.path.slice(0, file.path.lastIndexOf('/')) : '';
330
+ for (const line of file.lines) {
331
+ const translated = gitignoreLineToGlobs(line, dir);
332
+ if (translated === null)
333
+ return null;
334
+ globs.push(...translated);
335
+ }
336
+ }
337
+ return globs;
338
+ }
339
+ /**
340
+ * Read every `.gitignore` under a leg and translate it into exclude globs.
341
+ *
342
+ * One search returns the contents of all of them: the pattern matches any
343
+ * non-empty line, and a glob without a slash matches a basename at any depth.
344
+ */
345
+ async function ignoreExcludesFor(config, leg, doFetch) {
346
+ const params = new URLSearchParams({ q: '.', mode: 'lines', include: '.gitignore' });
347
+ if (leg.pathPrefix)
348
+ params.set('path', leg.pathPrefix);
349
+ if (leg.mount.changeId)
350
+ params.set('change_id', leg.mount.changeId);
351
+ else if (leg.mount.bookmark)
352
+ params.set('bookmark', leg.mount.bookmark);
353
+ const url = `${config.apiBaseUrl}/${config.org}/${leg.mount.repo}/search?${params}`;
354
+ const files = [];
355
+ for await (const event of searchEvents(url, config, doFetch)) {
356
+ if (event.type === 'match') {
357
+ files.push({ path: event.path, lines: event.lines.map((line) => line.text) });
358
+ }
359
+ }
360
+ return gitignoreExcludes(files);
361
+ }
362
+ /** Run `work` over `items`, at most `limit` at a time, preserving input order. */
363
+ async function mapBounded(items, limit, work) {
364
+ const results = new Array(items.length);
365
+ let next = 0;
366
+ const runner = async () => {
367
+ while (next < items.length) {
368
+ const index = next++;
369
+ results[index] = await work(items[index]);
370
+ }
371
+ };
372
+ await Promise.all(Array.from({ length: Math.min(limit, items.length) }, runner));
373
+ return results;
374
+ }
375
+ /**
376
+ * Render results the way ripgrep does, so a caller piping into `head` or
377
+ * `cut -d:` cannot tell the difference.
378
+ *
379
+ * Order is arrival order, which is what ripgrep itself produces: it searches
380
+ * in parallel and prints each file as it finishes, so two runs over the same
381
+ * tree need not agree. Sorting is `--sort path` there, and the manual is blunt
382
+ * about the price — it "forces ripgrep to abandon parallelism and run in a
383
+ * single thread". Imposing it here would have been a divergence dressed up as
384
+ * tidiness; `| sort` remains available to anyone who wants it.
385
+ */
386
+ function format(matches, query) {
387
+ if (query.mode === 'files') {
388
+ return matches.map(({ path }) => `${path}\n`).join('');
389
+ }
390
+ if (query.mode === 'count') {
391
+ return matches.map(({ path, match }) => `${path}:${match.line_count}\n`).join('');
392
+ }
393
+ return matches
394
+ .flatMap(({ path, match }) => match.lines.map((line) => `${path}:${line.line_number}:${line.text}\n`))
395
+ .join('');
396
+ }
397
+ /**
398
+ * Build the `rg` replacement.
399
+ *
400
+ * `fallback` runs the original command line through the built-in, and is called
401
+ * whenever this command cannot answer precisely.
402
+ */
403
+ export function createSearchRg(config, fallback) {
404
+ const mounts = mountsFromLayout(config.layout);
405
+ const doFetch = config.fetch ?? globalThis.fetch;
406
+ return {
407
+ name: 'rg',
408
+ async execute(args, ctx) {
409
+ const plan = planSearch(args, ctx.cwd, mounts);
410
+ if ('unservable' in plan) {
411
+ return fallback(args, ctx);
412
+ }
413
+ let responses;
414
+ try {
415
+ // Ignore rules first, so the server never fetches a blob the answer
416
+ // would have discarded. A repository with none costs one empty request.
417
+ const ignores = await mapBounded(plan.legs, MAX_PARALLEL_LEGS, (leg) => ignoreExcludesFor(config, leg, doFetch));
418
+ if (ignores.includes(null)) {
419
+ // A negation cannot be expressed as an exclude.
420
+ return fallback(args, ctx);
421
+ }
422
+ responses = await mapBounded(plan.legs, MAX_PARALLEL_LEGS, async (leg) => {
423
+ const extra = ignores[plan.legs.indexOf(leg)] ?? [];
424
+ const root = leg.mount.path === '/' ? '' : leg.mount.path;
425
+ const kept = [];
426
+ // Rows are filtered and reshaped as they arrive, so a file the answer
427
+ // will not mention is never held.
428
+ for await (const event of searchEvents(buildUrl(config, plan, leg, extra), config, doFetch)) {
429
+ if (event.type !== 'match')
430
+ continue;
431
+ const suffix = belowTarget(`${root}/${event.path}`, plan.target);
432
+ if (!plan.hidden && isHidden(suffix))
433
+ continue;
434
+ kept.push({ path: displayPath(suffix, plan.target), match: event });
435
+ }
436
+ return kept;
437
+ });
438
+ }
439
+ catch {
440
+ // Any leg failing makes the whole answer partial, and a partial `rg`
441
+ // result is a wrong one. The mount can still answer without us.
442
+ return fallback(args, ctx);
443
+ }
444
+ const matches = responses.flat();
445
+ const stdout = format(matches, plan);
446
+ // ripgrep's convention: 0 when something matched, 1 when nothing did.
447
+ return { stdout, stderr: '', exitCode: matches.length > 0 ? 0 : 1 };
448
+ },
449
+ };
450
+ }
451
+ //# sourceMappingURL=search-rg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search-rg.js","sourceRoot":"","sources":["../../src/fs/search-rg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA4CH;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAc5B;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC7C,MAAM,MAAM,GAAY,EAAE,CAAC;IAE3B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,OAAsC,EAAQ,EAAE;QAC3E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC5D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,oEAAoE;gBACpE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACrG,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,WAAW,CAAC,IAAI;oBACtB,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ;oBAClC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ;iBACnC,CAAC,CAAC;gBACH,IAAI,WAAW,CAAC,QAAQ;oBAAE,KAAK,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,KAAK,CAAC,EAAE,EAAE,MAAuC,CAAC,CAAC;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY,EAAE,OAAe;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;AAC7D,CAAC;AAED,4DAA4D;AAC5D,SAAS,QAAQ,CAAC,GAAW,EAAE,IAAY;IACzC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;IACjE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC;IACtE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC;AAC3C,CAAC;AAED;;;;;;;;GAQG;AACH,mFAAmF;AACnF,SAAS,OAAO,CAAC,KAAa,EAAE,MAAc;IAC5C,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,MAAe;IAClD,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3F,4EAA4E;IAC5E,yEAAyE;IACzE,yDAAyD;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,kCAAkC,EAAE,CAAC;IACrE,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAEpD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,KAAK;QACL,UAAU,EAAE,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;QACtF,QAAQ,EAAE,OAAO;aACd,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;aACrE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC;KACnF,CAAC,CAAC,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc,EAAE,GAAW,EAAE,MAAe;IACrE,IAAI,OAA2B,CAAC;IAChC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,IAAI,GAAwB,OAAO,CAAC;IACxC,IAAI,QAAiC,CAAC;IACtC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,iDAAiD;YACjD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBACrC,IAAI,OAAO,KAAK,SAAS;oBAAE,OAAO,GAAG,IAAI,CAAC;;oBACrC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YACD,MAAM;QACR,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACxC,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,GAAG,GAAG,CAAC;;gBACpC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvB,SAAS;QACX,CAAC;QACD,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,eAAe;gBAClB,QAAQ,GAAG,aAAa,CAAC;gBACzB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,kBAAkB;gBACrB,QAAQ,GAAG,WAAW,CAAC;gBACvB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,cAAc;gBACjB,QAAQ,GAAG,OAAO,CAAC;gBACnB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,iBAAiB;gBACpB,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,eAAe;gBAClB,IAAI,GAAG,IAAI,CAAC;gBACZ,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,IAAI,GAAG,OAAO,CAAC;gBACf,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,sBAAsB;gBACzB,IAAI,GAAG,OAAO,CAAC;gBACf,MAAM;YACR,KAAK,UAAU;gBACb,MAAM,GAAG,IAAI,CAAC;gBACd,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,eAAe;gBAClB,gEAAgE;gBAChE,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBACvB,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,qBAAqB,EAAE,CAAC;gBAC3E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjB,MAAM;YACR,CAAC;YACD;gBACE,OAAO,EAAE,UAAU,EAAE,GAAG,GAAG,yCAAyC,EAAE,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACrE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,UAAU,EAAE,2BAA2B,EAAE,CAAC;IAE3E,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAChC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,YAAY,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAEtC,OAAO;QACL,IAAI;QACJ,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE;QAC3C,OAAO;QACP,IAAI;QACJ,QAAQ;QACR,OAAO;QACP,IAAI;QACJ,MAAM;QACN,KAAK;KACN,CAAC;AACJ,CAAC;AAWD;;;;;GAKG;AACH,KAAK,SAAS,CAAC,CAAC,YAAY,CAC1B,GAAW,EACX,MAA0B,EAC1B,OAAgC;IAEhC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IACpG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,CAAC,IAA4C,EAAE,CAAC;QAChF,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,wEAAwE;QACxE,0CAA0C;QAC1C,IAAI,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,OAAO,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,IAAI,KAAK,EAAE;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;YACvD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,IAAI,KAAK,EAAE;QAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAgB,CAAC;AACzD,CAAC;AAED,SAAS,QAAQ,CACf,MAA0B,EAC1B,KAAkB,EAClB,GAAc,EACd,gBAA0B,EAAE;IAE5B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3E,IAAI,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,OAAO;QAAE,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,IAAI,KAAK,CAAC,IAAI;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,IAAI,GAAG,CAAC,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK;QAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC/D,0EAA0E;IAC1E,4CAA4C;IAC5C,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,aAAa,CAAC;QAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7F,2EAA2E;IAC3E,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxE,OAAO,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,MAAM,EAAE,CAAC;AACjF,CAAC;AAED,+DAA+D;AAC/D,SAAS,WAAW,CAAC,YAAoB,EAAE,MAA4B;IACrE,OAAO,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,MAAc,EAAE,MAAyB;IAC5D,IAAI,MAAM,CAAC,KAAK,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,KAAK,EAAE;QAAE,OAAO,MAAM,CAAC;IAC/D,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,EAAE,CAAC;AACzD,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,GAAW;IAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC5B,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACzD,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClF,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IAE3B,sEAAsE;IACtE,yDAAyD;IACzD,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;AACpE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA0C;IAC1E,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1F,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YACnD,IAAI,UAAU,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YACrC,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAA0B,EAC1B,GAAc,EACd,OAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;IACrF,IAAI,GAAG,CAAC,UAAU;QAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC/D,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ;QAAE,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAExE,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,WAAW,MAAM,EAAE,CAAC;IACpF,MAAM,KAAK,GAAwC,EAAE,CAAC;IACtD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;QAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IACD,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,kFAAkF;AAClF,KAAK,UAAU,UAAU,CAAO,KAAU,EAAE,KAAa,EAAE,IAA6B;IACtF,MAAM,OAAO,GAAG,IAAI,KAAK,CAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE;QACxB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC,CAAC;QACjD,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,MAAM,CAAC,OAA+C,EAAE,KAAkB;IACjF,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,OAAO;SACX,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;SACrG,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,MAA0B,EAC1B,QAAsE;IAEtE,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC;IAEjD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK,CAAC,OAAO,CAAC,IAAc,EAAE,GAAmB;YAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC/C,IAAI,YAAY,IAAI,IAAI,EAAE,CAAC;gBACzB,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YAED,IAAI,SAAmD,CAAC;YACxD,IAAI,CAAC;gBACH,oEAAoE;gBACpE,wEAAwE;gBACxE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,CAAC,GAAG,EAAE,EAAE,CACrE,iBAAiB,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,CACxC,CAAC;gBACF,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3B,gDAAgD;oBAChD,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,CAAC;gBAED,SAAS,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;oBACvE,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACpD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;oBAC1D,MAAM,IAAI,GAA2C,EAAE,CAAC;oBACxD,sEAAsE;oBACtE,kCAAkC;oBAClC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;wBAC5F,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;4BAAE,SAAS;wBACrC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjE,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;4BAAE,SAAS;wBAC/C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;oBACtE,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;gBACrE,gEAAgE;gBAChE,OAAO,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YAED,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACrC,sEAAsE;YACtE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  export type { BashLogger, BashOptions, CommandName, CustomCommand, ExecResult, JavaScriptConfig, NetworkConfig, SecureFetch, } from 'just-bash';
2
2
  export { Bash } from 'just-bash';
3
- export { type RepoTagFilter, type RepoTagValueFilter, type TokensCreateAuthor, type TokensCreateInput, type TokensCreatePrivateKeyInput, type TokensCreateResponse, } from './api/index.js';
3
+ export { type RepoTagFilter, type RepoTagValueFilter } from './api/index.js';
4
4
  export { VIRTUAL_ROOT_CHANGE_ID } from './constants.js';
5
- export { type BookmarkCreateArgs, type BookmarkListArgs, type BookmarkOps, type BranchedRevision, type ChangeEditArgs, type ChangeInfo, type ChangeListArgs, type ChangeNewArgs, type ChangeOps, type ChangeResult, type CheckpointResult, type ChangeRevArgs, type Layout, type LayoutSpec, type LogRecord, type MesaBashOptions, MesaFileSystem, type MesaFileSystemConfig, MesaFileSystemSubscription, type MountMode, type MountRevisionProperties, repo, type Repo, type RepoConfig, type RepoOptions, type RepoSelectorInput, type RevisionIdentifier, type TelemetryConfig, type WatchEvent, type WatchEventHandler, } from './fs/index.js';
5
+ export { type BookmarkCreateArgs, type BookmarkListArgs, type BookmarkOps, type BranchedRevision, type ChangeEditArgs, type ChangeInfo, type ChangeListArgs, type ChangeNewArgs, type ChangeOps, type ChangeResult, type CheckpointResult, type ChangeRevArgs, type Layout, type LogRecord, type MesaBashOptions, type MesaFileSystem, type MesaFileSystemConfig, MesaFileSystemSubscription, type MountMode, type MountRevisionProperties, repo, type Repo, type RepoConfig, type RepoOptions, type RepoSelectorInput, type RevisionIdentifier, type TelemetryConfig, type WatchEvent, type WatchEventHandler, } from './fs/index.js';
6
6
  export * from './lib/errors.js';
7
- export { type FsLayoutDefinition, type FsMountRuntimeOptions, Mesa, type MesaAuth, type MesaOptions } from './mesa.js';
7
+ export { type Author } from './api/access-token.js';
8
+ export { type AccessToken, type FilesystemDefinition, type FsMountRuntimeOptions, Mesa, type MesaOptions, } from './mesa.js';
8
9
  export { type BookmarkCreatedPayload, BookmarkCreatedPayloadSchema, type BookmarkDeletedPayload, BookmarkDeletedPayloadSchema, type BookmarkMergedPayload, BookmarkMergedPayloadSchema, type BookmarkMovedPayload, BookmarkMovedPayloadSchema, type ChangeCreatedPayload, ChangeCreatedPayloadSchema, type ChangeEvolvedPayload, ChangeEvolvedPayloadSchema, type PushPayload, PushPayloadSchema, type RepoCreatedPayload, RepoCreatedPayloadSchema, type RepoDeletedPayload, RepoDeletedPayloadSchema, type RepoUpdatedPayload, RepoUpdatedPayloadSchema, type WebhookEvent, type WebhookEventName, type WebhookEventOf, WebhookEventSchema, type WebhookHandler, } from './webhooks/index.js';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,eAAe,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC5B,IAAI,EACJ,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,qBAAqB,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AACvH,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,UAAU,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,WAAW,GACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,eAAe,EAKpB,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,SAAS,EACd,KAAK,uBAAuB,EAC5B,IAAI,EACJ,KAAK,IAAI,EACT,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,IAAI,EACJ,KAAK,WAAW,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,oBAAoB,EACzB,0BAA0B,EAC1B,KAAK,WAAW,EAChB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,kBAAkB,EACvB,wBAAwB,EACxB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  export { Bash } from 'just-bash';
2
2
  export {} from './api/index.js';
3
3
  export { VIRTUAL_ROOT_CHANGE_ID } from './constants.js';
4
- export { MesaFileSystem, MesaFileSystemSubscription, repo, } from './fs/index.js';
4
+ export { MesaFileSystemSubscription, repo, } from './fs/index.js';
5
5
  export * from './lib/errors.js';
6
- export { Mesa } from './mesa.js';
6
+ export {} from './api/access-token.js';
7
+ export { Mesa, } from './mesa.js';
7
8
  export { BookmarkCreatedPayloadSchema, BookmarkDeletedPayloadSchema, BookmarkMergedPayloadSchema, BookmarkMovedPayloadSchema, ChangeCreatedPayloadSchema, ChangeEvolvedPayloadSchema, PushPayloadSchema, RepoCreatedPayloadSchema, RepoDeletedPayloadSchema, RepoUpdatedPayloadSchema, WebhookEventSchema, } from './webhooks/index.js';
8
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAON,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAiBL,cAAc,EAEd,0BAA0B,EAG1B,IAAI,GASL,MAAM,eAAe,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAuD,IAAI,EAAmC,MAAM,WAAW,CAAC;AACvH,OAAO,EAEL,4BAA4B,EAE5B,4BAA4B,EAE5B,2BAA2B,EAE3B,0BAA0B,EAE1B,0BAA0B,EAE1B,0BAA0B,EAE1B,iBAAiB,EAEjB,wBAAwB,EAExB,wBAAwB,EAExB,wBAAwB,EAIxB,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAA+C,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAsBL,0BAA0B,EAG1B,IAAI,GASL,MAAM,eAAe,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAe,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAIL,IAAI,GAEL,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,4BAA4B,EAE5B,4BAA4B,EAE5B,2BAA2B,EAE3B,0BAA0B,EAE1B,0BAA0B,EAE1B,0BAA0B,EAE1B,iBAAiB,EAEjB,wBAAwB,EAExB,wBAAwB,EAExB,wBAAwB,EAIxB,kBAAkB,GAEnB,MAAM,qBAAqB,CAAC"}
@@ -1,4 +1,4 @@
1
- export type MesaErrorCode = 'INVALID_API_URL' | 'INVALID_OPTIONS' | 'MISSING_CREDENTIAL' | 'MISSING_WEBHOOK_SECRET' | 'ORG_RESOLUTION_FAILED' | 'WEBHOOK_VERIFICATION_FAILED';
1
+ export type MesaErrorCode = 'INVALID_API_URL' | 'INVALID_OPTIONS' | 'MISSING_ACCESS_TOKEN' | 'MISSING_PRIVATE_KEY' | 'MISSING_WEBHOOK_SECRET' | 'ORG_RESOLUTION_FAILED' | 'WEBHOOK_VERIFICATION_FAILED';
2
2
  export declare class MesaError extends Error {
3
3
  readonly code: MesaErrorCode;
4
4
  constructor(code: MesaErrorCode, message: string, options?: ErrorOptions);
@@ -18,7 +18,10 @@ export declare class MesaApiError extends Error {
18
18
  readonly status?: number;
19
19
  constructor({ body, cause, code, headers, message, status }: MesaApiErrorOptions);
20
20
  }
21
- export declare class MissingCredentialError extends MesaError {
21
+ export declare class MissingPrivateKeyError extends MesaError {
22
+ constructor(message?: string);
23
+ }
24
+ export declare class MissingAccessTokenError extends MesaError {
22
25
  constructor(message?: string);
23
26
  }
24
27
  export declare class InvalidApiUrlError extends MesaError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,6BAA6B,CAAC;AAElC,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;gBAEjB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKzE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB;CAQjF;AAED,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,OAAO,SAAwB;CAI5C;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,EAAE,MAAM;CAI3B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,SAAS;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,yBAA0B,SAAQ,SAAS;;CAKvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,sBAAsB,GACtB,qBAAqB,GACrB,wBAAwB,GACxB,uBAAuB,GACvB,6BAA6B,CAAC;AAElC,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;gBAEjB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKzE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB;CAQjF;AAED,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,OAAO,SAAyB;CAI7C;AAED,qBAAa,uBAAwB,SAAQ,SAAS;gBACxC,OAAO,SAA0B;CAI9C;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,EAAE,MAAM;CAI3B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,SAAS;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,yBAA0B,SAAQ,SAAS;;CAKvD"}
@@ -20,10 +20,16 @@ export class MesaApiError extends Error {
20
20
  this.status = status;
21
21
  }
22
22
  }
23
- export class MissingCredentialError extends MesaError {
24
- constructor(message = 'Missing credential.') {
25
- super('MISSING_CREDENTIAL', message);
26
- this.name = 'MissingCredentialError';
23
+ export class MissingPrivateKeyError extends MesaError {
24
+ constructor(message = 'Missing private key.') {
25
+ super('MISSING_PRIVATE_KEY', message);
26
+ this.name = 'MissingPrivateKeyError';
27
+ }
28
+ }
29
+ export class MissingAccessTokenError extends MesaError {
30
+ constructor(message = 'Missing access token.') {
31
+ super('MISSING_ACCESS_TOKEN', message);
32
+ this.name = 'MissingAccessTokenError';
27
33
  }
28
34
  }
29
35
  export class InvalidApiUrlError extends MesaError {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,IAAI,CAAgB;IAE7B,YAAY,IAAmB,EAAE,OAAe,EAAE,OAAsB;QACtE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAWD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAW;IACf,IAAI,CAAU;IACd,OAAO,CAAW;IAClB,MAAM,CAAU;IAEzB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAuB;QAC9E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACnD,YAAY,OAAO,GAAG,qBAAqB;QACzC,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,MAAc;QACxB,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IACzD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,6BAA6B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IACtD;QACE,KAAK,CAAC,wBAAwB,EAAE,uEAAuE,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,IAAI,CAAgB;IAE7B,YAAY,IAAmB,EAAE,OAAe,EAAE,OAAsB;QACtE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAWD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAW;IACf,IAAI,CAAU;IACd,OAAO,CAAW;IAClB,MAAM,CAAU;IAEzB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAuB;QAC9E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACnD,YAAY,OAAO,GAAG,sBAAsB;QAC1C,KAAK,CAAC,qBAAqB,EAAE,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,SAAS;IACpD,YAAY,OAAO,GAAG,uBAAuB;QAC3C,KAAK,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IACxC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,MAAc;QACxB,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IACzD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,6BAA6B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IACtD;QACE,KAAK,CAAC,wBAAwB,EAAE,uEAAuE,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}