@closedrouter/cli 1.1.8 → 1.1.10
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 +62 -0
- package/dist/bridge/launch-proxy.d.ts +1 -1
- package/dist/bridge/launch-proxy.d.ts.map +1 -1
- package/dist/client.d.ts +10 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/commands/agy-desktop.d.ts +12 -0
- package/dist/commands/agy-desktop.d.ts.map +1 -0
- package/dist/commands/claude-desktop.d.ts +5 -0
- package/dist/commands/claude-desktop.d.ts.map +1 -0
- package/dist/commands/cursor-desktop-hook.d.ts +3 -0
- package/dist/commands/cursor-desktop-hook.d.ts.map +1 -0
- package/dist/commands/cursor-desktop.d.ts +3 -0
- package/dist/commands/cursor-desktop.d.ts.map +1 -0
- package/dist/commands/cursor-launch.d.ts +6 -0
- package/dist/commands/cursor-launch.d.ts.map +1 -0
- package/dist/commands/desktop-inspector.d.ts +12 -0
- package/dist/commands/desktop-inspector.d.ts.map +1 -0
- package/dist/commands/desktop-launch.d.ts +33 -0
- package/dist/commands/desktop-launch.d.ts.map +1 -0
- package/dist/commands/settings.d.ts +6 -0
- package/dist/commands/settings.d.ts.map +1 -0
- package/dist/commands/start.d.ts +16 -2
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/config.d.ts +5 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/index.js +1667 -50
- package/dist/model-picker.d.ts +56 -0
- package/dist/model-picker.d.ts.map +1 -0
- package/dist/terminal-ui.d.ts +22 -0
- package/dist/terminal-ui.d.ts.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { type Key } from "node:readline";
|
|
2
|
+
import type { GatewayModel } from "./client";
|
|
3
|
+
import { type ModelGrouping } from "./config";
|
|
4
|
+
import { TerminalTheme } from "./terminal-ui";
|
|
5
|
+
export declare const MODEL_GROUPING_LABELS: Record<ModelGrouping, string>;
|
|
6
|
+
export declare function gatewayModelId(model: GatewayModel): string;
|
|
7
|
+
export interface PickerModel {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
owner: string;
|
|
11
|
+
providers: string[];
|
|
12
|
+
}
|
|
13
|
+
export declare function preparePickerModels(models: GatewayModel[]): PickerModel[];
|
|
14
|
+
export declare function modelProviderLabel(model: PickerModel): string;
|
|
15
|
+
export interface PickerEntry {
|
|
16
|
+
key: string;
|
|
17
|
+
group: string;
|
|
18
|
+
model: PickerModel;
|
|
19
|
+
}
|
|
20
|
+
type PickerAction = {
|
|
21
|
+
type: "select";
|
|
22
|
+
model: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: "cancel";
|
|
25
|
+
} | {
|
|
26
|
+
type: "favorites";
|
|
27
|
+
} | {
|
|
28
|
+
type: "grouping";
|
|
29
|
+
};
|
|
30
|
+
export declare class ModelPickerState {
|
|
31
|
+
readonly models: PickerModel[];
|
|
32
|
+
query: string;
|
|
33
|
+
grouping: ModelGrouping;
|
|
34
|
+
favorites: Set<string>;
|
|
35
|
+
entries: PickerEntry[];
|
|
36
|
+
cursor: number;
|
|
37
|
+
constructor(models: PickerModel[], grouping?: ModelGrouping, favorites?: string[]);
|
|
38
|
+
get selected(): PickerEntry | undefined;
|
|
39
|
+
private refresh;
|
|
40
|
+
handleKey(text: string | undefined, key: Key, pageSize?: number): PickerAction | undefined;
|
|
41
|
+
}
|
|
42
|
+
export interface PickerRenderOptions {
|
|
43
|
+
theme?: TerminalTheme;
|
|
44
|
+
toolLabel?: string;
|
|
45
|
+
}
|
|
46
|
+
export declare function renderModelPicker(state: ModelPickerState, columns?: number, rows?: number, options?: PickerRenderOptions): string;
|
|
47
|
+
export interface ModelPickerOptions {
|
|
48
|
+
toolLabel?: string;
|
|
49
|
+
grouping?: ModelGrouping;
|
|
50
|
+
favorites?: string[];
|
|
51
|
+
onFavoritesChange?: (favorites: string[]) => void;
|
|
52
|
+
onGroupingChange?: (grouping: ModelGrouping) => void;
|
|
53
|
+
}
|
|
54
|
+
export declare function selectPoolModel(models: GatewayModel[], options?: ModelPickerOptions): Promise<string>;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=model-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-picker.d.ts","sourceRoot":"","sources":["../src/model-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,EAA0C,aAAa,EAAoD,MAAM,eAAe,CAAC;AAExI,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAI/D,CAAC;AAeF,wBAAgB,cAAc,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAE1D;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAczE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAG7D;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,KAAK,YAAY,GACb;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAC;AAEzB,qBAAa,gBAAgB;IAOf,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE;IAN1C,KAAK,SAAM;IACX,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAM;IAC5B,MAAM,SAAK;IAEX,YAAqB,MAAM,EAAE,WAAW,EAAE,EAAE,QAAQ,GAAE,aAAsB,EAAE,SAAS,GAAE,MAAM,EAAO,EAIrG;IAED,IAAI,QAAQ,IAAI,WAAW,GAAG,SAAS,CAEtC;IAED,OAAO,CAAC,OAAO;IAuBf,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,SAAI,GAAG,YAAY,GAAG,SAAS,CAuCpF;CACF;AAOD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwGD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,SAAK,EAAE,IAAI,SAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,MAAM,CA6E7H;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;CACtD;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,CA0E/G"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type TerminalColorMode = "none" | "ansi" | "256" | "truecolor";
|
|
2
|
+
export type Tone = "text" | "muted" | "border" | "accent" | "gold" | "teal" | "blue" | "warm" | "violet" | "key";
|
|
3
|
+
export interface TextSpan {
|
|
4
|
+
text: string;
|
|
5
|
+
tone: Tone;
|
|
6
|
+
bold: boolean;
|
|
7
|
+
}
|
|
8
|
+
export type TextLine = TextSpan[];
|
|
9
|
+
export declare function terminalText(text: string): string;
|
|
10
|
+
export declare function span(text: string, tone?: Tone, bold?: boolean): TextSpan;
|
|
11
|
+
export declare function lineWidth(line: TextLine): number;
|
|
12
|
+
export declare function fitLine(line: TextLine, width: number, ellipsis?: boolean): TextLine;
|
|
13
|
+
export declare function wrapLine(line: TextLine, width: number, continuation?: number): TextLine[];
|
|
14
|
+
export declare function terminalColorMode(env?: NodeJS.ProcessEnv): TerminalColorMode;
|
|
15
|
+
export declare class TerminalTheme {
|
|
16
|
+
readonly mode: TerminalColorMode;
|
|
17
|
+
constructor(mode?: TerminalColorMode);
|
|
18
|
+
private color;
|
|
19
|
+
paint(line: TextLine, width: number, selected?: boolean): string;
|
|
20
|
+
}
|
|
21
|
+
export declare function providerTone(provider: string): Tone;
|
|
22
|
+
//# sourceMappingURL=terminal-ui.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"terminal-ui.d.ts","sourceRoot":"","sources":["../src/terminal-ui.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,CAAC;AACtE,MAAM,MAAM,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AACjH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;CACf;AACD,MAAM,MAAM,QAAQ,GAAG,QAAQ,EAAE,CAAC;AAoBlC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,IAAa,EAAE,IAAI,UAAQ,GAAG,QAAQ,CAE9E;AAQD,wBAAgB,SAAS,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEhD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAO,GAAG,QAAQ,CAoBhF;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,SAAI,GAAG,QAAQ,EAAE,CAsBpF;AAED,wBAAgB,iBAAiB,CAAC,GAAG,oBAAc,GAAG,iBAAiB,CAQtE;AAED,qBAAa,aAAa;IACZ,QAAQ,CAAC,IAAI,EAAE,iBAAiB;IAA5C,YAAqB,IAAI,GAAE,iBAAuC,EAAI;IAEtE,OAAO,CAAC,KAAK;IAQb,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,MAAM,CAS7D;CACF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOnD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@closedrouter/cli",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.10",
|
|
4
4
|
"description": "ClosedRouter CLI: Onboard and import local AI subscriptions and API keys into your shared token pool",
|
|
5
5
|
"author": "ClosedRouter Contributors",
|
|
6
6
|
"repository": {
|
|
@@ -35,6 +35,7 @@
|
|
|
35
35
|
"@clack/prompts": "^0.11.0",
|
|
36
36
|
"commander": "^14.0.3",
|
|
37
37
|
"picocolors": "^1.1.1",
|
|
38
|
+
"string-width": "^7.2.0",
|
|
38
39
|
"ws": "^8.18.0"
|
|
39
40
|
},
|
|
40
41
|
"devDependencies": {
|