@mx-space/cli 0.12.1 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -447,6 +447,65 @@ echo '{"a":1}' | mxs snippet create --name config
447
447
  mxs snippet edit web/theme
448
448
  ```
449
449
 
450
+ ## AI
451
+
452
+ Manage AI artifacts (summary, translation, insights) produced by the core AI module. Article references accept Snowflake id, post slug, or note nid — the CLI resolves to an article id via post-then-note lookup. Record references (`<recordId>`) are raw Snowflakes.
453
+
454
+ Generate verbs (`summary regen`, `translate run`, `insights refresh`) enqueue a task on the server, then poll `GET /tasks/:id` until the task reaches a terminal status (`completed`, `partial_failed`, `failed`, `cancelled`). Progress lines write to stderr. Pass `--no-wait` to return immediately with `status: pending` after the task is created. If the server reports `created: false`, an in-flight deduplicated task already exists and the CLI joins it instead of erroring. The polling cadence is 1000 ms by default; override via `MXS_AI_POLL_MS=<n>` for tests.
455
+
456
+ ### Summary
457
+
458
+ | Command | Description |
459
+ | -------------------------------------------------- | ----------------------------------------------------------------- |
460
+ | `mxs ai summary regen <id> [--to <lang>...]` | Regenerate an article's summary (optionally for given languages). |
461
+ | `mxs ai summary list [--page <n>] [--size <n>] [--grouped]` | List summaries (flat or grouped by article). |
462
+ | `mxs ai summary get <recordId>` | Get one summary by record id. |
463
+ | `mxs ai summary by-article <id> [--lang <l>] [--only-db]` | Show an article's summary; `--only-db` skips auto-generate. |
464
+ | `mxs ai summary edit <recordId>` | Edit the `summary` field via `$EDITOR` (JSON envelope). |
465
+ | `mxs ai summary delete <recordId> [--force]` | Delete a summary record. |
466
+
467
+ ### Translate
468
+
469
+ | Command | Description |
470
+ | -------------------------------------------------------- | ------------------------------------------------------------- |
471
+ | `mxs ai translate run <id> --to <lang>... [--no-wait]` | Translate an article into one or more languages (`--to` required, repeatable). |
472
+ | `mxs ai translate list [--page <n>] [--size <n>]` | List translations (always grouped by article — no flat list server-side). |
473
+ | `mxs ai translate get <recordId>` | Get one translation by record id. |
474
+ | `mxs ai translate by-article <id> [--lang <l>]` | Show an article's translations (single lang or all). |
475
+ | `mxs ai translate languages <id>` | List languages an article has been translated into. |
476
+ | `mxs ai translate edit <recordId>` | Edit translation fields via `$EDITOR` (JSON envelope). |
477
+ | `mxs ai translate delete <recordId> [--force]` | Delete a translation record. |
478
+
479
+ ### Translation Entries
480
+
481
+ The i18n dictionary entries layer used by category / topic / note metadata. `--key-path` accepts only the server-validated set: `category.name`, `topic.name`, `topic.introduce`, `topic.description`, `note.mood`, `note.weather`.
482
+
483
+ | Command | Description |
484
+ | ----------------------------------------------------------------------------- | ------------------------------------------------------ |
485
+ | `mxs ai translate entries list [--page <n>] [--size <n>] [--key-path <p>] [--lang <l>]` | List entries with optional filters. |
486
+ | `mxs ai translate entries generate [--key-path <p>...] [--to <lang>...]` | Trigger regeneration of entries. |
487
+ | `mxs ai translate entries edit <recordId>` | Edit `translatedText` via `$EDITOR` (JSON envelope). |
488
+ | `mxs ai translate entries delete <recordId> [--force]` | Delete an entry. |
489
+
490
+ ### Insights
491
+
492
+ | Command | Description |
493
+ | ------------------------------------------------------ | ------------------------------------------------------------------- |
494
+ | `mxs ai insights refresh <id> [--no-wait]` | Refresh AI insights for an article. |
495
+ | `mxs ai insights list [--page <n>] [--size <n>] [--grouped]` | List insights (flat or grouped by article). |
496
+ | `mxs ai insights get <recordId>` | Get one insights record by record id. |
497
+ | `mxs ai insights by-article <id> [--lang <l>] [--only-db]` | Show an article's insights; `--only-db` skips auto-generate. |
498
+ | `mxs ai insights edit <recordId>` | Edit the `content` field via `$EDITOR` (JSON envelope). |
499
+ | `mxs ai insights delete <recordId> [--force]` | Delete an insights record. |
500
+
501
+ ```bash
502
+ mxs ai summary regen my-post --to en --to ja
503
+ mxs ai translate run my-post --to en
504
+ mxs ai insights refresh my-post
505
+ mxs ai summary list --grouped
506
+ mxs ai translate languages my-post
507
+ ```
508
+
450
509
  ## Configuration
451
510
 
452
511
  | Command | Description |
package/ROADMAP.md CHANGED
@@ -24,15 +24,18 @@
24
24
 
25
25
  State map: `unread=0`, `read=1`, `junk=2`. Routes single-id verbs through the server's batch endpoints (`PATCH /comments/batch/state`, `DELETE /comments/batch`) for one unified path.
26
26
 
27
- ## v2 AI
27
+ ## Shipped in v0.13
28
28
 
29
- > **Note (v0.3):** Service interface placeholders for AI, Backup, and Cache are reserved in `src/services/{Ai,Backup,Cache}.ts` and threaded through the layer composition. Implementation is pending.
29
+ - `mxs ai` full management surface for AI artifacts.
30
+ - `mxs ai summary {regen,list,get,by-article,edit,delete}`
31
+ - `mxs ai translate {run,list,get,by-article,languages,edit,delete}`
32
+ - `mxs ai translate entries {list,generate,edit,delete}`
33
+ - `mxs ai insights {refresh,list,get,by-article,edit,delete}`
34
+ - Generate verbs enqueue a task on the server and poll `GET /tasks/:id` until terminal; `--no-wait` returns the `taskId` immediately. Dedup-aware: `created: false` joins the in-flight task.
30
35
 
31
- - AI module commands
32
- - `mxs ai summary regen <id>`
33
- - `mxs ai translate <id> --to <locale>`
34
- - `mxs ai insights refresh`
35
- - `mxs ai tokens`
36
+ ## v2 — AI tokens / usage
37
+
38
+ - `mxs ai tokens` aggregate `totalCost` and `totalTokens` across recent AI tasks. Pending a final decision on client-side aggregation vs. a dedicated `/ai/usage` endpoint on the server.
36
39
 
37
40
  ## v3
38
41
 
package/dist/bin/mxs.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import { t as run } from "../mxs-PcmoYdgj.mjs";
2
+ import { t as run } from "../mxs-PFV8OJ-M.mjs";
3
3
  export { run };
@@ -0,0 +1,2 @@
1
+ import { E as Schema_exports } from "./esm-lpolVSUJ.mjs";
2
+ export { Schema_exports as Schema };
@@ -10390,7 +10390,7 @@ const liveServices = /*#__PURE__*/ pipe(/*#__PURE__*/ empty$24(), /*#__PURE__*/
10390
10390
  */
10391
10391
  const currentServices = /*#__PURE__*/ globalValue(/*#__PURE__*/ Symbol.for("effect/DefaultServices/currentServices"), () => fiberRefUnsafeMakeContext(liveServices));
10392
10392
  /** @internal */
10393
- const sleep$2 = (duration) => {
10393
+ const sleep$3 = (duration) => {
10394
10394
  const decodedDuration = decode$4(duration);
10395
10395
  return clockWith((clock) => clock.sleep(decodedDuration));
10396
10396
  };
@@ -11860,7 +11860,7 @@ const matchSimple = (concurrency, sequential, concurrent) => {
11860
11860
  * @since 2.0.0
11861
11861
  * @category constructors
11862
11862
  */
11863
- const sleep$1 = sleep$2;
11863
+ const sleep$2 = sleep$3;
11864
11864
  /**
11865
11865
  * @since 2.0.0
11866
11866
  * @category constructors
@@ -12037,7 +12037,7 @@ const provideService$1 = /*#__PURE__*/ dual(3, (self, tag, service) => contextWi
12037
12037
  const provideServiceEffect = /*#__PURE__*/ dual(3, (self, tag, effect) => contextWithEffect$1((env) => flatMap$6(effect, (service) => provideContext$1(self, pipe(env, add$2(tag, service))))));
12038
12038
  const repeatN$1 = /*#__PURE__*/ dual(2, (self, n) => suspend$8(() => repeatNLoop(self, n)));
12039
12039
  const repeatNLoop = (self, n) => flatMap$6(self, (a) => n <= 0 ? succeed$8(a) : zipRight$3(yieldNow$2(), repeatNLoop(self, n - 1)));
12040
- const sleep = sleep$1;
12040
+ const sleep$1 = sleep$2;
12041
12041
  const succeedNone = /*#__PURE__*/ succeed$8(/*#__PURE__*/ none$4());
12042
12042
  const summarized = /*#__PURE__*/ dual(3, (self, summary, f) => flatMap$6(summary, (start) => flatMap$6(self, (value) => map$7(summary, (end) => [f(start, end), value]))));
12043
12043
  const tapError$1 = /*#__PURE__*/ dual(2, (self, f) => matchCauseEffect$2(self, {
@@ -16347,7 +16347,7 @@ const timeoutFail = /*#__PURE__*/ dual(2, (self, { duration, onTimeout }) => fla
16347
16347
  duration
16348
16348
  })));
16349
16349
  /** @internal */
16350
- const timeoutTo = /*#__PURE__*/ dual(2, (self, { duration, onSuccess, onTimeout }) => fiberIdWith$1((parentFiberId) => uninterruptibleMask$2((restore) => raceFibersWith(restore(self), interruptible$2(sleep(duration)), {
16350
+ const timeoutTo = /*#__PURE__*/ dual(2, (self, { duration, onSuccess, onTimeout }) => fiberIdWith$1((parentFiberId) => uninterruptibleMask$2((restore) => raceFibersWith(restore(self), interruptible$2(sleep$1(duration)), {
16351
16351
  onSelfWin: (winner, loser) => flatMap$6(winner.await, (exit) => {
16352
16352
  if (exit._tag === "Success") return flatMap$6(winner.inheritAll, () => as$1(interruptAsFiber(loser, parentFiberId), onSuccess(exit.value)));
16353
16353
  else return flatMap$6(interruptAsFiber(loser, parentFiberId), () => exitFailCause$1(exit.cause));
@@ -17576,7 +17576,7 @@ var ScheduleDriverImpl = class {
17576
17576
  const millis$1 = start(decision.intervals) - now;
17577
17577
  if (millis$1 <= 0) return setState.pipe(zipRight$3(updateInfo(this.iterationMeta, now, input, out)), as$1(out));
17578
17578
  const duration = millis(millis$1);
17579
- return pipe(setState, zipRight$3(updateInfo(this.iterationMeta, now, input, out)), zipRight$3(sleep(duration)), as$1(out));
17579
+ return pipe(setState, zipRight$3(updateInfo(this.iterationMeta, now, input, out)), zipRight$3(sleep$1(duration)), as$1(out));
17580
17580
  }))))));
17581
17581
  }
17582
17582
  };
@@ -20616,6 +20616,41 @@ const forkIn = forkIn$1;
20616
20616
  */
20617
20617
  const forkScoped = forkScoped$1;
20618
20618
  /**
20619
+ * Suspends the execution of an effect for a specified `Duration`.
20620
+ *
20621
+ * **Details**
20622
+ *
20623
+ * This function pauses the execution of an effect for a given duration. It is
20624
+ * asynchronous, meaning that it does not block the fiber executing the effect.
20625
+ * Instead, the fiber is suspended during the delay period and can resume once
20626
+ * the specified time has passed.
20627
+ *
20628
+ * The duration can be specified using various formats supported by the
20629
+ * `Duration` module, such as a string (`"2 seconds"`) or numeric value
20630
+ * representing milliseconds.
20631
+ *
20632
+ * **Example**
20633
+ *
20634
+ * ```ts
20635
+ * import { Effect } from "effect"
20636
+ *
20637
+ * const program = Effect.gen(function*() {
20638
+ * console.log("Starting task...")
20639
+ * yield* Effect.sleep("3 seconds") // Waits for 3 seconds
20640
+ * console.log("Task completed!")
20641
+ * })
20642
+ *
20643
+ * Effect.runFork(program)
20644
+ * // Output:
20645
+ * // Starting task...
20646
+ * // Task completed!
20647
+ * ```
20648
+ *
20649
+ * @since 2.0.0
20650
+ * @category Delays & Timeouts
20651
+ */
20652
+ const sleep = sleep$1;
20653
+ /**
20619
20654
  * Adds a time limit to an effect, triggering a timeout if the effect exceeds
20620
20655
  * the duration.
20621
20656
  *
@@ -28089,7 +28124,7 @@ const get$2 = (self_) => {
28089
28124
  self.state = stateEmpty;
28090
28125
  return scopeClose(state.scope, exitVoid$1);
28091
28126
  }
28092
- return sleep(self.idleTimeToLive).pipe(interruptible$2, zipRight$3(suspend$8(() => {
28127
+ return sleep$1(self.idleTimeToLive).pipe(interruptible$2, zipRight$3(suspend$8(() => {
28093
28128
  if (self.state._tag === "Acquired" && self.state.refCount === 0) {
28094
28129
  self.state = stateEmpty;
28095
28130
  return scopeClose(state.scope, exitVoid$1);
@@ -37649,4 +37684,4 @@ const unsafeAdd = /*#__PURE__*/ dual((args) => isFiberSet(args[0]), (self, fiber
37649
37684
  */
37650
37685
  const join = (self) => _await(self.deferred);
37651
37686
  //#endregion
37652
- export { drain as $, pipe as $a, reduceRight as $i, uninterruptible as $n, has$4 as $r, either$1 as $t, compose as A, BaseProto as Aa, every$1 as Ai, orElse$3 as An, addFinalizer$1 as Ar, encodeSync as At, ensuring as B, combine$7 as Ba, headNonEmpty$2 as Bi, scoped$3 as Bn, update$1 as Br, async as Bt, Number$ as C, boolean as Ca, isMissingDataOnly as Ci, match$2 as Cn, Error$1 as Cr, currentContext as Ct, String$ as D, merge$3 as Da, contains as Di, onError as Dn, error as Dr, unsafeMake$3 as Dt, Schema_exports as E, left as Ea, appendAll$2 as Ei, negate as En, taggedEnum as Er, get$3 as Et, transform as F, symbolRedactable as Fa, findLast as Fi, retry as Fn, void_$2 as Fr, addFinalizer as Ft, mapError as G, isObject as Ga, make$48 as Gi, sync$1 as Gn, CommitPrototype as Gr, catchIf as Gt, fromChannel as H, string$3 as Ha, isEmptyReadonlyArray as Hi, serviceOption as Hn, allLevels as Hr, catchAll as Ht, make$5 as I, toStringUnknown as Ia, flatMap$8 as Ii, runFork$1 as In, ParentSpan as Ir, all as It, splitLines as J, constFalse as Ja, matchLeft as Ji, tapErrorCause as Jn, isNil as Jr, catchTags as Jt, run as K, isTagged as Ka, map$12 as Ki, tap as Kn, round as Kr, catchSome as Kt, isConfig as L, equals$3 as La, fromIterable$10 as Li, runSync as Ln, get$5 as Lr, annotateLogs as Lt, decodeUnknown as M, NodeInspectSymbol as Ma, filterMap as Mi, provide$1 as Mn, isInterruptedOnly as Mr, _void as Mt, int as N, format$4 as Na, findFirst$1 as Ni, provideService as Nn, fail$7 as Nr, acquireRelease as Nt, TaggedError as O, right as Oa, drop$1 as Oi, onInterrupt as On, log as Or, nominal as Ot, optional as P, redact as Pa, findFirstIndex as Pi, repeatN as Pn, isFailure as Pr, acquireUseRelease$2 as Pt, unwrapScoped as Q, identity as Qa, reduce$7 as Qi, try_ as Qn, get$9 as Qr, dieMessage as Qt, asyncScoped as R, symbol as Ra, getSomes as Ri, runtime as Rn, make$27 as Rr, as as Rt, Literal as S, some$1 as Sa, isConfigError as Si, mapInputContext as Sn, Equivalence$2 as Sr, succeed$1 as St, Record as T, string$2 as Ta, append$2 as Ti, matchEffect as Tn, tagged as Tr, currentTracerEnabled as Tt, fromReadableStream as U, symbol$1 as Ua, isNonEmptyReadonlyArray as Ui, succeed$3 as Un, getOrDefault as Ur, catchAllCause$1 as Ut, fail as V, hash as Va, isArray as Vi, serviceFunctions as Vn, updateAndGet as Vr, cached as Vt, mapChunks as W, hasProperty as Wa, join$3 as Wi, suspend$6 as Wn, updateAs as Wr, catchAllDefect as Wt, transduce as X, constVoid as Xa, of$2 as Xi, tryMap as Xn, empty$19 as Xr, contextWithEffect as Xt, suspend$1 as Y, constUndefined as Ya, matchRight as Yi, timeout as Yn, of as Yr, context as Yt, unwrap as Z, dual as Za, prepend$2 as Zi, tryPromise as Zn, fromIterable$5 as Zr, die as Zt, fromString as _, isSome as _a, Tag as _i, logError as _n, interrupt$1 as _r, effect$1 as _t, make$1 as a, take$3 as aa, fromIterable$6 as ai, filterOrDieMessage as an, when$2 as ar, embedInput as at, Defect as b, none$4 as ba, merge$1 as bi, mapBoth$1 as bn, succeed$4 as br, provideMerge as bt, defaultLogger as c, map$13 as ca, seconds as ci, fnUntraced as cn, zip$1 as cr, fromEffect as ct, get as d, fromNullable as da, of$1 as di, forkScoped as dn, zipWith as dr, write as dt, some as ea, isEmpty$5 as ei, ensuring$4 as en, __commonJSMin as eo, uninterruptibleMask as er, foldLeftChunks as et, make$3 as f, getOrElse as fa, reduce$6 as fi, gen as fn, DeferredTypeId as fr, spaced as ft, when as g, isOption as ga, Reference as gi, locally as gn, failCause$3 as gr, make$10 as gt, value as h, isNone as ha, GenericTag as hi, isEffect as hn, fail$5 as hr, get$1 as ht, isMailbox as i, tailNonEmpty$1 as ia, add as ii, filter$1 as in, useSpan as ir, acquireUseRelease as it, declare as j, Class$5 as ja, filter$4 as ji, orElseFail as jn, isInterrupted as jr, is as jt, Union as k, pipeArguments as ka, empty$26 as ki, orDie as kn, Scope as kr, decodeSync as kt, prettyLoggerDefault as l, filter$5 as la, appendAll$1 as li, forEach$2 as ln, zipLeft as lr, suspend$2 as lt, orElse as m, getOrUndefined as ma, unsafeFromArray as mi, interruptible as mn, complete as mr, updateContext as mt, make as n, span as na, set$4 as ni, failCause$2 as nn, __require as no, unsafeMakeLatch as nr, fromChannel$1 as nt, toChannel as o, unsafeGet$3 as oa, has$5 as oi, flatMap$4 as on, withFiberRuntime as or, ensuring$1 as ot, updateEffect as p, getOrThrow as pa, toArray$1 as pi, ignore as pn, _await as pr, runFork as pt, runCollect as q, globalValue as qa, match$8 as qi, tapError as qn, cons as qr, catchTag as qt, unsafeAdd as r, splitAt as ra, make$39 as ri, failSync as rn, __toESM as ro, unsafeMakeSemaphore as rr, unwrapScoped$1 as rt, unify as s, getEquivalence$5 as sa, remove$1 as si, flatten$3 as sn, withParentSpan as sr, flatMap as st, join as t, sort as ta, make$36 as ti, fail$4 as tn, __exportAll as to, unlessEffect as tr, forEach as tt, withMinimumLogLevel as u, flatMap$9 as ua, map$11 as ui, forkDaemon as un, zipRight$1 as ur, void_ as ut, Cause as v, map$14 as va, get$13 as vi, logWarning as vn, isDone as vr, mergeAll$1 as vt, NumberFromString as w, mapInput as wa, allocate as wi, matchCauseEffect as wn, TaggedError$1 as wr, currentLoggers as wt, Int as x, orElse$5 as xa, omit$3 as xi, mapError$4 as xn, unsafeDone as xr, scoped$2 as xt, Date$ as y, match$9 as ya, getOption$1 as yi, map$3 as yn, make$15 as yr, provide as yt, bufferChunks as z, cached$1 as za, head$2 as zi, scope as zn, set$2 as zr, asVoid as zt };
37687
+ export { drain as $, identity as $a, reduce$7 as $i, try_ as $n, get$9 as $r, either$1 as $t, compose as A, pipeArguments as Aa, empty$26 as Ai, orElse$3 as An, Scope as Ar, encodeSync as At, ensuring as B, cached$1 as Ba, head$2 as Bi, scoped$3 as Bn, set$2 as Br, async as Bt, Number$ as C, some$1 as Ca, isConfigError as Ci, match$2 as Cn, Equivalence$2 as Cr, currentContext as Ct, String$ as D, left as Da, appendAll$2 as Di, onError as Dn, taggedEnum as Dr, unsafeMake$3 as Dt, Schema_exports as E, string$2 as Ea, append$2 as Ei, negate as En, tagged as Er, get$3 as Et, transform as F, redact as Fa, findFirstIndex as Fi, retry as Fn, isFailure as Fr, addFinalizer as Ft, mapError as G, hasProperty as Ga, join$3 as Gi, suspend$6 as Gn, updateAs as Gr, catchIf as Gt, fromChannel as H, hash as Ha, isArray as Hi, serviceOption as Hn, updateAndGet as Hr, catchAll as Ht, make$5 as I, symbolRedactable as Ia, findLast as Ii, runFork$1 as In, void_$2 as Ir, all as It, splitLines as J, globalValue as Ja, match$8 as Ji, tapError as Jn, cons as Jr, catchTags as Jt, run as K, isObject as Ka, make$48 as Ki, sync$1 as Kn, CommitPrototype as Kr, catchSome as Kt, isConfig as L, toStringUnknown as La, flatMap$8 as Li, runSync as Ln, ParentSpan as Lr, annotateLogs as Lt, decodeUnknown as M, Class$5 as Ma, filter$4 as Mi, provide$1 as Mn, isInterrupted as Mr, _void as Mt, int as N, NodeInspectSymbol as Na, filterMap as Ni, provideService as Nn, isInterruptedOnly as Nr, acquireRelease as Nt, TaggedError as O, merge$3 as Oa, contains as Oi, onInterrupt as On, error as Or, nominal as Ot, optional as P, format$4 as Pa, findFirst$1 as Pi, repeatN as Pn, fail$7 as Pr, acquireUseRelease$2 as Pt, unwrapScoped as Q, dual as Qa, prepend$2 as Qi, tryPromise as Qn, fromIterable$5 as Qr, dieMessage as Qt, asyncScoped as R, equals$3 as Ra, fromIterable$10 as Ri, runtime as Rn, get$5 as Rr, as as Rt, Literal as S, orElse$5 as Sa, omit$3 as Si, mapInputContext as Sn, unsafeDone as Sr, succeed$1 as St, Record as T, mapInput as Ta, allocate as Ti, matchEffect as Tn, TaggedError$1 as Tr, currentTracerEnabled as Tt, fromReadableStream as U, string$3 as Ua, isEmptyReadonlyArray as Ui, sleep as Un, allLevels as Ur, catchAllCause$1 as Ut, fail as V, combine$7 as Va, headNonEmpty$2 as Vi, serviceFunctions as Vn, update$1 as Vr, cached as Vt, mapChunks as W, symbol$1 as Wa, isNonEmptyReadonlyArray as Wi, succeed$3 as Wn, getOrDefault as Wr, catchAllDefect as Wt, transduce as X, constUndefined as Xa, matchRight as Xi, timeout as Xn, of as Xr, contextWithEffect as Xt, suspend$1 as Y, constFalse as Ya, matchLeft as Yi, tapErrorCause as Yn, isNil as Yr, context as Yt, unwrap as Z, constVoid as Za, of$2 as Zi, tryMap as Zn, empty$19 as Zr, die as Zt, fromString as _, isOption as _a, Reference as _i, logError as _n, failCause$3 as _r, effect$1 as _t, make$1 as a, tailNonEmpty$1 as aa, add as ai, filterOrDieMessage as an, useSpan as ar, embedInput as at, Defect as b, match$9 as ba, getOption$1 as bi, mapBoth$1 as bn, make$15 as br, provideMerge as bt, defaultLogger as c, getEquivalence$5 as ca, remove$1 as ci, fnUntraced as cn, withParentSpan as cr, fromEffect as ct, get as d, flatMap$9 as da, map$11 as di, forkScoped as dn, zipRight$1 as dr, write as dt, reduceRight as ea, has$4 as ei, ensuring$4 as en, pipe as eo, uninterruptible as er, foldLeftChunks as et, make$3 as f, fromNullable as fa, of$1 as fi, gen as fn, zipWith as fr, spaced as ft, when as g, isNone as ga, GenericTag as gi, locally as gn, fail$5 as gr, make$10 as gt, value as h, getOrUndefined as ha, unsafeFromArray as hi, isEffect as hn, complete as hr, get$1 as ht, isMailbox as i, splitAt as ia, make$39 as ii, filter$1 as in, __toESM as io, unsafeMakeSemaphore as ir, acquireUseRelease as it, declare as j, BaseProto as ja, every$1 as ji, orElseFail as jn, addFinalizer$1 as jr, is as jt, Union as k, right as ka, drop$1 as ki, orDie as kn, log as kr, decodeSync as kt, prettyLoggerDefault as l, map$13 as la, seconds as li, forEach$2 as ln, zip$1 as lr, suspend$2 as lt, orElse as m, getOrThrow as ma, toArray$1 as mi, interruptible as mn, _await as mr, updateContext as mt, make as n, sort as na, make$36 as ni, failCause$2 as nn, __exportAll as no, unlessEffect as nr, fromChannel$1 as nt, toChannel as o, take$3 as oa, fromIterable$6 as oi, flatMap$4 as on, when$2 as or, ensuring$1 as ot, updateEffect as p, getOrElse as pa, reduce$6 as pi, ignore as pn, DeferredTypeId as pr, runFork as pt, runCollect as q, isTagged as qa, map$12 as qi, tap as qn, round as qr, catchTag as qt, unsafeAdd as r, span as ra, set$4 as ri, failSync as rn, __require as ro, unsafeMakeLatch as rr, unwrapScoped$1 as rt, unify as s, unsafeGet$3 as sa, has$5 as si, flatten$3 as sn, withFiberRuntime as sr, flatMap as st, join as t, some as ta, isEmpty$5 as ti, fail$4 as tn, __commonJSMin as to, uninterruptibleMask as tr, forEach as tt, withMinimumLogLevel as u, filter$5 as ua, appendAll$1 as ui, forkDaemon as un, zipLeft as ur, void_ as ut, Cause as v, isSome as va, Tag as vi, logWarning as vn, interrupt$1 as vr, mergeAll$1 as vt, NumberFromString as w, boolean as wa, isMissingDataOnly as wi, matchCauseEffect as wn, Error$1 as wr, currentLoggers as wt, Int as x, none$4 as xa, merge$1 as xi, mapError$4 as xn, succeed$4 as xr, scoped$2 as xt, Date$ as y, map$14 as ya, get$13 as yi, map$3 as yn, isDone as yr, provide as yt, bufferChunks as z, symbol as za, getSomes as zi, scope as zn, make$27 as zr, asVoid as zt };
package/dist/index.d.mts CHANGED
@@ -1493,6 +1493,35 @@ declare class SkillCorpusEmpty extends SkillCorpusEmpty_base<{
1493
1493
  readonly hint?: string;
1494
1494
  readonly cause?: unknown;
1495
1495
  }> {}
1496
+ declare const AiTaskCreateFailed_base: new <A extends Record<string, any> = {}>(args: VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => YieldableError & {
1497
+ readonly _tag: "AiTaskCreateFailed";
1498
+ } & Readonly<A>;
1499
+ declare class AiTaskCreateFailed extends AiTaskCreateFailed_base<{
1500
+ readonly message?: string;
1501
+ readonly details?: unknown;
1502
+ readonly hint?: string;
1503
+ readonly cause?: unknown;
1504
+ }> {}
1505
+ declare const AiTaskFailed_base: new <A extends Record<string, any> = {}>(args: VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => YieldableError & {
1506
+ readonly _tag: "AiTaskFailed";
1507
+ } & Readonly<A>;
1508
+ declare class AiTaskFailed extends AiTaskFailed_base<{
1509
+ readonly message?: string;
1510
+ readonly taskId?: string;
1511
+ readonly status?: string;
1512
+ readonly details?: unknown;
1513
+ readonly hint?: string;
1514
+ }> {}
1515
+ declare const AiRecordNotFound_base: new <A extends Record<string, any> = {}>(args: VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => YieldableError & {
1516
+ readonly _tag: "AiRecordNotFound";
1517
+ } & Readonly<A>;
1518
+ declare class AiRecordNotFound extends AiRecordNotFound_base<{
1519
+ readonly message?: string;
1520
+ readonly kind?: string;
1521
+ readonly ref?: string;
1522
+ readonly details?: unknown;
1523
+ readonly hint?: string;
1524
+ }> {}
1496
1525
  declare const Generic_base: new <A extends Record<string, any> = {}>(args: VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P] }>) => YieldableError & {
1497
1526
  readonly _tag: "Generic";
1498
1527
  } & Readonly<A>;
@@ -1502,7 +1531,7 @@ declare class Generic extends Generic_base<{
1502
1531
  readonly hint?: string;
1503
1532
  readonly cause?: unknown;
1504
1533
  }> {}
1505
- type CliError = AuthMissing | AuthExpired | AuthDenied | AuthProbe | NetworkTimeout | NetworkDns | NetworkRefused | ValidationFailed | ValidationXml | ValidationJson | ServerError | ResourceNotFound | ConfigMissingApiUrl | ConfigMissingToken | ConfigMigrationFailed | ProfileNotFound | ProfileNoneActive | ProfileInvalidName | WriteRequiresExplicit | UpdateDevEnvironment | UpdateTransientInstall | UpdatePmUnknown | UpdateRegistryUnreachable | UpdateNodeIncompatible | UpdateSpawnFailed | UpdatePermissionDenied | ArgvParse | ChapterNotFound | SkillCorpusEmpty | Generic;
1534
+ type CliError = AuthMissing | AuthExpired | AuthDenied | AuthProbe | NetworkTimeout | NetworkDns | NetworkRefused | ValidationFailed | ValidationXml | ValidationJson | ServerError | ResourceNotFound | ConfigMissingApiUrl | ConfigMissingToken | ConfigMigrationFailed | ProfileNotFound | ProfileNoneActive | ProfileInvalidName | WriteRequiresExplicit | UpdateDevEnvironment | UpdateTransientInstall | UpdatePmUnknown | UpdateRegistryUnreachable | UpdateNodeIncompatible | UpdateSpawnFailed | UpdatePermissionDenied | ArgvParse | ChapterNotFound | SkillCorpusEmpty | AiTaskCreateFailed | AiTaskFailed | AiRecordNotFound | Generic;
1506
1535
  type CliErrorTag = CliError['_tag'];
1507
1536
  declare const tagToCode: Record<CliErrorTag, string>;
1508
1537
  declare const codeForTag: (tag: CliErrorTag) => string;
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as defaultMessageFor, c as tagToCode, i as codeForTag, l as toErrorEnvelope, n as defaultGlobalFlags, o as exitCodeForError, r as parseGlobalFlags, s as exitCodeForTag, t as run } from "./mxs-PcmoYdgj.mjs";
1
+ import { a as defaultMessageFor, c as tagToCode, i as codeForTag, l as toErrorEnvelope, n as defaultGlobalFlags, o as exitCodeForError, r as parseGlobalFlags, s as exitCodeForTag, t as run } from "./mxs-PFV8OJ-M.mjs";
2
2
  export { codeForTag, defaultGlobalFlags, defaultMessageFor, exitCodeForError, exitCodeForTag, parseGlobalFlags, run, tagToCode, toErrorEnvelope };