opencode-quick-links 1.1.0 → 1.2.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/README.md +1 -1
- package/dist/tui.d.ts.map +1 -1
- package/dist/tui.js +21 -21
- package/dist/tui.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -21,7 +21,7 @@ OpenCode installs npm plugins automatically at startup.
|
|
|
21
21
|
|
|
22
22
|
Select **Open session links** from the command palette or run `/links`. Search the dialog and press Enter to open the selected URL in your browser.
|
|
23
23
|
|
|
24
|
-
The plugin scans the active conversation when you open the dialog. It includes HTTP and HTTPS links from user and assistant
|
|
24
|
+
The plugin scans the active conversation when you open the dialog. It includes HTTP and HTTPS links from user and assistant text, excludes tool calls and outputs, lists the most recent first, and removes duplicates.
|
|
25
25
|
|
|
26
26
|
## Configure
|
|
27
27
|
|
package/dist/tui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../plugin/src/tui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;;
|
|
1
|
+
{"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../plugin/src/tui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;;AAwD7C,wBAwDE"}
|
package/dist/tui.js
CHANGED
|
@@ -15,35 +15,35 @@ function trimLink(url) {
|
|
|
15
15
|
}
|
|
16
16
|
return url.replace(TRAILING_PUNCTUATION, "");
|
|
17
17
|
}
|
|
18
|
+
function messageTexts(message) {
|
|
19
|
+
if (message.type === "user")
|
|
20
|
+
return [message.text];
|
|
21
|
+
if (message.type !== "assistant")
|
|
22
|
+
return [];
|
|
23
|
+
return message.content.flatMap((part) => part.type === "text" ? [part.text] : []);
|
|
24
|
+
}
|
|
18
25
|
function extractLinks(messages) {
|
|
19
|
-
const
|
|
20
|
-
const links = [];
|
|
26
|
+
const urls = [];
|
|
21
27
|
for (const message of messages) {
|
|
22
|
-
const
|
|
23
|
-
? [message.text]
|
|
24
|
-
: message.type === "assistant"
|
|
25
|
-
? message.content.flatMap((part) => part.type === "text" ? [part.text] : [])
|
|
26
|
-
: [];
|
|
27
|
-
for (const text of texts) {
|
|
28
|
+
for (const text of messageTexts(message)) {
|
|
28
29
|
for (const match of text.matchAll(URL_PATTERN)) {
|
|
29
|
-
const candidate = trimLink(match[0]);
|
|
30
|
-
let url;
|
|
31
30
|
try {
|
|
32
|
-
const parsed = new URL(
|
|
33
|
-
if (parsed.protocol
|
|
34
|
-
|
|
35
|
-
url = parsed.href;
|
|
36
|
-
}
|
|
37
|
-
catch {
|
|
38
|
-
continue;
|
|
31
|
+
const parsed = new URL(trimLink(match[0]));
|
|
32
|
+
if (parsed.protocol === "http:" || parsed.protocol === "https:")
|
|
33
|
+
urls.push(parsed.href);
|
|
39
34
|
}
|
|
40
|
-
|
|
41
|
-
continue;
|
|
42
|
-
seen.add(url);
|
|
43
|
-
links.push({ url });
|
|
35
|
+
catch { }
|
|
44
36
|
}
|
|
45
37
|
}
|
|
46
38
|
}
|
|
39
|
+
const seen = new Set();
|
|
40
|
+
const links = [];
|
|
41
|
+
for (const url of urls.reverse()) {
|
|
42
|
+
if (seen.has(url))
|
|
43
|
+
continue;
|
|
44
|
+
seen.add(url);
|
|
45
|
+
links.push({ url });
|
|
46
|
+
}
|
|
47
47
|
return links;
|
|
48
48
|
}
|
|
49
49
|
export default Plugin.define({
|
package/dist/tui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../plugin/src/tui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,WAAW,GAAG,0BAA0B,CAAA;AAC9C,MAAM,oBAAoB,GAAG,gBAAgB,CAAA;AAM7C,SAAS,QAAQ,CAAC,GAAW;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAA;IAEb,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAA;QAC/B,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG;YAAE,SAAQ;QAChC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;QAC7E,KAAK,EAAE,CAAA;IACT,CAAC;IAED,OAAO,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;AAC9C,CAAC;
|
|
1
|
+
{"version":3,"file":"tui.js","sourceRoot":"","sources":["../plugin/src/tui.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "opencode-quick-links",
|
|
4
|
-
"version": "1.1
|
|
4
|
+
"version": "1.2.1",
|
|
5
5
|
"description": "OpenCode TUI plugin for searching and opening links from the active conversation.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|