superoc 0.1.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.
Files changed (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/bin/nimsuper.js +21 -0
  4. package/bin/nimsuper.ts +10 -0
  5. package/bin/superoc.js +21 -0
  6. package/bin/superoc.ts +10 -0
  7. package/dist/antigravity.d.ts +59 -0
  8. package/dist/antigravity.d.ts.map +1 -0
  9. package/dist/antigravity.js +423 -0
  10. package/dist/antigravity.js.map +1 -0
  11. package/dist/errors.d.ts +22 -0
  12. package/dist/errors.d.ts.map +1 -0
  13. package/dist/errors.js +122 -0
  14. package/dist/errors.js.map +1 -0
  15. package/dist/errors.test.d.ts +2 -0
  16. package/dist/errors.test.d.ts.map +1 -0
  17. package/dist/errors.test.js +137 -0
  18. package/dist/errors.test.js.map +1 -0
  19. package/dist/index.d.ts +5 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +809 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/opencode-sync.d.ts +9 -0
  24. package/dist/opencode-sync.d.ts.map +1 -0
  25. package/dist/opencode-sync.js +157 -0
  26. package/dist/opencode-sync.js.map +1 -0
  27. package/dist/provider.d.ts +5 -0
  28. package/dist/provider.d.ts.map +1 -0
  29. package/dist/provider.js +100 -0
  30. package/dist/provider.js.map +1 -0
  31. package/dist/provider.test.d.ts +2 -0
  32. package/dist/provider.test.d.ts.map +1 -0
  33. package/dist/provider.test.js +94 -0
  34. package/dist/provider.test.js.map +1 -0
  35. package/dist/quota.d.ts +12 -0
  36. package/dist/quota.d.ts.map +1 -0
  37. package/dist/quota.js +105 -0
  38. package/dist/quota.js.map +1 -0
  39. package/dist/quota.test.d.ts +2 -0
  40. package/dist/quota.test.d.ts.map +1 -0
  41. package/dist/quota.test.js +20 -0
  42. package/dist/quota.test.js.map +1 -0
  43. package/dist/storage.d.ts +43 -0
  44. package/dist/storage.d.ts.map +1 -0
  45. package/dist/storage.js +447 -0
  46. package/dist/storage.js.map +1 -0
  47. package/dist/themes.d.ts +64 -0
  48. package/dist/themes.d.ts.map +1 -0
  49. package/dist/themes.js +424 -0
  50. package/dist/themes.js.map +1 -0
  51. package/dist/tui/actions.d.ts +14 -0
  52. package/dist/tui/actions.d.ts.map +1 -0
  53. package/dist/tui/actions.js +464 -0
  54. package/dist/tui/actions.js.map +1 -0
  55. package/dist/tui/app.d.ts +2 -0
  56. package/dist/tui/app.d.ts.map +1 -0
  57. package/dist/tui/app.js +323 -0
  58. package/dist/tui/app.js.map +1 -0
  59. package/dist/tui/benchmark.d.ts +42 -0
  60. package/dist/tui/benchmark.d.ts.map +1 -0
  61. package/dist/tui/benchmark.js +379 -0
  62. package/dist/tui/benchmark.js.map +1 -0
  63. package/dist/tui/screens.d.ts +23 -0
  64. package/dist/tui/screens.d.ts.map +1 -0
  65. package/dist/tui/screens.js +791 -0
  66. package/dist/tui/screens.js.map +1 -0
  67. package/dist/tui/state.d.ts +54 -0
  68. package/dist/tui/state.d.ts.map +1 -0
  69. package/dist/tui/state.js +85 -0
  70. package/dist/tui/state.js.map +1 -0
  71. package/dist/tui/types.d.ts +16 -0
  72. package/dist/tui/types.d.ts.map +1 -0
  73. package/dist/tui/types.js +2 -0
  74. package/dist/tui/types.js.map +1 -0
  75. package/dist/tui/ui.d.ts +17 -0
  76. package/dist/tui/ui.d.ts.map +1 -0
  77. package/dist/tui/ui.js +77 -0
  78. package/dist/tui/ui.js.map +1 -0
  79. package/dist/types.d.ts +52 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +2 -0
  82. package/dist/types.js.map +1 -0
  83. package/package.json +68 -0
  84. package/scripts/postinstall.js +77 -0
  85. package/scripts/uninstall.js +119 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screens.js","sourceRoot":"","sources":["../../src/tui/screens.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { KeyStore, ProviderId } from "../types.js";
2
+ import type { ImportResult } from "../storage.js";
3
+ import type { Screen, ActiveTab } from "./types.js";
4
+ import type { CliRenderer } from "@opentui/core";
5
+ import type { BenchmarkRunner } from "./benchmark.js";
6
+ type ProviderRecord<T> = Record<ProviderId, T>;
7
+ export declare const state: {
8
+ store: KeyStore;
9
+ currentScreen: Screen;
10
+ activeProvider: ProviderId;
11
+ activeTab: ActiveTab;
12
+ deleteTargetId: string | null;
13
+ renameTargetId: string | null;
14
+ pendingKeyName: string;
15
+ selectedKeyId: string | null;
16
+ statusMessage: string;
17
+ statusColor: string;
18
+ focusTargetId: string | null;
19
+ mainMenuIndex: number;
20
+ keySelectorIndex: number;
21
+ keyActionsIndex: number;
22
+ themeSelectorIndex: number;
23
+ pendingImportPath: string;
24
+ pendingImportResult: ImportResult | null;
25
+ isRendering: boolean;
26
+ renderPending: boolean;
27
+ renderer: CliRenderer | null;
28
+ fallbackChainIndex: ProviderRecord<number>;
29
+ fallbackChainScrollOffset: ProviderRecord<number>;
30
+ fallbackSettingsIndex: number;
31
+ modelSelectorIndex: ProviderRecord<number>;
32
+ modelSelectorScrollOffset: ProviderRecord<number>;
33
+ modelSearchQuery: string;
34
+ availableModels: ProviderRecord<{
35
+ id: string;
36
+ name: string;
37
+ }[]>;
38
+ modelsLoaded: ProviderRecord<boolean>;
39
+ benchmarkRunners: Map<string, BenchmarkRunner>;
40
+ pendingOAuthUrl: string;
41
+ pendingOAuthState: string;
42
+ oauthCleanup: (() => void) | null;
43
+ };
44
+ export declare function setNavigate(fn: (screen: Screen) => void): void;
45
+ export declare function setRenderApp(fn: () => void): void;
46
+ export declare function navigate(screen: Screen): void;
47
+ export declare function callRenderApp(): void;
48
+ export declare function refreshStore(): void;
49
+ export declare function setStatus(msg: string, color?: string): void;
50
+ export declare function safeSaveStore(): boolean;
51
+ export declare function clampIndex(index: number, length: number): number;
52
+ export declare function getActiveKeysForProvider(provider: ProviderId): KeyStore["keys"];
53
+ export {};
54
+ //# sourceMappingURL=state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAGlD,OAAO,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,KAAK,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAE/C,eAAO,MAAM,KAAK,EAAE;IAClB,KAAK,EAAE,QAAQ,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,UAAU,CAAC;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,YAAY,GAAG,IAAI,CAAC;IACzC,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAC;IAC7B,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,yBAAyB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClD,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,yBAAyB,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAClD,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC,CAAC;IAChE,YAAY,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;CAkCnC,CAAC;AAKF,wBAAgB,WAAW,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAE9D;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAEjD;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAE7C;AAED,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAG3D;AAED,wBAAgB,aAAa,IAAI,OAAO,CAavC;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAE/E"}
@@ -0,0 +1,85 @@
1
+ import { loadStore, getDefaultStore, saveStore } from "../storage.js";
2
+ import { getActiveTheme } from "../themes.js";
3
+ export const state = {
4
+ store: loadStore() ?? getDefaultStore(),
5
+ currentScreen: "provider-tabs",
6
+ activeProvider: "nvidia",
7
+ activeTab: "keys",
8
+ deleteTargetId: null,
9
+ renameTargetId: null,
10
+ pendingKeyName: "",
11
+ selectedKeyId: null,
12
+ statusMessage: "",
13
+ statusColor: "#888888",
14
+ focusTargetId: null,
15
+ mainMenuIndex: 0,
16
+ keySelectorIndex: 0,
17
+ keyActionsIndex: 0,
18
+ themeSelectorIndex: 0,
19
+ pendingImportPath: "",
20
+ pendingImportResult: null,
21
+ isRendering: false,
22
+ renderPending: false,
23
+ renderer: null,
24
+ fallbackChainIndex: { nvidia: 0, google: 0, antigravity: 0 },
25
+ fallbackChainScrollOffset: { nvidia: 0, google: 0, antigravity: 0 },
26
+ fallbackSettingsIndex: 0,
27
+ modelSelectorIndex: { nvidia: 0, google: 0, antigravity: 0 },
28
+ modelSelectorScrollOffset: { nvidia: 0, google: 0, antigravity: 0 },
29
+ modelSearchQuery: "",
30
+ availableModels: { nvidia: [], google: [], antigravity: [] },
31
+ modelsLoaded: { nvidia: false, google: false, antigravity: false },
32
+ benchmarkRunners: new Map(),
33
+ pendingOAuthUrl: "",
34
+ pendingOAuthState: "",
35
+ oauthCleanup: null,
36
+ };
37
+ let navigateImpl = null;
38
+ let renderAppImpl = null;
39
+ export function setNavigate(fn) {
40
+ navigateImpl = fn;
41
+ }
42
+ export function setRenderApp(fn) {
43
+ renderAppImpl = fn;
44
+ }
45
+ export function navigate(screen) {
46
+ if (navigateImpl)
47
+ navigateImpl(screen);
48
+ }
49
+ export function callRenderApp() {
50
+ if (renderAppImpl)
51
+ renderAppImpl();
52
+ }
53
+ export function refreshStore() {
54
+ const fresh = loadStore();
55
+ if (fresh !== null) {
56
+ state.store = fresh;
57
+ }
58
+ }
59
+ export function setStatus(msg, color) {
60
+ state.statusMessage = msg;
61
+ state.statusColor = color ?? getActiveTheme().textMuted;
62
+ }
63
+ export function safeSaveStore() {
64
+ try {
65
+ saveStore(state.store);
66
+ return true;
67
+ }
68
+ catch (err) {
69
+ console.error("[nimsuper] Save failed:", err);
70
+ setStatus("Save failed: " + (err instanceof Error ? err.message : "Unknown error"), getActiveTheme().error);
71
+ callRenderApp();
72
+ return false;
73
+ }
74
+ }
75
+ export function clampIndex(index, length) {
76
+ if (length <= 0)
77
+ return 0;
78
+ if (index < 0)
79
+ return 0;
80
+ return index >= length ? Math.max(0, length - 1) : index;
81
+ }
82
+ export function getActiveKeysForProvider(provider) {
83
+ return state.store.keys.filter((k) => k.provider === provider && k.enabled);
84
+ }
85
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/tui/state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAO9C,MAAM,CAAC,MAAM,KAAK,GAiCd;IACF,KAAK,EAAE,SAAS,EAAE,IAAI,eAAe,EAAE;IACvC,aAAa,EAAE,eAAe;IAC9B,cAAc,EAAE,QAAQ;IACxB,SAAS,EAAE,MAAM;IACjB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,IAAI;IACpB,cAAc,EAAE,EAAE;IAClB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,EAAE;IACjB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,CAAC;IAChB,gBAAgB,EAAE,CAAC;IACnB,eAAe,EAAE,CAAC;IAClB,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,EAAE;IACrB,mBAAmB,EAAE,IAAI;IACzB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,KAAK;IACpB,QAAQ,EAAE,IAAI;IACd,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;IAC5D,yBAAyB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;IACnE,qBAAqB,EAAE,CAAC;IACxB,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;IAC5D,yBAAyB,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE;IACnE,gBAAgB,EAAE,EAAE;IACpB,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE;IAC5D,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;IAClE,gBAAgB,EAAE,IAAI,GAAG,EAAE;IAC3B,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,EAAE;IACrB,YAAY,EAAE,IAAI;CACnB,CAAC;AAEF,IAAI,YAAY,GAAsC,IAAI,CAAC;AAC3D,IAAI,aAAa,GAAwB,IAAI,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,EAA4B;IACtD,YAAY,GAAG,EAAE,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAc;IACzC,aAAa,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,MAAc;IACrC,IAAI,YAAY;QAAE,YAAY,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,aAAa;QAAE,aAAa,EAAE,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAAW,EAAE,KAAc;IACnD,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1B,KAAK,CAAC,WAAW,GAAG,KAAK,IAAI,cAAc,EAAE,CAAC,SAAS,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;QAC9C,SAAS,CACP,eAAe,GAAG,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,EACxE,cAAc,EAAE,CAAC,KAAK,CACvB,CAAC;QACF,aAAa,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAa,EAAE,MAAc;IACtD,IAAI,MAAM,IAAI,CAAC;QAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACxB,OAAO,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAoB;IAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC9E,CAAC"}
@@ -0,0 +1,16 @@
1
+ import type { VNode } from "@opentui/core";
2
+ import type { ProviderId } from "../types.js";
3
+ export type Screen = "provider-tabs" | "list" | "key-selector" | "key-actions" | "add-name" | "add-key" | "oauth-login" | "rename" | "confirm-delete" | "theme-selector" | "export-path" | "import-path" | "confirm-import" | "fallback-menu" | "fallback-chain" | "fallback-settings" | "model-selector";
4
+ export interface SelectOption {
5
+ name: string;
6
+ description: string;
7
+ value: string;
8
+ }
9
+ export interface ScreenContent {
10
+ element: VNode;
11
+ helpText: string;
12
+ }
13
+ export type ActiveTab = "keys" | "fallback";
14
+ export type ProviderTab = ProviderId;
15
+ export { ProviderId };
16
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,MAAM,MAAM,GACd,eAAe,GACf,MAAM,GACN,cAAc,GACd,aAAa,GACb,UAAU,GACV,SAAS,GACT,aAAa,GACb,QAAQ,GACR,gBAAgB,GAChB,gBAAgB,GAChB,aAAa,GACb,aAAa,GACb,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,mBAAmB,GACnB,gBAAgB,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,UAAU,CAAC;AAE5C,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AAErC,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tui/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import type { VNode } from "@opentui/core";
2
+ import { selectColors } from "../themes.js";
3
+ import type { RotatorTheme } from "../themes.js";
4
+ import type { SelectOption } from "./types.js";
5
+ type EventHandler = (...args: any[]) => void;
6
+ interface EventTarget {
7
+ on(event: "itemSelected" | "selectionChanged" | "enter", handler: EventHandler): void;
8
+ on(event: string, handler: EventHandler): void;
9
+ }
10
+ export declare function events(vnode: VNode): EventTarget;
11
+ export declare function asRenderable(id: string): any;
12
+ export declare function maskKey(key: string): string;
13
+ export declare function themedSelect(id: string, width: number, height: number, options: SelectOption[], index: number, onItemSelected: (_index: number, option: SelectOption) => void, colors?: ReturnType<typeof selectColors>): VNode;
14
+ export declare function themedInput(id: string, placeholder: string, width: number, value?: string): VNode;
15
+ export declare function applyThemeToScreen(theme: RotatorTheme): void;
16
+ export {};
17
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/tui/ui.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAEL,YAAY,EAGb,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,KAAK,YAAY,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;AAE7C,UAAU,WAAW;IACnB,EAAE,CACA,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,OAAO,EACpD,OAAO,EAAE,YAAY,GACpB,IAAI,CAAC;IACR,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CAChD;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,CAEhD;AAED,wBAAgB,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,GAAG,CAE5C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,YAAY,CAC1B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EAAE,EACvB,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,EAC9D,MAAM,CAAC,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACvC,KAAK,CAqBP;AAED,wBAAgB,WAAW,CACzB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,GACb,KAAK,CAaP;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CA4B5D"}
package/dist/tui/ui.js ADDED
@@ -0,0 +1,77 @@
1
+ import { Select, Input } from "@opentui/core";
2
+ import { getActiveTheme, selectColors, inputColors, applySelectColors, } from "../themes.js";
3
+ import { state } from "./state.js";
4
+ export function events(vnode) {
5
+ return vnode;
6
+ }
7
+ export function asRenderable(id) {
8
+ return state.renderer?.root.findDescendantById(id);
9
+ }
10
+ export function maskKey(key) {
11
+ return key.length <= 8 ? "****" : `${key.slice(0, 5)}****`;
12
+ }
13
+ export function themedSelect(id, width, height, options, index, onItemSelected, colors) {
14
+ const theme = getActiveTheme();
15
+ const c = colors ?? selectColors(theme);
16
+ const sel = Select({
17
+ id,
18
+ width,
19
+ height,
20
+ options,
21
+ selectedIndex: index,
22
+ backgroundColor: c.backgroundColor,
23
+ focusedBackgroundColor: c.focusedBackgroundColor,
24
+ focusedTextColor: c.focusedTextColor,
25
+ selectedBackgroundColor: c.selectedBackgroundColor,
26
+ selectedTextColor: c.selectedTextColor,
27
+ textColor: c.textColor,
28
+ descriptionColor: c.descriptionColor,
29
+ selectedDescriptionColor: c.selectedDescriptionColor,
30
+ });
31
+ events(sel).on("itemSelected", onItemSelected);
32
+ state.focusTargetId = id;
33
+ return sel;
34
+ }
35
+ export function themedInput(id, placeholder, width, value) {
36
+ const c = inputColors(getActiveTheme());
37
+ state.focusTargetId = id;
38
+ return Input({
39
+ id,
40
+ placeholder,
41
+ width,
42
+ value,
43
+ backgroundColor: c.backgroundColor,
44
+ focusedBackgroundColor: c.focusedBackgroundColor,
45
+ textColor: c.textColor,
46
+ cursorColor: c.cursorColor,
47
+ });
48
+ }
49
+ export function applyThemeToScreen(theme) {
50
+ if (!state.renderer)
51
+ return;
52
+ state.renderer.setBackgroundColor(theme.background);
53
+ const sel = asRenderable("theme-selector");
54
+ if (sel)
55
+ applySelectColors(sel, selectColors(theme));
56
+ const screenRoot = asRenderable("screen-root");
57
+ if (screenRoot)
58
+ screenRoot.backgroundColor = theme.background;
59
+ const panel = asRenderable("panel");
60
+ if (panel) {
61
+ panel.backgroundColor = theme.backgroundPanel;
62
+ panel.borderColor = theme.border;
63
+ }
64
+ for (const [id, color] of [
65
+ ["title-text", theme.primary],
66
+ ["keys-count", theme.textMuted],
67
+ ["active-count", theme.success],
68
+ ["status-text", state.statusColor],
69
+ ["help-text", theme.textMuted],
70
+ ["theme-label", theme.primary],
71
+ ]) {
72
+ const el = asRenderable(id);
73
+ if (el)
74
+ el.fg = color;
75
+ }
76
+ }
77
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/tui/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAE9C,OAAO,EACL,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAanC,MAAM,UAAU,MAAM,CAAC,KAAY;IACjC,OAAO,KAA+B,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAU;IACrC,OAAO,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,YAAY,CAC1B,EAAU,EACV,KAAa,EACb,MAAc,EACd,OAAuB,EACvB,KAAa,EACb,cAA8D,EAC9D,MAAwC;IAExC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;IAC/B,MAAM,CAAC,GAAG,MAAM,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,GAAG,GAAG,MAAM,CAAC;QACjB,EAAE;QACF,KAAK;QACL,MAAM;QACN,OAAO;QACP,aAAa,EAAE,KAAK;QACpB,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;QAChD,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,uBAAuB,EAAE,CAAC,CAAC,uBAAuB;QAClD,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;QACtC,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,wBAAwB,EAAE,CAAC,CAAC,wBAAwB;KACrD,CAAC,CAAC;IACH,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IAC/C,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,EAAU,EACV,WAAmB,EACnB,KAAa,EACb,KAAc;IAEd,MAAM,CAAC,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC,CAAC;IACxC,KAAK,CAAC,aAAa,GAAG,EAAE,CAAC;IACzB,OAAO,KAAK,CAAC;QACX,EAAE;QACF,WAAW;QACX,KAAK;QACL,KAAK;QACL,eAAe,EAAE,CAAC,CAAC,eAAe;QAClC,sBAAsB,EAAE,CAAC,CAAC,sBAAsB;QAChD,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,WAAW,EAAE,CAAC,CAAC,WAAW;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAmB;IACpD,IAAI,CAAC,KAAK,CAAC,QAAQ;QAAE,OAAO;IAE5B,KAAK,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEpD,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,GAAG;QAAE,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IAErD,MAAM,UAAU,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAC/C,IAAI,UAAU;QAAE,UAAU,CAAC,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC;IAE9D,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC9C,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IACnC,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI;QACxB,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC;QAC7B,CAAC,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;QAC/B,CAAC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;QAClC,CAAC,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC;QAC9B,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;KACtB,EAAE,CAAC;QACX,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,EAAE;YAAE,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -0,0 +1,52 @@
1
+ export type ProviderId = "nvidia" | "google" | "antigravity";
2
+ export interface ModelBlacklistEntry {
3
+ readonly blacklistedUntil: number;
4
+ readonly nextDurationMs: number;
5
+ }
6
+ export interface ApiKeyEntry {
7
+ id: string;
8
+ name: string;
9
+ key: string;
10
+ createdAt: number;
11
+ lastUsedAt?: number;
12
+ rateLimitCount: number;
13
+ enabled: boolean;
14
+ provider: ProviderId;
15
+ modelBlacklist?: {
16
+ [modelId: string]: ModelBlacklistEntry;
17
+ };
18
+ }
19
+ export interface FallbackModel {
20
+ id: string;
21
+ name: string;
22
+ benchmarkTtfb?: number;
23
+ benchmarkTps?: number;
24
+ benchmarkStatus?: "idle" | "running" | "done" | "error";
25
+ benchmarkError?: string;
26
+ }
27
+ export interface KeyStore {
28
+ keys: ApiKeyEntry[];
29
+ currentIndex: number;
30
+ rotationStrategy: "round-robin" | "least-failures";
31
+ updatedAt: number;
32
+ lastUsedKeyId?: string;
33
+ fallbackChains: {
34
+ [P in ProviderId]: FallbackModel[];
35
+ };
36
+ maxRateLimitFailures: number;
37
+ }
38
+ export interface ExportedKey {
39
+ name: string;
40
+ key: string;
41
+ provider: ProviderId;
42
+ }
43
+ export interface ExportPayload {
44
+ version: 1;
45
+ exportedAt: number;
46
+ keys: ExportedKey[];
47
+ }
48
+ export type KeyStoreConfig = {
49
+ storePath?: string;
50
+ rotationStrategy?: "round-robin" | "least-failures";
51
+ };
52
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE7D,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,cAAc,CAAC,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB,CAAA;KAAE,CAAC;CAC7D;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACxD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,aAAa,GAAG,gBAAgB,CAAC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE;SAAG,CAAC,IAAI,UAAU,GAAG,aAAa,EAAE;KAAE,CAAC;IACvD,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,UAAU,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC;CACrD,CAAC"}
package/dist/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "superoc",
3
+ "version": "0.1.0",
4
+ "description": "Multi-provider API key & OAuth account rotator plugin for OpenCode — NVIDIA NIM, Google Gemini & Google Cloud Code Antigravity",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "bin": {
9
+ "superoc": "bin/superoc.js",
10
+ "nimsuper": "bin/superoc.js"
11
+ },
12
+ "scripts": {
13
+ "build": "tsc",
14
+ "tui": "bun run bin/superoc.ts",
15
+ "prepare": "npm run build",
16
+ "postinstall": "node scripts/postinstall.js",
17
+ "uninstall": "node scripts/uninstall.js",
18
+ "format": "prettier -w ."
19
+ },
20
+ "keywords": [
21
+ "opencode",
22
+ "plugin",
23
+ "superoc",
24
+ "nvidia",
25
+ "nim",
26
+ "google",
27
+ "gemini",
28
+ "antigravity",
29
+ "claude",
30
+ "rotation",
31
+ "api-key"
32
+ ],
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/abhinaverma97/superoc.git"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/abhinaverma97/superoc/issues"
39
+ },
40
+ "homepage": "https://github.com/abhinaverma97/superoc#readme",
41
+ "author": "abhinaverma97",
42
+ "license": "MIT",
43
+ "files": [
44
+ "dist",
45
+ "bin",
46
+ "scripts"
47
+ ],
48
+ "dependencies": {
49
+ "@opencode-ai/plugin": "^1.17.11",
50
+ "@opentui/core": "^0.4.2"
51
+ },
52
+ "devDependencies": {
53
+ "@types/bun": "^1.3.14",
54
+ "prettier": "^3.8.4",
55
+ "typescript": "6.0.3"
56
+ },
57
+ "peerDependencies": {
58
+ "bun": ">=1.0.0"
59
+ },
60
+ "peerDependenciesMeta": {
61
+ "bun": {
62
+ "optional": true
63
+ }
64
+ },
65
+ "engines": {
66
+ "node": ">=18.0.0"
67
+ }
68
+ }
@@ -0,0 +1,77 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { join } from "path";
4
+ import { homedir } from "os";
5
+ import { existsSync } from "fs";
6
+ import { readFile, writeFile, mkdir } from "fs/promises";
7
+
8
+ const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
9
+ const CONFIG_DIR = join(xdgConfig, "opencode");
10
+ const jsoncPath = join(CONFIG_DIR, "opencode.jsonc");
11
+ const jsonPath = join(CONFIG_DIR, "opencode.json");
12
+ const CONFIG_PATH = existsSync(jsoncPath) ? jsoncPath : jsonPath;
13
+
14
+ async function install() {
15
+ console.log(
16
+ "\n+=============================================================+",
17
+ );
18
+ console.log("| superoc - Installer |");
19
+ console.log(
20
+ "+=============================================================+\n",
21
+ );
22
+
23
+ try {
24
+ await mkdir(CONFIG_DIR, { recursive: true, mode: 0o700 });
25
+ } catch (err) {
26
+ if (err.code !== "EEXIST") throw err;
27
+ }
28
+
29
+ if (existsSync(CONFIG_PATH)) {
30
+ try {
31
+ const raw = await readFile(CONFIG_PATH, "utf-8");
32
+ const config = JSON.parse(raw);
33
+
34
+ config.plugin = config.plugin || [];
35
+ // Clean up legacy "nimsuper" entry if present
36
+ config.plugin = config.plugin.filter(function (p) {
37
+ if (typeof p === "string") return p !== "nimsuper";
38
+ if (Array.isArray(p)) return p[0] !== "nimsuper";
39
+ return true;
40
+ });
41
+
42
+ const hasPlugin = config.plugin.some(function (p) {
43
+ if (typeof p === "string") return p === "superoc";
44
+ if (Array.isArray(p)) return p[0] === "superoc";
45
+ return false;
46
+ });
47
+
48
+ if (!hasPlugin) {
49
+ config.plugin.push("superoc");
50
+ await writeFile(CONFIG_PATH, JSON.stringify(config, null, 2) + "\n", {
51
+ mode: 0o600,
52
+ });
53
+ console.log("Added superoc to OpenCode plugin list");
54
+ } else {
55
+ console.log("Plugin already in OpenCode config - skipping");
56
+ }
57
+ } catch (err) {
58
+ console.warn("Could not update OpenCode config:", err);
59
+ }
60
+ } else {
61
+ const config = { plugin: ["superoc"] };
62
+ await writeFile(CONFIG_PATH, JSON.stringify(config, null, 2) + "\n", {
63
+ mode: 0o600,
64
+ });
65
+ console.log("Created OpenCode config with superoc plugin entry");
66
+ }
67
+
68
+ console.log("\nNext steps:");
69
+ console.log(" 1. Run: superoc (to manage your API keys & accounts)");
70
+ console.log(" 2. Connect your providers via the TUI");
71
+ console.log(" 3. Start OpenCode - superoc will auto-rotate your keys & accounts\n");
72
+ }
73
+
74
+ await install().catch(function (err) {
75
+ console.error("Installation failed:", err);
76
+ process.exit(1);
77
+ });