alink-cli 0.12.3 → 0.12.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/bin.mjs CHANGED
@@ -20689,6 +20689,7 @@ const DEFAULT_CLIENT_LANGUAGE = "system";
20689
20689
  const FontFamilyPreference = String$1.check(isMaxLength(200));
20690
20690
  const DEFAULT_CLIENT_SETTINGS = decodeSync(Struct({
20691
20691
  autoOpenPlanSidebar: Boolean$1.pipe(withDecodingDefault(succeed$1(false))),
20692
+ threadCompletionNotifications: Boolean$1.pipe(withDecodingDefault(succeed$1(false))),
20692
20693
  language: ClientLanguage.pipe(withDecodingDefault(succeed$1(DEFAULT_CLIENT_LANGUAGE))),
20693
20694
  confirmThreadArchive: Boolean$1.pipe(withDecodingDefault(succeed$1(false))),
20694
20695
  confirmThreadDelete: Boolean$1.pipe(withDecodingDefault(succeed$1(true))),
@@ -21006,6 +21007,7 @@ const ServerSettingsPatch = Struct({
21006
21007
  });
21007
21008
  Struct({
21008
21009
  autoOpenPlanSidebar: optionalKey(Boolean$1),
21010
+ threadCompletionNotifications: optionalKey(Boolean$1),
21009
21011
  language: optionalKey(ClientLanguage),
21010
21012
  confirmThreadArchive: optionalKey(Boolean$1),
21011
21013
  confirmThreadDelete: optionalKey(Boolean$1),
@@ -50409,13 +50411,13 @@ const makeProviderMaintenanceCommandCoordinator = fn("makeProviderMaintenanceCom
50409
50411
  return [lock, next];
50410
50412
  });
50411
50413
  });
50412
- const withCommandLock = ({ targetKey, lockKey, onQueued, run }) => gen(function* () {
50414
+ const withCommandLock = ({ targetKey, lockKey, onQueued, onInterrupted, run }) => gen(function* () {
50413
50415
  if (!(yield* acquireTarget(targetKey))) return yield* fail(input.makeAlreadyRunningError(targetKey));
50414
50416
  return yield* gen(function* () {
50415
50417
  const lock = yield* getLock(lockKey);
50416
50418
  if (onQueued) yield* onQueued;
50417
50419
  return yield* lock.withPermits(1)(run);
50418
- }).pipe(ensuring(releaseTarget(targetKey)));
50420
+ }).pipe(onInterrupt(() => onInterrupted ?? void_$1), ensuring(releaseTarget(targetKey)));
50419
50421
  });
50420
50422
  return { withCommandLock };
50421
50423
  });
@@ -50889,6 +50891,15 @@ const layer$14 = effect(ProviderMaintenanceRunner, fn("ProviderMaintenanceRunner
50889
50891
  action: "update",
50890
50892
  state
50891
50893
  });
50894
+ const startedAtRef = yield* make$65(null);
50895
+ const recordInterruptedUpdate = gen(function* () {
50896
+ yield* setUpdateState(makeUpdateState({
50897
+ status: "failed",
50898
+ startedAt: yield* get$3(startedAtRef),
50899
+ finishedAt: yield* nowIso$3,
50900
+ message: "Provider update was interrupted. Try updating again."
50901
+ }));
50902
+ });
50892
50903
  const setQueuedState = setUpdateState(makeUpdateState({
50893
50904
  status: "queued",
50894
50905
  startedAt: null,
@@ -50897,7 +50908,6 @@ const layer$14 = effect(ProviderMaintenanceRunner, fn("ProviderMaintenanceRunner
50897
50908
  })).pipe(asVoid);
50898
50909
  const runProviderUpdate = fn("ProviderMaintenanceRunner.runProviderUpdate")(function* () {
50899
50910
  const finish = (state) => setUpdateState(state).pipe(map$4((providers) => ({ providers })));
50900
- const startedAtRef = yield* make$65(null);
50901
50911
  const runCommandAndVerify = fn("ProviderMaintenanceRunner.runCommandAndVerify")(function* () {
50902
50912
  const startedAt = yield* nowIso$3;
50903
50913
  yield* set$2(startedAtRef, startedAt);
@@ -50944,6 +50954,7 @@ const layer$14 = effect(ProviderMaintenanceRunner, fn("ProviderMaintenanceRunner
50944
50954
  targetKey,
50945
50955
  lockKey: update.lockKey,
50946
50956
  onQueued: setQueuedState,
50957
+ onInterrupted: recordInterruptedUpdate,
50947
50958
  run: runProviderUpdate()
50948
50959
  }).pipe(mapError((error) => isServerProviderUpdateError(error) ? new ServerProviderUpdateError({
50949
50960
  provider,
@@ -63026,7 +63037,8 @@ const ServerNotification__SpendControlLimitSnapshot = Struct({
63026
63037
  const ServerNotification__SubAgentActivityKind = Literals([
63027
63038
  "started",
63028
63039
  "interacted",
63029
- "interrupted"
63040
+ "interrupted",
63041
+ "completed"
63030
63042
  ]);
63031
63043
  const ServerNotification__TerminalInteractionNotification = Struct({
63032
63044
  itemId: String$1,
@@ -63913,7 +63925,8 @@ const V2ItemCompletedNotification__ReasoningEffort = String$1.annotate({ descrip
63913
63925
  const V2ItemCompletedNotification__SubAgentActivityKind = Literals([
63914
63926
  "started",
63915
63927
  "interacted",
63916
- "interrupted"
63928
+ "interrupted",
63929
+ "completed"
63917
63930
  ]);
63918
63931
  const V2ItemCompletedNotification__TextElement = Struct({
63919
63932
  byteRange: Struct({
@@ -64097,7 +64110,8 @@ const V2ItemStartedNotification__ReasoningEffort = String$1.annotate({ descripti
64097
64110
  const V2ItemStartedNotification__SubAgentActivityKind = Literals([
64098
64111
  "started",
64099
64112
  "interacted",
64100
- "interrupted"
64113
+ "interrupted",
64114
+ "completed"
64101
64115
  ]);
64102
64116
  const V2ItemStartedNotification__TextElement = Struct({
64103
64117
  byteRange: Struct({
@@ -64592,7 +64606,8 @@ const V2ReviewStartResponse__ReasoningEffort = String$1.annotate({ description:
64592
64606
  const V2ReviewStartResponse__SubAgentActivityKind = Literals([
64593
64607
  "started",
64594
64608
  "interacted",
64595
- "interrupted"
64609
+ "interrupted",
64610
+ "completed"
64596
64611
  ]);
64597
64612
  const V2ReviewStartResponse__TextElement = Struct({
64598
64613
  byteRange: Struct({
@@ -64777,7 +64792,8 @@ const V2ThreadForkResponse__ReasoningEffort = String$1.annotate({ description: "
64777
64792
  const V2ThreadForkResponse__SubAgentActivityKind = Literals([
64778
64793
  "started",
64779
64794
  "interacted",
64780
- "interrupted"
64795
+ "interrupted",
64796
+ "completed"
64781
64797
  ]);
64782
64798
  const V2ThreadForkResponse__TextElement = Struct({
64783
64799
  byteRange: Struct({
@@ -64959,7 +64975,8 @@ const V2ThreadListResponse__ReasoningEffort = String$1.annotate({ description: "
64959
64975
  const V2ThreadListResponse__SubAgentActivityKind = Literals([
64960
64976
  "started",
64961
64977
  "interacted",
64962
- "interrupted"
64978
+ "interrupted",
64979
+ "completed"
64963
64980
  ]);
64964
64981
  const V2ThreadListResponse__TextElement = Struct({
64965
64982
  byteRange: Struct({
@@ -65095,7 +65112,8 @@ const V2ThreadMetadataUpdateResponse__ReasoningEffort = String$1.annotate({ desc
65095
65112
  const V2ThreadMetadataUpdateResponse__SubAgentActivityKind = Literals([
65096
65113
  "started",
65097
65114
  "interacted",
65098
- "interrupted"
65115
+ "interrupted",
65116
+ "completed"
65099
65117
  ]);
65100
65118
  const V2ThreadMetadataUpdateResponse__TextElement = Struct({
65101
65119
  byteRange: Struct({
@@ -65226,7 +65244,8 @@ const V2ThreadReadResponse__ReasoningEffort = String$1.annotate({ description: "
65226
65244
  const V2ThreadReadResponse__SubAgentActivityKind = Literals([
65227
65245
  "started",
65228
65246
  "interacted",
65229
- "interrupted"
65247
+ "interrupted",
65248
+ "completed"
65230
65249
  ]);
65231
65250
  const V2ThreadReadResponse__TextElement = Struct({
65232
65251
  byteRange: Struct({
@@ -65468,7 +65487,8 @@ const V2ThreadResumeResponse__ReasoningEffort = String$1.annotate({ description:
65468
65487
  const V2ThreadResumeResponse__SubAgentActivityKind = Literals([
65469
65488
  "started",
65470
65489
  "interacted",
65471
- "interrupted"
65490
+ "interrupted",
65491
+ "completed"
65472
65492
  ]);
65473
65493
  const V2ThreadResumeResponse__TextElement = Struct({
65474
65494
  byteRange: Struct({
@@ -65599,7 +65619,8 @@ const V2ThreadRollbackResponse__ReasoningEffort = String$1.annotate({ descriptio
65599
65619
  const V2ThreadRollbackResponse__SubAgentActivityKind = Literals([
65600
65620
  "started",
65601
65621
  "interacted",
65602
- "interrupted"
65622
+ "interrupted",
65623
+ "completed"
65603
65624
  ]);
65604
65625
  const V2ThreadRollbackResponse__TextElement = Struct({
65605
65626
  byteRange: Struct({
@@ -65763,7 +65784,8 @@ const V2ThreadStartedNotification__ReasoningEffort = String$1.annotate({ descrip
65763
65784
  const V2ThreadStartedNotification__SubAgentActivityKind = Literals([
65764
65785
  "started",
65765
65786
  "interacted",
65766
- "interrupted"
65787
+ "interrupted",
65788
+ "completed"
65767
65789
  ]);
65768
65790
  const V2ThreadStartedNotification__TextElement = Struct({
65769
65791
  byteRange: Struct({
@@ -65941,7 +65963,8 @@ const V2ThreadStartResponse__ReasoningEffort = String$1.annotate({ description:
65941
65963
  const V2ThreadStartResponse__SubAgentActivityKind = Literals([
65942
65964
  "started",
65943
65965
  "interacted",
65944
- "interrupted"
65966
+ "interrupted",
65967
+ "completed"
65945
65968
  ]);
65946
65969
  const V2ThreadStartResponse__TextElement = Struct({
65947
65970
  byteRange: Struct({
@@ -66084,7 +66107,8 @@ const V2ThreadUnarchiveResponse__ReasoningEffort = String$1.annotate({ descripti
66084
66107
  const V2ThreadUnarchiveResponse__SubAgentActivityKind = Literals([
66085
66108
  "started",
66086
66109
  "interacted",
66087
- "interrupted"
66110
+ "interrupted",
66111
+ "completed"
66088
66112
  ]);
66089
66113
  const V2ThreadUnarchiveResponse__TextElement = Struct({
66090
66114
  byteRange: Struct({
@@ -66214,7 +66238,8 @@ const V2TurnCompletedNotification__ReasoningEffort = String$1.annotate({ descrip
66214
66238
  const V2TurnCompletedNotification__SubAgentActivityKind = Literals([
66215
66239
  "started",
66216
66240
  "interacted",
66217
- "interrupted"
66241
+ "interrupted",
66242
+ "completed"
66218
66243
  ]);
66219
66244
  const V2TurnCompletedNotification__TextElement = Struct({
66220
66245
  byteRange: Struct({
@@ -66341,7 +66366,8 @@ const V2TurnStartedNotification__ReasoningEffort = String$1.annotate({ descripti
66341
66366
  const V2TurnStartedNotification__SubAgentActivityKind = Literals([
66342
66367
  "started",
66343
66368
  "interacted",
66344
- "interrupted"
66369
+ "interrupted",
66370
+ "completed"
66345
66371
  ]);
66346
66372
  const V2TurnStartedNotification__TextElement = Struct({
66347
66373
  byteRange: Struct({
@@ -66507,7 +66533,8 @@ const V2TurnStartResponse__ReasoningEffort = String$1.annotate({ description: "A
66507
66533
  const V2TurnStartResponse__SubAgentActivityKind = Literals([
66508
66534
  "started",
66509
66535
  "interacted",
66510
- "interrupted"
66536
+ "interrupted",
66537
+ "completed"
66511
66538
  ]);
66512
66539
  const V2TurnStartResponse__TextElement = Struct({
66513
66540
  byteRange: Struct({
@@ -81708,12 +81735,12 @@ function mapCollabAgentEvent(event, canonicalThreadId) {
81708
81735
  }];
81709
81736
  case "collabAgent/activity": {
81710
81737
  const activityKind = typeof payload.activityKind === "string" ? payload.activityKind : "";
81711
- if (activityKind === "interrupted") return [{
81738
+ if (activityKind === "interrupted" || activityKind === "completed") return [{
81712
81739
  ...base,
81713
81740
  type: "task.updated",
81714
81741
  payload: {
81715
81742
  taskId,
81716
- status: "interrupted",
81743
+ status: activityKind === "completed" ? "idle" : "interrupted",
81717
81744
  ...statusLinkage
81718
81745
  }
81719
81746
  }];