@intentic/base 1.331.0 → 1.333.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 (61) hide show
  1. package/README.md +50 -7
  2. package/dist/async.d.ts +32 -2
  3. package/dist/async.d.ts.map +1 -1
  4. package/dist/async.js +146 -27
  5. package/dist/async.js.map +1 -1
  6. package/dist/format.d.ts +1 -1
  7. package/dist/format.d.ts.map +1 -1
  8. package/dist/format.js +1 -2
  9. package/dist/format.js.map +1 -1
  10. package/dist/fuzzy.js +1 -1
  11. package/dist/fuzzy.js.map +1 -1
  12. package/dist/git/commands.d.ts.map +1 -1
  13. package/dist/git/commands.js +2 -2
  14. package/dist/git/commands.js.map +1 -1
  15. package/dist/git/runner.d.ts.map +1 -1
  16. package/dist/git/runner.js +3 -2
  17. package/dist/git/runner.js.map +1 -1
  18. package/dist/held.d.ts +22 -0
  19. package/dist/held.d.ts.map +1 -1
  20. package/dist/held.js +83 -0
  21. package/dist/held.js.map +1 -1
  22. package/dist/lifecycle.d.ts.map +1 -1
  23. package/dist/lifecycle.js +2 -6
  24. package/dist/lifecycle.js.map +1 -1
  25. package/dist/node/contained.d.ts +10 -0
  26. package/dist/node/contained.d.ts.map +1 -0
  27. package/dist/node/contained.js +37 -0
  28. package/dist/node/contained.js.map +1 -0
  29. package/dist/node/fs.d.ts +14 -1
  30. package/dist/node/fs.d.ts.map +1 -1
  31. package/dist/node/fs.js +63 -38
  32. package/dist/node/fs.js.map +1 -1
  33. package/dist/node/json-lines.d.ts +5 -0
  34. package/dist/node/json-lines.d.ts.map +1 -0
  35. package/dist/node/json-lines.js +39 -0
  36. package/dist/node/json-lines.js.map +1 -0
  37. package/dist/node/process.d.ts +71 -0
  38. package/dist/node/process.d.ts.map +1 -0
  39. package/dist/node/process.js +338 -0
  40. package/dist/node/process.js.map +1 -0
  41. package/dist/node/web-stream.d.ts +2 -0
  42. package/dist/node/web-stream.d.ts.map +1 -1
  43. package/dist/node/web-stream.js +18 -0
  44. package/dist/node/web-stream.js.map +1 -1
  45. package/dist/text/escape.d.ts +4 -0
  46. package/dist/text/escape.d.ts.map +1 -0
  47. package/dist/text/escape.js +11 -0
  48. package/dist/text/escape.js.map +1 -0
  49. package/dist/text/one-line.d.ts +5 -0
  50. package/dist/text/one-line.d.ts.map +1 -0
  51. package/dist/text/one-line.js +18 -0
  52. package/dist/text/one-line.js.map +1 -0
  53. package/dist/web/capped-read.d.ts +14 -0
  54. package/dist/web/capped-read.d.ts.map +1 -0
  55. package/dist/web/capped-read.js +42 -0
  56. package/dist/web/capped-read.js.map +1 -0
  57. package/dist/web/fetch-json.d.ts +34 -0
  58. package/dist/web/fetch-json.d.ts.map +1 -0
  59. package/dist/web/fetch-json.js +87 -0
  60. package/dist/web/fetch-json.js.map +1 -0
  61. package/package.json +80 -3
package/README.md CHANGED
@@ -17,7 +17,9 @@ flowchart LR
17
17
  - One implementation per rule that more than one tier applies: two copies of a condition, a size label or a
18
18
  quick-open ranking disagree on screen. Anything only one surface renders belongs next to that surface.
19
19
  - Subpath exports only, with no index, so a browser bundle pulls nothing it does not use. `outside-text` uses Web
20
- Crypto, so it does not tie a caller to Node; `fs`, `sqlite`, `worker-calls`, `web-stream`, `ws-tcp-pump`, `acme` and `git` are Node's.
20
+ Crypto, so it does not tie a caller to Node, and `one-line`, `capped-read`, `escape` and `fetch-json` need nothing but
21
+ the language and fetch; `fs`, `contained`, `json-lines`, `process`, `sqlite`, `worker-calls`, `web-stream`,
22
+ `ws-tcp-pump`, `acme` and `git` are Node's.
21
23
  - `when.ts` is a closed grammar with no arithmetic, calls or property access, because its strings arrive from
22
24
  installed extensions.
23
25
  - `outside-text.ts` wraps chat, pages and tool results in `<untrusted-content>` tags whose close carries a fresh id,
@@ -32,6 +34,13 @@ flowchart LR
32
34
  - `withDeadline` aborts the work when time runs out. `withTimeout` and `within` only stop waiting for it.
33
35
  - `unlessAborted` stops waiting at an abort. Racing every read of a loop against one promise that stays pending
34
36
  instead keeps every value raced alive until that promise settles.
37
+ - `within` clears its timer however the race ends and can unref it, so a CLI's bounded close or a daemon's
38
+ best-effort wait never holds the process open.
39
+ - `startPeriodic` runs a chore on a timer: a warm-up, then a run every interval, never two at once (a tick that finds
40
+ the last run going is skipped), unref'd timers, and one dispose for all of it. Hand-rolled copies kept missing one of
41
+ the four.
42
+ - `Delayer` takes a `maxWaitMs` ceiling for a source that never goes quiet, `pollFor` a `maxProbes` cap that holds
43
+ when the clock does not move, and `retryAfterMs` is the one reading of a `Retry-After` header (seconds or a date).
35
44
  - `ssh-config.ts` is the one reading of a managed `Include` line in someone's `~/.ssh/config`: only a live line counts
36
45
  (a commented-out one is not an include), ours goes first, and every other line is left byte for byte. The daemon's
37
46
  ssh hosts and the machine agent's sync aliases both write theirs through it, with `writeFileAtomic`.
@@ -43,6 +52,9 @@ flowchart LR
43
52
  - `held.ts` is how a reading kept between asks states its two limits: the change feed that makes it stale, and
44
53
  `maxAgeMs`, how late a change that feed missed may show. `freshness` is one reading, `held` is readings by key. The
45
54
  daemon's directory reads and compiled `.gitignore` matchers, land standings and history index use it.
55
+ `cachedAsync` is the sibling for a reading that costs a round trip: askers share the load in flight, a failure is
56
+ never held, and `maxEntries` caps it. `BoundedMap` is a Map that drops its oldest entry past a limit, for memory kept
57
+ by a key the process cannot bound itself.
46
58
  - `dag.ts` layers a dependency graph by generation for the two graphs extensions draw, workflows and CI pipelines,
47
59
  so a cycle or a self-need is handled one way in both: a cycle lands in one final layer.
48
60
  - `cloudflare.ts` is the Cloudflare v4 client the platform and the deploy engine's providers both call: a bearer, the
@@ -50,11 +62,42 @@ flowchart LR
50
62
  call, and the zone list's paging. A 401/403 is a `CloudflareTokenError` and a zone out of DNS records (81045) a
51
63
  `CloudflareZoneFullError`, so each caller words those for its own reader (2026-10-06; the two used to keep a copy each,
52
64
  and only the platform's knew 81045).
65
+ - `node/process.ts` (`./process`) is one bounded child process for every Node tier but the daemon (which keeps
66
+ `runCheck` for its workload classes): its own process group, ended whole at a deadline or abort (SIGTERM, then
67
+ SIGKILL; `taskkill /T /F` on Windows), settled once it exits even while a grandchild still holds its pipes, and its
68
+ output kept as head and tail with a `… [N characters cut] …` marker, decoded so a split UTF-8 character arrives
69
+ whole. `execBounded` throws execFile's rejection shape, so a `promisify(execFile)` caller moves over unchanged
70
+ (2026-10-12; the device agent's shell and adb runners each had a copy, and its sync runner had none of it and could
71
+ hang past its own timeout). `runBoundedSync` / `runBoundedSyncBytes` are the same bound for a caller that cannot
72
+ await (a module's load, an exit hook, a CLI's synchronous path): Node's `spawnSync` timeout signals only the direct
73
+ child, so these give the command its own group and end the rest of it once spawnSync returns from a deadline or a
74
+ full buffer. A run that hands over the person's own terminal (`stdio: "inherit"`) stays on `spawnSync`, so Ctrl-C
75
+ reaches it.
76
+ - `fetch-json.ts` (`./fetch-json`) is one JSON call over HTTP: a deadline of its own combined with the caller's signal,
77
+ a refusal's body quoted in the error and cut at 300 characters, and a `kind` that tells a timeout from a server that
78
+ could not be reached. No schema library, like `cloudflare.ts`: each caller validates the body with its own.
79
+ - `escape.ts` (`./escape`) holds `escapeHtml` (all five HTML-active characters, the apostrophe included),
80
+ `escapeRegExp` and `isRecord`, which a dozen packages each kept a copy of.
53
81
  - `errors.ts` lets a catch name the failure it expects: `isMissing` is ENOENT or ENOTDIR only, and
54
82
  `undefinedIfMissing` answers undefined for "not there" while EACCES, EIO and a bug's TypeError still arrive.
55
- - `node/fs.ts` is the one atomic write: staged beside the target and renamed over it, a given mode exact rather than cut
56
- by the umask, the rename retried while Windows holds the target open. `queueOnFile` serializes one path's
57
- read-modify-write across every handle in the process.
83
+ - `node/fs.ts` is the one atomic write: staged beside the target under a random name (worker threads share a process
84
+ id, and two containers on one volume may both be pid 1), renamed over it, the staging file removed on any failure, a
85
+ given mode exact rather than cut by the umask. `renameOver` is the rename retried while Windows holds the target open,
86
+ for any rename that replaces a file someone may have open. A durable write flushes the file and then its directories
87
+ through `syncDirectories`, which is best effort by contract: a directory it cannot open or a filesystem that cannot
88
+ flush one never fails a write that already happened. `queueOnFile` serializes one path's read-modify-write across
89
+ every handle in the process.
90
+ - `node/contained.ts` asks whether a path is inside a root one way: by whole segments, so `..notes` is a name and
91
+ `/work/a-other` is not under `/work/a`, with the root itself inside and another Windows drive outside. `realInside`
92
+ follows links first, for a disk where a folder can be a link elsewhere. `windowsHolds` is the one rule for a name NTFS
93
+ can hold.
94
+ - `node/json-lines.ts` reads newline-delimited JSON off a stream: decoded across chunks, split at LF only (readline also
95
+ splits at U+2028, which JSON allows raw in a string), `\r` dropped, a last record without its LF kept. It yields lines;
96
+ `parsedJsonLines` skips a line that is not JSON instead of ending the stream at it.
97
+ - `capped-read.ts` reads a fetched body with a ceiling on the bytes that arrive, cancelling the stream at the cap,
98
+ since a checked Content-Length is not a ceiling on a chunked answer.
99
+ - `text/one-line.ts` is outside text as one bounded line: whitespace flattened, control and format characters (ESC,
100
+ BEL, bidi overrides) removed, cut at a character boundary with the `…` inside the limit.
58
101
  - `sqlite.ts` has two doors. A cache store holds the `SqliteDb` seam, whose `transaction` is a plain BEGIN that does
59
102
  not nest. A store holding a `DatabaseSync` opens it with `openSqlite` (WAL, a busy timeout, foreign keys) and
60
103
  groups writes with `immediateTransaction`, which takes the write lock at BEGIN and joins a transaction already open.
@@ -83,12 +126,12 @@ flowchart LR
83
126
  ## Key files
84
127
 
85
128
  - [src/when.ts](src/when.ts) — `parseWhen` and `evaluateWhen`, the condition language manifests carry.
86
- - [src/async.ts](src/async.ts) — `Delayer`, `Coalescer`, `SingleFlight`, `keyedLock`, `withTimeout`, `pollUntil`, `createBackoff`.
129
+ - [src/async.ts](src/async.ts) — `Delayer`, `Coalescer`, `SingleFlight`, `keyedLock`, `startPeriodic`, `within`, `pollFor`, `retry`, `createBackoff`.
87
130
  - [src/lifecycle.ts](src/lifecycle.ts) — `IDisposable`, `DisposableStore` and `MutableDisposable`.
88
131
  - [src/text/outside-text.ts](src/text/outside-text.ts) — `wrapOutsideContent`, the envelope for outside text.
89
- - [src/held.ts](src/held.ts) — `freshness` and `held`: a change feed and a time bound for anything kept.
132
+ - [src/held.ts](src/held.ts) — `freshness`, `held` and `cachedAsync`: a change feed and a time bound for anything kept, and `BoundedMap`.
90
133
  - [src/fuzzy.ts](src/fuzzy.ts) — `fuzzyScore`, `rankByFuzzy` and the per-keystroke `fuzzyRanker` both quick-open ends share.
91
- - [src/node/fs.ts](src/node/fs.ts) — `writeFileAtomic` (and its synchronous twin for a write on the way out), `queueOnFile`, `pathExists` and `freePort`, the file primitives of every Node tier.
134
+ - [src/node/fs.ts](src/node/fs.ts) — `writeFileAtomic` (its synchronous twin for a write on the way out, and `writeChunksAtomic` for content produced a chunk at a time), `renameOver`, `syncDirectories`, `queueOnFile`, `pathExists` and `freePort`, the file primitives of every Node tier.
92
135
 
93
136
  ## Commands
94
137
 
package/dist/async.d.ts CHANGED
@@ -2,10 +2,19 @@ import type { IDisposable } from "./lifecycle.js";
2
2
  export declare class Delayer<T> implements IDisposable {
3
3
  private readonly delay;
4
4
  private handle;
5
+ private ceiling;
5
6
  private pending;
6
7
  private task;
7
- constructor(delay: number);
8
+ private readonly maxWaitMs;
9
+ private readonly unref;
10
+ constructor(delay: number, options?: {
11
+ readonly maxWaitMs?: number | undefined;
12
+ readonly unref?: boolean;
13
+ });
14
+ private schedule;
8
15
  trigger(task: () => T | Promise<T>): Promise<T>;
16
+ private fire;
17
+ private clearTimers;
9
18
  get isPending(): boolean;
10
19
  cancel(): void;
11
20
  dispose(): void;
@@ -43,7 +52,9 @@ export declare const withDeadline: <T>(task: (signal: AbortSignal) => Promise<T>
43
52
  readonly signal?: AbortSignal | undefined;
44
53
  readonly message?: string;
45
54
  }) => Promise<T>;
46
- export declare const within: <T, F>(promise: Promise<T>, ms: number, fallback: F) => Promise<T | F>;
55
+ export declare const within: <T, F>(work: Promise<T> | (() => T | Promise<T>), ms: number, fallback: F, options?: {
56
+ readonly unref?: boolean;
57
+ }) => Promise<T | F>;
47
58
  export declare const unlessAborted: <T, F>(promise: Promise<T>, signal: AbortSignal | undefined, fallback: F) => Promise<T | F>;
48
59
  export declare const anySignal: (...signals: readonly (AbortSignal | undefined)[]) => AbortSignal;
49
60
  export declare class Latest implements IDisposable {
@@ -56,10 +67,23 @@ export declare class Latest implements IDisposable {
56
67
  done(signal: AbortSignal): void;
57
68
  dispose(): void;
58
69
  }
70
+ export interface PeriodicOptions {
71
+ readonly warmupMs?: number;
72
+ readonly everyMs: number;
73
+ readonly run: (signal: AbortSignal) => void | Promise<void>;
74
+ readonly signal?: AbortSignal | undefined;
75
+ readonly onError?: (error: unknown) => void;
76
+ }
77
+ export interface Periodic extends IDisposable {
78
+ readonly runNow: () => Promise<void>;
79
+ readonly running: boolean;
80
+ }
81
+ export declare const startPeriodic: ({ warmupMs, everyMs, run, signal, onError }: PeriodicOptions) => Periodic;
59
82
  export interface RetryOptions {
60
83
  readonly attempts: number;
61
84
  readonly delayMs: (attempt: number) => number;
62
85
  readonly signal?: AbortSignal | undefined;
86
+ readonly wait?: ((ms: number, signal: AbortSignal | undefined) => Promise<void>) | undefined;
63
87
  }
64
88
  export declare const retry: <T>(task: (attempt: number) => Promise<T>, options: RetryOptions) => Promise<T>;
65
89
  export type PollOutcome<T> = {
@@ -76,7 +100,9 @@ export interface PollForOptions {
76
100
  readonly signal?: AbortSignal | undefined;
77
101
  readonly delayFirst?: boolean;
78
102
  readonly retryOnError?: boolean;
103
+ readonly maxProbes?: number;
79
104
  readonly now?: (() => number) | undefined;
105
+ readonly wait?: ((ms: number, signal: AbortSignal | undefined) => Promise<void>) | undefined;
80
106
  }
81
107
  export declare const pollFor: <T>(probe: () => Promise<T | undefined>, options: PollForOptions) => Promise<PollOutcome<T>>;
82
108
  export interface PollOptions {
@@ -99,6 +125,10 @@ export interface Backoff {
99
125
  readonly reset: () => void;
100
126
  }
101
127
  export declare const createBackoff: ({ floorMs, capMs, stableMs, random }: BackoffOptions) => Backoff;
128
+ export declare const retryAfterMs: (source: Headers | string | null | undefined, options?: {
129
+ readonly now?: number;
130
+ readonly capMs?: number;
131
+ }) => number | undefined;
102
132
  export interface NarratedLine {
103
133
  readonly kind: "line";
104
134
  readonly text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"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"}
package/dist/async.js CHANGED
@@ -2,10 +2,22 @@ import { errorMessage } from "./errors.js";
2
2
  export class Delayer {
3
3
  delay;
4
4
  handle;
5
+ ceiling;
5
6
  pending;
6
7
  task;
7
- constructor(delay) {
8
+ maxWaitMs;
9
+ unref;
10
+ constructor(delay, options) {
8
11
  this.delay = delay;
12
+ this.maxWaitMs = options?.maxWaitMs;
13
+ this.unref = options?.unref === true;
14
+ }
15
+ schedule(ms) {
16
+ const timer = setTimeout(() => this.fire(), ms);
17
+ if (this.unref) {
18
+ timer.unref?.();
19
+ }
20
+ return timer;
9
21
  }
10
22
  trigger(task) {
11
23
  this.task = task;
@@ -15,33 +27,41 @@ export class Delayer {
15
27
  if (this.pending === undefined) {
16
28
  const { promise, resolve, reject } = Promise.withResolvers();
17
29
  this.pending = { promise, resolve, reject };
30
+ if (this.maxWaitMs !== undefined) {
31
+ this.ceiling = this.schedule(this.maxWaitMs);
32
+ }
18
33
  }
19
34
  const pending = this.pending;
20
- this.handle = setTimeout(() => {
21
- this.handle = undefined;
22
- this.pending = undefined;
23
- const run = this.task;
24
- this.task = undefined;
25
- if (run === undefined) {
26
- return;
27
- }
28
- try {
29
- pending.resolve(run());
30
- }
31
- catch (error) {
32
- pending.reject(error);
33
- }
34
- }, this.delay);
35
+ this.handle = this.schedule(this.delay);
35
36
  return pending.promise;
36
37
  }
38
+ fire() {
39
+ const pending = this.pending;
40
+ this.clearTimers();
41
+ this.pending = undefined;
42
+ const run = this.task;
43
+ this.task = undefined;
44
+ if (run === undefined || pending === undefined) {
45
+ return;
46
+ }
47
+ try {
48
+ pending.resolve(run());
49
+ }
50
+ catch (error) {
51
+ pending.reject(error);
52
+ }
53
+ }
54
+ clearTimers() {
55
+ clearTimeout(this.handle);
56
+ clearTimeout(this.ceiling);
57
+ this.handle = undefined;
58
+ this.ceiling = undefined;
59
+ }
37
60
  get isPending() {
38
61
  return this.handle !== undefined;
39
62
  }
40
63
  cancel() {
41
- if (this.handle !== undefined) {
42
- clearTimeout(this.handle);
43
- this.handle = undefined;
44
- }
64
+ this.clearTimers();
45
65
  this.pending = undefined;
46
66
  this.task = undefined;
47
67
  }
@@ -186,26 +206,31 @@ export const withDeadline = async (task, ms, options) => {
186
206
  const cut = new Promise((_resolve, reject) => {
187
207
  timer = setTimeout(() => {
188
208
  const error = new TimeoutError(options?.message ?? `timed out after ${ms}ms`);
189
- deadline.abort(error);
190
209
  reject(error);
210
+ deadline.abort(error);
191
211
  }, ms);
192
212
  unsubscribe = whenAborted(options?.signal, () => reject(options?.signal?.reason));
193
213
  });
214
+ cut.catch(() => { });
215
+ const work = (async () => task(signal))();
194
216
  try {
195
- return await Promise.race([task(signal), cut]);
217
+ return await Promise.race([cut, work]);
196
218
  }
197
219
  finally {
198
220
  clearTimeout(timer);
199
221
  unsubscribe();
200
222
  }
201
223
  };
202
- export const within = async (promise, ms, fallback) => {
224
+ export const within = async (work, ms, fallback, options) => {
203
225
  let timer;
204
226
  try {
205
227
  return await Promise.race([
206
- promise,
228
+ work instanceof Promise ? work : Promise.resolve().then(work),
207
229
  new Promise((resolve) => {
208
230
  timer = setTimeout(() => resolve(fallback), ms);
231
+ if (options?.unref === true) {
232
+ timer.unref?.();
233
+ }
209
234
  }),
210
235
  ]);
211
236
  }
@@ -268,6 +293,81 @@ export class Latest {
268
293
  this.abort();
269
294
  }
270
295
  }
296
+ export const startPeriodic = ({ warmupMs, everyMs, run, signal, onError }) => {
297
+ const stop = new AbortController();
298
+ let current;
299
+ let warmup;
300
+ let interval;
301
+ const runNow = () => {
302
+ if (current !== undefined) {
303
+ return current;
304
+ }
305
+ if (stop.signal.aborted) {
306
+ return Promise.resolve();
307
+ }
308
+ let begun;
309
+ try {
310
+ begun = Promise.resolve(run(stop.signal));
311
+ }
312
+ catch (error) {
313
+ begun = Promise.reject(error);
314
+ }
315
+ const started = begun.finally(() => {
316
+ if (current === started) {
317
+ current = undefined;
318
+ }
319
+ });
320
+ current = started;
321
+ return started;
322
+ };
323
+ const tick = () => {
324
+ if (current !== undefined) {
325
+ return;
326
+ }
327
+ const started = runNow();
328
+ if (onError !== undefined) {
329
+ started.catch(onError);
330
+ }
331
+ else {
332
+ void started;
333
+ }
334
+ };
335
+ const unref = (timer) => {
336
+ timer.unref?.();
337
+ };
338
+ const begin = () => {
339
+ warmup = undefined;
340
+ tick();
341
+ interval = setInterval(tick, everyMs);
342
+ unref(interval);
343
+ };
344
+ const dispose = () => {
345
+ clearTimeout(warmup);
346
+ clearInterval(interval);
347
+ warmup = undefined;
348
+ interval = undefined;
349
+ stop.abort();
350
+ unsubscribe();
351
+ };
352
+ const unsubscribe = whenAborted(signal, dispose);
353
+ if (!stop.signal.aborted) {
354
+ if (warmupMs === 0) {
355
+ begin();
356
+ }
357
+ else {
358
+ warmup = setTimeout(begin, warmupMs ?? everyMs);
359
+ unref(warmup);
360
+ }
361
+ }
362
+ return {
363
+ runNow,
364
+ get running() {
365
+ return current !== undefined;
366
+ },
367
+ dispose,
368
+ };
369
+ };
370
+ const waitOut = (ms, signal) => sleep(ms, { signal });
271
371
  const isAborted = (signal) => signal?.aborted === true;
272
372
  export const retry = async (task, options) => {
273
373
  const { signal } = options;
@@ -279,7 +379,7 @@ export const retry = async (task, options) => {
279
379
  if (attempt >= options.attempts || isAborted(signal)) {
280
380
  throw error;
281
381
  }
282
- await sleep(options.delayMs(attempt), { signal });
382
+ await (options.wait ?? waitOut)(options.delayMs(attempt), signal);
283
383
  if (signal !== undefined && isAborted(signal)) {
284
384
  throw signal.reason;
285
385
  }
@@ -289,11 +389,11 @@ export const retry = async (task, options) => {
289
389
  export const pollFor = async (probe, options) => {
290
390
  const now = options.now ?? Date.now;
291
391
  const { signal } = options;
292
- const wait = () => sleep(Math.max(0, Math.min(options.intervalMs, options.until - now())), { signal });
392
+ const wait = () => (options.wait ?? waitOut)(Math.max(0, Math.min(options.intervalMs, options.until - now())), signal);
293
393
  if (options.delayFirst === true) {
294
394
  await wait();
295
395
  }
296
- for (;;) {
396
+ for (let probes = 1;; probes += 1) {
297
397
  if (isAborted(signal)) {
298
398
  return { kind: `aborted` };
299
399
  }
@@ -315,6 +415,9 @@ export const pollFor = async (probe, options) => {
315
415
  if (value !== undefined) {
316
416
  return { kind: `found`, value };
317
417
  }
418
+ if (probes >= (options.maxProbes ?? Infinity)) {
419
+ return { kind: `expired` };
420
+ }
318
421
  await wait();
319
422
  }
320
423
  };
@@ -349,6 +452,22 @@ export const createBackoff = ({ floorMs, capMs, stableMs, random = Math.random }
349
452
  },
350
453
  };
351
454
  };
455
+ export const retryAfterMs = (source, options) => {
456
+ const value = (source instanceof Headers ? source.get(`retry-after`) : source)?.trim();
457
+ if (value === undefined || value === ``) {
458
+ return undefined;
459
+ }
460
+ const seconds = Number(value);
461
+ let ms;
462
+ if (Number.isFinite(seconds)) {
463
+ ms = seconds >= 0 ? seconds * 1_000 : undefined;
464
+ }
465
+ else {
466
+ const at = Date.parse(value);
467
+ ms = Number.isNaN(at) ? undefined : Math.max(0, at - (options?.now ?? Date.now()));
468
+ }
469
+ return ms === undefined || options?.capMs === undefined ? ms : Math.min(ms, options.capMs);
470
+ };
352
471
  export async function* narrate(run, end) {
353
472
  const queued = [];
354
473
  let wake;
package/dist/async.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"async.js","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"async.js","sourceRoot":"","sources":["../src/async.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAiB3C,MAAM,OAAO,OAAO;IAWK,KAAK;IAVlB,MAAM,CAA4C;IAClD,OAAO,CAA4C;IACnD,OAAO,CAEC;IACR,IAAI,CAAqC;IAChC,SAAS,CAAqB;IAC9B,KAAK,CAAU;IAEhC,YACqB,KAAa,EAC9B,OAA+E;qBAD9D,KAAK;QAGtB,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC;IACzC,CAAC;IAEO,QAAQ,CAAC,EAAU;QACvB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAEZ,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,IAA0B;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAK,CAAC;YAChE,IAAI,CAAC,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC;IAC3B,CAAC;IAGO,IAAI;QACR,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QACD,IAAI,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACL,CAAC;IAEO,WAAW;QACf,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACrC,CAAC;IAID,MAAM;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED,OAAO;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;CACJ;AAID,MAAM,OAAO,SAAS;IAKG,MAAM;IACN,KAAK;IALlB,MAAM,CAA4C;IAClD,KAAK,GAAQ,EAAE,CAAC;IAExB,YACqB,MAAc,EACd,KAAoC;sBADpC,MAAM;qBACN,KAAK;IACvB,CAAC;IAIK,GAAG,GAAG,CAAC,GAAG,KAAmB,EAAQ,EAAE;QAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAChB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;IACrC,CAAC;IAGD,QAAQ;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO;QACX,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;IACpB,CAAC;CACJ;AAID,MAAM,OAAO,YAAY;IACJ,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;IAEpD,GAAG,CAAC,GAAM,EAAE,IAAsB;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QACpB,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;YAEhC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC;gBACpC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACnB,CAAC;IAID,MAAM,CAAC,GAAM;QACT,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC7B,CAAC;IAGD,OAAO;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;CACJ;AAGD,MAAM,CAAC,MAAM,SAAS,GAAG,GAA2D,EAAE;IAClF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QACjB,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAEpE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrB,KAAK,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;YAChB,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IAChB,CAAC,CAAC;AACN,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,UAAU,GAAG,GAAgD,EAAE;IACxE,MAAM,IAAI,GAAG,SAAS,EAAa,CAAC;IACpC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC3C,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAK,KAAmB,EAAE,KAAa,EAAE,IAAgC,EAAiB,EAAE;IACpH,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;QACrC,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,KAAK,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAEtE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;QACrB,CAAC;IACL,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;AACrF,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,OAAiF,EAAiB,EAAE,CAClI,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;IACpB,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;IAC/B,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,EAAE,CAAC;QACV,OAAO;IACX,CAAC;IACD,MAAM,IAAI,GAAG,GAAS,EAAE;QACpB,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC;IACd,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACnC,IAAI,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;QACzB,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAC5D,CAAC,CAAC,CAAC;AAKP,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAK,OAAmB,EAAE,EAAU,EAAE,OAAO,GAAG,mBAAmB,EAAE,IAAI,EAAc,EAAE;IACrH,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACtB,OAAO;YACP,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;gBACpC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,OAAO,YAAa,SAAQ,KAAK;IACjB,IAAI,GAAG,cAAc,CAAC;CAC3C;AAMD,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAC7B,IAAyC,EACzC,EAAU,EACV,OAAkF,EACxE,EAAE;IACZ,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,IAAI,KAAgD,CAAC;IACrD,IAAI,WAAW,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IACjC,MAAM,GAAG,GAAG,IAAI,OAAO,CAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE;QAChD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,IAAI,CAAC,CAAC;YAG9E,MAAM,CAAC,KAAK,CAAC,CAAC;YACd,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC,CAAC,CAAC;IAGH,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAEpB,MAAM,IAAI,GAAG,CAAC,KAAK,IAAgB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IACtD,IAAI,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,WAAW,EAAE,CAAC;IAClB,CAAC;AACL,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EACvB,IAAyC,EACzC,EAAU,EACV,QAAW,EACX,OAAsC,EACxB,EAAE;IAChB,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACtB,IAAI,YAAY,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7D,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;gBACvB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;gBAChD,IAAI,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;oBACzB,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;gBAChD,CAAC;YACL,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QACP,YAAY,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACL,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAQ,OAAmB,EAAE,MAA+B,EAAE,QAAW,EAAkB,EAAE;IAC3H,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,IAAI,WAAW,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;IACjC,IAAI,CAAC;QACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC;YACtB,OAAO;YACP,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;gBACvB,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC/D,CAAC,CAAC;SACL,CAAC,CAAC;IACP,CAAC;YAAS,CAAC;QACP,WAAW,EAAE,CAAC;IAClB,CAAC;AACL,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAG,OAA6C,EAAe,EAAE;IACvF,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAyB,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACxF,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;IACvB,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACxF,CAAC,CAAC;AAMF,MAAM,OAAO,MAAM;IACP,UAAU,CAA8B;IACxC,MAAM,CAA0B;IAGxC,IAAI,CAAC,MAAoB;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAGD,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAGD,SAAS,CAAC,MAAmB;QACzB,OAAO,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IACrD,CAAC;IAGD,KAAK;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,UAAU,EAAE,KAAK,EAAE,CAAC;IACxB,CAAC;IAGD,IAAI,CAAC,MAAmB;QACpB,IAAI,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QAC5B,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;IACjB,CAAC;CACJ;AA0BD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAmB,EAAY,EAAE;IACpG,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;IACnC,IAAI,OAAkC,CAAC;IACvC,IAAI,MAAiD,CAAC;IACtD,IAAI,QAAoD,CAAC;IACzD,MAAM,MAAM,GAAG,GAAkB,EAAE;QAC/B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;QAC7B,CAAC;QAGD,IAAI,KAAoB,CAAC;QACzB,IAAI,CAAC;YACD,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,MAAM,OAAO,GAAkB,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;YAC9C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;gBACtB,OAAO,GAAG,SAAS,CAAC;YACxB,CAAC;QACL,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,OAAO,CAAC;QAClB,OAAO,OAAO,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAS,EAAE;QACpB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACJ,KAAK,OAAO,CAAC;QACjB,CAAC;IACL,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,KAAoC,EAAQ,EAAE;QAExD,KAAgC,CAAC,KAAK,EAAE,EAAE,CAAC;IAChD,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAS,EAAE;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,IAAI,EAAE,CAAC;QACP,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAS,EAAE;QACvB,YAAY,CAAC,MAAM,CAAC,CAAC;QACrB,aAAa,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,GAAG,SAAS,CAAC;QACnB,QAAQ,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,WAAW,EAAE,CAAC;IAClB,CAAC,CAAC;IACF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;YACjB,KAAK,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,QAAQ,IAAI,OAAO,CAAC,CAAC;YAChD,KAAK,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC;IACL,CAAC;IACD,OAAO;QACH,MAAM;QACN,IAAI,OAAO;YACP,OAAO,OAAO,KAAK,SAAS,CAAC;QACjC,CAAC;QACD,OAAO;KACV,CAAC;AACN,CAAC,CAAC;AAcF,MAAM,OAAO,GAAG,CAAC,EAAU,EAAE,MAA+B,EAAiB,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AAGtG,MAAM,SAAS,GAAG,CAAC,MAA+B,EAAW,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;AAMzF,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAK,IAAqC,EAAE,OAAqB,EAAc,EAAE;IACvG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnD,MAAM,KAAK,CAAC;YAChB,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;YAClE,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;gBAE5C,MAAM,MAAM,CAAC,MAAM,CAAC;YACxB,CAAC;QACL,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AA0BF,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAK,KAAmC,EAAE,OAAuB,EAA2B,EAAE;IACtH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,MAAM,IAAI,GAAG,GAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACtI,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC;IACD,KAAK,IAAI,MAAM,GAAG,CAAC,GAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QACjC,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACzB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,KAAoB,CAAC;QACzB,IAAI,CAAC;YAED,KAAK,GAAG,MAAM,KAAK,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACpC,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AAeF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,KAAuC,EAAE,OAAoB,EAAoB,EAAE;IAC/G,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAC3C,SAAS,CAAC;QAEN,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,EAAE,IAAI,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;QAEpB,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAwBF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,EAAkB,EAAW,EAAE;IACzG,IAAI,IAAI,GAAG,OAAO,CAAC;IACnB,OAAO;QACH,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE;YACf,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAC3E,IAAI,GAAG,OAAO,CAAC;YACnB,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1C,IAAI,GAAG,OAAO,CAAC;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,EAAE,GAAG,EAAE;YACR,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GAAG,CACxB,MAA2C,EAC3C,OAA4D,EAC1C,EAAE;IACpB,MAAM,KAAK,GAAG,CAAC,MAAM,YAAY,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;IACvF,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,EAAsB,CAAC;IAC3B,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,EAAE,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;SAAM,CAAC;QACJ,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7B,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,EAAE,KAAK,SAAS,IAAI,OAAO,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAC/F,CAAC,CAAC;AASF,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,CAC1B,GAAuD,EACvD,GAAsH;IAEtH,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,IAA8B,CAAC;IACnC,MAAM,KAAK,GAAG,GAAS,EAAE;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC;QACrB,IAAI,GAAG,SAAS,CAAC;QACjB,OAAO,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC;IACF,IAAI,OAAkH,CAAC;IACvH,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClB,KAAK,EAAE,CAAC;IACZ,CAAC,CAAC;SACG,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAU,CAAC;SAC/C,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAU,CAAC;SAC/E,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACd,OAAO,GAAG,OAAO,CAAC;QAClB,KAAK,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;IAEP,SAAS,CAAC;QACN,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACnC,SAAS;QACb,CAAC;QAED,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM;QACV,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAChC,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IACD,MAAM,QAAQ,CAAC;IACf,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC;AAID,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAA+B,EAAE,OAAmB,EAAgB,EAAE;IAC9F,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,GAAS,EAAE,GAAE,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;QACV,OAAO,GAAS,EAAE,GAAE,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,OAAO,GAAS,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AACpE,CAAC,CAAC;AAsBF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAgB,EAAiB,EAAE;IACvG,MAAM,KAAK,GAAQ,EAAE,CAAC;IACtB,IAAI,IAA8B,CAAC;IACnC,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,MAAM,KAAK,GAAG,GAAS,EAAE;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC;QACpB,IAAI,GAAG,SAAS,CAAC;QACjB,MAAM,EAAE,EAAE,CAAC;IACf,CAAC,CAAC;IACF,MAAM,GAAG,GAAG,GAAS,EAAE;QACnB,IAAI,GAAG,IAAI,CAAC;QACZ,KAAK,EAAE,CAAC;IACZ,CAAC,CAAC;IACF,OAAO;QACH,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE;YACZ,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,KAAK,EAAE,CAAC;QACZ,CAAC;QACD,KAAK,CAAC,CAAC,KAAK;YACR,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAClF,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC;gBACD,SAAS,CAAC;oBACN,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAEnB,MAAM,KAAK,CAAC,KAAK,EAAO,CAAC;wBACzB,SAAS;oBACb,CAAC;oBACD,IAAI,IAAI,EAAE,CAAC;wBACP,MAAM;oBACV,CAAC;oBACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACvB,WAAW,EAAE,CAAC;YAClB,CAAC;QACL,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
package/dist/format.d.ts CHANGED
@@ -4,7 +4,7 @@ export declare const tokensOfChars: (chars: number) => number;
4
4
  export declare const estimateTokens: (text: string) => number;
5
5
  export declare const charsOfTokens: (tokens: number) => number;
6
6
  export declare const plural: (count: number, one: string, many?: string) => string;
7
- export declare const escapeHtml: (text: string) => string;
7
+ export { escapeHtml } from "./text/escape.js";
8
8
  export declare const clamp: (value: number, min: number, max: number) => number;
9
9
  export declare const briefDuration: (seconds: number) => string;
10
10
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAGzC,CAAC;AAKF,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAA4C,CAAC;AAC3F,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,MAAoC,CAAC;AAEnF,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAkC,CAAC;AAIlF,eAAO,MAAM,MAAM,UAAW,MAAM,OAAO,MAAM,SAAS,MAAM,KAAG,MACkC,CAAC;AAMtG,eAAO,MAAM,UAAU,SAAU,MAAM,KAAG,MAAmE,CAAC;AAG9G,eAAO,MAAM,KAAK,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAA6C,CAAC;AAI9G,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAA0E,CAAC"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAGzC,CAAC;AAKF,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,aAAa,UAAW,MAAM,KAAG,MAA4C,CAAC;AAC3F,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,MAAoC,CAAC;AAEnF,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAkC,CAAC;AAIlF,eAAO,MAAM,MAAM,UAAW,MAAM,OAAO,MAAM,SAAS,MAAM,KAAG,MACkC,CAAC;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,eAAO,MAAM,KAAK,UAAW,MAAM,OAAO,MAAM,OAAO,MAAM,KAAG,MAA6C,CAAC;AAI9G,eAAO,MAAM,aAAa,YAAa,MAAM,KAAG,MAA0E,CAAC"}
package/dist/format.js CHANGED
@@ -8,8 +8,7 @@ export const tokensOfChars = (chars) => Math.ceil(chars / CHARS_PER_TOKEN);
8
8
  export const estimateTokens = (text) => tokensOfChars(text.length);
9
9
  export const charsOfTokens = (tokens) => tokens * CHARS_PER_TOKEN;
10
10
  export const plural = (count, one, many) => `${count} ${count === 1 ? one : (many ?? (/(s|x|z|ch|sh)$/.test(one) ? `${one}es` : `${one}s`))}`;
11
- const HTML_ENTITIES = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
12
- export const escapeHtml = (text) => text.replace(/[&<>"']/g, (ch) => HTML_ENTITIES[ch] ?? ch);
11
+ export { escapeHtml } from "./text/escape.js";
13
12
  export const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
14
13
  export const briefDuration = (seconds) => (seconds < 120 ? `${seconds}s` : `${Math.round(seconds / 60)}m`);
15
14
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAK3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9G,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1F,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC;AAIlF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAa,EAAU,EAAE,CACxE,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAEtG,MAAM,aAAa,GAA2B,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAItH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAG9G,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAI9G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAK3C,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;IAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9G,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;AAC1F,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,GAAG,eAAe,CAAC;AAIlF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,IAAa,EAAU,EAAE,CACxE,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;AAGtG,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAI9G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC"}
package/dist/fuzzy.js CHANGED
@@ -28,7 +28,7 @@ export const fuzzyScore = (needle, path) => {
28
28
  return substringScore(h, at);
29
29
  }
30
30
  const raw = subsequenceScore(n, h, path);
31
- return raw === undefined ? undefined : (raw / (n.length * 2.4)) * 0.7 * Math.min(1, 20 / Math.max(20, h.length - n.length));
31
+ return raw === undefined ? undefined : (raw / (n.length * 2.4)) * 0.7 * (20 / Math.max(20, h.length - n.length));
32
32
  };
33
33
  export const rankByFuzzy = (needle, paths) => {
34
34
  const scored = [];
package/dist/fuzzy.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fuzzy.js","sourceRoot":"","sources":["../src/fuzzy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fuzzy.js","sourceRoot":"","sources":["../src/fuzzy.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/git/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAMzD,eAAO,MAAM,OAAO,QAAe,MAAM,mBAAmB,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,IAAI,CAO7G,CAAC;AAEF,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACpC;AAID,eAAO,MAAM,QAAQ,cACN,MAAM,QACX,MAAM,YACF,MAAM,YACN,eAAe,QACpB,SAAS,KACf,OAAO,CAAC,IAAI,CAgBd,CAAC;AAQF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,SAAS,CAM3F,CAAC;AAIF,eAAO,MAAM,WAAW,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,IAAI,CAQxF,CAAC;AAIF,eAAO,MAAM,YAAY,QAChB,MAAM,WACF,MAAM,UACP;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,QACpD,SAAS,KACf,OAAO,CAAC,OAAO,CASjB,CAAC;AAGF,eAAO,MAAM,WAAW,QAAe,MAAM,OAAO,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,IAAI,CAErG,CAAC;AAGF,eAAO,MAAM,OAAO,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,MAAM,CACnB,CAAC;AAIrE,eAAO,MAAM,WAAW,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,MAAM,CAA0D,CAAC;AAGtJ,eAAO,MAAM,YAAY,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,MAAM,EAAE,CAIxD,CAAC;AAEvC,MAAM,MAAM,aAAa,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAIvC,eAAO,MAAM,OAAO,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,aAAa,CA2B7F,CAAC"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/git/commands.ts"],"names":[],"mappings":"AAGA,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAMzD,eAAO,MAAM,OAAO,QAAe,MAAM,mBAAmB,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,IAAI,CAO7G,CAAC;AAEF,MAAM,WAAW,eAAe;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CACpC;AAID,eAAO,MAAM,QAAQ,cACN,MAAM,QACX,MAAM,YACF,MAAM,YACN,eAAe,QACpB,SAAS,KACf,OAAO,CAAC,IAAI,CAgBd,CAAC;AAUF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAExB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,SAAS,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,SAAS,CAM3F,CAAC;AAIF,eAAO,MAAM,WAAW,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,IAAI,CAQxF,CAAC;AAIF,eAAO,MAAM,YAAY,QAChB,MAAM,WACF,MAAM,UACP;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,QACpD,SAAS,KACf,OAAO,CAAC,OAAO,CASjB,CAAC;AAGF,eAAO,MAAM,WAAW,QAAe,MAAM,OAAO,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,IAAI,CAErG,CAAC;AAGF,eAAO,MAAM,OAAO,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,MAAM,CACnB,CAAC;AAIrE,eAAO,MAAM,WAAW,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,MAAM,CAA0D,CAAC;AAGtJ,eAAO,MAAM,YAAY,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,MAAM,EAAE,CAIxD,CAAC;AAEvC,MAAM,MAAM,aAAa,GACnB;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9E;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC;AAIvC,eAAO,MAAM,OAAO,QAAe,MAAM,QAAO,SAAS,KAAgB,OAAO,CAAC,aAAa,CA2B7F,CAAC"}
@@ -23,8 +23,8 @@ export const gitClone = async (parentDir, name, cloneUrl, options, git = default
23
23
  };
24
24
  const porcelainFiles = (stdout) => stdout
25
25
  .split("\n")
26
- .map((line) => line.trim())
27
- .filter((line) => line !== "");
26
+ .map((line) => line.replace(/\r$/, ""))
27
+ .filter((line) => line.trim() !== "");
28
28
  export const gitStatus = async (dir, git = defaultGit) => {
29
29
  const [branchOut, statusOut] = await Promise.all([git(dir, ["rev-parse", "--abbrev-ref", "HEAD"]), git(dir, ["status", "--porcelain"])]);
30
30
  const branch = branchOut.stdout.trim();