@kitman-sh/cli 0.10.73 → 0.10.75

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 (26) hide show
  1. package/dist/{chunk-h89p59p6.js → chunk-0e3t90fs.js} +8 -8
  2. package/dist/{chunk-tkmp48ha.js → chunk-1zt1yeme.js} +4 -4
  3. package/dist/{chunk-cmatdpfy.js → chunk-3teaa3qx.js} +3 -3
  4. package/dist/{chunk-rrnee9mk.js → chunk-545b129z.js} +38 -5
  5. package/dist/{chunk-q3c7vmby.js → chunk-76ctrqm6.js} +1 -1
  6. package/dist/{chunk-0rzh8yfd.js → chunk-89547s8p.js} +647 -75
  7. package/dist/{chunk-1rry0tsn.js → chunk-98sg1yyd.js} +2 -2
  8. package/dist/{chunk-60333x3q.js → chunk-9zd52pda.js} +5 -5
  9. package/dist/{chunk-3edjgnxf.js → chunk-b0cscqbw.js} +25 -3
  10. package/dist/{chunk-9e452fhe.js → chunk-bcbne0ek.js} +51 -6
  11. package/dist/{chunk-4wqjxfbv.js → chunk-e3dmkypq.js} +5 -5
  12. package/dist/{chunk-csbf77zs.js → chunk-e8zm8z3a.js} +4 -4
  13. package/dist/{chunk-zwec6t49.js → chunk-f0stxany.js} +48 -9
  14. package/dist/{chunk-rm83dbpv.js → chunk-fq47a5yd.js} +2 -2
  15. package/dist/{chunk-hr9vd6dj.js → chunk-fqhxxxmp.js} +3 -3
  16. package/dist/{chunk-gxnpdpjz.js → chunk-h3y4z2c0.js} +7 -7
  17. package/dist/{chunk-x1zqfxve.js → chunk-jb01khjp.js} +4 -4
  18. package/dist/{chunk-d3ksv8y1.js → chunk-jbwk6k6m.js} +44 -7
  19. package/dist/{chunk-5n121vsj.js → chunk-p8g8qyev.js} +4 -4
  20. package/dist/{chunk-r8rcfjag.js → chunk-qs6h506g.js} +36 -15
  21. package/dist/{chunk-gmnqchsc.js → chunk-t07tn0ay.js} +4 -4
  22. package/dist/{chunk-t1z7atrq.js → chunk-tv3fkqb9.js} +17 -17
  23. package/dist/{chunk-v01c0k6j.js → chunk-tzz4fv17.js} +1 -1
  24. package/dist/{chunk-dk0ftqwg.js → chunk-xb70ys3n.js} +1 -1
  25. package/dist/index.js +4 -4
  26. package/package.json +1 -1
@@ -14,8 +14,8 @@ import {
14
14
  writeSrtSettings2,
15
15
  srtStepArgv2,
16
16
  srtArgv2
17
- } from "./chunk-dk0ftqwg.js";
18
- import"./chunk-d3ksv8y1.js";
17
+ } from "./chunk-xb70ys3n.js";
18
+ import"./chunk-jbwk6k6m.js";
19
19
  export {
20
20
  compiled2 as compiled,
21
21
  harnessesUnsupportedInSrt2 as harnessesUnsupportedInSrt,
@@ -24,11 +24,11 @@ import {
24
24
  Record,
25
25
  Int,
26
26
  fromJsonString
27
- } from "./chunk-d3ksv8y1.js";
27
+ } from "./chunk-jbwk6k6m.js";
28
28
  import {
29
29
  withDefault,
30
30
  String2
31
- } from "./chunk-dk0ftqwg.js";
31
+ } from "./chunk-xb70ys3n.js";
32
32
  import {
33
33
  digestSha256,
34
34
  digestSha512,
@@ -38,7 +38,7 @@ import {
38
38
  get2,
39
39
  layer4,
40
40
  KitDigest
41
- } from "./chunk-9e452fhe.js";
41
+ } from "./chunk-bcbne0ek.js";
42
42
 
43
43
  // packages/core/src/npm-registry.ts
44
44
  var KitManifest = Struct({
@@ -4,13 +4,13 @@ import {
4
4
  runnerRpcUrl2,
5
5
  makeRunnerRpcClient2,
6
6
  makeProgramRpcClient2
7
- } from "./chunk-5n121vsj.js";
8
- import"./chunk-cmatdpfy.js";
9
- import"./chunk-9e452fhe.js";
10
- import"./chunk-rrnee9mk.js";
11
- import"./chunk-v01c0k6j.js";
12
- import"./chunk-dk0ftqwg.js";
13
- import"./chunk-d3ksv8y1.js";
7
+ } from "./chunk-p8g8qyev.js";
8
+ import"./chunk-3teaa3qx.js";
9
+ import"./chunk-bcbne0ek.js";
10
+ import"./chunk-545b129z.js";
11
+ import"./chunk-tzz4fv17.js";
12
+ import"./chunk-xb70ys3n.js";
13
+ import"./chunk-jbwk6k6m.js";
14
14
  export {
15
15
  makeProgramRpcClient2 as makeProgramRpcClient,
16
16
  makeRunnerRpcClient2 as makeRunnerRpcClient,
@@ -75,10 +75,10 @@ import {
75
75
  toEquivalence,
76
76
  toCodecJson,
77
77
  Json
78
- } from "./chunk-d3ksv8y1.js";
78
+ } from "./chunk-jbwk6k6m.js";
79
79
  import {
80
80
  guard
81
- } from "./chunk-rrnee9mk.js";
81
+ } from "./chunk-545b129z.js";
82
82
  import {
83
83
  currentTimeMillis,
84
84
  WebCrypto,
@@ -105,11 +105,11 @@ import {
105
105
  KitDigest,
106
106
  KitSetup,
107
107
  RunnerRpcError
108
- } from "./chunk-9e452fhe.js";
108
+ } from "./chunk-bcbne0ek.js";
109
109
  import {
110
110
  runForEach,
111
111
  FileSystem
112
- } from "./chunk-dk0ftqwg.js";
112
+ } from "./chunk-xb70ys3n.js";
113
113
 
114
114
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/crypto/internal/webCrypto.js
115
115
  var subtleUnavailable = () => new Error("crypto.subtle is unavailable; browsers expose it only in secure contexts");
@@ -1506,7 +1506,7 @@ var Number2 = /* @__PURE__ */ make((self, that) => {
1506
1506
  return self < that ? -1 : 1;
1507
1507
  });
1508
1508
  var mapInput = /* @__PURE__ */ dual(2, (self, f) => make((b1, b2) => self(f(b1), f(b2))));
1509
- var isGreaterThan = (O) => dual(2, (self, that) => O(self, that) === 1);
1509
+ var isGreaterThan2 = (O) => dual(2, (self, that) => O(self, that) === 1);
1510
1510
  var isLessThanOrEqualTo2 = (O) => dual(2, (self, that) => O(self, that) !== 1);
1511
1511
  var isGreaterThanOrEqualTo2 = (O) => dual(2, (self, that) => O(self, that) !== -1);
1512
1512
  var min3 = (O) => dual(2, (self, that) => self === that || O(self, that) < 1 ? self : that);
@@ -1536,7 +1536,7 @@ var liftThrowable = (f) => (...a) => {
1536
1536
  var map4 = /* @__PURE__ */ dual(2, (self, f) => isNone(self) ? none() : some(f(self.value)));
1537
1537
  var flatMap = /* @__PURE__ */ dual(2, (self, f) => isNone(self) ? none() : f(self.value));
1538
1538
  var toArray = (self) => isNone(self) ? [] : [self.value];
1539
- var filter = /* @__PURE__ */ dual(2, (self, predicate) => isNone(self) ? none() : predicate(self.value) ? some(self.value) : none());
1539
+ var filter2 = /* @__PURE__ */ dual(2, (self, predicate) => isNone(self) ? none() : predicate(self.value) ? some(self.value) : none());
1540
1540
 
1541
1541
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/Context.js
1542
1542
  var ServiceTypeId = "~effect/Context/Service";
@@ -4472,7 +4472,7 @@ var forEachConcurrent = /* @__PURE__ */ iterateConcurrentImpl({
4472
4472
  }
4473
4473
  });
4474
4474
  var filterOrElse = /* @__PURE__ */ dual(3, (self, predicate, orElse) => flatMap2(self, (a) => predicate(a) ? succeed2(a) : orElse(a)));
4475
- var filter3 = /* @__PURE__ */ dual((args) => isIterable(args[0]) && !isEffect2(args[0]), (elements, predicate, options) => map7(forEach2(elements, (a, i) => {
4475
+ var filter = /* @__PURE__ */ dual((args) => isIterable(args[0]) && !isEffect2(args[0]), (elements, predicate, options) => map7(forEach2(elements, (a, i) => {
4476
4476
  const result = predicate(a, i);
4477
4477
  if (typeof result === "boolean") {
4478
4478
  return succeed2(result ? some(a) : none());
@@ -4948,7 +4948,7 @@ var logLevelToOrder = (level) => {
4948
4948
  }
4949
4949
  };
4950
4950
  var LogLevelOrder = /* @__PURE__ */ mapInput(Number2, logLevelToOrder);
4951
- var isLogLevelGreaterThan = /* @__PURE__ */ isGreaterThan(LogLevelOrder);
4951
+ var isLogLevelGreaterThan = /* @__PURE__ */ isGreaterThan2(LogLevelOrder);
4952
4952
  var CurrentLoggers = /* @__PURE__ */ Reference("effect/Logger/CurrentLoggers", {
4953
4953
  defaultValue: () => new Set([defaultLogger, tracerLogger])
4954
4954
  });
@@ -5650,7 +5650,7 @@ var delay = delay2;
5650
5650
  var sleep = sleep2;
5651
5651
  var raceAllFirst = raceAllFirst2;
5652
5652
  var raceFirst = raceFirst2;
5653
- var filter2 = filter3;
5653
+ var filter3 = filter;
5654
5654
  var filterOrFail = filterOrFail2;
5655
5655
  var when = when2;
5656
5656
  var matchCauseEffect = matchCauseEffect2;
@@ -6209,7 +6209,7 @@ function omit2() {
6209
6209
  }
6210
6210
  function withDefault(defaultValue) {
6211
6211
  return transformOptionalEffect((o) => {
6212
- const filtered = filter(o, isNotUndefined);
6212
+ const filtered = filter2(o, isNotUndefined);
6213
6213
  return isSome(filtered) ? succeed6(filtered) : mapEager(defaultValue, some);
6214
6214
  });
6215
6215
  }
@@ -9364,6 +9364,22 @@ function isBase64(annotations) {
9364
9364
  });
9365
9365
  }
9366
9366
  var Finite = /* @__PURE__ */ make17(finite);
9367
+ function makeIsGreaterThan(options) {
9368
+ const gt = isGreaterThan2(options.order);
9369
+ const formatter = options.formatter ?? format;
9370
+ return (exclusiveMinimum, annotations) => {
9371
+ return makeFilter((input) => gt(input, exclusiveMinimum), {
9372
+ expected: `a value greater than ${formatter(exclusiveMinimum)}`,
9373
+ arbitraryConstraint: {
9374
+ order: options.order,
9375
+ minimum: exclusiveMinimum,
9376
+ exclusiveMinimum: true
9377
+ },
9378
+ ...options.annotate?.(exclusiveMinimum),
9379
+ ...annotations
9380
+ });
9381
+ };
9382
+ }
9367
9383
  function makeIsGreaterThanOrEqualTo(options) {
9368
9384
  const gte = isGreaterThanOrEqualTo2(options.order);
9369
9385
  const formatter = options.formatter ?? format;
@@ -9400,6 +9416,23 @@ function encodeNumberPayload(number) {
9400
9416
  }
9401
9417
  return number;
9402
9418
  }
9419
+ var isGreaterThan = /* @__PURE__ */ makeIsGreaterThan({
9420
+ order: Number2,
9421
+ annotate: (exclusiveMinimum) => ({
9422
+ representation: {
9423
+ id: "effect/schema/isGreaterThan",
9424
+ payload: {
9425
+ exclusiveMinimum: encodeNumberPayload(exclusiveMinimum)
9426
+ }
9427
+ },
9428
+ toJsonSchema: () => ({
9429
+ exclusiveMinimum
9430
+ }),
9431
+ toCode: () => ({
9432
+ runtime: `Schema.isGreaterThan(${format(exclusiveMinimum)})`
9433
+ })
9434
+ })
9435
+ });
9403
9436
  var isGreaterThanOrEqualTo = /* @__PURE__ */ makeIsGreaterThanOrEqualTo({
9404
9437
  order: Number2,
9405
9438
  annotate: (minimum) => ({
@@ -9491,6 +9524,9 @@ function makeIsMinLength(minLength, minCodePoints, annotations) {
9491
9524
  ...annotations
9492
9525
  });
9493
9526
  }
9527
+ function isNonEmpty(annotations) {
9528
+ return makeIsMinLength(1, 1, annotations);
9529
+ }
9494
9530
  function isMaxLength(maxLength, annotations) {
9495
9531
  maxLength = normalizeCardinality(maxLength);
9496
9532
  return makeFilter((input) => input.length <= maxLength, {
@@ -9602,6 +9638,7 @@ function isUnique(annotations) {
9602
9638
  ...annotations
9603
9639
  });
9604
9640
  }
9641
+ var NonEmptyString = /* @__PURE__ */ String4.check(/* @__PURE__ */ isNonEmpty());
9605
9642
  var getErrorOptionsKey = (options) => (options?.includeStack === true ? 1 : 0) | (options?.excludeCause === true ? 2 : 0);
9606
9643
  var getErrorOptions = (key) => {
9607
9644
  switch (key) {
@@ -10121,4 +10158,4 @@ var encodePrettyJsonString = encodeEffect(fromJsonString(Json, { space: 2 }));
10121
10158
  var decodeJsonStringSync = decodeUnknownSync(JsonFromString);
10122
10159
  var encodeUnknownJsonStringSync = encodeSync(fromJsonString(Unknown));
10123
10160
 
10124
- export { pipeArguments, dual, identity, constant, constTrue, constFalse, constVoid, pipe, flow, memoize, isString2, isNumber2, isBoolean2, isBigInt2, isSymbol2, isFunction2, isUndefined2, isNotUndefined, isNotNull, isNullish, isObjectOrArray, isObject2, hasProperty, isTagged, isUint8Array, symbol, hash, combine, number, string, structure, array, symbol2, equals, asEquivalence, symbolRedactable, redact, currentFiberTypeId, format, NodeInspectSymbol, toJson, BaseProto, Class, getStackTraceLimit, setStackTraceLimit, assignProperty, args, evaluate, PipeInspectableProto, isExit, causeFail, makePrimitive, exitSucceed, exitFailCause, exitFail, withFiber, Done, Prototype, make14, strictEqual, Tuple, String3, Number2, mapInput, none, some, isNone, isSome, match, getOrElse, orElse, fromNullishOr, fromUndefinedOr, getOrUndefined, liftThrowable, map4, flatMap, toArray, Service2, makeUnsafe4, empty3, make15, add, getOrUndefined2, getOrUndefinedUnsafe, getUnsafe, get4, merge3, Reference, fromInputUnsafe, isFinite, zero, infinity, millis, seconds, minutes, toMillis, min, max, subtract, format2, normalize, succeed, fail3, try_, isResult, isFailure, isSuccess, map5, getOrElse2, getOrThrow, all2, allocate, fromIterable, isArrayNonEmpty, isReadonlyArrayNonEmpty, isCanonicalArrayIndex, getUnsafe2, sort, of, map6, makeEquivalence2, TaggedClass, Error2, TaggedError, encode, DisablePropagation, getCurrentFiber, fiberJoin, fiberInterrupt, succeed2, sync, suspend2, succeedNone, void_, callback2, asSome, andThen, flatMap2, map7, exitInterrupt, exitVoid, exitZipRight, scopeAddFinalizer, scope, onExitPrimitive, onExitUnsafe, uninterruptibleMask, fiberRunIn, makeLatchUnsafe, makeLatch, ClockRef, currentTimeMillis2, ConsoleRef, succeed3, failCause2, fail4, die, interrupt2, void_2, isSuccess2, isFailure2, hasInterrupts, asVoidAll, makeUnsafe5, make16, _await, fail5, interruptWith, isDone, isDoneUnsafe, succeed4, doneUnsafe, TracerTimingEnabled, Scope, makeUnsafe6, provide, addFinalizerExit, addFinalizer, forkUnsafe, close, build, buildWithScope, succeed5, effect, effectContext, effectDiscard, mergeAll, provide2, provideMerge, isCause, isFailReason, isDieReason, fromReasons, fail6, die2, makeFailReason, makeDieReason, hasInterruptsOnly, squash, findError, findErrorOption, hasInterrupts2, interruptors, pretty, isDone2, Done2, done, IllegalArgumentError, UnknownError, reasonAnnotations, Random, catchDone, isDoneCause, filterDone, doneExitFromCause, matchEffect, max2, during, min2, exponential, jittered, spaced, isEffect, all3, findFirst, forEach, whileLoop, promise, tryPromise, succeed6, suspend3, sync2, void_3, undefined_, callback3, never, gen, fail7, failSync, failCause3, die3, try_2, yieldNow, withFiber2, fromResult, fromNullishOr2, flatMap3, flatten, andThen2, tap2, result, option2, exit, map8, as, asSome2, asVoid, zipWith, catch_, catchTag, catchTags, catchReason, catchCause2, catchDefect, catchIf, catchCauseIf, mapError2, orDie, tapError2, tapCause, retry, retryOrElse, ignore, ignoreCause, orElseSucceed, timeout, timeoutOption, timeoutOrElse, delay, sleep, raceAllFirst, raceFirst, filter2, filterOrFail, when, matchCauseEffect, matchEffect2, context, contextWith, provide3, provideContext2, service, serviceOption, updateContext, updateService, provideService, scope2, scoped, scopedWith, acquireRelease, acquireUseRelease, addFinalizer2, ensuring2, onError, onExitPrimitive2, onExit, cached, interrupt3, interruptible, onInterrupt, uninterruptible, uninterruptibleMask2, forever, repeat, annotateCurrentSpan, makeSpanScoped, useSpan, withSpan, withParentSpan, forkChild, forkIn, forkScoped, forkDetach, runFork, runForkWith, runPromise, runPromiseWith, runSync, runSyncExitWith, fnUntraced, fn, clockWith, logWarning, logError, annotateLogs, effectify, mapEager, flatMapEager, catchEager, encode2, decode, Pointer, makeFormatterStandardSchemaV1, passthrough, transformEffect, Transformation, transform, defaultParseOptions, unknown, getIndexSignatureKeys, applyToSelfOrLastLinkEncoding, decodeTo, toEncoded, decodeUnknownEffect, omit, map9, declare, SchemaError, is, decodeUnknownEffect2, decodeEffect, decodeUnknownExit, decodeUnknownOption, decodeOption, decodeSync, encodeEffect, make17, isSchema, optionalKey, optional, toType, Literal, Never, Unknown, Null, String4, Boolean2, Void, Struct, Record, StructWithRest, ArraySchema, NonEmptyArray, Union, Literals, NullOr, UndefinedOr, suspend4, decodeTo2, withDecodingDefaultKey, tag, TaggedStruct, makeFilter, isPattern, Finite, isGreaterThanOrEqualTo, isLessThanOrEqualTo, Int, isMinLength, isMaxLength, isMinProperties, isMaxProperties, isUnique, Defect, Date2, fromJsonString, FiniteFromString, Cause, Exit, Class2, Error3, TaggedError2, toEquivalence, toCodecJson, toCodecStringTree, Json, JsonObject, decodeJsonString, decodeJsonStringOption, encodeJsonStringSync, encodePrettyJsonString, decodeJsonStringSync, encodeUnknownJsonStringSync };
10161
+ export { pipeArguments, dual, identity, constant, constTrue, constFalse, constVoid, pipe, flow, memoize, isString2, isNumber2, isBoolean2, isBigInt2, isSymbol2, isFunction2, isUndefined2, isNotUndefined, isNotNull, isNullish, isObjectOrArray, isObject2, hasProperty, isTagged, isUint8Array, symbol, hash, combine, number, string, structure, array, symbol2, equals, asEquivalence, symbolRedactable, redact, currentFiberTypeId, format, NodeInspectSymbol, toJson, BaseProto, Class, getStackTraceLimit, setStackTraceLimit, assignProperty, args, evaluate, PipeInspectableProto, isExit, causeFail, makePrimitive, exitSucceed, exitFailCause, exitFail, withFiber, Done, Prototype, make14, strictEqual, Tuple, String3, Number2, mapInput, none, some, isNone, isSome, match, getOrElse, orElse, fromNullishOr, fromUndefinedOr, getOrUndefined, liftThrowable, map4, flatMap, toArray, filter2, Service2, makeUnsafe4, empty3, make15, add, getOrUndefined2, getOrUndefinedUnsafe, getUnsafe, get4, merge3, Reference, fromInputUnsafe, isFinite, zero, infinity, millis, seconds, minutes, toMillis, min, max, subtract, format2, normalize, succeed, fail3, try_, isResult, isFailure, isSuccess, map5, getOrElse2, getOrThrow, all2, allocate, fromIterable, isArrayNonEmpty, isReadonlyArrayNonEmpty, isCanonicalArrayIndex, getUnsafe2, sort, of, map6, makeEquivalence2, TaggedClass, Error2, TaggedError, encode, DisablePropagation, getCurrentFiber, fiberJoin, fiberInterrupt, succeed2, sync, suspend2, succeedNone, void_, callback2, asSome, andThen, flatMap2, map7, exitInterrupt, exitVoid, exitZipRight, scopeAddFinalizer, scope, onExitPrimitive, onExitUnsafe, uninterruptibleMask, fiberRunIn, makeLatchUnsafe, makeLatch, ClockRef, currentTimeMillis2, ConsoleRef, succeed3, failCause2, fail4, die, interrupt2, void_2, isSuccess2, isFailure2, hasInterrupts, asVoidAll, makeUnsafe5, make16, _await, fail5, interruptWith, isDone, isDoneUnsafe, succeed4, doneUnsafe, TracerTimingEnabled, Scope, makeUnsafe6, provide, addFinalizerExit, addFinalizer, forkUnsafe, close, build, buildWithScope, succeed5, effect, effectContext, effectDiscard, mergeAll, provide2, provideMerge, isCause, isFailReason, isDieReason, fromReasons, fail6, die2, makeFailReason, makeDieReason, hasInterruptsOnly, squash, findError, findErrorOption, hasInterrupts2, interruptors, pretty, isDone2, Done2, done, IllegalArgumentError, UnknownError, reasonAnnotations, Random, catchDone, isDoneCause, filterDone, doneExitFromCause, matchEffect, max2, during, min2, exponential, jittered, spaced, isEffect, all3, findFirst, forEach, whileLoop, promise, tryPromise, succeed6, suspend3, sync2, void_3, undefined_, callback3, never, gen, fail7, failSync, failCause3, die3, try_2, yieldNow, withFiber2, fromResult, fromNullishOr2, flatMap3, flatten, andThen2, tap2, result, option2, exit, map8, as, asSome2, asVoid, zipWith, catch_, catchTag, catchTags, catchReason, catchCause2, catchDefect, catchIf, catchCauseIf, mapError2, orDie, tapError2, tapCause, retry, retryOrElse, ignore, ignoreCause, orElseSucceed, timeout, timeoutOption, timeoutOrElse, delay, sleep, raceAllFirst, raceFirst, filter3, filterOrFail, when, matchCauseEffect, matchEffect2, context, contextWith, provide3, provideContext2, service, serviceOption, updateContext, updateService, provideService, scope2, scoped, scopedWith, acquireRelease, acquireUseRelease, addFinalizer2, ensuring2, onError, onExitPrimitive2, onExit, cached, interrupt3, interruptible, onInterrupt, uninterruptible, uninterruptibleMask2, forever, repeat, annotateCurrentSpan, makeSpanScoped, useSpan, withSpan, withParentSpan, forkChild, forkIn, forkScoped, forkDetach, runFork, runForkWith, runPromise, runPromiseWith, runSync, runSyncExitWith, fnUntraced, fn, clockWith, logWarning, logError, annotateLogs, effectify, mapEager, flatMapEager, catchEager, encode2, decode, Pointer, makeFormatterStandardSchemaV1, passthrough, transformEffect, Transformation, transform, defaultParseOptions, unknown, getIndexSignatureKeys, applyToSelfOrLastLinkEncoding, decodeTo, toEncoded, decodeUnknownEffect, omit, map9, declare, SchemaError, is, decodeUnknownEffect2, decodeEffect, decodeUnknownExit, decodeUnknownOption, decodeOption, decodeSync, encodeEffect, make17, isSchema, optionalKey, optional, toType, Literal, Never, Unknown, Null, String4, Boolean2, Void, Struct, Record, StructWithRest, ArraySchema, NonEmptyArray, Union, Literals, NullOr, UndefinedOr, suspend4, decodeTo2, withDecodingDefaultKey, tag, TaggedStruct, makeFilter, isPattern, Finite, isGreaterThan, isGreaterThanOrEqualTo, isLessThanOrEqualTo, Int, isMinLength, isMaxLength, isMinProperties, isMaxProperties, isUnique, NonEmptyString, Defect, Date2, fromJsonString, FiniteFromString, Cause, Exit, Class2, Error3, TaggedError2, toEquivalence, toCodecJson, toCodecStringTree, Json, JsonObject, decodeJsonString, decodeJsonStringOption, encodeJsonStringSync, encodePrettyJsonString, decodeJsonStringSync, encodeUnknownJsonStringSync };
@@ -6,10 +6,10 @@ import {
6
6
  gen,
7
7
  flatMap3,
8
8
  provideContext2
9
- } from "./chunk-d3ksv8y1.js";
9
+ } from "./chunk-jbwk6k6m.js";
10
10
  import {
11
11
  runForEach
12
- } from "./chunk-dk0ftqwg.js";
12
+ } from "./chunk-xb70ys3n.js";
13
13
  import {
14
14
  WebSocketConstructor,
15
15
  layerWebSocketConstructorGlobal,
@@ -19,13 +19,13 @@ import {
19
19
  RunnerReplicaRpcs,
20
20
  RunnerRunFileRpcs,
21
21
  ProgramRpcs
22
- } from "./chunk-9e452fhe.js";
22
+ } from "./chunk-bcbne0ek.js";
23
23
  import {
24
24
  layerJson,
25
25
  make4,
26
26
  withHeaders,
27
27
  layerProtocolSocket
28
- } from "./chunk-cmatdpfy.js";
28
+ } from "./chunk-3teaa3qx.js";
29
29
 
30
30
  // packages/live/src/rpc/runner-client.ts
31
31
  var proxiedWebSocket = (proxy) => succeed5(WebSocketConstructor)((target) => {
@@ -85,7 +85,7 @@ import {
85
85
  decodeJsonString,
86
86
  encodeJsonStringSync,
87
87
  encodePrettyJsonString
88
- } from "./chunk-d3ksv8y1.js";
88
+ } from "./chunk-jbwk6k6m.js";
89
89
  import {
90
90
  tap,
91
91
  mapError,
@@ -97,7 +97,7 @@ import {
97
97
  withDefault,
98
98
  option,
99
99
  String2
100
- } from "./chunk-dk0ftqwg.js";
100
+ } from "./chunk-xb70ys3n.js";
101
101
  import {
102
102
  currentTimeMillis,
103
103
  SecureRandom,
@@ -197,10 +197,10 @@ import {
197
197
  harnessNames,
198
198
  herdrRunnerCapabilities2,
199
199
  declaredChecks
200
- } from "./chunk-9e452fhe.js";
200
+ } from "./chunk-bcbne0ek.js";
201
201
  import {
202
202
  Id
203
- } from "./chunk-rrnee9mk.js";
203
+ } from "./chunk-545b129z.js";
204
204
  import {
205
205
  toJsonValue,
206
206
  isOneOf,
@@ -210,11 +210,11 @@ import {
210
210
  isObject,
211
211
  isJsonObject,
212
212
  isString
213
- } from "./chunk-v01c0k6j.js";
213
+ } from "./chunk-tzz4fv17.js";
214
214
  import {
215
215
  ChildProcessSpawner,
216
216
  make3
217
- } from "./chunk-1rry0tsn.js";
217
+ } from "./chunk-98sg1yyd.js";
218
218
 
219
219
  // apps/cli/src/cli-error.ts
220
220
  function cliErrorCode(error, status) {
@@ -504,10 +504,10 @@ var checkDockerImageSetting = pinnedImage;
504
504
  var checkRegistryImageSetting = pinnedImage;
505
505
  var herdrCoreSession = (runnerId, personal) => personal ? undefined : `kitman-${sha2562(runnerId).slice(0, 16)}`;
506
506
  var OpenHerdrCore = Reference("kitman/cli/OpenHerdrCore", {
507
- defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-tkmp48ha.js")), ({ HerdrCore, herdrCoreLayer }) => provide3(service(HerdrCore), herdrCoreLayer(options)))
507
+ defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-1zt1yeme.js")), ({ HerdrCore, herdrCoreLayer }) => provide3(service(HerdrCore), herdrCoreLayer(options)))
508
508
  });
509
509
  var UpdateHerdrCore = Reference("kitman/cli/UpdateHerdrCore", {
510
- defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-tkmp48ha.js")), (module) => module.updateHerdrCore(options))
510
+ defaultValue: () => (options) => flatMap3(promise(() => import("./chunk-1zt1yeme.js")), (module) => module.updateHerdrCore(options))
511
511
  });
512
512
  var herdrCoreMissing = (error) => {
513
513
  if (isTagged(error, "HerdrCoreMissing"))
@@ -733,7 +733,7 @@ var syncTargets = (harness) => gen(function* () {
733
733
  });
734
734
  var syncKits = (input) => gen(function* () {
735
735
  const fs = yield* FileSystem;
736
- const { syncKitSetup } = yield* promise(() => import("./chunk-h89p59p6.js"));
736
+ const { syncKitSetup } = yield* promise(() => import("./chunk-0e3t90fs.js"));
737
737
  const harnesses = yield* syncTargets(input.harness);
738
738
  const chain = yield* input.client.getKitChain(input.workspaceId);
739
739
  for (const { name, problem } of chain.skipped)
@@ -1651,7 +1651,7 @@ var package_default = {
1651
1651
  };
1652
1652
 
1653
1653
  // apps/cli/src/scaffold.ts
1654
- var cliVersion = "0.10.73";
1654
+ var cliVersion = "0.10.75";
1655
1655
  var packageJson = (name, scaffold) => `${JSON.stringify({
1656
1656
  name,
1657
1657
  private: true,
@@ -1901,7 +1901,7 @@ var Usage = [
1901
1901
  "Every run, loop, agent, verify, constraint, secret, claim, deploy, dev and kit command takes --json."
1902
1902
  ].join(`
1903
1903
  `);
1904
- var agentRuntime = promise(() => import("./chunk-0rzh8yfd.js"));
1904
+ var agentRuntime = promise(() => import("./chunk-89547s8p.js"));
1905
1905
  var TuiLauncher = Reference("kitman/cli/TuiLauncher", {
1906
1906
  defaultValue: () => gen(function* () {
1907
1907
  const tui = yield* tryPromise({
@@ -2692,6 +2692,27 @@ function runnerCommand(args) {
2692
2692
  }
2693
2693
  return yield* new CliError({ message: `Unknown runner grant action: ${grantAction}` });
2694
2694
  }
2695
+ if (command.action === "attachments") {
2696
+ const runner = yield* resolveRunnerForCommand(client, workspaceId, command.flags.runnerId ?? requiredArg(command, "Runner"));
2697
+ const response = yield* client.listRunnerWorkspaceAttachments(runner.id);
2698
+ return yield* printRows([...response.items], command.flags.json);
2699
+ }
2700
+ if (command.action === "attach" || command.action === "detach") {
2701
+ const attachedWorkspaceId = command.args[0];
2702
+ if (!attachedWorkspaceId || !command.flags.runnerId)
2703
+ return yield* new CliError({
2704
+ message: `runner ${command.action} requires a Workspace id and --runner <runner-id>`
2705
+ });
2706
+ const runner = yield* resolveRunnerForCommand(client, workspaceId, command.flags.runnerId);
2707
+ if (command.action === "attach") {
2708
+ const response = yield* client.attachRunnerWorkspace(runner.id, { workspaceId: attachedWorkspaceId });
2709
+ return yield* printRows([{ ...response, status: "attached" }], command.flags.json);
2710
+ }
2711
+ const response = yield* client.detachRunnerWorkspace(runner.id, attachedWorkspaceId);
2712
+ return yield* printRows([
2713
+ { runnerId: runner.id, workspaceId: attachedWorkspaceId, status: response.removed ? "detached" : "not_found" }
2714
+ ], command.flags.json);
2715
+ }
2695
2716
  if (command.action === "register") {
2696
2717
  const name = command.flags.name ?? (command.args.join(" ").trim() || "Kitman runner");
2697
2718
  const backend = command.flags.backend;
@@ -2756,7 +2777,7 @@ var SandboxHostProbe = Reference("kitman/cli/SandboxHostProbe", {
2756
2777
  });
2757
2778
  var OpenRunnerRpc = Reference("kitman/cli/OpenRunnerRpc", {
2758
2779
  defaultValue: () => (options) => gen(function* () {
2759
- const { makeRunnerRpcClient, runnerRpcUrl, runnerWebSocketProtocol } = yield* promise(() => import("./chunk-gxnpdpjz.js"));
2780
+ const { makeRunnerRpcClient, runnerRpcUrl, runnerWebSocketProtocol } = yield* promise(() => import("./chunk-h3y4z2c0.js"));
2760
2781
  return yield* makeRunnerRpcClient({
2761
2782
  runnerId: options.runnerId,
2762
2783
  bearer: options.bearer,
@@ -3140,7 +3161,7 @@ function mcpCommand(args) {
3140
3161
  if (command.action === "run") {
3141
3162
  if (command.args.length > 0)
3142
3163
  return yield* new CliError({ message: `Unknown command: ${args.join(" ")}` });
3143
- const { runMcpServerCommand } = yield* promise(() => import("./chunk-zwec6t49.js"));
3164
+ const { runMcpServerCommand } = yield* promise(() => import("./chunk-f0stxany.js"));
3144
3165
  return yield* runMcpServerCommand({ flags: command.flags });
3145
3166
  }
3146
3167
  if (command.action !== "setup")
@@ -4351,9 +4372,9 @@ function claimCommand(args) {
4351
4372
  }
4352
4373
  });
4353
4374
  }
4354
- var KitWriter = map8(promise(() => import("./chunk-t1z7atrq.js")), (build) => build.writeKit);
4375
+ var KitWriter = map8(promise(() => import("./chunk-tv3fkqb9.js")), (build) => build.writeKit);
4355
4376
  var KitBuilder = Reference("kitman/cli/KitBuilder", {
4356
- defaultValue: () => (directory) => flatMap3(promise(() => import("./chunk-t1z7atrq.js")), (build) => build.buildKit(directory))
4377
+ defaultValue: () => (directory) => flatMap3(promise(() => import("./chunk-tv3fkqb9.js")), (build) => build.buildKit(directory))
4357
4378
  });
4358
4379
  var uploadKit = (client, workspaceId, built) => gen(function* () {
4359
4380
  yield* client.uploadKitBundle(workspaceId, built.digest, { bundle: encode2(built.bundle) });
@@ -4,10 +4,10 @@ import {
4
4
  opaqueTunnelRefusal2,
5
5
  isOpaqueConnectReason2,
6
6
  runSrtStep2
7
- } from "./chunk-3edjgnxf.js";
8
- import"./chunk-rrnee9mk.js";
9
- import"./chunk-v01c0k6j.js";
10
- import"./chunk-d3ksv8y1.js";
7
+ } from "./chunk-b0cscqbw.js";
8
+ import"./chunk-545b129z.js";
9
+ import"./chunk-tzz4fv17.js";
10
+ import"./chunk-jbwk6k6m.js";
11
11
  export {
12
12
  isOpaqueConnectReason2 as isOpaqueConnectReason,
13
13
  opaqueTunnelRefusal2 as opaqueTunnelRefusal,
@@ -32,17 +32,9 @@ import {
32
32
  toCodecJson,
33
33
  Json,
34
34
  encodePrettyJsonString
35
- } from "./chunk-d3ksv8y1.js";
36
- import"./chunk-rrnee9mk.js";
37
- import"./chunk-v01c0k6j.js";
38
- import {
39
- decodeText,
40
- mkString,
41
- FileSystem,
42
- Path,
43
- withDefault,
44
- String2
45
- } from "./chunk-dk0ftqwg.js";
35
+ } from "./chunk-jbwk6k6m.js";
36
+ import"./chunk-545b129z.js";
37
+ import"./chunk-tzz4fv17.js";
46
38
  import {
47
39
  SecureRandom,
48
40
  layerWebCrypto,
@@ -54,23 +46,31 @@ import {
54
46
  layer4,
55
47
  kitmanMcpServer,
56
48
  RunnerRpcProtocolVersion
57
- } from "./chunk-9e452fhe.js";
49
+ } from "./chunk-bcbne0ek.js";
50
+ import {
51
+ decodeText,
52
+ mkString,
53
+ FileSystem,
54
+ Path,
55
+ withDefault,
56
+ String2
57
+ } from "./chunk-xb70ys3n.js";
58
58
  import {
59
59
  Packument,
60
60
  tarballMatches
61
- } from "./chunk-hr9vd6dj.js";
62
- import"./chunk-5n121vsj.js";
61
+ } from "./chunk-fqhxxxmp.js";
62
+ import"./chunk-p8g8qyev.js";
63
63
  import {
64
64
  AgentDeclaration,
65
65
  KitDeclarations,
66
66
  describeFlag,
67
67
  Described
68
- } from "./chunk-x1zqfxve.js";
68
+ } from "./chunk-jb01khjp.js";
69
69
  import {
70
70
  ChildProcessSpawner,
71
71
  make3
72
- } from "./chunk-1rry0tsn.js";
73
- import"./chunk-cmatdpfy.js";
72
+ } from "./chunk-98sg1yyd.js";
73
+ import"./chunk-3teaa3qx.js";
74
74
 
75
75
  // packages/sdk/src/build/index.ts
76
76
  class DependencyInstallFailed extends TaggedError2()("DependencyInstallFailed", {
@@ -8,7 +8,7 @@ import {
8
8
  isFunction2,
9
9
  isUndefined2,
10
10
  isObjectOrArray
11
- } from "./chunk-d3ksv8y1.js";
11
+ } from "./chunk-jbwk6k6m.js";
12
12
 
13
13
  // packages/core/src/runtime-type.ts
14
14
  var UnsafeJsonObjectKeys = new Set(["__proto__", "constructor", "prototype"]);
@@ -199,7 +199,7 @@ import {
199
199
  String4,
200
200
  toCodecStringTree,
201
201
  encodeUnknownJsonStringSync
202
- } from "./chunk-d3ksv8y1.js";
202
+ } from "./chunk-jbwk6k6m.js";
203
203
 
204
204
  // node_modules/.bun/effect@4.1.2/node_modules/effect/dist/Iterable.js
205
205
  var headUnsafe = (self) => {
package/dist/index.js CHANGED
@@ -5,15 +5,15 @@
5
5
  var args = process.argv.slice(2);
6
6
  if (args[0] === "srt") {
7
7
  process.argv.splice(2, 1);
8
- const { runSrtCli } = await import("./chunk-rm83dbpv.js");
8
+ const { runSrtCli } = await import("./chunk-fq47a5yd.js");
9
9
  await runSrtCli();
10
10
  } else if (args[0] === "srt-step") {
11
- const { runSrtStep } = await import("./chunk-gmnqchsc.js");
11
+ const { runSrtStep } = await import("./chunk-t07tn0ay.js");
12
12
  await runSrtStep(args.slice(1));
13
13
  } else if (args[0] === "opencode-read") {
14
- const { runOpencodeReader } = await import("./chunk-60333x3q.js");
14
+ const { runOpencodeReader } = await import("./chunk-9zd52pda.js");
15
15
  runOpencodeReader();
16
16
  } else {
17
- const { runCli } = await import("./chunk-r8rcfjag.js");
17
+ const { runCli } = await import("./chunk-qs6h506g.js");
18
18
  runCli(args);
19
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kitman-sh/cli",
3
- "version": "0.10.73",
3
+ "version": "0.10.75",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
6
  "bin": {