@hcrosse/opencode-pr-tracker 0.4.1 → 0.4.2
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/server.js +102 -75
- package/dist/server.js.map +5 -4
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// @bun
|
|
2
2
|
// src/server.ts
|
|
3
3
|
import { Plugin } from "@opencode/plugin/effect";
|
|
4
|
-
import { Context as Context7, Effect as
|
|
4
|
+
import { Context as Context7, Effect as Effect14, Layer as Layer7, Option as Option18, Schedule, Schema as Schema15, Stream as Stream2 } from "effect";
|
|
5
5
|
|
|
6
6
|
// src/adapters/github/Client.ts
|
|
7
7
|
import { Array as Arr3, Effect as Effect4, Layer as Layer3, Option as Option6, Redacted as Redacted2, Result as Result4, Schema as Schema7 } from "effect";
|
|
@@ -685,7 +685,7 @@ function layer4(storage) {
|
|
|
685
685
|
}
|
|
686
686
|
|
|
687
687
|
// src/application/Monitor.ts
|
|
688
|
-
import { Context as Context6, Effect as
|
|
688
|
+
import { Context as Context6, Effect as Effect10, Layer as Layer6, Option as Option14, PubSub, Ref as Ref2, Result as Result7, Stream } from "effect";
|
|
689
689
|
|
|
690
690
|
// src/application/FetchQueue.ts
|
|
691
691
|
import { Deferred, Effect as Effect6, Exit, Option as Option9 } from "effect";
|
|
@@ -779,7 +779,42 @@ import { Clock, Effect as Effect7 } from "effect";
|
|
|
779
779
|
var currentMillis = Effect7.map(Clock.currentTimeMillis, Math.floor);
|
|
780
780
|
|
|
781
781
|
// src/application/Tracker.ts
|
|
782
|
-
import { Array as Arr6, Context as Context5, Effect as
|
|
782
|
+
import { Array as Arr6, Context as Context5, Effect as Effect9, Layer as Layer5, Option as Option13, Schema as Schema11 } from "effect";
|
|
783
|
+
|
|
784
|
+
// src/application/SessionLocks.ts
|
|
785
|
+
import { Effect as Effect8, Option as Option12, Semaphore } from "effect";
|
|
786
|
+
|
|
787
|
+
class SessionLocks {
|
|
788
|
+
locks = new Map;
|
|
789
|
+
get held() {
|
|
790
|
+
return this.locks.size;
|
|
791
|
+
}
|
|
792
|
+
run(sessionID, effect) {
|
|
793
|
+
return Effect8.uninterruptibleMask((restore) => Effect8.suspend(() => restore(this.enter(sessionID).withPermit(effect)).pipe(Effect8.ensuring(Effect8.sync(() => {
|
|
794
|
+
this.leave(sessionID);
|
|
795
|
+
})))));
|
|
796
|
+
}
|
|
797
|
+
enter(sessionID) {
|
|
798
|
+
const { semaphore, users } = this.locks.get(sessionID) ?? {
|
|
799
|
+
semaphore: Semaphore.makeUnsafe(1),
|
|
800
|
+
users: 0
|
|
801
|
+
};
|
|
802
|
+
this.locks.set(sessionID, { semaphore, users: users + 1 });
|
|
803
|
+
return semaphore;
|
|
804
|
+
}
|
|
805
|
+
leave(sessionID) {
|
|
806
|
+
const current = Option12.fromUndefinedOr(this.locks.get(sessionID));
|
|
807
|
+
if (Option12.isNone(current))
|
|
808
|
+
return;
|
|
809
|
+
const { semaphore, users } = current.value;
|
|
810
|
+
if (users === 1)
|
|
811
|
+
this.locks.delete(sessionID);
|
|
812
|
+
else
|
|
813
|
+
this.locks.set(sessionID, { semaphore, users: users - 1 });
|
|
814
|
+
}
|
|
815
|
+
}
|
|
816
|
+
|
|
817
|
+
// src/application/Tracker.ts
|
|
783
818
|
class PullRequestUnavailable extends Schema11.TaggedError()("PullRequestUnavailable", { diagnostic: Diagnostic, url: Schema11.String }) {
|
|
784
819
|
}
|
|
785
820
|
|
|
@@ -792,34 +827,26 @@ class Tracker extends Context5.Service()("opencode-pr-tracker/Tracker") {
|
|
|
792
827
|
}
|
|
793
828
|
function discovered(ref, result) {
|
|
794
829
|
if (result._tag === "Failed")
|
|
795
|
-
return
|
|
830
|
+
return Effect9.fail(new PullRequestUnavailable({ diagnostic: result.diagnostic, url: ref.url }));
|
|
796
831
|
const { report } = result;
|
|
797
|
-
return
|
|
798
|
-
onNone: () =>
|
|
799
|
-
onSome: (membership) =>
|
|
832
|
+
return Option13.match(report.membership, {
|
|
833
|
+
onNone: () => Effect9.fail(new StackIncomplete({ url: ref.url })),
|
|
834
|
+
onSome: (membership) => Effect9.succeed({
|
|
800
835
|
report,
|
|
801
836
|
stack: membership._tag === "Stack" ? membership.members : Arr6.of(ref)
|
|
802
837
|
})
|
|
803
838
|
});
|
|
804
839
|
}
|
|
805
|
-
function sessionLocks() {
|
|
806
|
-
const locks = new Map;
|
|
807
|
-
return (sessionID) => (effect) => Effect8.suspend(() => {
|
|
808
|
-
const lock = locks.get(sessionID) ?? Semaphore.makeUnsafe(1);
|
|
809
|
-
locks.set(sessionID, lock);
|
|
810
|
-
return lock.withPermit(effect);
|
|
811
|
-
});
|
|
812
|
-
}
|
|
813
840
|
function resolve({ github }, input, directory) {
|
|
814
|
-
return input._tag === "Reference" ?
|
|
841
|
+
return input._tag === "Reference" ? Effect9.succeed(input.ref) : github.pullRequestInRepository(directory, input.number);
|
|
815
842
|
}
|
|
816
|
-
var attachTo =
|
|
843
|
+
var attachTo = Effect9.fn("Tracker.attach")(function* (services, sessionID, target) {
|
|
817
844
|
const ref = yield* resolve(services, target.input, target.directory);
|
|
818
845
|
const reports = yield* services.github.fetch([ref]);
|
|
819
846
|
const missing = { _tag: "Failed", diagnostic: "NotFound" };
|
|
820
847
|
const { report, stack } = yield* discovered(ref, reports.get(ref.url) ?? missing);
|
|
821
848
|
const current = yield* services.repository.load(sessionID);
|
|
822
|
-
const change = yield*
|
|
849
|
+
const change = yield* Effect9.fromResult(attach(current, stack, yield* currentMillis));
|
|
823
850
|
if (change.changed)
|
|
824
851
|
yield* services.repository.save(sessionID, change.tracking);
|
|
825
852
|
return {
|
|
@@ -830,20 +857,20 @@ var attachTo = Effect8.fn("Tracker.attach")(function* (services, sessionID, targ
|
|
|
830
857
|
tracking: change.tracking
|
|
831
858
|
};
|
|
832
859
|
});
|
|
833
|
-
var detachFrom =
|
|
860
|
+
var detachFrom = Effect9.fn("Tracker.detach")(function* ({ repository }, sessionID, input) {
|
|
834
861
|
const current = yield* repository.load(sessionID);
|
|
835
|
-
const removal = input._tag === "Reference" ? detach(current, input.ref) : yield*
|
|
836
|
-
if (
|
|
862
|
+
const removal = input._tag === "Reference" ? detach(current, input.ref) : yield* Effect9.fromResult(detachNumber(current, input.number));
|
|
863
|
+
if (Option13.isSome(removal.removed))
|
|
837
864
|
yield* repository.save(sessionID, removal.tracking);
|
|
838
865
|
return removal;
|
|
839
866
|
});
|
|
840
|
-
var layer5 = Layer5.effect(Tracker,
|
|
867
|
+
var layer5 = Layer5.effect(Tracker, Effect9.gen(function* () {
|
|
841
868
|
const services = { github: yield* GitHub, repository: yield* TrackingRepository };
|
|
842
|
-
const
|
|
869
|
+
const locks = new SessionLocks;
|
|
843
870
|
return Tracker.of({
|
|
844
|
-
attach: (sessionID, input, directory) =>
|
|
845
|
-
detach: (sessionID, input) =>
|
|
846
|
-
forget: (sessionID) =>
|
|
871
|
+
attach: (sessionID, input, directory) => locks.run(sessionID, attachTo(services, sessionID, { directory, input })),
|
|
872
|
+
detach: (sessionID, input) => locks.run(sessionID, detachFrom(services, sessionID, input)),
|
|
873
|
+
forget: (sessionID) => locks.run(sessionID, services.repository.remove(sessionID)),
|
|
847
874
|
list: (sessionID) => services.repository.load(sessionID)
|
|
848
875
|
});
|
|
849
876
|
}));
|
|
@@ -862,7 +889,7 @@ function entryOf(known, attachment) {
|
|
|
862
889
|
}
|
|
863
890
|
var urlsOf = (tracking) => tracking.map((attachment) => attachment.ref.url);
|
|
864
891
|
function remember(cache, results) {
|
|
865
|
-
return
|
|
892
|
+
return Effect10.gen(function* () {
|
|
866
893
|
const now = yield* currentMillis;
|
|
867
894
|
yield* Ref2.update(cache.known, (current) => {
|
|
868
895
|
const next = new Map(current);
|
|
@@ -873,28 +900,28 @@ function remember(cache, results) {
|
|
|
873
900
|
});
|
|
874
901
|
}
|
|
875
902
|
function update(cache, refs) {
|
|
876
|
-
return
|
|
877
|
-
const outcome = yield*
|
|
903
|
+
return Effect10.gen(function* () {
|
|
904
|
+
const outcome = yield* Effect10.result(cache.github.fetch(refs));
|
|
878
905
|
const results = Result7.isSuccess(outcome) ? outcome.success : new Map(refs.map((ref) => [ref.url, { _tag: "Failed", diagnostic: outcome.failure.diagnostic }]));
|
|
879
906
|
yield* remember(cache, results);
|
|
880
907
|
});
|
|
881
908
|
}
|
|
882
909
|
function viewOf(state, sessionID) {
|
|
883
|
-
return
|
|
910
|
+
return Effect10.gen(function* () {
|
|
884
911
|
const tracking = yield* state.tracker.list(sessionID);
|
|
885
912
|
const current = yield* Ref2.get(state.known);
|
|
886
913
|
return { entries: tracking.map((attachment) => entryOf(current, attachment)), sessionID };
|
|
887
914
|
});
|
|
888
915
|
}
|
|
889
916
|
function publish(state, sessionID) {
|
|
890
|
-
return viewOf(state, sessionID).pipe(
|
|
917
|
+
return viewOf(state, sessionID).pipe(Effect10.flatMap((view) => PubSub.publish(state.published, view)), Effect10.ignore);
|
|
891
918
|
}
|
|
892
919
|
var use = (state, sessionID) => Ref2.update(state.working, (sessions) => new Set(sessions).add(sessionID));
|
|
893
920
|
function poll(state) {
|
|
894
|
-
return
|
|
921
|
+
return Effect10.gen(function* () {
|
|
895
922
|
const sessions = [...yield* Ref2.get(state.working)];
|
|
896
923
|
const known = yield* Ref2.get(state.known);
|
|
897
|
-
const trackings = yield*
|
|
924
|
+
const trackings = yield* Effect10.forEach(sessions, (sessionID) => state.tracker.list(sessionID).pipe(Effect10.orElseSucceed(() => [])));
|
|
898
925
|
const attached = new Map(trackings.flat().map((attachment) => [attachment.ref.url, attachment.ref]));
|
|
899
926
|
const now = yield* currentMillis;
|
|
900
927
|
const current = yield* Ref2.get(state.known);
|
|
@@ -905,30 +932,30 @@ function poll(state) {
|
|
|
905
932
|
yield* state.fetch(due);
|
|
906
933
|
const dueUrls = new Set(due.map((ref) => ref.url));
|
|
907
934
|
const affected = sessions.filter((_, index) => urlsOf(trackings[index] ?? []).some((url) => dueUrls.has(url)));
|
|
908
|
-
yield*
|
|
935
|
+
yield* Effect10.forEach(affected, (sessionID) => publish(state, sessionID), {
|
|
909
936
|
discard: true
|
|
910
937
|
});
|
|
911
938
|
});
|
|
912
939
|
}
|
|
913
940
|
function fetchAndShow(state, sessionID, select) {
|
|
914
|
-
return
|
|
941
|
+
return Effect10.gen(function* () {
|
|
915
942
|
yield* use(state, sessionID);
|
|
916
943
|
const tracking = yield* state.tracker.list(sessionID);
|
|
917
944
|
const known = yield* Ref2.get(state.known);
|
|
918
|
-
yield* state.fetch(tracking.map((attachment) => attachment.ref).filter((ref) => select(
|
|
945
|
+
yield* state.fetch(tracking.map((attachment) => attachment.ref).filter((ref) => select(Option14.fromNullishOr(known.get(ref.url)))));
|
|
919
946
|
const view = yield* viewOf(state, sessionID);
|
|
920
947
|
yield* PubSub.publish(state.published, view);
|
|
921
948
|
return view;
|
|
922
949
|
});
|
|
923
950
|
}
|
|
924
|
-
var refreshable = (known) =>
|
|
925
|
-
var notYetKnown = (known) =>
|
|
926
|
-
var layer6 = Layer6.effect(Monitor,
|
|
951
|
+
var refreshable = (known) => Option14.isSome(Option14.getOrElse(known, () => unknown).dueAt);
|
|
952
|
+
var notYetKnown = (known) => Option14.isNone(known);
|
|
953
|
+
var layer6 = Layer6.effect(Monitor, Effect10.gen(function* () {
|
|
927
954
|
const cache = {
|
|
928
955
|
github: yield* GitHub,
|
|
929
956
|
known: yield* Ref2.make(new Map)
|
|
930
957
|
};
|
|
931
|
-
const queue = new FetchQueue((refs) => update(cache, refs), yield*
|
|
958
|
+
const queue = new FetchQueue((refs) => update(cache, refs), yield* Effect10.scope);
|
|
932
959
|
const state = {
|
|
933
960
|
fetch: (refs) => queue.fetch(refs),
|
|
934
961
|
github: cache.github,
|
|
@@ -941,10 +968,10 @@ var layer6 = Layer6.effect(Monitor, Effect9.gen(function* () {
|
|
|
941
968
|
changes: Stream.fromPubSub(state.published),
|
|
942
969
|
forget: (sessionID) => Ref2.update(state.working, (sessions) => new Set([...sessions].filter((id) => id !== sessionID))),
|
|
943
970
|
poll: poll(state),
|
|
944
|
-
attached: (sessionID, ref, report) =>
|
|
971
|
+
attached: (sessionID, ref, report) => Effect10.andThen(remember(cache, new Map([[ref.url, { _tag: "Reported", report }]])), fetchAndShow(state, sessionID, notYetKnown)),
|
|
945
972
|
refresh: (sessionID) => fetchAndShow(state, sessionID, refreshable),
|
|
946
973
|
show: (sessionID) => fetchAndShow(state, sessionID, notYetKnown),
|
|
947
|
-
view: (sessionID) =>
|
|
974
|
+
view: (sessionID) => Effect10.andThen(use(state, sessionID), viewOf(state, sessionID))
|
|
948
975
|
});
|
|
949
976
|
}));
|
|
950
977
|
|
|
@@ -953,7 +980,7 @@ import { Rpc } from "@opencode/plugin/rpc";
|
|
|
953
980
|
import { Schema as Schema13 } from "effect";
|
|
954
981
|
|
|
955
982
|
// src/domain/StackLayout.ts
|
|
956
|
-
import { Array as Arr7, Option as
|
|
983
|
+
import { Array as Arr7, Option as Option15, Schema as Schema12 } from "effect";
|
|
957
984
|
var Membership = Schema12.Union([
|
|
958
985
|
Schema12.TaggedStruct("Standalone", {}),
|
|
959
986
|
Schema12.TaggedStruct("Stack", {
|
|
@@ -961,12 +988,12 @@ var Membership = Schema12.Union([
|
|
|
961
988
|
members: Schema12.NonEmptyArray(PullRequestRef)
|
|
962
989
|
})
|
|
963
990
|
]);
|
|
964
|
-
var stackOf = (entry) =>
|
|
991
|
+
var stackOf = (entry) => Option15.filter(entry.membership, (membership) => membership._tag === "Stack");
|
|
965
992
|
var urlsOf2 = (stack) => stack.members.map((member) => member.url);
|
|
966
993
|
function reportsById(entries) {
|
|
967
994
|
const byId = new Map;
|
|
968
995
|
for (const [index, entry] of entries.entries()) {
|
|
969
|
-
for (const stack of
|
|
996
|
+
for (const stack of Option15.toArray(stackOf(entry))) {
|
|
970
997
|
byId.set(stack.id, [...byId.get(stack.id) ?? [], { index, stack, url: entry.ref.url }]);
|
|
971
998
|
}
|
|
972
999
|
}
|
|
@@ -982,7 +1009,7 @@ function claims(byId) {
|
|
|
982
1009
|
return claimed;
|
|
983
1010
|
}
|
|
984
1011
|
function agrees(reports, entries, claimed) {
|
|
985
|
-
const members =
|
|
1012
|
+
const members = Option15.match(Arr7.head(reports), {
|
|
986
1013
|
onNone: () => [],
|
|
987
1014
|
onSome: (report) => urlsOf2(report.stack)
|
|
988
1015
|
});
|
|
@@ -1000,15 +1027,15 @@ function placements(reports) {
|
|
|
1000
1027
|
}));
|
|
1001
1028
|
const adjacent = Arr7.zipWith(placed, placed.slice(1), (before, after) => after.index === before.index + 1 && after.position > before.position);
|
|
1002
1029
|
const ordered = placed.every((member) => member.position >= 0) && adjacent.every(Boolean);
|
|
1003
|
-
return ordered ?
|
|
1030
|
+
return ordered ? Option15.some(placed) : Option15.none();
|
|
1004
1031
|
}
|
|
1005
1032
|
function consistentStacks(entries) {
|
|
1006
1033
|
const byId = reportsById(entries);
|
|
1007
1034
|
const claimed = claims(byId);
|
|
1008
1035
|
const places = new Map;
|
|
1009
1036
|
for (const reports of byId.values()) {
|
|
1010
|
-
const placed = agrees(reports, entries, claimed) ? placements(reports) :
|
|
1011
|
-
for (const group of
|
|
1037
|
+
const placed = agrees(reports, entries, claimed) ? placements(reports) : Option15.none();
|
|
1038
|
+
for (const group of Option15.toArray(placed)) {
|
|
1012
1039
|
for (const [step, current] of group.entries()) {
|
|
1013
1040
|
places.set(current.index, {
|
|
1014
1041
|
attached: group.length,
|
|
@@ -1038,7 +1065,7 @@ function connector(place) {
|
|
|
1038
1065
|
return place.current.position < place.current.size - 1 ? "open" : "none";
|
|
1039
1066
|
}
|
|
1040
1067
|
function stackRows(entry, place) {
|
|
1041
|
-
const skipped =
|
|
1068
|
+
const skipped = Option15.match(place.previous, {
|
|
1042
1069
|
onNone: () => 0,
|
|
1043
1070
|
onSome: (before) => place.current.position - before.position - 1
|
|
1044
1071
|
});
|
|
@@ -1052,7 +1079,7 @@ function stackRows(entry, place) {
|
|
|
1052
1079
|
}
|
|
1053
1080
|
function layout(entries) {
|
|
1054
1081
|
const places = consistentStacks(entries);
|
|
1055
|
-
return entries.flatMap((entry, index) =>
|
|
1082
|
+
return entries.flatMap((entry, index) => Option15.match(Option15.fromNullishOr(places.get(index)), {
|
|
1056
1083
|
onNone: () => [{ _tag: "PullRequest", connector: "none", entry, marker: "bullet" }],
|
|
1057
1084
|
onSome: (place) => stackRows(entry, place)
|
|
1058
1085
|
}));
|
|
@@ -1108,10 +1135,10 @@ var PullRequestTracker = Rpc.define({
|
|
|
1108
1135
|
});
|
|
1109
1136
|
|
|
1110
1137
|
// src/server/Requests.ts
|
|
1111
|
-
import { Effect as
|
|
1138
|
+
import { Effect as Effect11, Option as Option17 } from "effect";
|
|
1112
1139
|
|
|
1113
1140
|
// src/messages.ts
|
|
1114
|
-
import { Match as Match2, Option as
|
|
1141
|
+
import { Match as Match2, Option as Option16 } from "effect";
|
|
1115
1142
|
var diagnosticMessages = {
|
|
1116
1143
|
AuthenticationRequired: "GitHub needs you to sign in: run `gh auth login`, or set GH_TOKEN.",
|
|
1117
1144
|
GitHubCliMissing: "Install the GitHub CLI (`gh`), or set GH_TOKEN.",
|
|
@@ -1142,7 +1169,7 @@ function attachedMessage(attached) {
|
|
|
1142
1169
|
return attached.stackSize > 1 ? `Attached ${label} with the rest of its Stack (${String(attached.stackSize)} pull requests).` : `Attached ${label}.`;
|
|
1143
1170
|
}
|
|
1144
1171
|
function detachedMessage(removal, target) {
|
|
1145
|
-
return
|
|
1172
|
+
return Option16.match(removal.removed, {
|
|
1146
1173
|
onNone: () => `${target} is not attached.`,
|
|
1147
1174
|
onSome: (ref) => `Detached ${ref.label}.`
|
|
1148
1175
|
});
|
|
@@ -1153,7 +1180,7 @@ function toView(view, layout) {
|
|
|
1153
1180
|
return {
|
|
1154
1181
|
entries: view.entries.map((entry) => ({
|
|
1155
1182
|
attachedAt: entry.attachedAt,
|
|
1156
|
-
membership:
|
|
1183
|
+
membership: Option17.getOrNull(entry.membership),
|
|
1157
1184
|
ref: entry.ref,
|
|
1158
1185
|
status: entry.status
|
|
1159
1186
|
})),
|
|
@@ -1161,15 +1188,15 @@ function toView(view, layout) {
|
|
|
1161
1188
|
sessionID: view.sessionID
|
|
1162
1189
|
};
|
|
1163
1190
|
}
|
|
1164
|
-
var parseTarget = (target) =>
|
|
1191
|
+
var parseTarget = (target) => Effect11.fromResult(parsePullRequestInput(target));
|
|
1165
1192
|
function requests({ monitor, tracker }, settings) {
|
|
1166
1193
|
return {
|
|
1167
|
-
attach: (sessionID, target) =>
|
|
1194
|
+
attach: (sessionID, target) => Effect11.gen(function* () {
|
|
1168
1195
|
const attached = yield* tracker.attach(sessionID, yield* parseTarget(target), settings.directory);
|
|
1169
1196
|
const view = yield* monitor.attached(sessionID, attached.ref, attached.report);
|
|
1170
1197
|
return { message: attachedMessage(attached), view: toView(view, settings.layout) };
|
|
1171
1198
|
}),
|
|
1172
|
-
detach: (sessionID, target) =>
|
|
1199
|
+
detach: (sessionID, target) => Effect11.gen(function* () {
|
|
1173
1200
|
const removal = yield* tracker.detach(sessionID, yield* parseTarget(target));
|
|
1174
1201
|
const view = yield* monitor.show(sessionID);
|
|
1175
1202
|
return { message: detachedMessage(removal, target), view: toView(view, settings.layout) };
|
|
@@ -1178,21 +1205,21 @@ function requests({ monitor, tracker }, settings) {
|
|
|
1178
1205
|
}
|
|
1179
1206
|
|
|
1180
1207
|
// src/server/Rpc.ts
|
|
1181
|
-
import { Effect as
|
|
1208
|
+
import { Effect as Effect12 } from "effect";
|
|
1182
1209
|
function handlers(services, settings) {
|
|
1183
1210
|
const viewOf = (view) => toView(view, settings.layout);
|
|
1184
1211
|
const { attach, detach } = requests(services, settings);
|
|
1185
1212
|
return {
|
|
1186
|
-
attach: ({ sessionID, target }, context) => attach(sessionID, target).pipe(
|
|
1187
|
-
detach: ({ sessionID, target }, context) => detach(sessionID, target).pipe(
|
|
1188
|
-
list: ({ sessionID }, context) => services.monitor.view(sessionID).pipe(
|
|
1189
|
-
refresh: ({ sessionID }, context) => services.monitor.refresh(sessionID).pipe(
|
|
1213
|
+
attach: ({ sessionID, target }, context) => attach(sessionID, target).pipe(Effect12.mapError(failureMessage), Effect12.mapError((message) => context.error("rejected", message, { message }))),
|
|
1214
|
+
detach: ({ sessionID, target }, context) => detach(sessionID, target).pipe(Effect12.mapError(failureMessage), Effect12.mapError((message) => context.error("rejected", message, { message }))),
|
|
1215
|
+
list: ({ sessionID }, context) => services.monitor.view(sessionID).pipe(Effect12.map(viewOf), Effect12.mapError(failureMessage), Effect12.mapError((message) => context.error("rejected", message, { message }))),
|
|
1216
|
+
refresh: ({ sessionID }, context) => services.monitor.refresh(sessionID).pipe(Effect12.map(viewOf), Effect12.mapError(failureMessage), Effect12.mapError((message) => context.error("rejected", message, { message })))
|
|
1190
1217
|
};
|
|
1191
1218
|
}
|
|
1192
1219
|
|
|
1193
1220
|
// src/server/Tools.ts
|
|
1194
1221
|
import { Tool } from "@opencode/schema/tool";
|
|
1195
|
-
import { Effect as
|
|
1222
|
+
import { Effect as Effect13, Schema as Schema14 } from "effect";
|
|
1196
1223
|
|
|
1197
1224
|
// src/domain/Appearance.ts
|
|
1198
1225
|
import { Match as Match3 } from "effect";
|
|
@@ -1253,17 +1280,17 @@ var NoArguments = Schema14.Struct({});
|
|
|
1253
1280
|
var asToolError = (failure) => new Tool.Error({ message: failureMessage(failure) });
|
|
1254
1281
|
var listTool = ({ monitor }) => ({
|
|
1255
1282
|
description: "List the pull requests attached to this session, with their status.",
|
|
1256
|
-
execute: (_input, context) => monitor.view(context.sessionID).pipe(
|
|
1283
|
+
execute: (_input, context) => monitor.view(context.sessionID).pipe(Effect13.map((view) => ({
|
|
1257
1284
|
content: view.entries.length === 0 ? "No pull requests are attached to this session." : view.entries.map((entry) => `- ${entry.ref.url} (${appearance(entry.status).label})`).join(`
|
|
1258
1285
|
`)
|
|
1259
|
-
})),
|
|
1286
|
+
})), Effect13.mapError(asToolError)),
|
|
1260
1287
|
input: NoArguments,
|
|
1261
1288
|
name: "list",
|
|
1262
1289
|
options
|
|
1263
1290
|
});
|
|
1264
1291
|
var changeTool = (name, description, change) => ({
|
|
1265
1292
|
description,
|
|
1266
|
-
execute: (argument, context) => change(context.sessionID, targetOf(argument)).pipe(
|
|
1293
|
+
execute: (argument, context) => change(context.sessionID, targetOf(argument)).pipe(Effect13.map((changed) => ({ content: changed.message })), Effect13.mapError(asToolError)),
|
|
1267
1294
|
input: PullRequestArgument,
|
|
1268
1295
|
name,
|
|
1269
1296
|
options
|
|
@@ -1284,13 +1311,13 @@ function registerTools(tools, services, settings) {
|
|
|
1284
1311
|
// src/server.ts
|
|
1285
1312
|
var pollInterval = "1 second";
|
|
1286
1313
|
var Options = Schema15.Struct({ layout: Layout });
|
|
1287
|
-
var layoutOf = (options) =>
|
|
1314
|
+
var layoutOf = (options) => Option18.match(Schema15.decodeUnknownOption(Options)(options), {
|
|
1288
1315
|
onNone: () => "default",
|
|
1289
1316
|
onSome: ({ layout }) => layout
|
|
1290
1317
|
});
|
|
1291
|
-
var forgetDeletedSessions = (ctx, services) => ctx.event.subscribe().pipe(Stream2.runForEach((event) => event.type === "session.deleted" ?
|
|
1318
|
+
var forgetDeletedSessions = (ctx, services) => ctx.event.subscribe().pipe(Stream2.runForEach((event) => event.type === "session.deleted" ? Effect14.andThen(services.tracker.forget(event.data.sessionID), services.monitor.forget(event.data.sessionID)) : Effect14.void), Effect14.ignore);
|
|
1292
1319
|
var server_default = Plugin.define({
|
|
1293
|
-
effect: (ctx) =>
|
|
1320
|
+
effect: (ctx) => Effect14.gen(function* () {
|
|
1294
1321
|
const application = layer6.pipe(Layer7.provideMerge(layer5), Layer7.provide([live, layer4(ctx.storage)]));
|
|
1295
1322
|
const context = yield* Layer7.build(application);
|
|
1296
1323
|
const services = {
|
|
@@ -1301,11 +1328,11 @@ var server_default = Plugin.define({
|
|
|
1301
1328
|
directory: ctx.location.directory,
|
|
1302
1329
|
layout: layoutOf(ctx.options)
|
|
1303
1330
|
};
|
|
1304
|
-
const registration = yield* ctx.rpc.register(PullRequestTracker, handlers(services, settings)).pipe(
|
|
1331
|
+
const registration = yield* ctx.rpc.register(PullRequestTracker, handlers(services, settings)).pipe(Effect14.orDie);
|
|
1305
1332
|
yield* registerTools(ctx.tool, services, settings);
|
|
1306
|
-
yield*
|
|
1307
|
-
yield*
|
|
1308
|
-
yield* services.monitor.changes.pipe(Stream2.runForEach((view) => registration.events.emit("updated", toView(view, settings.layout)).pipe(
|
|
1333
|
+
yield* Effect14.forkScoped(forgetDeletedSessions(ctx, services));
|
|
1334
|
+
yield* Effect14.forkScoped(Effect14.repeat(services.monitor.poll, Schedule.spaced(pollInterval)));
|
|
1335
|
+
yield* services.monitor.changes.pipe(Stream2.runForEach((view) => registration.events.emit("updated", toView(view, settings.layout)).pipe(Effect14.ignore)), Effect14.forkScoped);
|
|
1309
1336
|
}),
|
|
1310
1337
|
id: "opencode-pr-tracker"
|
|
1311
1338
|
});
|
|
@@ -1313,4 +1340,4 @@ export {
|
|
|
1313
1340
|
server_default as default
|
|
1314
1341
|
};
|
|
1315
1342
|
|
|
1316
|
-
//# debugId=
|
|
1343
|
+
//# debugId=7CB75665EE3FC22164756E2164756E21
|
package/dist/server.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/server.ts", "../src/adapters/github/Client.ts", "../src/ports/GitHub.ts", "../src/domain/Snapshot.ts", "../src/domain/PullRequest.ts", "../src/adapters/Command.ts", "../src/adapters/github/Query.ts", "../src/adapters/github/Repository.ts", "../src/adapters/github/Response.ts", "../src/domain/Checks.ts", "../src/adapters/github/Token.ts", "../src/adapters/Storage.ts", "../src/domain/Tracking.ts", "../src/ports/TrackingRepository.ts", "../src/application/Monitor.ts", "../src/application/FetchQueue.ts", "../src/application/Known.ts", "../src/domain/RefreshPolicy.ts", "../src/application/Time.ts", "../src/application/Tracker.ts", "../src/rpc.ts", "../src/domain/StackLayout.ts", "../src/server/Requests.ts", "../src/messages.ts", "../src/server/Rpc.ts", "../src/server/Tools.ts", "../src/domain/Appearance.ts"],
|
|
3
|
+
"sources": ["../src/server.ts", "../src/adapters/github/Client.ts", "../src/ports/GitHub.ts", "../src/domain/Snapshot.ts", "../src/domain/PullRequest.ts", "../src/adapters/Command.ts", "../src/adapters/github/Query.ts", "../src/adapters/github/Repository.ts", "../src/adapters/github/Response.ts", "../src/domain/Checks.ts", "../src/adapters/github/Token.ts", "../src/adapters/Storage.ts", "../src/domain/Tracking.ts", "../src/ports/TrackingRepository.ts", "../src/application/Monitor.ts", "../src/application/FetchQueue.ts", "../src/application/Known.ts", "../src/domain/RefreshPolicy.ts", "../src/application/Time.ts", "../src/application/Tracker.ts", "../src/application/SessionLocks.ts", "../src/rpc.ts", "../src/domain/StackLayout.ts", "../src/server/Requests.ts", "../src/messages.ts", "../src/server/Rpc.ts", "../src/server/Tools.ts", "../src/domain/Appearance.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { Plugin } from \"@opencode/plugin/effect\"\nimport { Context, Effect, Layer, Option, Schedule, Schema, Stream } from \"effect\"\n\nimport { live as githubLive } from \"./adapters/github/Client.ts\"\nimport { layer as storageLayer } from \"./adapters/Storage.ts\"\nimport { Monitor, layer as monitorLayer } from \"./application/Monitor.ts\"\nimport { Tracker, layer as trackerLayer } from \"./application/Tracker.ts\"\nimport { Layout, PullRequestTracker } from \"./rpc.ts\"\nimport { toView, type Services, type Settings } from \"./server/Requests.ts\"\nimport { handlers } from \"./server/Rpc.ts\"\nimport { registerTools } from \"./server/Tools.ts\"\n\nconst pollInterval = \"1 second\"\n\nconst Options = Schema.Struct({ layout: Layout })\n\n/** The sidebar layout from the plugin options; anything but \"compact\" is the default. */\nconst layoutOf = (options: Plugin.Context[\"options\"]): Layout =>\n Option.match(Schema.decodeUnknownOption(Options)(options), {\n onNone: () => \"default\",\n onSome: ({ layout }) => layout,\n })\n\n/** Forgets a session everywhere once OpenCode deletes it. Every plugin instance sees the event. */\nconst forgetDeletedSessions = (ctx: Plugin.Context, services: Services): Effect.Effect<void> =>\n ctx.event.subscribe().pipe(\n Stream.runForEach((event) =>\n event.type === \"session.deleted\"\n ? Effect.andThen(\n services.tracker.forget(event.data.sessionID),\n services.monitor.forget(event.data.sessionID),\n )\n : Effect.void,\n ),\n Effect.ignore,\n )\n\nexport default Plugin.define({\n effect: (ctx) =>\n Effect.gen(function* () {\n const application = monitorLayer.pipe(\n Layer.provideMerge(trackerLayer),\n Layer.provide([githubLive, storageLayer(ctx.storage)]),\n )\n\n const context = yield* Layer.build(application)\n\n const services: Services = {\n monitor: Context.get(context, Monitor),\n tracker: Context.get(context, Tracker),\n }\n\n const settings: Settings = {\n directory: ctx.location.directory,\n layout: layoutOf(ctx.options),\n }\n\n const registration = yield* ctx.rpc\n .register(PullRequestTracker, handlers(services, settings))\n .pipe(Effect.orDie)\n\n yield* registerTools(ctx.tool, services, settings)\n yield* Effect.forkScoped(forgetDeletedSessions(ctx, services))\n yield* Effect.forkScoped(Effect.repeat(services.monitor.poll, Schedule.spaced(pollInterval)))\n yield* services.monitor.changes.pipe(\n Stream.runForEach((view) =>\n registration.events.emit(\"updated\", toView(view, settings.layout)).pipe(Effect.ignore),\n ),\n Effect.forkScoped,\n )\n }),\n id: \"opencode-pr-tracker\",\n})\n",
|
|
6
6
|
"import { Array as Arr, Effect, Layer, Option, Redacted, Result, Schema } from \"effect\"\nimport { FetchHttpClient, HttpClient, HttpClientRequest } from \"effect/unstable/http\"\n\nimport type { PullRequestRef } from \"../../domain/PullRequest.ts\"\nimport type { Diagnostic } from \"../../domain/Snapshot.ts\"\nimport { GitHub, GitHubFailure, maximumBatch, type ItemResult } from \"../../ports/GitHub.ts\"\nimport { CommandRunner, layer as commandLayer } from \"../Command.ts\"\nimport { alias, batch, continuation } from \"./Query.ts\"\nimport { resolveInRepository } from \"./Repository.ts\"\nimport {\n combined,\n Contexts,\n PullRequestNode,\n toReport,\n type BatchOutcome,\n type ContextNode,\n type Entry,\n} from \"./Response.ts\"\nimport { Token, layer as tokenLayer } from \"./Token.ts\"\n\nconst endpoint = \"https://api.github.com/graphql\"\n\nconst GraphQlError = Schema.Struct({\n path: Schema.optional(Schema.Array(Schema.Union([Schema.String, Schema.Number]))),\n type: Schema.optional(Schema.String),\n})\n\nconst Envelope = Schema.Struct({\n data: Schema.optional(Schema.NullOr(Schema.Record(Schema.String, Schema.Unknown))),\n errors: Schema.optional(Schema.Array(GraphQlError)),\n})\n\ntype Envelope = typeof Envelope.Type\n\nconst ContinuationData = Schema.Struct({\n resource: Schema.Struct({ statusCheckRollup: Schema.Struct({ contexts: Contexts }) }),\n})\n\nconst failure = (diagnostic: Diagnostic): GitHubFailure => new GitHubFailure({ diagnostic })\n\n/** A 401 from GitHub: the cached token may be stale. */\nclass Unauthorized extends Schema.TaggedError<Unauthorized>()(\"Unauthorized\", {}) {}\n\nconst failed = (diagnostic: Diagnostic): ItemResult => ({ _tag: \"Failed\", diagnostic })\n\nconst decodeEnvelope = Schema.decodeUnknownEffect(Envelope)\n\ntype Variables = Readonly<Record<string, string>>\n\n/** Posts one GraphQL document and decodes GitHub's response envelope. */\ntype Post = (query: string, variables: Variables) => Effect.Effect<Envelope, GitHubFailure>\n\n/** Posts one GraphQL document. A 401 refreshes the token and retries once. */\nconst makePost = Effect.fn(\"makePost\")(function* (): Effect.fn.Return<\n Post,\n never,\n HttpClient.HttpClient | Token\n> {\n const http = yield* HttpClient.HttpClient\n const token = yield* Token\n\n const attempt = Effect.fn(\"attempt\")(function* (query: string, variables: Variables) {\n const bearer = yield* token.get\n\n const request = HttpClientRequest.post(endpoint).pipe(\n HttpClientRequest.bearerToken(Redacted.value(bearer)),\n HttpClientRequest.bodyJsonUnsafe({ query, variables }),\n )\n\n const response = yield* http\n .execute(request)\n .pipe(Effect.mapError(() => failure(\"GitHubUnavailable\")))\n\n if (response.status === 401) return yield* new Unauthorized()\n\n if (response.status < 200 || response.status >= 300) return yield* failure(\"GitHubUnavailable\")\n\n const body = yield* response.json.pipe(Effect.mapError(() => failure(\"InvalidResponse\")))\n\n return yield* decodeEnvelope(body).pipe(Effect.mapError(() => failure(\"InvalidResponse\")))\n })\n\n return (query: string, variables: Variables): Effect.Effect<Envelope, GitHubFailure> =>\n attempt(query, variables).pipe(\n Effect.catchTag(\"Unauthorized\", () =>\n Effect.andThen(token.invalidate, attempt(query, variables)),\n ),\n Effect.catchTag(\"Unauthorized\", () => Effect.fail(failure(\"AuthenticationRequired\"))),\n )\n})\n\n/** Every check context for a pull request, following continuation pages. */\nconst allContexts = Effect.fn(\"allContexts\")(function* (post: Post, node: PullRequestNode) {\n const collected: ContextNode[] = []\n const followed = new Set<string>()\n let page = Option.map(Option.fromNullishOr(node.statusCheckRollup), (rollup) => rollup.contexts)\n\n while (Option.isSome(page)) {\n collected.push(...page.value.nodes)\n\n if (!page.value.pageInfo.hasNextPage) break\n\n // A claimed next page needs a new cursor, or CI would be judged on part or paging never end.\n const after = page.value.pageInfo.endCursor ?? \"\"\n\n if (after === \"\" || followed.has(after)) return yield* failure(\"InvalidResponse\")\n\n followed.add(after)\n\n const envelope = yield* post(continuation(), { cursor: after, url: node.url })\n\n if ((envelope.errors ?? []).length > 0) return yield* failure(\"InvalidResponse\")\n\n const data = yield* Schema.decodeUnknownEffect(ContinuationData)(envelope.data).pipe(\n Effect.mapError(() => failure(\"InvalidResponse\")),\n )\n\n page = Option.some(data.resource.statusCheckRollup.contexts)\n }\n\n return collected\n})\n\n/** GraphQL error types meaning the pull request does not exist or this token cannot see it. */\nconst inaccessible = new Set([\"NOT_FOUND\", \"FORBIDDEN\"])\n\n/** Errors for `key`, or naming no alias, fail it; only its own inaccessible errors mean missing. */\nfunction aliasFailure(request: Batch, key: string): Option.Option<Diagnostic> {\n const diagnostics = (request.envelope.errors ?? []).flatMap((error): Diagnostic[] => {\n const root = String((error.path ?? [])[0] ?? \"\")\n\n if (root === key) return [inaccessible.has(error.type ?? \"\") ? \"NotFound\" : \"InvalidResponse\"]\n\n return request.aliases.has(root) ? [] : [\"InvalidResponse\"]\n })\n\n if (diagnostics.length === 0) return Option.none()\n\n return Option.some(diagnostics.includes(\"InvalidResponse\") ? \"InvalidResponse\" : \"NotFound\")\n}\n\ninterface Batch {\n readonly post: Post\n readonly envelope: Envelope\n /** The aliases of this batch's pull requests. */\n readonly aliases: ReadonlySet<string>\n}\n\nconst itemResult = Effect.fn(\"itemResult\")(function* (\n request: Batch,\n ref: PullRequestRef,\n key: string,\n) {\n const { envelope, post } = request\n const reported = aliasFailure(request, key)\n const raw = Option.fromNullishOr((envelope.data ?? {})[key])\n\n if (Option.isSome(reported)) return failed(reported.value)\n\n if (Option.isNone(raw)) return failed(\"NotFound\")\n\n const node = Schema.decodeUnknownOption(PullRequestNode)(raw.value)\n\n if (Option.isNone(node)) return failed(\"InvalidResponse\")\n\n const contexts = yield* Effect.result(allContexts(post, node.value))\n\n if (Result.isFailure(contexts)) return failed(contexts.failure.diagnostic)\n\n return {\n _tag: \"Reported\",\n report: toReport(ref, node.value, contexts.success),\n } satisfies ItemResult\n})\n\nconst fetchBatch = Effect.fn(\"fetchBatch\")(function* (post: Post, refs: readonly PullRequestRef[]) {\n const variables = Object.fromEntries(refs.map((ref, index) => [alias(index), ref.url]))\n const envelope = yield* post(batch(refs.length), variables)\n\n // GitHub answers a request it could not run at all, such as a rate-limited one, without data.\n if (Option.isNone(Option.fromNullishOr(envelope.data))) return yield* failure(\"GitHubUnavailable\")\n\n const results = yield* Effect.forEach(\n refs,\n (ref, index) =>\n itemResult({ aliases: new Set(Object.keys(variables)), envelope, post }, ref, alias(index)),\n {\n concurrency: 4,\n },\n )\n\n return Arr.zip(\n refs.map((ref) => ref.url),\n results,\n )\n})\n\n/** A batch's results; when the whole batch failed, a failure for each of its pull requests. */\nconst outcomeOf = (post: Post, refs: readonly PullRequestRef[]): Effect.Effect<BatchOutcome> =>\n Effect.gen(function* () {\n const result = yield* Effect.result(fetchBatch(post, refs))\n\n if (Result.isSuccess(result)) return { entries: result.success, failure: Option.none() }\n\n const { diagnostic } = result.failure\n\n return {\n entries: refs.map((ref): Entry => [ref.url, { _tag: \"Failed\", diagnostic }]),\n failure: Option.some(diagnostic),\n }\n })\n\n/** The GitHub port over GraphQL. Requires an HTTP client, a token source, and `gh`. */\nexport const layer = Layer.effect(\n GitHub,\n Effect.gen(function* () {\n const post = yield* makePost()\n const runner = yield* CommandRunner\n\n return GitHub.of({\n fetch: (refs) => {\n const batches = Arr.chunksOf(\n Arr.dedupeWith(refs, (left, right) => left.url === right.url),\n maximumBatch,\n )\n\n return Effect.forEach(batches, (refsInBatch: readonly PullRequestRef[]) =>\n outcomeOf(post, refsInBatch),\n ).pipe(\n Effect.flatMap((outcomes: readonly BatchOutcome[]) =>\n Effect.fromResult(combined(outcomes)),\n ),\n Effect.mapError(failure),\n )\n },\n pullRequestInRepository: (directory, number) =>\n resolveInRepository(directory, number).pipe(Effect.provideService(CommandRunner, runner)),\n })\n }),\n)\n\n/** The GitHub port over `api.github.com`, with tokens from the environment or `gh`. */\nexport const live = layer.pipe(\n Layer.provide(tokenLayer),\n Layer.provide([commandLayer, FetchHttpClient.layer]),\n)\n",
|
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
"/** What the monitor knows about one pull request, and when to ask GitHub again. */\nimport { Duration, Option } from \"effect\"\n\nimport type { PullRequestRef } from \"../domain/PullRequest.ts\"\nimport { nextRefresh } from \"../domain/RefreshPolicy.ts\"\nimport { failed, pending, succeeded, type Status } from \"../domain/Snapshot.ts\"\nimport type { Membership } from \"../domain/StackLayout.ts\"\nimport type { ItemResult } from \"../ports/GitHub.ts\"\n\nexport interface Known {\n readonly status: Status\n readonly membership: Option.Option<Membership>\n /** When to refresh next; none once refreshing can no longer change anything. */\n readonly dueAt: Option.Option<number>\n}\n\nexport const unknown: Known = { dueAt: Option.some(0), membership: Option.none(), status: pending }\n\nexport function afterRefresh(previous: Known, result: ItemResult, now: number): Known {\n const status =\n result._tag === \"Reported\"\n ? succeeded(result.report.snapshot)\n : failed(previous.status, result.diagnostic, now)\n\n const membership = result._tag === \"Reported\" ? result.report.membership : previous.membership\n\n return {\n dueAt: Option.map(nextRefresh(status), (delay) => now + Duration.toMillis(delay)),\n membership,\n status,\n }\n}\n\nexport const isDue = (\n known: ReadonlyMap<string, Known>,\n now: number,\n ref: PullRequestRef,\n): boolean =>\n Option.match((known.get(ref.url) ?? unknown).dueAt, {\n onNone: () => false,\n onSome: (at: number) => at <= now,\n })\n\n/**\n * `entries` without pull requests that no session in use has attached, as of the `before`\n * snapshot. Entries that changed since were recorded for attachments newer than the snapshot.\n */\nexport function withoutUnattached(\n entries: ReadonlyMap<string, Known>,\n before: ReadonlyMap<string, Known>,\n attached: ReadonlyMap<string, PullRequestRef>,\n): ReadonlyMap<string, Known> {\n return new Map(\n [...entries].filter(\n ([url, entry]: readonly [string, Known]) => attached.has(url) || entry !== before.get(url),\n ),\n )\n}\n",
|
|
22
22
|
"import { Duration, Option } from \"effect\"\n\nimport type { Status } from \"./Snapshot.ts\"\n\nexport const refreshInterval = Duration.seconds(15)\n\n/** When to refresh a pull request next. Merged pull requests never change, so they stop. */\nexport function nextRefresh(status: Status): Option.Option<Duration.Duration> {\n const merged =\n (status._tag === \"Fresh\" || status._tag === \"Stale\") && status.snapshot.state._tag === \"Merged\"\n\n return merged ? Option.none() : Option.some(refreshInterval)\n}\n",
|
|
23
23
|
"import { Clock, Effect } from \"effect\"\n\n/**\n * The current time in whole epoch milliseconds. `Clock` promises only a number, and OpenCode's\n * clock reports fractions, but attachment and failure times are stored as integers.\n */\nexport const currentMillis: Effect.Effect<number> = Effect.map(Clock.currentTimeMillis, Math.floor)\n",
|
|
24
|
-
"import { Array as Arr, Context, Effect, Layer, Option, Schema
|
|
24
|
+
"import { Array as Arr, Context, Effect, Layer, Option, Schema } from \"effect\"\n\nimport type { PullRequestInput, PullRequestRef } from \"../domain/PullRequest.ts\"\nimport { Diagnostic } from \"../domain/Snapshot.ts\"\nimport {\n attach,\n detach,\n detachNumber,\n type AmbiguousPullRequestNumber,\n type AttachmentLimitReached,\n type Removal,\n type Tracking,\n} from \"../domain/Tracking.ts\"\nimport {\n GitHub,\n type GitHubApi,\n type GitHubFailure,\n type ItemResult,\n type Report,\n type RepositoryUnavailable,\n} from \"../ports/GitHub.ts\"\nimport {\n TrackingRepository,\n type StoredStateInvalid,\n type TrackingRepositoryApi,\n} from \"../ports/TrackingRepository.ts\"\nimport { SessionLocks } from \"./SessionLocks.ts\"\nimport { currentMillis } from \"./Time.ts\"\n\n/** GitHub could not report the pull request being attached. */\nexport class PullRequestUnavailable extends Schema.TaggedError<PullRequestUnavailable>()(\n \"PullRequestUnavailable\",\n { diagnostic: Diagnostic, url: Schema.String },\n) {}\n\n/** GitHub reported only part of the pull request's Stack, so attaching all of it is impossible. */\nexport class StackIncomplete extends Schema.TaggedError<StackIncomplete>()(\"StackIncomplete\", {\n url: Schema.String,\n}) {}\n\nexport type AttachFailure =\n | AttachmentLimitReached\n | StackIncomplete\n | GitHubFailure\n | PullRequestUnavailable\n | RepositoryUnavailable\n | StoredStateInvalid\n\nexport interface Attached {\n /** The pull request that was named; its Stack may have brought others with it. */\n readonly ref: PullRequestRef\n /** What GitHub reported for it while attaching. */\n readonly report: Report\n readonly changed: boolean\n /** How many pull requests the named one's Stack has, itself included. */\n readonly stackSize: number\n readonly tracking: Tracking\n}\n\nexport interface TrackerApi {\n readonly list: (sessionID: string) => Effect.Effect<Tracking, StoredStateInvalid>\n /** Attaches a pull request, with its whole Stack. A bare number is resolved in `directory`. */\n readonly attach: (\n sessionID: string,\n input: PullRequestInput,\n directory: string,\n ) => Effect.Effect<Attached, AttachFailure>\n readonly detach: (\n sessionID: string,\n input: PullRequestInput,\n ) => Effect.Effect<Removal, StoredStateInvalid | AmbiguousPullRequestNumber>\n /** Removes everything stored for a session. Safe to repeat. */\n readonly forget: (sessionID: string) => Effect.Effect<void>\n}\n\nexport class Tracker extends Context.Service<Tracker, TrackerApi>()(\n \"opencode-pr-tracker/Tracker\",\n) {}\n\ninterface Discovered {\n readonly report: Report\n /** The pull request's Stack, bottom first; just the pull request when it has none. */\n readonly stack: Arr.NonEmptyReadonlyArray<PullRequestRef>\n}\n\nfunction discovered(\n ref: PullRequestRef,\n result: ItemResult,\n): Effect.Effect<Discovered, PullRequestUnavailable | StackIncomplete> {\n if (result._tag === \"Failed\")\n return Effect.fail(new PullRequestUnavailable({ diagnostic: result.diagnostic, url: ref.url }))\n\n const { report } = result\n\n return Option.match(report.membership, {\n onNone: () => Effect.fail(new StackIncomplete({ url: ref.url })),\n onSome: (membership) =>\n Effect.succeed({\n report,\n stack: membership._tag === \"Stack\" ? membership.members : Arr.of(ref),\n }),\n })\n}\n\ninterface Services {\n readonly github: GitHubApi\n readonly repository: TrackingRepositoryApi\n}\n\nfunction resolve(\n { github }: Services,\n input: PullRequestInput,\n directory: string,\n): Effect.Effect<PullRequestRef, GitHubFailure | RepositoryUnavailable> {\n return input._tag === \"Reference\"\n ? Effect.succeed(input.ref)\n : github.pullRequestInRepository(directory, input.number)\n}\n\nconst attachTo = Effect.fn(\"Tracker.attach\")(function* (\n services: Services,\n sessionID: string,\n target: Readonly<{ input: PullRequestInput; directory: string }>,\n) {\n const ref = yield* resolve(services, target.input, target.directory)\n const reports = yield* services.github.fetch([ref])\n const missing: ItemResult = { _tag: \"Failed\", diagnostic: \"NotFound\" }\n const { report, stack } = yield* discovered(ref, reports.get(ref.url) ?? missing)\n const current = yield* services.repository.load(sessionID)\n const change = yield* Effect.fromResult(attach(current, stack, yield* currentMillis))\n\n if (change.changed) yield* services.repository.save(sessionID, change.tracking)\n\n return {\n changed: change.changed,\n ref,\n report,\n stackSize: stack.length,\n tracking: change.tracking,\n }\n})\n\nconst detachFrom = Effect.fn(\"Tracker.detach\")(function* (\n { repository }: Services,\n sessionID: string,\n input: PullRequestInput,\n) {\n const current = yield* repository.load(sessionID)\n\n const removal: Removal =\n input._tag === \"Reference\"\n ? detach(current, input.ref)\n : yield* Effect.fromResult(detachNumber(current, input.number))\n\n if (Option.isSome(removal.removed)) yield* repository.save(sessionID, removal.tracking)\n\n return removal\n})\n\nexport const layer = Layer.effect(\n Tracker,\n Effect.gen(function* () {\n const services: Services = { github: yield* GitHub, repository: yield* TrackingRepository }\n const locks = new SessionLocks()\n\n return Tracker.of({\n attach: (sessionID, input, directory) =>\n locks.run(sessionID, attachTo(services, sessionID, { directory, input })),\n detach: (sessionID, input) => locks.run(sessionID, detachFrom(services, sessionID, input)),\n forget: (sessionID) => locks.run(sessionID, services.repository.remove(sessionID)),\n list: (sessionID) => services.repository.load(sessionID),\n })\n }),\n)\n",
|
|
25
|
+
"import { Effect, Option, Semaphore } from \"effect\"\n\ninterface SessionLock {\n readonly semaphore: Semaphore.Semaphore\n /** Operations queued or running on this lock. */\n readonly users: number\n}\n\n/**\n * Runs each session's operations one at a time. A session's lock is dropped once no operation\n * holds or awaits it; dropping it earlier would let a new operation create a second lock and\n * overlap operations still queued on the first.\n */\nexport class SessionLocks {\n private readonly locks = new Map<string, SessionLock>()\n\n /** How many sessions have operations queued or running. */\n public get held(): number {\n return this.locks.size\n }\n\n public run<A, E, R>(sessionID: string, effect: Effect.Effect<A, E, R>): Effect.Effect<A, E, R> {\n return Effect.uninterruptibleMask((restore) =>\n Effect.suspend(() =>\n restore(this.enter(sessionID).withPermit(effect)).pipe(\n Effect.ensuring(\n Effect.sync(() => {\n this.leave(sessionID)\n }),\n ),\n ),\n ),\n )\n }\n\n private enter(sessionID: string): Semaphore.Semaphore {\n const { semaphore, users } = this.locks.get(sessionID) ?? {\n semaphore: Semaphore.makeUnsafe(1),\n users: 0,\n }\n\n this.locks.set(sessionID, { semaphore, users: users + 1 })\n\n return semaphore\n }\n\n private leave(sessionID: string): void {\n const current = Option.fromUndefinedOr(this.locks.get(sessionID))\n\n if (Option.isNone(current)) return\n\n const { semaphore, users } = current.value\n\n if (users === 1) this.locks.delete(sessionID)\n else this.locks.set(sessionID, { semaphore, users: users - 1 })\n }\n}\n",
|
|
25
26
|
"/**\n * The RPC contract between the server plugin and its clients, including the terminal plugin.\n * Schemas are Standard Schema so both Effect and Promise clients can use them.\n */\nimport { Rpc } from \"@opencode/plugin/rpc\"\nimport { Schema, type StandardSchema } from \"effect\"\n\nimport { PullRequestRef } from \"./domain/PullRequest.ts\"\nimport { Status } from \"./domain/Snapshot.ts\"\nimport { Membership } from \"./domain/StackLayout.ts\"\n\nexport const Layout = Schema.Literals([\"default\", \"compact\"])\n\nexport type Layout = typeof Layout.Type\n\nexport const EntryView = Schema.Struct({\n attachedAt: Schema.Int,\n membership: Schema.NullOr(Membership),\n ref: PullRequestRef,\n status: Status,\n})\n\nexport type EntryView = typeof EntryView.Type\n\n/** A session's attached pull requests, in display order, with the configured sidebar layout. */\nexport const View = Schema.Struct({\n entries: Schema.Array(EntryView),\n layout: Layout,\n sessionID: Schema.String,\n})\n\nexport type View = typeof View.Type\n\n/** A view as clients receive it: plain JSON data. */\nexport type ViewData = typeof View.Encoded\n\nconst Session = Schema.Struct({ sessionID: Schema.String })\n\n/** A pull request URL, with or without `https://`, or a number in the session's repository. */\nconst Target = Schema.Struct({ sessionID: Schema.String, target: Schema.String })\n\n/** The outcome of a change, with a message for the person who asked, and the session's new view. */\nexport const Changed = Schema.Struct({ message: Schema.String, view: View })\n\nexport type Changed = typeof Changed.Type\n\n/** A request that could not be carried out, with a message for the person who made it. */\nconst Rejected = Schema.Struct({ message: Schema.String })\n\n/**\n * The wire form of `schema`: plain JSON data, validated by the plugin's own copy of Effect.\n * OpenCode would handle an Effect schema with its own copy, which can reject values this one\n * accepts, and it sends only JSON, so decoded values such as class instances cannot cross.\n */\nfunction portable<S extends Schema.Top>(\n schema: S,\n): StandardSchema.StandardSchemaV1<S[\"Encoded\"], S[\"Encoded\"]> {\n return { \"~standard\": Schema.toStandardSchemaV1(Schema.toEncoded(schema))[\"~standard\"] }\n}\n\nexport const PullRequestTracker = Rpc.define({\n events: {\n updated: { schema: portable(View) },\n },\n id: \"opencode-pr-tracker\",\n methods: {\n attach: {\n errors: { rejected: portable(Rejected) },\n input: portable(Target),\n output: portable(Changed),\n },\n detach: {\n errors: { rejected: portable(Rejected) },\n input: portable(Target),\n output: portable(Changed),\n },\n list: {\n errors: { rejected: portable(Rejected) },\n input: portable(Session),\n output: portable(View),\n },\n refresh: {\n errors: { rejected: portable(Rejected) },\n input: portable(Session),\n output: portable(View),\n },\n },\n})\n\nexport type PullRequestTracker = typeof PullRequestTracker\n",
|
|
26
27
|
"import { Array as Arr, Option, Schema } from \"effect\"\n\nimport { PullRequestRef } from \"./PullRequest.ts\"\n\n/** GitHub Stack membership. Members are listed bottom to top. */\nexport const Membership = Schema.Union([\n Schema.TaggedStruct(\"Standalone\", {}),\n Schema.TaggedStruct(\"Stack\", {\n id: Schema.String,\n members: Schema.NonEmptyArray(PullRequestRef),\n }),\n])\n\nexport type Membership = typeof Membership.Type\n\ntype StackMembership = Extract<Membership, { readonly _tag: \"Stack\" }>\n\nexport interface Entry {\n readonly ref: PullRequestRef\n readonly membership: Option.Option<Membership>\n}\n\n/** `first`, `middle` and `last` draw a Stack's boundary; `bullet` is an ordinary pull request. */\nexport type Marker = \"bullet\" | \"first\" | \"middle\" | \"last\"\n\n/** How the line under a row continues: to the next attached member, to unattached members, or not. */\nexport type Connector = \"continues\" | \"open\" | \"none\"\n\nexport type Row<E extends Entry> =\n | {\n readonly _tag: \"PullRequest\"\n readonly entry: E\n readonly marker: Marker\n readonly connector: Connector\n }\n | { readonly _tag: \"Gap\"; readonly count: number }\n\ninterface Placed {\n readonly index: number\n readonly position: number\n readonly size: number\n}\n\n/** Where one entry sits within its Stack's attached members. */\ninterface Place {\n readonly current: Placed\n readonly previous: Option.Option<Placed>\n readonly first: boolean\n readonly last: boolean\n readonly attached: number\n}\n\ninterface Reported {\n readonly index: number\n readonly url: string\n readonly stack: StackMembership\n}\n\nconst stackOf = (entry: Entry): Option.Option<StackMembership> =>\n Option.filter(entry.membership, (membership) => membership._tag === \"Stack\")\n\nconst urlsOf = (stack: StackMembership): string[] => stack.members.map((member) => member.url)\n\nfunction reportsById(entries: readonly Entry[]): Map<string, Reported[]> {\n const byId = new Map<string, Reported[]>()\n\n for (const [index, entry] of entries.entries()) {\n for (const stack of Option.toArray(stackOf(entry))) {\n byId.set(stack.id, [...(byId.get(stack.id) ?? []), { index, stack, url: entry.ref.url }])\n }\n }\n\n return byId\n}\n\n/** Every Stack ID that lists each pull request, across all reported memberships. */\nfunction claims(byId: ReadonlyMap<string, readonly Reported[]>): Map<string, Set<string>> {\n const claimed = new Map<string, Set<string>>()\n\n for (const [id, reports] of byId) {\n for (const url of reports.flatMap((report) => urlsOf(report.stack))) {\n claimed.set(url, new Set([...(claimed.get(url) ?? []), id]))\n }\n }\n\n return claimed\n}\n\nfunction agrees(\n reports: readonly Reported[],\n entries: readonly Entry[],\n claimed: ReadonlyMap<string, ReadonlySet<string>>,\n): boolean {\n const members = Option.match(Arr.head(reports), {\n onNone: (): string[] => [],\n onSome: (report) => urlsOf(report.stack),\n })\n\n const listed = new Set(members)\n const attachedMembers = entries.filter((entry) => listed.has(entry.ref.url))\n\n return (\n listed.size === members.length &&\n reports.every((report) => urlsOf(report.stack).join(\"\\n\") === members.join(\"\\n\")) &&\n members.every((url) => (claimed.get(url) ?? new Set()).size === 1) &&\n attachedMembers.length === reports.length\n )\n}\n\nfunction placements(reports: readonly Reported[]): Option.Option<Placed[]> {\n const placed = reports.map((report) => ({\n index: report.index,\n position: urlsOf(report.stack).indexOf(report.url),\n size: report.stack.members.length,\n }))\n\n const adjacent = Arr.zipWith(\n placed,\n placed.slice(1),\n (before: Placed, after: Placed) =>\n after.index === before.index + 1 && after.position > before.position,\n )\n\n const ordered = placed.every((member: Placed) => member.position >= 0) && adjacent.every(Boolean)\n\n return ordered ? Option.some(placed) : Option.none()\n}\n\n/** Each entry that belongs to a consistent Stack, with its place among the attached members. */\nfunction consistentStacks(entries: readonly Entry[]): Map<number, Place> {\n const byId = reportsById(entries)\n const claimed = claims(byId)\n const places = new Map<number, Place>()\n\n for (const reports of byId.values()) {\n const placed = agrees(reports, entries, claimed) ? placements(reports) : Option.none()\n\n for (const group of Option.toArray(placed)) {\n for (const [step, current] of group.entries()) {\n places.set(current.index, {\n attached: group.length,\n current,\n first: step === 0,\n last: step === group.length - 1,\n previous: Arr.get(group, step - 1),\n })\n }\n }\n }\n\n return places\n}\n\nfunction marker(place: Place): Marker {\n const { current } = place\n\n if (place.attached === 1 && current.size > 1) return \"middle\"\n\n if (place.first && current.position === 0) return \"first\"\n\n if (place.last && current.position === current.size - 1) return \"last\"\n\n return \"middle\"\n}\n\nfunction connector(place: Place): Connector {\n if (!place.last) return \"continues\"\n\n return place.current.position < place.current.size - 1 ? \"open\" : \"none\"\n}\n\nfunction stackRows<E extends Entry>(entry: E, place: Place): Row<E>[] {\n const skipped = Option.match(place.previous, {\n onNone: () => 0,\n onSome: (before) => place.current.position - before.position - 1,\n })\n\n const row: Row<E> = {\n _tag: \"PullRequest\",\n connector: connector(place),\n entry,\n marker: marker(place),\n }\n\n return skipped > 0 ? [{ _tag: \"Gap\", count: skipped }, row] : [row]\n}\n\n/** Sidebar rows in attachment order, with Stack markers and gaps where membership is consistent. */\nexport function layout<E extends Entry>(entries: readonly E[]): Row<E>[] {\n const places = consistentStacks(entries)\n\n return entries.flatMap((entry, index) =>\n Option.match(Option.fromNullishOr(places.get(index)), {\n onNone: (): Row<E>[] => [{ _tag: \"PullRequest\", connector: \"none\", entry, marker: \"bullet\" }],\n onSome: (place) => stackRows(entry, place),\n }),\n )\n}\n",
|
|
27
28
|
"/** Requests to change a session's attachments, shared by the RPC methods and the agent tools. */\nimport { Effect, Option } from \"effect\"\n\nimport type { MonitorApi, SessionView } from \"../application/Monitor.ts\"\nimport type { TrackerApi } from \"../application/Tracker.ts\"\nimport { parsePullRequestInput, type PullRequestInput } from \"../domain/PullRequest.ts\"\nimport { attachedMessage, detachedMessage, type RequestFailure } from \"../messages.ts\"\nimport type { Changed, Layout, View } from \"../rpc.ts\"\n\nexport interface Services {\n readonly tracker: TrackerApi\n readonly monitor: MonitorApi\n}\n\nexport interface Settings {\n readonly layout: Layout\n /** Where this plugin instance runs; bare pull request numbers resolve in its repository. */\n readonly directory: string\n}\n\nexport function toView(view: SessionView, layout: Layout): View {\n return {\n entries: view.entries.map((entry) => ({\n attachedAt: entry.attachedAt,\n membership: Option.getOrNull(entry.membership),\n ref: entry.ref,\n status: entry.status,\n })),\n layout,\n sessionID: view.sessionID,\n }\n}\n\nconst parseTarget = (target: string): Effect.Effect<PullRequestInput, RequestFailure> =>\n Effect.fromResult(parsePullRequestInput(target))\n\n/** Changes a session's attachments for `target` and reports the change. */\nexport type Change = (sessionID: string, target: string) => Effect.Effect<Changed, RequestFailure>\n\nexport interface Requests {\n /**\n * Attaches `target`, with its Stack, then publishes the session's view. Only Stack members not yet\n * known are fetched; `target` itself was fetched while attaching.\n */\n readonly attach: Change\n /** Detaches `target`, then publishes the session's view, fetching only statuses not yet known. */\n readonly detach: Change\n}\n\nexport function requests({ monitor, tracker }: Services, settings: Settings): Requests {\n return {\n attach: (sessionID, target) =>\n Effect.gen(function* () {\n const attached = yield* tracker.attach(\n sessionID,\n yield* parseTarget(target),\n settings.directory,\n )\n\n const view = yield* monitor.attached(sessionID, attached.ref, attached.report)\n\n return { message: attachedMessage(attached), view: toView(view, settings.layout) }\n }),\n detach: (sessionID, target) =>\n Effect.gen(function* () {\n const removal = yield* tracker.detach(sessionID, yield* parseTarget(target))\n const view = yield* monitor.show(sessionID)\n\n return { message: detachedMessage(removal, target), view: toView(view, settings.layout) }\n }),\n }\n}\n",
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
"import type { ToolDomain } from \"@opencode/plugin/effect/tool\"\nimport { Tool } from \"@opencode/schema/tool\"\nimport { Effect, Schema, type Scope } from \"effect\"\n\nimport { appearance } from \"../domain/Appearance.ts\"\nimport { failureMessage, type RequestFailure } from \"../messages.ts\"\nimport { requests, type Change, type Services, type Settings } from \"./Requests.ts\"\n\nconst options = { codemode: true, namespace: \"pr\", pinned: true } as const\n\n/** A pull request URL or number. Agents may pass the number as text or as a JSON integer. */\nexport const PullRequestArgument = Schema.Struct({\n pull_request: Schema.Union([Schema.String, Schema.Int]).annotate({\n description:\n \"A pull request URL, such as github.com/owner/repository/pull/123, or a number in this repository\",\n }),\n})\n\nexport type PullRequestArgument = typeof PullRequestArgument.Type\n\ntype PullRequestArgumentSchema = typeof PullRequestArgument\n\n/** The argument as the text the tracker parses. */\nexport const targetOf = ({ pull_request }: PullRequestArgument): string => String(pull_request)\n\nconst NoArguments = Schema.Struct({})\n\ntype NoArguments = typeof NoArguments\n\nconst asToolError = (failure: RequestFailure): Tool.Error =>\n new Tool.Error({ message: failureMessage(failure) })\n\nconst listTool = ({ monitor }: Services): Tool.Info<NoArguments> => ({\n description: \"List the pull requests attached to this session, with their status.\",\n execute: (_input, context) =>\n monitor.view(context.sessionID).pipe(\n Effect.map((view) => ({\n content:\n view.entries.length === 0\n ? \"No pull requests are attached to this session.\"\n : view.entries\n .map((entry) => `- ${entry.ref.url} (${appearance(entry.status).label})`)\n .join(\"\\n\"),\n })),\n Effect.mapError(asToolError),\n ),\n input: NoArguments,\n name: \"list\",\n options,\n})\n\nconst changeTool = (\n name: string,\n description: string,\n change: Change,\n): Tool.Info<PullRequestArgumentSchema> => ({\n description,\n execute: (argument, context) =>\n change(context.sessionID, targetOf(argument)).pipe(\n Effect.map((changed) => ({ content: changed.message })),\n Effect.mapError(asToolError),\n ),\n input: PullRequestArgument,\n name,\n options,\n})\n\n/** Registers the `pr` tools, which act on the calling session. */\nexport function registerTools(\n tools: ToolDomain,\n services: Services,\n settings: Settings,\n): Effect.Effect<unknown, never, Scope.Scope> {\n return tools.transform((editor) => {\n editor.namespace({\n description: \"Pull requests attached to this session and shown in its sidebar\",\n name: \"pr\",\n })\n const changes = requests(services, settings)\n\n editor.add(listTool(services))\n editor.add(\n changeTool(\n \"attach\",\n \"Attach a pull request to this session. Attaching a GitHub Stack member attaches the whole Stack.\",\n changes.attach,\n ),\n )\n editor.add(\n changeTool(\n \"detach\",\n \"Detach a pull request from this session. Other members of its Stack stay attached.\",\n changes.detach,\n ),\n )\n })\n}\n",
|
|
31
32
|
"import { Match } from \"effect\"\n\nimport type { Diagnostic, PullRequestState, Status } from \"./Snapshot.ts\"\n\nexport type Tone = \"green\" | \"yellow\" | \"red\" | \"purple\" | \"gray\"\n\nexport interface Appearance {\n readonly tone: Tone\n readonly label: string\n readonly strikethrough: boolean\n readonly stale: boolean\n}\n\ntype Open = Extract<PullRequestState, { readonly _tag: \"Open\" }>\n\nconst diagnosticLabels: Record<Diagnostic, string> = {\n AuthenticationRequired: \"authenticate\",\n GitHubCliMissing: \"install gh\",\n GitHubUnavailable: \"GitHub unavailable\",\n InvalidResponse: \"invalid response\",\n NotFound: \"inaccessible\",\n}\n\nconst shown = (tone: Tone, label: string, strikethrough = false): Appearance => ({\n label,\n stale: false,\n strikethrough,\n tone,\n})\n\n/** Precedence: conflict, failed CI, draft, pending CI, behind, then passed or no checks. */\nfunction openAppearance(open: Open): Appearance {\n if (open.mergeability === \"conflicting\") return shown(\"red\", \"conflict\")\n\n if (open.ci === \"failed\") return shown(\"red\", \"failed\")\n\n if (open.draft) return shown(\"gray\", \"draft\")\n\n if (open.ci === \"pending\") return shown(\"yellow\", \"pending\")\n\n if (open.behind) return shown(\"yellow\", \"behind\")\n\n return open.ci === \"passed\" ? shown(\"green\", \"passed\") : shown(\"gray\", \"no checks\")\n}\n\nfunction stateAppearance(state: PullRequestState): Appearance {\n return Match.valueTags(state, {\n Closed: () => shown(\"red\", \"closed\", true),\n Merged: () => shown(\"purple\", \"merged\", true),\n Open: openAppearance,\n })\n}\n\nfunction markStale(fresh: Appearance): Appearance {\n return { label: fresh.label, stale: true, strikethrough: fresh.strikethrough, tone: fresh.tone }\n}\n\nexport function appearance(status: Status): Appearance {\n return Match.valueTags(status, {\n Fresh: ({ snapshot }) => stateAppearance(snapshot.state),\n Pending: () => shown(\"gray\", \"unavailable\"),\n Stale: ({ snapshot }) => markStale(stateAppearance(snapshot.state)),\n Unavailable: ({ diagnostic }) => shown(\"gray\", diagnosticLabels[diagnostic]),\n })\n}\n"
|
|
32
33
|
],
|
|
33
|
-
"mappings": "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",
|
|
34
|
-
"debugId": "
|
|
34
|
+
"mappings": "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",
|
|
35
|
+
"debugId": "7CB75665EE3FC22164756E2164756E21",
|
|
35
36
|
"names": []
|
|
36
37
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@hcrosse/opencode-pr-tracker",
|
|
4
|
-
"version": "0.4.
|
|
4
|
+
"version": "0.4.2",
|
|
5
5
|
"description": "Track GitHub pull requests in the OpenCode sidebar.",
|
|
6
6
|
"homepage": "https://github.com/hcrosse/opencode-pr-tracker#readme",
|
|
7
7
|
"bugs": {
|