@juanibiapina/pi-powerbar 0.3.1 → 0.4.0
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/powerbar/settings.js +2 -2
- package/dist/powerbar/settings.js.map +1 -1
- package/dist/powerbar-provider/index.d.ts +9 -0
- package/dist/powerbar-provider/index.d.ts.map +1 -0
- package/dist/powerbar-provider/index.js +31 -0
- package/dist/powerbar-provider/index.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -45,7 +45,7 @@ Settings are managed through [`pi-extension-settings`](https://github.com/juanib
|
|
|
45
45
|
| Setting | Description | Default |
|
|
46
46
|
|---------|-------------|---------|
|
|
47
47
|
| **Left segments** | Comma-separated segment IDs for the left side | `git-branch,tokens,context-usage` |
|
|
48
|
-
| **Right segments** | Comma-separated segment IDs for the right side | `model,sub-hourly,sub-weekly` |
|
|
48
|
+
| **Right segments** | Comma-separated segment IDs for the right side | `provider,model,sub-hourly,sub-weekly` |
|
|
49
49
|
| **Separator** | String drawn between segments on the same side | ` │ ` |
|
|
50
50
|
| **Placement** | Where the powerbar appears (`belowEditor` or `aboveEditor`) | `belowEditor` |
|
|
51
51
|
| **Bar width** | Width of progress bars in characters (4–24) | `10` |
|
|
@@ -14,7 +14,7 @@ export const SETTINGS_DEFINITIONS = [
|
|
|
14
14
|
id: "right",
|
|
15
15
|
label: "Right segments",
|
|
16
16
|
description: "Comma-separated segment IDs for the right side",
|
|
17
|
-
defaultValue: "model,sub-hourly,sub-weekly",
|
|
17
|
+
defaultValue: "provider,model,sub-hourly,sub-weekly",
|
|
18
18
|
},
|
|
19
19
|
{
|
|
20
20
|
id: "separator",
|
|
@@ -46,7 +46,7 @@ export function registerSettings(pi) {
|
|
|
46
46
|
}
|
|
47
47
|
export function loadSettings() {
|
|
48
48
|
const leftStr = getSetting(EXTENSION_NAME, "left", "git-branch,tokens,context-usage") ?? "";
|
|
49
|
-
const rightStr = getSetting(EXTENSION_NAME, "right", "model,sub-hourly,sub-weekly") ?? "";
|
|
49
|
+
const rightStr = getSetting(EXTENSION_NAME, "right", "provider,model,sub-hourly,sub-weekly") ?? "";
|
|
50
50
|
const separator = getSetting(EXTENSION_NAME, "separator", " │ ") ?? " │ ";
|
|
51
51
|
const placement = getSetting(EXTENSION_NAME, "placement", "belowEditor") ?? "belowEditor";
|
|
52
52
|
const barWidthStr = getSetting(EXTENSION_NAME, "bar-width", "10") ?? "10";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/powerbar/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACxD;QACC,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,iCAAiC;KAC/C;IACD;QACC,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,gDAAgD;QAC7D,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/powerbar/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAGjE,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CAAC;AAEzC,MAAM,CAAC,MAAM,oBAAoB,GAAwB;IACxD;QACC,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,+CAA+C;QAC5D,YAAY,EAAE,iCAAiC;KAC/C;IACD;QACC,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,gBAAgB;QACvB,WAAW,EAAE,gDAAgD;QAC7D,YAAY,EAAE,sCAAsC;KACpD;IACD;QACC,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,4BAA4B;QACzC,YAAY,EAAE,KAAK;QACnB,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;KAC1C;IACD;QACC,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,4BAA4B;QACzC,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;KACtC;IACD;QACC,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,IAAI;QAClB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACpC;CACD,CAAC;AAUF,MAAM,UAAU,gBAAgB,CAAC,EAAgB;IAChD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE;QAChD,IAAI,EAAE,cAAc;QACpB,QAAQ,EAAE,oBAAoB;KAC9B,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,iCAAiC,CAAC,IAAI,EAAE,CAAC;IAC5F,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,EAAE,OAAO,EAAE,sCAAsC,CAAC,IAAI,EAAE,CAAC;IACnG,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC;IAC1E,MAAM,SAAS,GAAG,UAAU,CAAC,cAAc,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC;IAC1F,MAAM,WAAW,GAAG,UAAU,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;IAE1E,OAAO;QACN,IAAI,EAAE,OAAO;aACX,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;QACjB,KAAK,EAAE,QAAQ;aACb,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC;QACjB,SAAS;QACT,SAAS,EAAE,SAAS,KAAK,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa;QACtE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;KAC3E,CAAC;AACH,CAAC","sourcesContent":["/**\n * Settings for the powerbar via pi-extension-settings.\n */\n\nimport type { SettingDefinition } from \"@juanibiapina/pi-extension-settings\";\nimport { getSetting } from \"@juanibiapina/pi-extension-settings\";\nimport type { ExtensionAPI } from \"@mariozechner/pi-coding-agent\";\n\nexport const EXTENSION_NAME = \"powerbar\";\n\nexport const SETTINGS_DEFINITIONS: SettingDefinition[] = [\n\t{\n\t\tid: \"left\",\n\t\tlabel: \"Left segments\",\n\t\tdescription: \"Comma-separated segment IDs for the left side\",\n\t\tdefaultValue: \"git-branch,tokens,context-usage\",\n\t},\n\t{\n\t\tid: \"right\",\n\t\tlabel: \"Right segments\",\n\t\tdescription: \"Comma-separated segment IDs for the right side\",\n\t\tdefaultValue: \"provider,model,sub-hourly,sub-weekly\",\n\t},\n\t{\n\t\tid: \"separator\",\n\t\tlabel: \"Separator\",\n\t\tdescription: \"Separator between segments\",\n\t\tdefaultValue: \" │ \",\n\t\tvalues: [\" │ \", \" ┃ \", \" | \", \" · \", \" \"],\n\t},\n\t{\n\t\tid: \"placement\",\n\t\tlabel: \"Placement\",\n\t\tdescription: \"Where the powerbar appears\",\n\t\tdefaultValue: \"belowEditor\",\n\t\tvalues: [\"belowEditor\", \"aboveEditor\"],\n\t},\n\t{\n\t\tid: \"bar-width\",\n\t\tlabel: \"Bar width\",\n\t\tdescription: \"Width of progress bars in characters\",\n\t\tdefaultValue: \"10\",\n\t\tvalues: [\"6\", \"8\", \"10\", \"12\", \"16\"],\n\t},\n];\n\nexport interface PowerbarSettings {\n\tleft: string[];\n\tright: string[];\n\tseparator: string;\n\tplacement: \"aboveEditor\" | \"belowEditor\";\n\tbarWidth: number;\n}\n\nexport function registerSettings(pi: ExtensionAPI): void {\n\tpi.events.emit(\"pi-extension-settings:register\", {\n\t\tname: EXTENSION_NAME,\n\t\tsettings: SETTINGS_DEFINITIONS,\n\t});\n}\n\nexport function loadSettings(): PowerbarSettings {\n\tconst leftStr = getSetting(EXTENSION_NAME, \"left\", \"git-branch,tokens,context-usage\") ?? \"\";\n\tconst rightStr = getSetting(EXTENSION_NAME, \"right\", \"provider,model,sub-hourly,sub-weekly\") ?? \"\";\n\tconst separator = getSetting(EXTENSION_NAME, \"separator\", \" │ \") ?? \" │ \";\n\tconst placement = getSetting(EXTENSION_NAME, \"placement\", \"belowEditor\") ?? \"belowEditor\";\n\tconst barWidthStr = getSetting(EXTENSION_NAME, \"bar-width\", \"10\") ?? \"10\";\n\n\treturn {\n\t\tleft: leftStr\n\t\t\t.split(\",\")\n\t\t\t.map((s) => s.trim())\n\t\t\t.filter(Boolean),\n\t\tright: rightStr\n\t\t\t.split(\",\")\n\t\t\t.map((s) => s.trim())\n\t\t\t.filter(Boolean),\n\t\tseparator,\n\t\tplacement: placement === \"aboveEditor\" ? \"aboveEditor\" : \"belowEditor\",\n\t\tbarWidth: Math.max(4, Math.min(24, Number.parseInt(barWidthStr, 10) || 10)),\n\t};\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Powerbar Provider Producer
|
|
3
|
+
*
|
|
4
|
+
* Shows the current LLM provider name.
|
|
5
|
+
* Segment ID: "provider"
|
|
6
|
+
*/
|
|
7
|
+
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
|
|
8
|
+
export default function createExtension(pi: ExtensionAPI): void;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/powerbar-provider/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,+BAA+B,CAAC;AAapF,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,EAAE,YAAY,GAAG,IAAI,CAgB9D"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Powerbar Provider Producer
|
|
3
|
+
*
|
|
4
|
+
* Shows the current LLM provider name.
|
|
5
|
+
* Segment ID: "provider"
|
|
6
|
+
*/
|
|
7
|
+
function emitProvider(pi, ctx) {
|
|
8
|
+
const model = ctx.model;
|
|
9
|
+
if (!model)
|
|
10
|
+
return;
|
|
11
|
+
pi.events.emit("powerbar:update", {
|
|
12
|
+
id: "provider",
|
|
13
|
+
text: model.provider,
|
|
14
|
+
color: "dim",
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export default function createExtension(pi) {
|
|
18
|
+
pi.on("session_start", async (_event, ctx) => {
|
|
19
|
+
emitProvider(pi, ctx);
|
|
20
|
+
});
|
|
21
|
+
pi.on("session_switch", async (_event, ctx) => {
|
|
22
|
+
emitProvider(pi, ctx);
|
|
23
|
+
});
|
|
24
|
+
pi.on("model_select", async (_event, ctx) => {
|
|
25
|
+
emitProvider(pi, ctx);
|
|
26
|
+
});
|
|
27
|
+
pi.on("turn_start", async (_event, ctx) => {
|
|
28
|
+
emitProvider(pi, ctx);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/powerbar-provider/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,SAAS,YAAY,CAAC,EAAgB,EAAE,GAAqB;IAC5D,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;QACjC,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,KAAK,CAAC,QAAQ;QACpB,KAAK,EAAE,KAAK;KACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAgB;IACvD,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC5C,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC7C,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QACzC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/**\n * Powerbar Provider Producer\n *\n * Shows the current LLM provider name.\n * Segment ID: \"provider\"\n */\n\nimport type { ExtensionAPI, ExtensionContext } from \"@mariozechner/pi-coding-agent\";\n\nfunction emitProvider(pi: ExtensionAPI, ctx: ExtensionContext): void {\n\tconst model = ctx.model;\n\tif (!model) return;\n\n\tpi.events.emit(\"powerbar:update\", {\n\t\tid: \"provider\",\n\t\ttext: model.provider,\n\t\tcolor: \"dim\",\n\t});\n}\n\nexport default function createExtension(pi: ExtensionAPI): void {\n\tpi.on(\"session_start\", async (_event, ctx) => {\n\t\temitProvider(pi, ctx);\n\t});\n\n\tpi.on(\"session_switch\", async (_event, ctx) => {\n\t\temitProvider(pi, ctx);\n\t});\n\n\tpi.on(\"model_select\", async (_event, ctx) => {\n\t\temitProvider(pi, ctx);\n\t});\n\n\tpi.on(\"turn_start\", async (_event, ctx) => {\n\t\temitProvider(pi, ctx);\n\t});\n}\n"]}
|
package/package.json
CHANGED