vibe-usage-cli 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +275 -2
- package/build/cli.js +197 -0
- package/build/core/claude-processes.d.ts +51 -0
- package/build/core/claude-processes.js +288 -0
- package/build/core/claude-profile.d.ts +2 -0
- package/build/core/claude-profile.js +146 -0
- package/build/core/claude-renew.d.ts +12 -0
- package/build/core/claude-renew.js +79 -0
- package/build/core/continuity.d.ts +90 -0
- package/build/core/continuity.js +1244 -0
- package/build/core/diagnostics.d.ts +25 -0
- package/build/core/diagnostics.js +229 -0
- package/build/core/environment.d.ts +12 -0
- package/build/core/environment.js +25 -0
- package/build/core/errors.d.ts +23 -0
- package/build/core/errors.js +48 -0
- package/build/core/files.d.ts +20 -0
- package/build/core/files.js +136 -0
- package/build/core/glance.d.ts +25 -0
- package/build/core/glance.js +107 -0
- package/build/core/handover.d.ts +61 -0
- package/build/core/handover.js +333 -0
- package/build/core/history.d.ts +19 -0
- package/build/core/history.js +134 -0
- package/build/core/launch.d.ts +78 -0
- package/build/core/launch.js +256 -0
- package/build/core/measurements.d.ts +11 -0
- package/build/core/measurements.js +75 -0
- package/build/core/model-families.d.ts +12 -0
- package/build/core/model-families.js +61 -0
- package/build/core/model.d.ts +32 -0
- package/build/core/model.js +86 -0
- package/build/core/models.d.ts +25 -0
- package/build/core/models.js +164 -0
- package/build/core/redact.d.ts +2 -0
- package/build/core/redact.js +64 -0
- package/build/core/selection.d.ts +65 -0
- package/build/core/selection.js +173 -0
- package/build/core/service.d.ts +35 -0
- package/build/core/service.js +484 -0
- package/build/core/sessions.d.ts +87 -0
- package/build/core/sessions.js +868 -0
- package/build/core/settings.d.ts +16 -0
- package/build/core/settings.js +377 -0
- package/build/core/tray-icon.d.ts +5 -0
- package/build/core/tray-icon.js +91 -0
- package/build/core/updater.d.ts +29 -0
- package/build/core/updater.js +88 -0
- package/build/core/updates.d.ts +5 -0
- package/build/core/updates.js +29 -0
- package/build/launchers/discover-antigravity.ps1 +68 -0
- package/build/launchers/terminal.ps1 +78 -0
- package/build/main/main.js +587 -0
- package/build/providers/antigravity.d.ts +48 -0
- package/build/providers/antigravity.js +463 -0
- package/build/providers/claude-keychain.d.ts +13 -0
- package/build/providers/claude-keychain.js +42 -0
- package/build/providers/claude.d.ts +33 -0
- package/build/providers/claude.js +218 -0
- package/build/providers/codex.d.ts +21 -0
- package/build/providers/codex.js +221 -0
- package/build/providers/common.d.ts +63 -0
- package/build/providers/common.js +294 -0
- package/build/providers/cursor.d.ts +14 -0
- package/build/providers/cursor.js +141 -0
- package/build/providers/profiles.d.ts +10 -0
- package/build/providers/profiles.js +69 -0
- package/build/providers/tls-trust.d.ts +7 -0
- package/build/providers/tls-trust.js +29 -0
- package/build/providers/types.d.ts +19 -0
- package/build/providers/types.js +1 -0
- package/build/shared/account-state.d.ts +19 -0
- package/build/shared/account-state.js +75 -0
- package/build/shared/catalog.d.ts +85 -0
- package/build/shared/catalog.js +125 -0
- package/build/shared/format.d.ts +40 -0
- package/build/shared/format.js +134 -0
- package/build/shared/i18n/index.d.ts +12 -0
- package/build/shared/i18n/index.js +40 -0
- package/build/shared/i18n/locales/de.d.ts +2 -0
- package/build/shared/i18n/locales/de.js +328 -0
- package/build/shared/i18n/locales/en.d.ts +328 -0
- package/build/shared/i18n/locales/en.js +330 -0
- package/build/shared/i18n/locales/es.d.ts +2 -0
- package/build/shared/i18n/locales/es.js +328 -0
- package/build/shared/i18n/locales/fr.d.ts +2 -0
- package/build/shared/i18n/locales/fr.js +328 -0
- package/build/shared/i18n/locales/it.d.ts +2 -0
- package/build/shared/i18n/locales/it.js +327 -0
- package/build/shared/i18n/locales/ja.d.ts +2 -0
- package/build/shared/i18n/locales/ja.js +322 -0
- package/build/shared/i18n/locales/ko.d.ts +2 -0
- package/build/shared/i18n/locales/ko.js +322 -0
- package/build/shared/i18n/locales/nl.d.ts +2 -0
- package/build/shared/i18n/locales/nl.js +327 -0
- package/build/shared/i18n/locales/pl.d.ts +2 -0
- package/build/shared/i18n/locales/pl.js +332 -0
- package/build/shared/i18n/locales/pt.d.ts +2 -0
- package/build/shared/i18n/locales/pt.js +328 -0
- package/build/shared/i18n/locales/ru.d.ts +2 -0
- package/build/shared/i18n/locales/ru.js +331 -0
- package/build/shared/i18n/locales/tr.d.ts +2 -0
- package/build/shared/i18n/locales/tr.js +322 -0
- package/build/shared/i18n/locales/zh.d.ts +2 -0
- package/build/shared/i18n/locales/zh.js +322 -0
- package/build/shared/i18n/messages.d.ts +10 -0
- package/build/shared/i18n/messages.js +1 -0
- package/build/shared/ipc.d.ts +138 -0
- package/build/shared/ipc.js +2 -0
- package/build/shared/tsconfig.tsbuildinfo +1 -0
- package/build/shared/types.d.ts +205 -0
- package/build/shared/types.js +1 -0
- package/package.json +144 -4
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { en } from './locales/en.ts';
|
|
2
|
+
type EnglishKey = keyof typeof en;
|
|
3
|
+
type PluralCategory = Intl.LDMLPluralRule;
|
|
4
|
+
type PluralFamily<K> = K extends `${infer Base}_other` ? Base : never;
|
|
5
|
+
export type PluralKey = PluralFamily<EnglishKey>;
|
|
6
|
+
type PluralVariant = `${PluralKey}_${PluralCategory}`;
|
|
7
|
+
type SingularKey = Exclude<EnglishKey, PluralVariant>;
|
|
8
|
+
export type MessageKey = SingularKey | PluralKey;
|
|
9
|
+
export type Messages = Record<SingularKey, string> & Record<`${PluralKey}_other`, string> & Partial<Record<`${PluralKey}_${Exclude<PluralCategory, 'other'>}`, string>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import type { Auto, ProfileProviderId, ProviderId } from './catalog.ts';
|
|
2
|
+
import type { Diagnostics, ErrorPayload, QuietHours, Settings, Snapshot, TransitionRecord } from './types.ts';
|
|
3
|
+
export declare const IPC_PREFIX = "vibe:";
|
|
4
|
+
export declare const SNAPSHOT_EVENT: "vibe:update";
|
|
5
|
+
export type LaunchMode = 'terminal' | 'app';
|
|
6
|
+
export type SettingsPatch = Partial<Omit<Settings, 'quietHours'>> & {
|
|
7
|
+
quietHours?: QuietHours | null;
|
|
8
|
+
};
|
|
9
|
+
export type ModelCatalog = Record<ProviderId, string[]>;
|
|
10
|
+
export interface SessionSummary {
|
|
11
|
+
id: string;
|
|
12
|
+
providerId: ProviderId;
|
|
13
|
+
title: string;
|
|
14
|
+
updatedAt: number;
|
|
15
|
+
sizeBytes: number;
|
|
16
|
+
turnCount: number;
|
|
17
|
+
model: string;
|
|
18
|
+
}
|
|
19
|
+
export interface SmartLaunchPreview {
|
|
20
|
+
providerId: ProviderId;
|
|
21
|
+
verified: boolean;
|
|
22
|
+
isFallback: boolean;
|
|
23
|
+
headroomPercent: number | null;
|
|
24
|
+
model: string | null;
|
|
25
|
+
}
|
|
26
|
+
export interface HandoverRequest {
|
|
27
|
+
projectDir: string;
|
|
28
|
+
fromProvider: ProviderId | Auto;
|
|
29
|
+
toProvider: ProviderId | Auto;
|
|
30
|
+
sessionId: string;
|
|
31
|
+
sessionProvider?: ProviderId;
|
|
32
|
+
targetModel?: string;
|
|
33
|
+
sourceAccountId?: string | undefined;
|
|
34
|
+
}
|
|
35
|
+
export interface HandoverPreview {
|
|
36
|
+
from: ProviderId | null;
|
|
37
|
+
to: ProviderId;
|
|
38
|
+
model: string | null;
|
|
39
|
+
sessionId: string | null;
|
|
40
|
+
sessionProvider: ProviderId | null;
|
|
41
|
+
brief: string;
|
|
42
|
+
}
|
|
43
|
+
export interface HandoverResult {
|
|
44
|
+
from: ProviderId | null;
|
|
45
|
+
to: ProviderId;
|
|
46
|
+
model: string | null;
|
|
47
|
+
mode: LaunchMode;
|
|
48
|
+
}
|
|
49
|
+
export interface LoginItem {
|
|
50
|
+
supported: boolean;
|
|
51
|
+
enabled: boolean;
|
|
52
|
+
}
|
|
53
|
+
export interface HistorySeries {
|
|
54
|
+
accountId: string;
|
|
55
|
+
windowId: string;
|
|
56
|
+
samples: (readonly [number, number])[];
|
|
57
|
+
}
|
|
58
|
+
export interface ContinueOutcome {
|
|
59
|
+
status: 'continued';
|
|
60
|
+
to: ProviderId;
|
|
61
|
+
accountId: string | null;
|
|
62
|
+
resumed: boolean;
|
|
63
|
+
mode: LaunchMode;
|
|
64
|
+
}
|
|
65
|
+
export interface Canceled {
|
|
66
|
+
status: 'canceled';
|
|
67
|
+
}
|
|
68
|
+
export interface VibeMethods {
|
|
69
|
+
snapshot(): Snapshot;
|
|
70
|
+
refresh(providerId?: ProviderId): Snapshot;
|
|
71
|
+
saveSettings(patch: SettingsPatch): Snapshot;
|
|
72
|
+
pin(): Snapshot;
|
|
73
|
+
loginItem(): LoginItem;
|
|
74
|
+
setLoginItem(enabled: boolean): LoginItem;
|
|
75
|
+
hide(): void;
|
|
76
|
+
dismissAccount(accountId: string): Snapshot;
|
|
77
|
+
exportSettings(): Canceled | {
|
|
78
|
+
status: 'saved';
|
|
79
|
+
};
|
|
80
|
+
importSettings(): Canceled | {
|
|
81
|
+
status: 'imported';
|
|
82
|
+
};
|
|
83
|
+
resetSettings(): Snapshot;
|
|
84
|
+
dismissSettingsNotice(): Snapshot;
|
|
85
|
+
diagnostics(): Diagnostics;
|
|
86
|
+
copyDiagnostics(): void;
|
|
87
|
+
exportDiagnostics(): Canceled | {
|
|
88
|
+
status: 'saved';
|
|
89
|
+
};
|
|
90
|
+
restoreDismissedAccounts(): Snapshot;
|
|
91
|
+
signIn(providerId: ProviderId, accountId?: string): void;
|
|
92
|
+
addAccount(providerId: ProfileProviderId): Snapshot;
|
|
93
|
+
launchClaude(accountId: string): Canceled | {
|
|
94
|
+
status: 'launched';
|
|
95
|
+
};
|
|
96
|
+
getModels(): ModelCatalog;
|
|
97
|
+
previewSmartLaunch(): SmartLaunchPreview;
|
|
98
|
+
smartLaunch(): Canceled | ({
|
|
99
|
+
status: 'launched';
|
|
100
|
+
verified: boolean;
|
|
101
|
+
} & Omit<HandoverResult, 'from'>);
|
|
102
|
+
listSessions(options: {
|
|
103
|
+
providerId: ProviderId | Auto;
|
|
104
|
+
projectDir: string;
|
|
105
|
+
}): SessionSummary[];
|
|
106
|
+
selectDirectory(options: {
|
|
107
|
+
defaultPath?: string;
|
|
108
|
+
}): string | null;
|
|
109
|
+
defaultProjectDir(): string;
|
|
110
|
+
previewHandover(request: HandoverRequest): HandoverPreview;
|
|
111
|
+
executeHandover(request: HandoverRequest): HandoverResult;
|
|
112
|
+
continueWork(suggestionId: string): Canceled | ContinueOutcome;
|
|
113
|
+
dismissSuggestion(suggestionId: string): Snapshot;
|
|
114
|
+
history(): HistorySeries[];
|
|
115
|
+
transitions(): TransitionRecord[];
|
|
116
|
+
retryTransition(id: string): Canceled | ContinueOutcome;
|
|
117
|
+
openUpdate(): void;
|
|
118
|
+
downloadUpdate(): void;
|
|
119
|
+
installUpdate(): void;
|
|
120
|
+
fitHeight(height: number): void;
|
|
121
|
+
}
|
|
122
|
+
export type Channel = keyof VibeMethods;
|
|
123
|
+
export type Envelope<T> = {
|
|
124
|
+
ok: true;
|
|
125
|
+
value: T;
|
|
126
|
+
} | {
|
|
127
|
+
ok: false;
|
|
128
|
+
error: ErrorPayload;
|
|
129
|
+
};
|
|
130
|
+
type AsyncMethods = {
|
|
131
|
+
[K in Channel]: (...args: Parameters<VibeMethods[K]>) => Promise<ReturnType<VibeMethods[K]>>;
|
|
132
|
+
};
|
|
133
|
+
export type Platform = 'aix' | 'android' | 'cygwin' | 'darwin' | 'freebsd' | 'haiku' | 'linux' | 'netbsd' | 'openbsd' | 'sunos' | 'win32';
|
|
134
|
+
export interface VibeApi extends AsyncMethods {
|
|
135
|
+
readonly platform: Platform;
|
|
136
|
+
onSnapshot(callback: (snapshot: Snapshot) => void): () => void;
|
|
137
|
+
}
|
|
138
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.es2022.d.ts","../../node_modules/typescript/lib/lib.es2023.d.ts","../../node_modules/typescript/lib/lib.es2024.d.ts","../../node_modules/typescript/lib/lib.es2025.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2016.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../node_modules/typescript/lib/lib.es2023.intl.d.ts","../../node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","../../node_modules/typescript/lib/lib.es2024.collection.d.ts","../../node_modules/typescript/lib/lib.es2024.object.d.ts","../../node_modules/typescript/lib/lib.es2024.promise.d.ts","../../node_modules/typescript/lib/lib.es2024.regexp.d.ts","../../node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2024.string.d.ts","../../node_modules/typescript/lib/lib.es2025.collection.d.ts","../../node_modules/typescript/lib/lib.es2025.float16.d.ts","../../node_modules/typescript/lib/lib.es2025.intl.d.ts","../../node_modules/typescript/lib/lib.es2025.iterator.d.ts","../../node_modules/typescript/lib/lib.es2025.promise.d.ts","../../node_modules/typescript/lib/lib.es2025.regexp.d.ts","../../node_modules/typescript/lib/lib.decorators.d.ts","../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../src/shared/i18n/locales/en.ts","../../src/shared/i18n/messages.ts","../../src/shared/i18n/locales/de.ts","../../src/shared/i18n/locales/es.ts","../../src/shared/i18n/locales/fr.ts","../../src/shared/i18n/locales/it.ts","../../src/shared/i18n/locales/ja.ts","../../src/shared/i18n/locales/ko.ts","../../src/shared/i18n/locales/nl.ts","../../src/shared/i18n/locales/pl.ts","../../src/shared/i18n/locales/pt.ts","../../src/shared/i18n/locales/ru.ts","../../src/shared/i18n/locales/tr.ts","../../src/shared/i18n/locales/zh.ts","../../src/shared/i18n/index.ts","../../src/shared/catalog.ts","../../src/shared/types.ts","../../src/shared/account-state.ts","../../src/shared/ipc.ts","../../src/shared/format.ts"],"fileIdsList":[[93],[91],[91,92,93,95],[77,78,79,80,81,82,83,84,85,86,87,88,89,90],[78],[77],[92,93],[91,92]],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"1e9332c23e9a907175e0ffc6a49e236f97b48838cc8aec9ce7e4cec21e544b65","impliedFormat":1},{"version":"3753fbc1113dc511214802a2342280a8b284ab9094f6420e7aa171e868679f91","impliedFormat":1},{"version":"999ca32883495a866aa5737fe1babc764a469e4cde6ee6b136a4b9ae68853e4b","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"0bd714129fca875f7d4c477a1a392200b0bcd13fb2e80928cd334b63830ea047","affectsGlobalScope":true,"impliedFormat":1},{"version":"e2c9037ae6cd2c52d80ceef0b3c5ffdb488627d71529cf4f63776daf11161c9a","affectsGlobalScope":true,"impliedFormat":1},{"version":"135d5cf4d345f59f1a9caadfafcd858d3d9cc68290db616cc85797224448cccc","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc238c3f81c2984751932b6aab223cd5b830e0ac6cad76389e5e9d2ffc03287d","affectsGlobalScope":true,"impliedFormat":1},{"version":"4a07f9b76d361f572620927e5735b77d6d2101c23cdd94383eb5b706e7b36357","affectsGlobalScope":true,"impliedFormat":1},{"version":"7c4e8dc6ab834cc6baa0227e030606d29e3e8449a9f67cdf5605ea5493c4db29","affectsGlobalScope":true,"impliedFormat":1},{"version":"de7ba0fd02e06cd9a5bd4ab441ed0e122735786e67dde1e849cced1cd8b46b78","affectsGlobalScope":true,"impliedFormat":1},{"version":"6148e4e88d720a06855071c3db02069434142a8332cf9c182cda551adedf3156","affectsGlobalScope":true,"impliedFormat":1},{"version":"d63dba625b108316a40c95a4425f8d4294e0deeccfd6c7e59d819efa19e23409","affectsGlobalScope":true,"impliedFormat":1},{"version":"0568d6befee03dd435bed4fc25c4e46865b24bdcb8c563fdc21f580a2c301904","affectsGlobalScope":true,"impliedFormat":1},{"version":"30d62269b05b584741f19a5369852d5d34895aa2ac4fd948956f886d15f9cc0d","affectsGlobalScope":true,"impliedFormat":1},{"version":"f128dae7c44d8f35ee42e0a437000a57c9f06cc04f8b4fb42eebf44954d53dc8","affectsGlobalScope":true,"impliedFormat":1},{"version":"ffbe6d7b295306b2ba88030f65b74c107d8d99bdcf596ea99c62a02f606108b0","affectsGlobalScope":true,"impliedFormat":1},{"version":"996fb27b15277369c68a4ba46ed138b4e9e839a02fb4ec756f7997629242fd9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"79b712591b270d4778c89706ca2cfc56ddb8c3f895840e477388f1710dc5eda9","affectsGlobalScope":true,"impliedFormat":1},{"version":"20884846cef428b992b9bd032e70a4ef88e349263f63aeddf04dda837a7dba26","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},{"version":"c2ae6acfe0dcc94730ca6298b3af6b80a131d9643c10c7e82d892610ff95e90e","signature":"f6cd237c216c6e95a059b3494787f425058caeb1aecd9064599048b67e575223","impliedFormat":99},{"version":"ee705ca9c5fff618be1a23b5a4f7a0f41beb3ad9b296d56886a7fd3f8399a107","signature":"6a5309e4948ae75a56e84efd2cd39e321cdecb48247dce1fb13092fb78064b5f","impliedFormat":99},{"version":"3c34d45f4ac67135b07b41613faa2d29315b57f681018fd3f7facc1048f1b738","signature":"1cc9a80f4b028aeab43d3ca54acb4b0ce134135709f01072f9433c9ada490adb","impliedFormat":99},{"version":"30c6e53974b2079a5e9f46ad9ba99830894b419d7822b48598dca375bc4ea177","signature":"6f0ada4fe72466b874f775055349f5c7566cf8cf722ed89da93f3dfceb3afe7d","impliedFormat":99},{"version":"b9e668d3796f9f05a39ada826c7b2c12a6bd5bcf0192256582b75ba2dc7ad852","signature":"8d2f7d7d7a97aa7f509a9a6a1e28b29f1ed39de2d33cd233ba3806d546199427","impliedFormat":99},{"version":"d3cca327a2709134d1df37213948e50c5458bf243419f6124c9a599f795f082c","signature":"00fb91cfdeb99505fc8cdb1afb99be6ec6c46575ea44f952012298bd20347525","impliedFormat":99},{"version":"9db06d19598a97ecf0f3f2e8fb2ae2a3742016d43f161439f5a8e34309ecc299","signature":"b37304b680a774fdacc31d61bda4f2546316b1ee2cc7c2b557bb7470926b6ee2","impliedFormat":99},{"version":"68a90114a42ae0fa6aa747dc7984b9ffc99750a028693433671466576bbbc32b","signature":"eeac254ad35a45ec11eb006e264ef1662e66d8d5d43b8a3ec25e4a38c5b56677","impliedFormat":99},{"version":"bb6880bf268923193f5466927effee0bc781feedf7bb53d357a55dbe8ea929c5","signature":"429a1d407724170b217b4051c4225ffcfdd439391e684fbb67b8f78d22b8ee0c","impliedFormat":99},{"version":"d61d47ade0682c42704f87be1073373467d33b32527755f81d958beb9c35b687","signature":"fd4b755874b6228e79f55989db0ed31f97ae4b0c5897730562152330aa619791","impliedFormat":99},{"version":"a158f696dba132fbd4ac28c00a7f1a5ed352afef3f62477b88fc35746281a152","signature":"f5374857b93625c8c6ba7f61f438b230116e9caf9333f8bac3b9ec006d7fb054","impliedFormat":99},{"version":"7073431e2d456af608747429e77b01ecd10d19220a7e72b53f1ea4bcc1eb95b5","signature":"a5c821f92f6da1f53c77cb355384ff62010263d10d7c4850fd12f8de75c345d3","impliedFormat":99},{"version":"542b98ed3f6455f0c27873ddf7bf11274b89bdbd50e44c1951b8a9d127928685","signature":"539ec680871811b446280da0b444ef974af66179016f18fb345da666d94b044b","impliedFormat":99},{"version":"e70212482ffbebc80b92e79a0a307bef0f2fc996d5e8b71d6554bec2b2a88de6","signature":"1184235aac7195cd920b69e7c7ef1710c0aefb7b639e3b12d8cb22019757c8aa","impliedFormat":99},{"version":"7c7fe46e99537c318e0fa67a7e25001f178dbbb147a7891508b8d349a52a56c2","signature":"1cc55f5b533a28ee4df4a9ae92bf01fe84daa4f6844057c6c3f15157634aa967","impliedFormat":99},{"version":"9d3d6f4f8e6c31fc79b437868eeefe4195e000696fd77d041a1338284f283426","signature":"a4c9b10941378a3801a3ac051fcc293d7d0e1f8e2475658b5cfaa023932b0574","impliedFormat":99},{"version":"f6c2797357ce498152e2a571bb3192a3684804b254dcca410b8cd82351d85cea","signature":"c184ebeadf52988d2e0ced0e01c5900e8c028c52711254bbfdab9ff79bbece91","impliedFormat":99},{"version":"954a697e2c9fb276d37664c7ad11355f53ba82975ae2f4959da74ad5733123b2","signature":"99ec6f573fae2ab48f809cf998a36e47630d80c04d522bc645984b944ecdeb77","impliedFormat":99},{"version":"aa9b21f451d4d137b908a56f6e8eb66a7d8f22e974461099c7320dc0ab657057","signature":"a937acdf4da60294b6f60eec7b984669d598fd50919d0677ca28c1b77ffaaee9","impliedFormat":99},{"version":"380fc3fa8082fded92e5674c07108ea2a105681222abf13adfb91d196e8569ba","signature":"9c33c3fb0b4d0e8d3bc04563cbea4dd777aaaeeeee5b4d929555bef652bbb96e","impliedFormat":99}],"root":[[77,96]],"options":{"composite":true,"erasableSyntaxOnly":true,"exactOptionalPropertyTypes":true,"module":199,"noFallthroughCasesInSwitch":true,"noImplicitOverride":true,"noImplicitReturns":true,"noUncheckedIndexedAccess":true,"outDir":"./","rewriteRelativeImportExtensions":true,"rootDir":"../../src/shared","skipLibCheck":true,"strict":true,"target":12,"verbatimModuleSyntax":true},"referencedMap":[[94,1],[92,2],[96,3],[91,4],[79,5],[77,1],[80,5],[81,5],[82,5],[83,5],[84,5],[85,5],[86,5],[87,5],[88,5],[89,5],[90,5],[78,6],[95,7],[93,8]],"latestChangedDtsFile":"./format.d.ts","version":"6.0.3"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import type { ACCOUNT_LABEL_KEYS, ACCOUNT_ORIGINS, AUTO_CONTINUE, AUTOMATION_MODES, INHERIT, ProviderId, SUGGESTION_KINDS, TRANSITION_STATUSES } from './catalog.ts';
|
|
2
|
+
import type { Language, MessageKey } from './i18n/index.ts';
|
|
3
|
+
export type AppErrorCode = 'unexpected' | 'account_not_found' | 'invalid_provider' | 'invalid_argument' | 'invalid_settings' | 'folder_not_found' | 'file_not_found' | 'invalid_path' | 'session_not_found' | 'launch_failed' | 'app_not_found' | 'sender_rejected' | 'no_verified_quota' | 'no_cli' | 'unknown_command' | 'suggestion_expired' | 'settings_locked' | 'session_newer_elsewhere' | 'session_still_running' | 'process_unknown' | 'not_picked_up' | 'bypass_not_consented' | 'session_unsaved';
|
|
4
|
+
export type ProviderErrorCode = 'auth_missing' | 'auth_expired' | 'auth_invalid' | 'auth_rejected' | 'rate_limited' | 'transport_error' | 'request_timeout' | 'response_too_large' | 'invalid_response' | 'http_rejected' | 'endpoint_not_allowed' | 'binary_missing' | 'invalid_binary' | 'process_failed' | 'process_timeout' | 'rpc_error' | 'rpc_timeout' | 'server_closed' | 'app_closed' | 'local_service_unavailable' | 'unsupported_platform' | 'unsupported_profile' | 'keychain_unavailable' | 'provider_failed' | 'tls_certificate_error' | 'trust_store_unavailable';
|
|
5
|
+
export type ErrorCode = AppErrorCode | ProviderErrorCode;
|
|
6
|
+
export interface ErrorPayload {
|
|
7
|
+
code: ErrorCode;
|
|
8
|
+
params: Readonly<Record<string, string>>;
|
|
9
|
+
}
|
|
10
|
+
export interface Amounts {
|
|
11
|
+
used?: number;
|
|
12
|
+
limit?: number;
|
|
13
|
+
remaining?: number;
|
|
14
|
+
bonus?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface QuotaWindow {
|
|
17
|
+
id: string;
|
|
18
|
+
usedPercent: number | null;
|
|
19
|
+
remainingPercent: number | null;
|
|
20
|
+
resetsAt: string | null;
|
|
21
|
+
label?: string;
|
|
22
|
+
labelKey?: MessageKey;
|
|
23
|
+
labelParams?: {
|
|
24
|
+
n: number;
|
|
25
|
+
};
|
|
26
|
+
detailKey?: MessageKey;
|
|
27
|
+
valueKey?: MessageKey;
|
|
28
|
+
durationMinutes?: number;
|
|
29
|
+
scope?: string;
|
|
30
|
+
active?: boolean;
|
|
31
|
+
group?: 'team';
|
|
32
|
+
section?: 'details';
|
|
33
|
+
partial?: boolean;
|
|
34
|
+
except?: string[];
|
|
35
|
+
amounts?: Amounts;
|
|
36
|
+
stale?: boolean;
|
|
37
|
+
exhaustsAt?: string;
|
|
38
|
+
}
|
|
39
|
+
export type AccountLabelKey = (typeof ACCOUNT_LABEL_KEYS)[number];
|
|
40
|
+
export type AccountOrigin = (typeof ACCOUNT_ORIGINS)[number];
|
|
41
|
+
export interface Account {
|
|
42
|
+
id: string;
|
|
43
|
+
providerId: ProviderId;
|
|
44
|
+
label?: string;
|
|
45
|
+
labelKey?: AccountLabelKey;
|
|
46
|
+
configDir?: string;
|
|
47
|
+
configDirExplicit?: boolean;
|
|
48
|
+
origin?: AccountOrigin;
|
|
49
|
+
signInUntil?: number;
|
|
50
|
+
email?: string;
|
|
51
|
+
primary: boolean;
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
}
|
|
54
|
+
export interface WindowBounds {
|
|
55
|
+
x: number;
|
|
56
|
+
y: number;
|
|
57
|
+
width: number;
|
|
58
|
+
height: number;
|
|
59
|
+
}
|
|
60
|
+
export type AutoContinue = (typeof AUTO_CONTINUE)[number];
|
|
61
|
+
export type AutomationMode = (typeof AUTOMATION_MODES)[number];
|
|
62
|
+
export type ReturnToPrimary = AutomationMode;
|
|
63
|
+
export type ReopenAfterRestart = AutomationMode;
|
|
64
|
+
export interface ProjectPreference {
|
|
65
|
+
projectDir: string;
|
|
66
|
+
tool?: ProviderId;
|
|
67
|
+
model?: string;
|
|
68
|
+
accountId?: string;
|
|
69
|
+
autoContinue: AutoContinue | typeof INHERIT;
|
|
70
|
+
}
|
|
71
|
+
export interface QuietHours {
|
|
72
|
+
start: string;
|
|
73
|
+
end: string;
|
|
74
|
+
}
|
|
75
|
+
export interface Settings {
|
|
76
|
+
schemaVersion: number;
|
|
77
|
+
pinned: boolean;
|
|
78
|
+
intervalSeconds: number;
|
|
79
|
+
accounts: Account[];
|
|
80
|
+
dismissedAccountIds: string[];
|
|
81
|
+
providerOrder: ProviderId[];
|
|
82
|
+
homeOrder?: ProviderId[];
|
|
83
|
+
preferredModels: Partial<Record<ProviderId, string>>;
|
|
84
|
+
language: Language;
|
|
85
|
+
notifications: boolean;
|
|
86
|
+
compareAccounts: boolean;
|
|
87
|
+
autoContinue: AutoContinue;
|
|
88
|
+
returnToPrimary: ReturnToPrimary;
|
|
89
|
+
reopenAfterRestart: ReopenAfterRestart;
|
|
90
|
+
compact: boolean;
|
|
91
|
+
checkUpdates: boolean;
|
|
92
|
+
projectPreferences: ProjectPreference[];
|
|
93
|
+
lowQuotaPercent: number;
|
|
94
|
+
quietHours?: QuietHours;
|
|
95
|
+
window?: WindowBounds;
|
|
96
|
+
}
|
|
97
|
+
export type SettingsNotice = 'recovered' | 'unrecoverable' | 'future';
|
|
98
|
+
export type StatusCode = ProviderErrorCode | 'no_limits_reported' | 'no_accounts';
|
|
99
|
+
export type AccountStatus = 'pending' | 'ok' | 'stale' | 'no_limits_reported' | ProviderErrorCode;
|
|
100
|
+
export type ProviderStatus = AccountStatus | 'unavailable';
|
|
101
|
+
export interface MeasuredAccount extends Account {
|
|
102
|
+
status: AccountStatus;
|
|
103
|
+
windows: QuotaWindow[];
|
|
104
|
+
fetchedAt?: string;
|
|
105
|
+
plan?: string;
|
|
106
|
+
signedInAs?: string;
|
|
107
|
+
messageCode?: StatusCode;
|
|
108
|
+
}
|
|
109
|
+
export interface ProviderState {
|
|
110
|
+
id: ProviderId;
|
|
111
|
+
status: ProviderStatus;
|
|
112
|
+
accounts: MeasuredAccount[];
|
|
113
|
+
fetchedAt?: string;
|
|
114
|
+
messageCode?: StatusCode;
|
|
115
|
+
}
|
|
116
|
+
export interface Suggestion {
|
|
117
|
+
id: string;
|
|
118
|
+
kind: (typeof SUGGESTION_KINDS)[number];
|
|
119
|
+
providerId: ProviderId;
|
|
120
|
+
accountId: string;
|
|
121
|
+
remainingPercent: number;
|
|
122
|
+
target: {
|
|
123
|
+
providerId: ProviderId;
|
|
124
|
+
accountId: string | null;
|
|
125
|
+
};
|
|
126
|
+
projectDir: string;
|
|
127
|
+
sessionProvider: ProviderId;
|
|
128
|
+
}
|
|
129
|
+
export interface TransitionRecord {
|
|
130
|
+
id: string;
|
|
131
|
+
suggestionId: string;
|
|
132
|
+
createdAt: number;
|
|
133
|
+
updatedAt: number;
|
|
134
|
+
projectDir: string;
|
|
135
|
+
source: {
|
|
136
|
+
providerId: ProviderId;
|
|
137
|
+
accountId: string;
|
|
138
|
+
sessionId: string;
|
|
139
|
+
};
|
|
140
|
+
target: {
|
|
141
|
+
providerId: ProviderId;
|
|
142
|
+
accountId: string | null;
|
|
143
|
+
sessionId: string | null;
|
|
144
|
+
};
|
|
145
|
+
status: (typeof TRANSITION_STATUSES)[number];
|
|
146
|
+
errorCode: ErrorCode | null;
|
|
147
|
+
retryable?: boolean;
|
|
148
|
+
}
|
|
149
|
+
export interface UpdateInfo {
|
|
150
|
+
version: string;
|
|
151
|
+
url: string;
|
|
152
|
+
}
|
|
153
|
+
export type UpdateUnsupportedReason = 'unpackaged' | 'portable' | 'unsigned' | 'platform';
|
|
154
|
+
export type UpdateInstall = {
|
|
155
|
+
state: 'unsupported';
|
|
156
|
+
reason: UpdateUnsupportedReason;
|
|
157
|
+
} | {
|
|
158
|
+
state: 'ready';
|
|
159
|
+
} | {
|
|
160
|
+
state: 'downloading';
|
|
161
|
+
percent: number;
|
|
162
|
+
} | {
|
|
163
|
+
state: 'downloaded';
|
|
164
|
+
version: string;
|
|
165
|
+
} | {
|
|
166
|
+
state: 'failed';
|
|
167
|
+
};
|
|
168
|
+
export interface Snapshot {
|
|
169
|
+
providers: ProviderState[];
|
|
170
|
+
refreshing: boolean;
|
|
171
|
+
settings: Settings;
|
|
172
|
+
settingsNotice?: SettingsNotice;
|
|
173
|
+
suggestions?: Suggestion[];
|
|
174
|
+
update?: UpdateInfo;
|
|
175
|
+
updateInstall?: UpdateInstall;
|
|
176
|
+
}
|
|
177
|
+
export type Remedy = 'remedyInstallTool' | 'remedyInstallCli' | 'remedySignIn' | 'remedyOpenApp' | 'remedyUnlockKeychain' | 'remedyWaitRateLimit' | 'remedyCheckNetwork' | 'remedyCheckCertificates' | 'remedyNotSupported' | 'remedyAddAccount' | 'remedyWaitForRefresh' | 'remedyUpdateTool' | 'remedyRetryLater' | 'remedyReportIssue';
|
|
178
|
+
export interface AccountDiagnostics {
|
|
179
|
+
ordinal: number;
|
|
180
|
+
enabled: boolean;
|
|
181
|
+
primary: boolean;
|
|
182
|
+
status: AccountStatus;
|
|
183
|
+
messageCode: StatusCode | null;
|
|
184
|
+
ageMs: number | null;
|
|
185
|
+
stale: boolean;
|
|
186
|
+
remedy: Remedy | null;
|
|
187
|
+
}
|
|
188
|
+
export interface ProviderDiagnostics {
|
|
189
|
+
id: ProviderId;
|
|
190
|
+
installed: boolean | null;
|
|
191
|
+
status: ProviderStatus;
|
|
192
|
+
messageCode: StatusCode | null;
|
|
193
|
+
accountCount: number;
|
|
194
|
+
enabledCount: number;
|
|
195
|
+
ageMs: number | null;
|
|
196
|
+
stale: boolean;
|
|
197
|
+
remedy: Remedy | null;
|
|
198
|
+
accounts: AccountDiagnostics[];
|
|
199
|
+
}
|
|
200
|
+
export interface Diagnostics {
|
|
201
|
+
generatedAt: number;
|
|
202
|
+
intervalSeconds: number;
|
|
203
|
+
refreshing: boolean;
|
|
204
|
+
providers: ProviderDiagnostics[];
|
|
205
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,146 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe-usage-cli",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Track the quota left on Claude Code, Codex, Cursor and Antigravity from the Windows tray, the macOS menu bar or the terminal",
|
|
5
|
+
"author": "Mustafa Çağrı Güven",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/mustafacagri/vibe-usage.git"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/mustafacagri/vibe-usage#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/mustafacagri/vibe-usage/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"claude-code",
|
|
17
|
+
"codex",
|
|
18
|
+
"cursor",
|
|
19
|
+
"antigravity",
|
|
20
|
+
"ai",
|
|
21
|
+
"quota",
|
|
22
|
+
"usage",
|
|
23
|
+
"rate-limit",
|
|
24
|
+
"cli"
|
|
25
|
+
],
|
|
26
|
+
"type": "module",
|
|
27
|
+
"main": "build/main/main.js",
|
|
28
|
+
"bin": {
|
|
29
|
+
"vibe-usage": "build/cli.js"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"build/cli.js",
|
|
33
|
+
"build/core/",
|
|
34
|
+
"build/providers/",
|
|
35
|
+
"build/shared/",
|
|
36
|
+
"build/launchers/"
|
|
37
|
+
],
|
|
38
|
+
"engines": {
|
|
39
|
+
"node": ">=24"
|
|
40
|
+
},
|
|
41
|
+
"scripts": {
|
|
42
|
+
"build": "node scripts/build.ts",
|
|
43
|
+
"start": "npm run build && electron .",
|
|
44
|
+
"test": "node scripts/test.ts",
|
|
45
|
+
"test:coverage": "node scripts/test.ts --coverage",
|
|
46
|
+
"cli": "node src/cli.ts",
|
|
47
|
+
"watch": "node src/cli.ts watch",
|
|
48
|
+
"build:win": "npm run build && node scripts/package.ts --win",
|
|
49
|
+
"build:mac": "npm run build && node scripts/package.ts --mac",
|
|
50
|
+
"ui-check": "npm run build && electron scripts/ui-check/main.ts",
|
|
51
|
+
"probe:claude": "node scripts/probe-claude.ts",
|
|
52
|
+
"media": "npm run build && electron scripts/media/main.ts",
|
|
53
|
+
"icons": "node scripts/icons.ts",
|
|
54
|
+
"release:manifests": "node scripts/release-manifests.ts",
|
|
55
|
+
"lint": "eslint .",
|
|
56
|
+
"format": "prettier --write .",
|
|
57
|
+
"format:check": "prettier --check .",
|
|
58
|
+
"prepublishOnly": "npm run build"
|
|
59
|
+
},
|
|
60
|
+
"devDependencies": {
|
|
61
|
+
"@eslint/js": "10.0.1",
|
|
62
|
+
"@types/node": "24.19.2",
|
|
63
|
+
"electron": "44.8.0",
|
|
64
|
+
"electron-builder": "26.15.3",
|
|
65
|
+
"eslint": "10.13.0",
|
|
66
|
+
"prettier": "3.9.10",
|
|
67
|
+
"typescript": "6.0.3",
|
|
68
|
+
"typescript-eslint": "8.71.2"
|
|
69
|
+
},
|
|
70
|
+
"build": {
|
|
71
|
+
"appId": "dev.vibe.usage",
|
|
72
|
+
"productName": "Vibe Usage",
|
|
73
|
+
"extraMetadata": {
|
|
74
|
+
"name": "vibe-usage"
|
|
75
|
+
},
|
|
76
|
+
"publish": {
|
|
77
|
+
"provider": "github",
|
|
78
|
+
"owner": "mustafacagri",
|
|
79
|
+
"repo": "vibe-usage",
|
|
80
|
+
"releaseType": "release"
|
|
81
|
+
},
|
|
82
|
+
"artifactName": "Vibe-Usage-${version}-${os}-${arch}.${ext}",
|
|
83
|
+
"directories": {
|
|
84
|
+
"output": "release"
|
|
85
|
+
},
|
|
86
|
+
"files": [
|
|
87
|
+
"build/**/*.js",
|
|
88
|
+
"!build/cli.js",
|
|
89
|
+
"build/**/*.cjs",
|
|
90
|
+
"build/ui/index.html",
|
|
91
|
+
"build/ui/style.css",
|
|
92
|
+
"build/launchers/*",
|
|
93
|
+
"assets/*",
|
|
94
|
+
"LICENSE",
|
|
95
|
+
"package.json"
|
|
96
|
+
],
|
|
97
|
+
"asarUnpack": [
|
|
98
|
+
"build/launchers/*"
|
|
99
|
+
],
|
|
100
|
+
"win": {
|
|
101
|
+
"target": [
|
|
102
|
+
{
|
|
103
|
+
"target": "zip",
|
|
104
|
+
"arch": [
|
|
105
|
+
"x64",
|
|
106
|
+
"arm64"
|
|
107
|
+
]
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"target": "nsis",
|
|
111
|
+
"arch": [
|
|
112
|
+
"x64",
|
|
113
|
+
"arm64"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"icon": "assets/icon.png",
|
|
118
|
+
"signExecutable": false
|
|
119
|
+
},
|
|
120
|
+
"nsis": {
|
|
121
|
+
"oneClick": true,
|
|
122
|
+
"perMachine": false,
|
|
123
|
+
"artifactName": "Vibe-Usage-${version}-win-setup.${ext}"
|
|
124
|
+
},
|
|
125
|
+
"mac": {
|
|
126
|
+
"target": [
|
|
127
|
+
"dmg",
|
|
128
|
+
"zip"
|
|
129
|
+
],
|
|
130
|
+
"category": "public.app-category.developer-tools",
|
|
131
|
+
"icon": "assets/icon.png",
|
|
132
|
+
"hardenedRuntime": false
|
|
133
|
+
},
|
|
134
|
+
"electronFuses": {
|
|
135
|
+
"runAsNode": false,
|
|
136
|
+
"enableCookieEncryption": true,
|
|
137
|
+
"enableNodeOptionsEnvironmentVariable": false,
|
|
138
|
+
"enableNodeCliInspectArguments": false,
|
|
139
|
+
"enableEmbeddedAsarIntegrityValidation": true,
|
|
140
|
+
"onlyLoadAppFromAsar": true
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"dependencies": {
|
|
144
|
+
"electron-updater": "6.8.10"
|
|
145
|
+
}
|
|
146
|
+
}
|