@hcrosse/opencode-pr-tracker 0.4.0 → 0.4.1

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/tui.js CHANGED
@@ -568,8 +568,8 @@ import { createEffect, createSignal as createSignal2, on, onCleanup } from "soli
568
568
  // src/ui/Palette.ts
569
569
  import { RGBA } from "@opentui/core";
570
570
  var merged = {
571
- dark: RGBA.fromHex("#a371f7"),
572
- light: RGBA.fromHex("#8250df")
571
+ dark: RGBA.fromHex("#8957e5"),
572
+ light: RGBA.fromHex("#8251de")
573
573
  };
574
574
  function paletteOf(theme, mode) {
575
575
  return {
@@ -1214,4 +1214,4 @@ export {
1214
1214
  tui_default as default
1215
1215
  };
1216
1216
 
1217
- //# debugId=6F713F5E90CA6B2064756E2164756E21
1217
+ //# debugId=B041D0C9BE2BA06064756E2164756E21
package/dist/tui.js.map CHANGED
@@ -14,13 +14,13 @@
14
14
  "/** The terminal's view of the tracker: RPC calls routed to each session's location, decoded on arrival. */\nimport { Effect, Option, Schema } from \"effect\"\n\nimport { Changed, View, type ViewData } from \"../rpc.ts\"\n\nexport class RequestFailed extends Schema.TaggedError<RequestFailed>()(\"RequestFailed\", {\n message: Schema.String,\n}) {}\n\nexport interface TrackerClientApi {\n readonly list: (sessionID: string) => Effect.Effect<View, RequestFailed>\n readonly refresh: (sessionID: string) => Effect.Effect<View, RequestFailed>\n readonly attach: (sessionID: string, target: string) => Effect.Effect<Changed, RequestFailed>\n readonly detach: (sessionID: string, target: string) => Effect.Effect<Changed, RequestFailed>\n /** Calls `handler` with each view the server publishes. Returns a function that stops the calls. */\n readonly onUpdate: (handler: (view: View) => void) => () => void\n}\n\n/** Where a session runs; RPC calls go to the plugin instance for that location. */\nexport interface Location {\n readonly directory: string\n readonly workspaceID?: string\n}\n\ninterface CallOptions {\n readonly location?: Location\n}\n\ninterface Session {\n readonly sessionID: string\n}\n\ninterface Target extends Session {\n readonly target: string\n}\n\ntype ChangedData = typeof Changed.Encoded\n\n/** The parts of the plugin's RPC client the terminal uses. */\nexport interface TrackerRpc {\n readonly list: (input: Session, options: CallOptions) => Promise<ViewData>\n readonly refresh: (input: Session, options: CallOptions) => Promise<ViewData>\n readonly attach: (input: Target, options: CallOptions) => Promise<ChangedData>\n readonly detach: (input: Target, options: CallOptions) => Promise<ChangedData>\n readonly events: {\n readonly on: (\n name: \"updated\",\n handler: (event: { readonly data: ViewData }) => void,\n ) => () => void\n }\n}\n\n/** What the client needs from the terminal: the RPC client and where each session runs. */\nexport interface Host {\n readonly rpc: TrackerRpc\n readonly locationOf: (sessionID: string) => Option.Option<Location>\n}\n\n/** What the RPC client throws: a failure the server declared, or one from OpenCode itself. */\nconst Thrown = Schema.Union([\n Schema.Struct({\n data: Schema.Struct({ message: Schema.String }),\n type: Schema.Literal(\"rejected\"),\n }),\n Schema.Struct({ message: Schema.String, type: Schema.String }),\n])\n\ntype Thrown = typeof Thrown.Type\n\nfunction failureOf(thrown: Option.Option<Thrown>): RequestFailed {\n const message = Option.match(thrown, {\n onNone: () => \"The pull request tracker failed.\",\n onSome: (failure) => {\n if (\"data\" in failure) return failure.data.message\n\n return failure.type === \"rpc.unavailable\"\n ? \"The pull request tracker is not running for this session's directory.\"\n : `The pull request tracker failed: ${failure.message}`\n },\n })\n\n return new RequestFailed({ message })\n}\n\nconst unreadable = new RequestFailed({\n message: \"The pull request tracker sent a response the terminal could not read.\",\n})\n\nfunction decoded<S extends Schema.Decoder<unknown>>(\n schema: S,\n call: () => Promise<S[\"Encoded\"]>,\n): Effect.Effect<S[\"Type\"], RequestFailed> {\n return Effect.tryPromise({\n catch: (error) => failureOf(Schema.decodeUnknownOption(Thrown)(error)),\n try: call,\n }).pipe(\n Effect.flatMap((output) =>\n Schema.decodeEffect(schema)(output).pipe(Effect.mapError(() => unreadable)),\n ),\n )\n}\n\nexport function makeClient(host: Host): TrackerClientApi {\n const { rpc } = host\n\n const options = (sessionID: string): CallOptions =>\n Option.match(host.locationOf(sessionID), {\n onNone: () => ({}),\n onSome: (location) => ({ location }),\n })\n\n return {\n attach: (sessionID, target) =>\n decoded(Changed, async () => {\n const output = await rpc.attach({ sessionID, target }, options(sessionID))\n\n return output\n }),\n detach: (sessionID, target) =>\n decoded(Changed, async () => {\n const output = await rpc.detach({ sessionID, target }, options(sessionID))\n\n return output\n }),\n list: (sessionID) =>\n decoded(View, async () => {\n const output = await rpc.list({ sessionID }, options(sessionID))\n\n return output\n }),\n onUpdate: (handler) =>\n rpc.events.on(\"updated\", ({ data }) => {\n Option.map(Schema.decodeUnknownOption(View)(data), handler)\n }),\n refresh: (sessionID) =>\n decoded(View, async () => {\n const output = await rpc.refresh({ sessionID }, options(sessionID))\n\n return output\n }),\n }\n}\n",
15
15
  "/** @jsxImportSource @opentui/solid */\nimport { usePlugin } from \"@opencode/plugin/tui\";\nimport { Option } from \"effect\";\nconst definitions = actions => [{\n act: actions.attach,\n name: \"attach\",\n takesInput: true,\n title: \"Attach pull request\"\n}, {\n act: () => actions.open,\n name: \"open\",\n takesInput: false,\n title: \"Open pull request\"\n}, {\n act: () => actions.detach,\n name: \"detach\",\n takesInput: false,\n title: \"Detach pull request\"\n}, {\n act: () => actions.sync,\n name: \"sync\",\n takesInput: false,\n title: \"Sync pull request status\"\n}];\nfunction command(definition, run) {\n const slash = definition.takesInput ? {\n arguments: true,\n name: `pr-${definition.name}`\n } : {\n name: `pr-${definition.name}`\n };\n return {\n group: \"Pull requests\",\n id: `pr.${definition.name}`,\n palette: true,\n run: input => {\n run(definition.act(Option.fromNullishOr(input)));\n },\n slash,\n title: definition.title\n };\n}\n\n/** Registers the slash commands; OpenCode requires this from a rendered component. */\nexport function Commands(props) {\n const context = usePlugin();\n const commands = definitions(props.actions).map(definition => command(definition, props.run));\n context.keymap.layer(() => ({\n commands,\n mode: \"global\"\n }));\n return null;\n}",
16
16
  "import { createComponent as _$createComponent } from \"@opentui/solid\";\n/** @jsxImportSource @opentui/solid */\nimport { usePlugin } from \"@opencode/plugin/tui\";\nimport { Effect } from \"effect\";\nimport { createEffect, createSignal, on, onCleanup } from \"solid-js\";\nimport { paletteOf } from \"../ui/Palette.ts\";\nimport { Sidebar } from \"../ui/Sidebar.tsx\";\n\n/** Which sessions' lists are collapsed, kept for the plugin's lifetime so it survives remounts. */\n\n/** Numbers requests; each listing and each published update supersedes the listings before it. */\n\nfunction newestFirst() {\n let latest = 0;\n return {\n isLatest: request => request === latest,\n next: () => {\n latest += 1;\n return latest;\n }\n };\n}\n\n/**\n * The session's view, owned by the server: listed when the sidebar is shown or switches session,\n * then replaced by each published update. Answers to superseded listings are ignored.\n */\nexport function sessionView(sessionID, tracker, run) {\n const [state, setState] = createSignal({\n _tag: \"Loading\"\n });\n const requests = newestFirst();\n onCleanup(tracker.onUpdate(view => {\n if (view.sessionID !== sessionID()) return;\n requests.next();\n setState({\n _tag: \"Ready\",\n view\n });\n }));\n createEffect(on(sessionID, current => {\n const request = requests.next();\n setState({\n _tag: \"Loading\"\n });\n run(Effect.map(Effect.result(tracker.list(current)), result => {\n if (!requests.isLatest(request)) return;\n setState(result._tag === \"Failure\" ? {\n _tag: \"Failed\",\n message: result.failure.message\n } : {\n _tag: \"Ready\",\n view: result.success\n });\n }));\n }));\n return state;\n}\nexport function SessionSidebar(props) {\n const context = usePlugin();\n const state = sessionView(() => props.sessionID, props.tracker, props.run);\n return _$createComponent(Sidebar, {\n get collapsed() {\n return props.collapsed.has(props.sessionID);\n },\n get onOpen() {\n return props.onOpen;\n },\n onToggle: () => {\n props.collapsed.toggle(props.sessionID);\n },\n get palette() {\n return paletteOf(context.theme, context.themeMode);\n },\n get state() {\n return state();\n }\n });\n}",
17
- "import type { ResolvedTheme } from \"@opencode/theme/tui\"\nimport { RGBA } from \"@opentui/core\"\n\nimport type { Tone } from \"../domain/Appearance.ts\"\n\n/** The colors the sidebar uses, taken from the host theme. */\nexport interface Palette {\n readonly text: RGBA\n readonly muted: RGBA\n readonly tones: Readonly<Record<Tone, RGBA>>\n}\n\n/**\n * GitHub's color for merged pull requests. Themes have no purple of their own, and a theme's accent\n * can be any hue, so merged uses GitHub's purple for the theme's mode.\n */\nconst merged: Readonly<Record<\"dark\" | \"light\", RGBA>> = {\n dark: RGBA.fromHex(\"#a371f7\"),\n light: RGBA.fromHex(\"#8250df\"),\n}\n\nexport function paletteOf(theme: ResolvedTheme, mode: \"dark\" | \"light\"): Palette {\n return {\n muted: theme.text.muted,\n text: theme.text.base,\n tones: {\n gray: theme.text.muted,\n green: theme.text.feedback.success.base,\n purple: merged[mode],\n red: theme.text.feedback.error.base,\n yellow: theme.text.feedback.warning.base,\n },\n }\n}\n",
17
+ "import type { ResolvedTheme } from \"@opencode/theme/tui\"\nimport { RGBA } from \"@opentui/core\"\n\nimport type { Tone } from \"../domain/Appearance.ts\"\n\n/** The colors the sidebar uses, taken from the host theme. */\nexport interface Palette {\n readonly text: RGBA\n readonly muted: RGBA\n readonly tones: Readonly<Record<Tone, RGBA>>\n}\n\n/**\n * GitHub's color for merged pull requests. Themes have no purple of their own, and a theme's accent\n * can be any hue, so merged uses GitHub's purple for the theme's mode.\n */\nconst merged: Readonly<Record<\"dark\" | \"light\", RGBA>> = {\n dark: RGBA.fromHex(\"#8957e5\"),\n light: RGBA.fromHex(\"#8251de\"),\n}\n\nexport function paletteOf(theme: ResolvedTheme, mode: \"dark\" | \"light\"): Palette {\n return {\n muted: theme.text.muted,\n text: theme.text.base,\n tones: {\n gray: theme.text.muted,\n green: theme.text.feedback.success.base,\n purple: merged[mode],\n red: theme.text.feedback.error.base,\n yellow: theme.text.feedback.warning.base,\n },\n }\n}\n",
18
18
  "import { createTextNode as _$createTextNode } from \"@opentui/solid\";\nimport { insertNode as _$insertNode } from \"@opentui/solid\";\nimport { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { effect as _$effect } from \"@opentui/solid\";\nimport { insert as _$insert } from \"@opentui/solid\";\nimport { memo as _$memo } from \"@opentui/solid\";\nimport { setProp as _$setProp } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\n/** @jsxImportSource @opentui/solid */\n\nimport { Match, Option } from \"effect\";\nimport { For, Show } from \"solid-js\";\nimport { layout } from \"../domain/StackLayout.ts\";\nimport { SidebarRow } from \"./Row.tsx\";\n\n/** What the sidebar knows about its session. */\n\n/** Lists longer than this can be collapsed from the heading. */\nconst collapsibleAbove = 2;\nconst entriesOf = view => view.entries.map(entry => ({\n membership: Option.fromNullishOr(entry.membership),\n ref: entry.ref,\n status: entry.status\n}));\nfunction Heading(props) {\n return (() => {\n var _el$ = _$createElement(\"box\"),\n _el$3 = _$createElement(\"text\"),\n _el$4 = _$createElement(\"b\");\n _$insertNode(_el$, _el$3);\n _$setProp(_el$, \"flexDirection\", \"row\");\n _$setProp(_el$, \"gap\", 1);\n _$setProp(_el$, \"onMouseDown\", () => {\n if (props.collapsible) props.onToggle();\n });\n _$insert(_el$, _$createComponent(Show, {\n get when() {\n return props.collapsible;\n },\n get children() {\n var _el$2 = _$createElement(\"text\");\n _$insert(_el$2, () => props.collapsed ? \"▶\" : \"▼\");\n _$effect(_$p => _$setProp(_el$2, \"fg\", props.palette.text, _$p));\n return _el$2;\n }\n }), _el$3);\n _$insertNode(_el$3, _el$4);\n _$insertNode(_el$4, _$createTextNode(`Pull requests`));\n _$effect(_$p => _$setProp(_el$3, \"fg\", props.palette.text, _$p));\n return _el$;\n })();\n}\nfunction Rows(props) {\n return _$createComponent(Show, {\n get fallback() {\n return (() => {\n var _el$7 = _$createElement(\"text\");\n _$insertNode(_el$7, _$createTextNode(`No pull requests attached`));\n _$effect(_$p => _$setProp(_el$7, \"fg\", props.palette.muted, _$p));\n return _el$7;\n })();\n },\n get when() {\n return props.view.entries.length > 0;\n },\n get children() {\n var _el$6 = _$createElement(\"box\");\n _$setProp(_el$6, \"flexDirection\", \"column\");\n _$insert(_el$6, _$createComponent(For, {\n get each() {\n return layout(entriesOf(props.view));\n },\n children: row => _$createComponent(SidebarRow, {\n get compact() {\n return props.view.layout === \"compact\";\n },\n get onOpen() {\n return props.onOpen;\n },\n get palette() {\n return props.palette;\n },\n row: row\n })\n }));\n return _el$6;\n }\n });\n}\nexport function Sidebar(props) {\n const collapsible = () => props.state._tag === \"Ready\" && props.state.view.entries.length > collapsibleAbove;\n const body = () => Match.valueTags(props.state, {\n Failed: ({\n message\n }) => (() => {\n var _el$9 = _$createElement(\"text\");\n _$insert(_el$9, message);\n _$effect(_$p => _$setProp(_el$9, \"fg\", props.palette.tones.red, _$p));\n return _el$9;\n })(),\n Loading: () => (() => {\n var _el$0 = _$createElement(\"text\");\n _$insertNode(_el$0, _$createTextNode(`Loading`));\n _$effect(_$p => _$setProp(_el$0, \"fg\", props.palette.muted, _$p));\n return _el$0;\n })(),\n Ready: ({\n view\n }) => _$createComponent(Rows, {\n get onOpen() {\n return props.onOpen;\n },\n get palette() {\n return props.palette;\n },\n view: view\n })\n });\n return (() => {\n var _el$10 = _$createElement(\"box\");\n _$setProp(_el$10, \"flexDirection\", \"column\");\n _$setProp(_el$10, \"gap\", 1);\n _$insert(_el$10, _$createComponent(Heading, {\n get collapsed() {\n return props.collapsed;\n },\n get collapsible() {\n return collapsible();\n },\n get onToggle() {\n return props.onToggle;\n },\n get palette() {\n return props.palette;\n }\n }), null);\n _$insert(_el$10, _$createComponent(Show, {\n get when() {\n return !collapsible() || !props.collapsed;\n },\n get children() {\n return body();\n }\n }), null);\n return _el$10;\n })();\n}",
19
19
  "import { createTextNode as _$createTextNode } from \"@opentui/solid\";\nimport { use as _$use } from \"@opentui/solid\";\nimport { createComponent as _$createComponent } from \"@opentui/solid\";\nimport { setProp as _$setProp } from \"@opentui/solid\";\nimport { effect as _$effect } from \"@opentui/solid\";\nimport { insertNode as _$insertNode } from \"@opentui/solid\";\nimport { insert as _$insert } from \"@opentui/solid\";\nimport { createElement as _$createElement } from \"@opentui/solid\";\n/** @jsxImportSource @opentui/solid */\n\nimport { Match, Option } from \"effect\";\nimport { createSignal, For, Show } from \"solid-js\";\nimport { appearance } from \"../domain/Appearance.ts\";\n\n/** A glyph drawn in the marker column: the Stack line in muted color, the status tick in `color`. */\n\nconst markers = {\n bullet: {\n line: \"\",\n tick: \"•\"\n },\n first: {\n line: \"┌\",\n tick: \"─\"\n },\n last: {\n line: \"└\",\n tick: \"─\"\n },\n middle: {\n line: \"├\",\n tick: \"─\"\n }\n};\n\n/** What continues the marker column under a row: the Stack line, a gap to unattached members, or space. */\nconst continuations = {\n continues: {\n line: \"│\",\n tick: \"\"\n },\n none: {\n line: \"\",\n tick: \"\"\n },\n open: {\n line: \"┊\",\n tick: \"\"\n }\n};\nconst markerWidth = 3;\n\n/** What `Marked` reads from its text renderable: how many lines the text wraps to. */\n\nfunction MarkerGlyph(props) {\n const padding = () => \" \".repeat(markerWidth - props.glyph.line.length - props.glyph.tick.length);\n return (() => {\n var _el$ = _$createElement(\"text\"),\n _el$2 = _$createElement(\"span\"),\n _el$3 = _$createElement(\"span\");\n _$insertNode(_el$, _el$2);\n _$insertNode(_el$, _el$3);\n _$insert(_el$2, () => props.glyph.line);\n _$insert(_el$3, () => props.glyph.tick);\n _$insert(_el$, padding, null);\n _$effect(_p$ => {\n var _v$ = {\n fg: props.palette.muted\n },\n _v$2 = {\n fg: props.color\n };\n _v$ !== _p$.e && (_p$.e = _$setProp(_el$2, \"style\", _v$, _p$.e));\n _v$2 !== _p$.t && (_p$.t = _$setProp(_el$3, \"style\", _v$2, _p$.t));\n return _p$;\n }, {\n e: undefined,\n t: undefined\n });\n return _el$;\n })();\n}\n\n/** Text beside a marker column. Wrapped lines repeat `rest` so Stack lines stay unbroken. */\nfunction Marked(props) {\n const [lines, setLines] = createSignal(1);\n let content = Option.none();\n const measure = () => {\n const count = Option.match(content, {\n onNone: () => 1,\n onSome: text => text.virtualLineCount\n });\n setLines(Math.max(1, count));\n };\n return (() => {\n var _el$4 = _$createElement(\"box\"),\n _el$5 = _$createElement(\"box\"),\n _el$6 = _$createElement(\"text\");\n _$insertNode(_el$4, _el$5);\n _$insertNode(_el$4, _el$6);\n _$setProp(_el$4, \"flexDirection\", \"row\");\n _$setProp(_el$4, \"width\", \"100%\");\n _$setProp(_el$5, \"flexDirection\", \"column\");\n _$setProp(_el$5, \"width\", 3);\n _$insert(_el$5, _$createComponent(MarkerGlyph, {\n get color() {\n return props.color;\n },\n get glyph() {\n return props.first;\n },\n get palette() {\n return props.palette;\n }\n }), null);\n _$insert(_el$5, _$createComponent(For, {\n get each() {\n return Array.from({\n length: lines() - 1\n });\n },\n children: () => _$createComponent(MarkerGlyph, {\n get color() {\n return props.color;\n },\n get glyph() {\n return props.rest;\n },\n get palette() {\n return props.palette;\n }\n })\n }), null);\n _$use(text => {\n content = Option.some(text);\n measure();\n }, _el$6);\n _$setProp(_el$6, \"flexGrow\", 1);\n _$setProp(_el$6, \"on:line-info-change\", measure);\n _$insert(_el$6, () => props.children);\n return _el$4;\n })();\n}\nconst titleOf = status => Match.valueTags(status, {\n Fresh: ({\n snapshot\n }) => snapshot.title,\n Pending: () => \"Title unavailable\",\n Stale: ({\n snapshot\n }) => snapshot.title,\n Unavailable: () => \"Title unavailable\"\n});\nexport function PullRequestRow(props) {\n const shown = () => appearance(props.entry.status);\n const color = () => props.palette.tones[shown().tone];\n const below = () => continuations[props.connector];\n return (() => {\n var _el$7 = _$createElement(\"box\");\n _$setProp(_el$7, \"flexDirection\", \"column\");\n _$setProp(_el$7, \"onMouseUp\", () => {\n props.onOpen(props.entry.ref);\n });\n _$insert(_el$7, _$createComponent(Marked, {\n get color() {\n return color();\n },\n get first() {\n return markers[props.marker];\n },\n get palette() {\n return props.palette;\n },\n get rest() {\n return below();\n },\n get children() {\n return [(() => {\n var _el$8 = _$createElement(\"span\");\n _$insert(_el$8, () => props.entry.ref.label);\n _$effect(_$p => _$setProp(_el$8, \"style\", {\n bold: true,\n fg: color(),\n strikethrough: shown().strikethrough\n }, _$p));\n return _el$8;\n })(), (() => {\n var _el$9 = _$createElement(\"span\");\n _$insert(_el$9, () => ` ${shown().label}`);\n _$effect(_$p => _$setProp(_el$9, \"style\", {\n fg: color()\n }, _$p));\n return _el$9;\n })(), _$createComponent(Show, {\n get when() {\n return shown().stale;\n },\n get children() {\n var _el$0 = _$createElement(\"span\");\n _$insertNode(_el$0, _$createTextNode(` · stale`));\n _$effect(_$p => _$setProp(_el$0, \"style\", {\n fg: props.palette.muted,\n italic: true\n }, _$p));\n return _el$0;\n }\n })];\n }\n }), null);\n _$insert(_el$7, _$createComponent(Show, {\n get when() {\n return !props.compact;\n },\n get children() {\n return _$createComponent(Marked, {\n get color() {\n return color();\n },\n get first() {\n return below();\n },\n get palette() {\n return props.palette;\n },\n get rest() {\n return below();\n },\n get children() {\n var _el$10 = _$createElement(\"span\");\n _$insert(_el$10, () => titleOf(props.entry.status));\n _$effect(_$p => _$setProp(_el$10, \"style\", {\n fg: props.palette.muted,\n strikethrough: shown().strikethrough\n }, _$p));\n return _el$10;\n }\n });\n }\n }), null);\n return _el$7;\n })();\n}\nexport function GapRow(props) {\n const label = () => `${String(props.count)} ${props.count === 1 ? \"PR\" : \"PRs\"} not attached`;\n return (() => {\n var _el$11 = _$createElement(\"text\");\n _$insert(_el$11, () => `├┄ ${label()}`);\n _$effect(_$p => _$setProp(_el$11, \"fg\", props.palette.muted, _$p));\n return _el$11;\n })();\n}\nexport function SidebarRow(props) {\n return Match.valueTags(props.row, {\n Gap: ({\n count\n }) => _$createComponent(GapRow, {\n count: count,\n get palette() {\n return props.palette;\n }\n }),\n PullRequest: ({\n connector,\n entry,\n marker\n }) => _$createComponent(PullRequestRow, {\n get compact() {\n return props.compact;\n },\n connector: connector,\n entry: entry,\n marker: marker,\n get onOpen() {\n return props.onOpen;\n },\n get palette() {\n return props.palette;\n }\n })\n });\n}",
20
20
  "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",
21
21
  "import type { UI } from \"@opencode/plugin/tui/context\"\nimport { Effect, Option } from \"effect\"\n\nimport type { Terminal } from \"./Actions.ts\"\n\n/** A terminal backed by OpenCode's UI; `dismiss` closes a dialog it still has open. */\nexport interface HostTerminal {\n readonly terminal: Terminal\n readonly dismiss: () => void\n}\n\n/** The session on screen, if any. */\nfunction currentSession(ui: UI): Option.Option<string> {\n const route = ui.router.current()\n\n return route.type === \"session\" ? Option.some(route.sessionID) : Option.none()\n}\n\nexport function hostTerminal(ui: UI): HostTerminal {\n let open = false\n\n /** Shows a dialog, remembering it is open until it answers. */\n const dialog = <A>(show: () => Promise<A | undefined>): Effect.Effect<Option.Option<A>> =>\n Effect.acquireUseRelease(\n Effect.sync(() => {\n open = true\n }),\n () => Effect.promise(show).pipe(Effect.map(Option.fromNullishOr)),\n () =>\n Effect.sync(() => {\n open = false\n }),\n )\n\n return {\n dismiss: () => {\n if (open) ui.dialog.clear()\n },\n terminal: {\n choose: (title, choices) =>\n dialog(async () => {\n const chosen = await ui.dialog.select({ options: choices, title })\n\n return chosen\n }),\n notify: (variant, message) => {\n ui.toast.show({ message, title: \"Pull requests\", variant })\n },\n prompt: (title, placeholder) =>\n dialog(async () => {\n const answer = await ui.dialog.prompt({ placeholder, title })\n\n return answer\n }),\n session: () => currentSession(ui),\n },\n }\n}\n"
22
22
  ],
23
23
  "mappings": "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",
24
- "debugId": "6F713F5E90CA6B2064756E2164756E21",
24
+ "debugId": "B041D0C9BE2BA06064756E2164756E21",
25
25
  "names": []
26
26
  }
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.0",
4
+ "version": "0.4.1",
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": {