@illiadotdev/codex-usage-plugin 0.2.5 → 0.2.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # Codex Usage Plugin for OpenCode
2
2
 
3
- OpenCode plugin that exposes a `/codex-usage` TUI command for viewing Codex ChatGPT usage limits and credits. It also keeps a `codex_usage` tool for manual/debug agent use.
3
+ OpenCode plugin that exposes a `/codex-usage` TUI command and `<leader>i` shortcut for viewing Codex ChatGPT usage limits and credits. It also keeps a `codex_usage` tool for manual/debug agent use.
4
4
 
5
5
  ## Usage
6
6
 
@@ -18,7 +18,7 @@ OpenCode plugin that exposes a `/codex-usage` TUI command for viewing Codex Chat
18
18
 
19
19
  This builds `dist/` and registers the generated plugin path in `~/.config/opencode/opencode.jsonc`.
20
20
  3. Restart OpenCode.
21
- 4. Run `/codex-usage` in the OpenCode TUI.
21
+ 4. Run `/codex-usage` in the OpenCode TUI, or press the leader key then `i` (`ctrl+x` then `i` by default).
22
22
 
23
23
  To remove the plugin registration:
24
24
 
package/dist/tui.js CHANGED
@@ -1,37 +1,65 @@
1
1
  import { getCodexUsage } from "./codex-usage-core.js";
2
+ const commandName = "codex-usage.show";
3
+ const shortcut = "<leader>i";
2
4
  export default {
3
5
  id: "codex-usage-tui",
4
6
  tui: async (api) => {
7
+ const showUsage = async () => {
8
+ api.ui.toast({
9
+ title: "Codex Usage",
10
+ message: "Fetching usage limits...",
11
+ variant: "info",
12
+ });
13
+ try {
14
+ const result = await getCodexUsage();
15
+ api.ui.toast({
16
+ title: "Codex Usage",
17
+ message: result.toast,
18
+ variant: "success",
19
+ });
20
+ }
21
+ catch (error) {
22
+ api.ui.toast({
23
+ title: "Codex Usage Failed",
24
+ message: error instanceof Error ? error.message : String(error),
25
+ variant: "error",
26
+ });
27
+ }
28
+ };
29
+ const keymap = "keymap" in api ? api.keymap : undefined;
30
+ if (keymap?.registerLayer) {
31
+ const dispose = keymap.registerLayer({
32
+ commands: [
33
+ {
34
+ name: commandName,
35
+ namespace: "palette",
36
+ title: "Codex Usage",
37
+ desc: "Show Codex usage limits and credits",
38
+ category: "System",
39
+ slashName: "codex-usage",
40
+ run: showUsage,
41
+ },
42
+ ],
43
+ bindings: [
44
+ {
45
+ key: shortcut,
46
+ cmd: commandName,
47
+ },
48
+ ],
49
+ });
50
+ api.lifecycle?.onDispose(dispose);
51
+ return;
52
+ }
5
53
  api.command?.register(() => [
6
54
  {
7
55
  title: "Codex Usage",
8
- value: "codex-usage.show",
56
+ value: commandName,
9
57
  description: "Show Codex usage limits and credits",
58
+ keybind: shortcut,
10
59
  slash: {
11
60
  name: "codex-usage",
12
61
  },
13
- onSelect: async () => {
14
- api.ui.toast({
15
- title: "Codex Usage",
16
- message: "Fetching usage limits...",
17
- variant: "info",
18
- });
19
- try {
20
- const result = await getCodexUsage();
21
- api.ui.toast({
22
- title: "Codex Usage",
23
- message: result.toast,
24
- variant: "success",
25
- });
26
- }
27
- catch (error) {
28
- api.ui.toast({
29
- title: "Codex Usage Failed",
30
- message: error instanceof Error ? error.message : String(error),
31
- variant: "error",
32
- });
33
- }
34
- },
62
+ onSelect: showUsage,
35
63
  },
36
64
  ]);
37
65
  },
package/dist/tui.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,eAAe;IACb,EAAE,EAAE,iBAAiB;IACrB,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACjB,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC1B;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,qCAAqC;gBAClD,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa;iBACpB;gBACD,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;wBACX,KAAK,EAAE,aAAa;wBACpB,OAAO,EAAE,0BAA0B;wBACnC,OAAO,EAAE,MAAM;qBAChB,CAAC,CAAC;oBAEH,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;wBACrC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;4BACX,KAAK,EAAE,aAAa;4BACpB,OAAO,EAAE,MAAM,CAAC,KAAK;4BACrB,OAAO,EAAE,SAAS;yBACnB,CAAC,CAAC;oBACL,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;4BACX,KAAK,EAAE,oBAAoB;4BAC3B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC/D,OAAO,EAAE,OAAO;yBACjB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;CACwB,CAAC"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../src/tui.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,QAAQ,GAAG,WAAW,CAAC;AAE7B,eAAe;IACb,EAAE,EAAE,iBAAiB;IACrB,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACjB,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;YAC3B,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;gBACX,KAAK,EAAE,aAAa;gBACpB,OAAO,EAAE,0BAA0B;gBACnC,OAAO,EAAE,MAAM;aAChB,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,aAAa,EAAE,CAAC;gBACrC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;oBACX,KAAK,EAAE,aAAa;oBACpB,OAAO,EAAE,MAAM,CAAC,KAAK;oBACrB,OAAO,EAAE,SAAS;iBACnB,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;oBACX,KAAK,EAAE,oBAAoB;oBAC3B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oBAC/D,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QACxD,IAAI,MAAM,EAAE,aAAa,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC;gBACnC,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,WAAW;wBACjB,SAAS,EAAE,SAAS;wBACpB,KAAK,EAAE,aAAa;wBACpB,IAAI,EAAE,qCAAqC;wBAC3C,QAAQ,EAAE,QAAQ;wBAClB,SAAS,EAAE,aAAa;wBACxB,GAAG,EAAE,SAAS;qBACf;iBACF;gBACD,QAAQ,EAAE;oBACR;wBACE,GAAG,EAAE,QAAQ;wBACb,GAAG,EAAE,WAAW;qBACjB;iBACF;aACF,CAAC,CAAC;YACH,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YAClC,OAAO;QACT,CAAC;QAED,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;YAC1B;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,WAAW;gBAClB,WAAW,EAAE,qCAAqC;gBAClD,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE;oBACL,IAAI,EAAE,aAAa;iBACpB;gBACD,QAAQ,EAAE,SAAS;aACpB;SACF,CAAC,CAAC;IACL,CAAC;CACwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@illiadotdev/codex-usage-plugin",
3
- "version": "0.2.5",
3
+ "version": "0.2.6",
4
4
  "license": "MIT",
5
5
  "description": "OpenCode plugin for viewing Codex ChatGPT usage limits and credits.",
6
6
  "private": false,