@botiverse/oar 0.8.0 → 0.9.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/dist/contracts/account-usage.d.ts +5 -0
- package/dist/contracts/account-usage.d.ts.map +1 -1
- package/dist/runtimes/claude/account-usage.d.ts.map +1 -1
- package/dist/runtimes/claude/account-usage.js +26 -2
- package/dist/runtimes/claude/account-usage.js.map +1 -1
- package/dist/runtimes/kimi/account-usage.d.ts +1 -5
- package/dist/runtimes/kimi/account-usage.d.ts.map +1 -1
- package/dist/runtimes/kimi/account-usage.js +5 -39
- package/dist/runtimes/kimi/account-usage.js.map +1 -1
- package/dist/runtimes/kimi/index.d.ts +2 -1
- package/dist/runtimes/kimi/index.d.ts.map +1 -1
- package/dist/runtimes/kimi/index.js +2 -1
- package/dist/runtimes/kimi/index.js.map +1 -1
- package/dist/runtimes/kimi/profile.d.ts +17 -0
- package/dist/runtimes/kimi/profile.d.ts.map +1 -0
- package/dist/runtimes/kimi/profile.js +57 -0
- package/dist/runtimes/kimi/profile.js.map +1 -0
- package/package.json +4 -4
|
@@ -24,6 +24,11 @@ export type AccountUsageSnapshot = {
|
|
|
24
24
|
readonly plan?: string;
|
|
25
25
|
/** Signed-in account email; omitted when the runtime does not expose one. */
|
|
26
26
|
readonly email?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Runtime-reported account display name (for example a profile nickname);
|
|
29
|
+
* omitted when not exposed. Lets callers identify accounts that have no email.
|
|
30
|
+
*/
|
|
31
|
+
readonly displayName?: string;
|
|
27
32
|
readonly rateLimited: boolean;
|
|
28
33
|
readonly windows: readonly AccountUsageWindow[];
|
|
29
34
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../src/contracts/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,oFAAoF;AACpF,MAAM,MAAM,6BAA6B,GACrC,wBAAwB,GACxB,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,gCAAgC,GAChC,sBAAsB,GACtB,mBAAmB,CAAC;AAExB,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,sBAAsB,CAAC;AAE3B,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CAC5C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE,6BAA6B,CAAC;CACjD,CAAC;AAEN,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../src/contracts/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,CAAC,MAAM,eAAe,EAAE,OAAO,MAAM,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,eAAe,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEvE,MAAM,WAAW,kBAAkB;IACjC,iEAAiE;IACjE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,CAAC;CAChC;AAED,oFAAoF;AACpF,MAAM,MAAM,6BAA6B,GACrC,wBAAwB,GACxB,0BAA0B,GAC1B,uBAAuB,GACvB,0BAA0B,GAC1B,gCAAgC,GAChC,sBAAsB,GACtB,mBAAmB,CAAC;AAExB,MAAM,MAAM,wBAAwB,GAChC,mBAAmB,GACnB,qBAAqB,GACrB,eAAe,GACf,sBAAsB,CAAC;AAE3B,MAAM,MAAM,oBAAoB,GAC5B;IACE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,OAAO,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACjD,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CAC5C,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,MAAM,CAAC,EAAE,6BAA6B,CAAC;CACjD,CAAC;AAEN,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAAG,CAC/B,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,uBAAuB,KAC9B,OAAO,CAAC,oBAAoB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/account-usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAsB,MAAM,kCAAkC,CAAC;AAmBrH,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAmDzF;
|
|
1
|
+
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/account-usage.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAsB,MAAM,kCAAkC,CAAC;AAmBrH,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,CAmDzF;AAmCD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,kBAoEhC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { spawnLineProcess } from "../../shared/executable/index.js";
|
|
2
|
+
import { runExecutable, spawnLineProcess } from "../../shared/executable/index.js";
|
|
3
3
|
import { utcInstantFromDate } from "../../shared/instant.js";
|
|
4
4
|
import { asNumber, asRecord, asRecordList, parseJson } from "../../shared/json.js";
|
|
5
5
|
function windowOf(label, value) {
|
|
@@ -79,6 +79,27 @@ function controlFailure(reply) {
|
|
|
79
79
|
}
|
|
80
80
|
throw new Error(`Claude usage control request failed: ${detail}`);
|
|
81
81
|
}
|
|
82
|
+
/**
|
|
83
|
+
* A usage read must not run the user's hooks or start their MCP servers, so the
|
|
84
|
+
* query process runs with --safe-mode. A CLI that lacks the flag is reported as
|
|
85
|
+
* unsupported rather than launched without isolation. Only a successful help
|
|
86
|
+
* probe is cached, so a transient probe failure is retried on the next read.
|
|
87
|
+
*/
|
|
88
|
+
const safeModeSupport = new Map();
|
|
89
|
+
async function supportsSafeMode(command, version) {
|
|
90
|
+
const key = `${command}\0${version ?? ""}`;
|
|
91
|
+
const known = safeModeSupport.get(key);
|
|
92
|
+
if (known !== undefined) {
|
|
93
|
+
return known;
|
|
94
|
+
}
|
|
95
|
+
const help = await runExecutable(command, ["--help"], { env: { ...process.env, CLAUDECODE: undefined } });
|
|
96
|
+
if (!help.ok) {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
const supported = /(?:^|\s)--safe-mode\b/u.test(help.stdout);
|
|
100
|
+
safeModeSupport.set(key, supported);
|
|
101
|
+
return supported;
|
|
102
|
+
}
|
|
82
103
|
/**
|
|
83
104
|
* Only native control queries; no prompt, credential reads or direct HTTP.
|
|
84
105
|
* Fresh-process session totals are deliberately not exposed as account usage.
|
|
@@ -88,9 +109,12 @@ export const claudeAccountUsage = async (installation, options = {}) => {
|
|
|
88
109
|
if (installation.via !== "executable") {
|
|
89
110
|
return { kind: "unsupported", reason: "unsupported_installation" };
|
|
90
111
|
}
|
|
112
|
+
if (!await supportsSafeMode(installation.command, installation.version)) {
|
|
113
|
+
return { kind: "unsupported", reason: "unsupported_installation" };
|
|
114
|
+
}
|
|
91
115
|
const child = spawnLineProcess(installation.command, [
|
|
92
116
|
"-p", "--input-format", "stream-json", "--output-format", "stream-json",
|
|
93
|
-
"--verbose", "--no-session-persistence",
|
|
117
|
+
"--verbose", "--no-session-persistence", "--safe-mode",
|
|
94
118
|
], { env: { ...process.env, CLAUDECODE: undefined } });
|
|
95
119
|
let pending = null;
|
|
96
120
|
let ended = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.js","sourceRoot":"","sources":["../../../src/runtimes/claude/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"account-usage.js","sourceRoot":"","sources":["../../../src/runtimes/claude/account-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
import type { AccountUsageReader, AccountUsageSnapshot } from "../../contracts/account-usage.js";
|
|
2
|
-
/** Extract identity only from Kimi's authenticated `/me` profile shape. */
|
|
3
|
-
export declare function kimiAccountEmail(payload: unknown): string | undefined;
|
|
4
|
-
/** Extract the human-readable membership level reported by Kimi's `/me` profile. */
|
|
5
|
-
export declare function kimiAccountPlan(payload: unknown): string | undefined;
|
|
6
2
|
/** Project the same managed quota rows that Kimi Code 0.38.0 renders in `/usage`. */
|
|
7
|
-
export declare function projectKimiUsage(payload: unknown, email?: string, plan?: string): AccountUsageSnapshot;
|
|
3
|
+
export declare function projectKimiUsage(payload: unknown, email?: string, plan?: string, displayName?: string): AccountUsageSnapshot;
|
|
8
4
|
export declare const kimiAccountUsage: AccountUsageReader;
|
|
9
5
|
//# sourceMappingURL=account-usage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAGrB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"account-usage.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/account-usage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EAGrB,MAAM,kCAAkC,CAAC;AAgJ1C,qFAAqF;AACrF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,MAAM,EACb,WAAW,CAAC,EAAE,MAAM,GACnB,oBAAoB,CA6CtB;AAoBD,eAAO,MAAM,gBAAgB,EAAE,kBAmC9B,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { utcInstantFromDate } from "../../shared/instant.js";
|
|
|
2
2
|
import { asNumber, asRecord, parseJson } from "../../shared/json.js";
|
|
3
3
|
import { kimiRemainingMs, resolveKimiAuth } from "./auth-config.js";
|
|
4
4
|
import { KimiReauthError, storedKimiAccessToken } from "./oauth-token.js";
|
|
5
|
+
import { fetchKimiAccountIdentity } from "./profile.js";
|
|
5
6
|
function text(value) {
|
|
6
7
|
if (typeof value !== "string") {
|
|
7
8
|
return undefined;
|
|
@@ -107,18 +108,8 @@ function boosterWallet(value) {
|
|
|
107
108
|
monthlyUsed: moneyCents(record?.monthlyUsed) ?? 0,
|
|
108
109
|
};
|
|
109
110
|
}
|
|
110
|
-
/** Extract identity only from Kimi's authenticated `/me` profile shape. */
|
|
111
|
-
export function kimiAccountEmail(payload) {
|
|
112
|
-
const profile = asRecord(payload);
|
|
113
|
-
return text(profile?.user_id) === undefined ? undefined : text(profile?.email);
|
|
114
|
-
}
|
|
115
|
-
/** Extract the human-readable membership level reported by Kimi's `/me` profile. */
|
|
116
|
-
export function kimiAccountPlan(payload) {
|
|
117
|
-
const profile = asRecord(payload);
|
|
118
|
-
return text(profile?.user_id) === undefined ? undefined : text(profile?.user_level_name);
|
|
119
|
-
}
|
|
120
111
|
/** Project the same managed quota rows that Kimi Code 0.38.0 renders in `/usage`. */
|
|
121
|
-
export function projectKimiUsage(payload, email, plan) {
|
|
112
|
+
export function projectKimiUsage(payload, email, plan, displayName) {
|
|
122
113
|
const root = asRecord(payload);
|
|
123
114
|
const rows = [];
|
|
124
115
|
const summary = usageRow(root?.usage, { window: { duration: 1, unit: "week" } });
|
|
@@ -159,6 +150,7 @@ export function projectKimiUsage(payload, email, plan) {
|
|
|
159
150
|
kind: "available",
|
|
160
151
|
...(plan === undefined ? {} : { plan }),
|
|
161
152
|
...(email === undefined ? {} : { email }),
|
|
153
|
+
...(displayName === undefined ? {} : { displayName }),
|
|
162
154
|
rateLimited: rows.some((row) => projectWindow(row)?.usedRatio === 1) && !extraUsageHeadroom,
|
|
163
155
|
windows,
|
|
164
156
|
};
|
|
@@ -177,32 +169,6 @@ async function fetchUsage(auth, accessToken, deadline) {
|
|
|
177
169
|
throw new Error("Failed to reach Kimi usage endpoint", { cause: error });
|
|
178
170
|
}
|
|
179
171
|
}
|
|
180
|
-
async function fetchAccountIdentity(auth, accessToken, deadline) {
|
|
181
|
-
try {
|
|
182
|
-
const response = await fetch(`${auth.baseUrl}/me`, {
|
|
183
|
-
headers: {
|
|
184
|
-
"Authorization": `Bearer ${accessToken}`,
|
|
185
|
-
"Accept": "application/json",
|
|
186
|
-
},
|
|
187
|
-
signal: AbortSignal.timeout(kimiRemainingMs(deadline)),
|
|
188
|
-
});
|
|
189
|
-
if (!response.ok) {
|
|
190
|
-
return {};
|
|
191
|
-
}
|
|
192
|
-
const profile = parseJson(await response.text());
|
|
193
|
-
const email = kimiAccountEmail(profile);
|
|
194
|
-
const plan = kimiAccountPlan(profile);
|
|
195
|
-
return {
|
|
196
|
-
...(email === undefined ? {} : { email }),
|
|
197
|
-
...(plan === undefined ? {} : { plan }),
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
catch {
|
|
201
|
-
// Identity is a best-effort add-on: a missing/older profile endpoint or a
|
|
202
|
-
// transient failure must not discard an otherwise valid quota snapshot.
|
|
203
|
-
return {};
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
172
|
export const kimiAccountUsage = async (installation, options = {}) => {
|
|
207
173
|
if (installation.via !== "executable") {
|
|
208
174
|
return { kind: "unsupported", reason: "unsupported_installation" };
|
|
@@ -220,7 +186,7 @@ export const kimiAccountUsage = async (installation, options = {}) => {
|
|
|
220
186
|
const accessToken = await storedKimiAccessToken(auth);
|
|
221
187
|
const [response, identity] = await Promise.all([
|
|
222
188
|
fetchUsage(auth, accessToken, deadline),
|
|
223
|
-
|
|
189
|
+
fetchKimiAccountIdentity(auth, accessToken, deadline),
|
|
224
190
|
]);
|
|
225
191
|
if (response.status === 401 || response.status === 403) {
|
|
226
192
|
return { kind: "reauth_required", reason: "credentials_rejected" };
|
|
@@ -231,7 +197,7 @@ export const kimiAccountUsage = async (installation, options = {}) => {
|
|
|
231
197
|
if (!response.ok) {
|
|
232
198
|
throw new Error(`Kimi usage endpoint returned HTTP ${response.status}`);
|
|
233
199
|
}
|
|
234
|
-
return projectKimiUsage(parseJson(await response.text()), identity.email, identity.plan);
|
|
200
|
+
return projectKimiUsage(parseJson(await response.text()), identity.email, identity.plan, identity.displayName);
|
|
235
201
|
}
|
|
236
202
|
catch (error) {
|
|
237
203
|
if (error instanceof KimiReauthError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account-usage.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/account-usage.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAwB,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"account-usage.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/account-usage.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,8 @@ export declare const kimiRuntime: {
|
|
|
15
15
|
} & import("../../index.js").RuntimeInventories & {
|
|
16
16
|
readonly brand: import("../../brands.js").RuntimeBrand;
|
|
17
17
|
};
|
|
18
|
-
export {
|
|
18
|
+
export { kimiAccountUsage, projectKimiUsage } from "./account-usage.js";
|
|
19
|
+
export { kimiAccountDisplayName, kimiAccountEmail } from "./profile.js";
|
|
19
20
|
export { kimiListModels, projectKimiModels } from "./list-models.js";
|
|
20
21
|
export { kimiSession } from "./session.js";
|
|
21
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAOtB,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;CAOtB,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -12,7 +12,8 @@ export const kimiRuntime = defineRuntime({
|
|
|
12
12
|
listModels: kimiListModels,
|
|
13
13
|
session: kimiSession,
|
|
14
14
|
});
|
|
15
|
-
export {
|
|
15
|
+
export { kimiAccountUsage, projectKimiUsage } from "./account-usage.js";
|
|
16
|
+
export { kimiAccountDisplayName, kimiAccountEmail } from "./profile.js";
|
|
16
17
|
export { kimiListModels, projectKimiModels } from "./list-models.js";
|
|
17
18
|
export { kimiSession } from "./session.js";
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,aAAa,CAAC,IAAI;IACzB,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACvC,EAAE,EAAE,MAAM;IACV,KAAK,EAAE,aAAa,CAAC,IAAI;IACzB,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,UAAU,EAAE,cAAc;IAC1B,OAAO,EAAE,WAAW;CACrB,CAAC,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type KimiAuthContext } from "./auth-config.js";
|
|
2
|
+
export interface KimiAccountIdentity {
|
|
3
|
+
readonly email?: string;
|
|
4
|
+
readonly plan?: string;
|
|
5
|
+
readonly displayName?: string;
|
|
6
|
+
}
|
|
7
|
+
/** Extract identity only from Kimi's authenticated `/me` profile shape. */
|
|
8
|
+
export declare function kimiAccountEmail(payload: unknown): string | undefined;
|
|
9
|
+
/** Extract the human-readable membership level reported by Kimi's `/me` profile. */
|
|
10
|
+
export declare function kimiAccountPlan(payload: unknown): string | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Extract the profile nickname from Kimi's authenticated `/me` profile. Phone or
|
|
13
|
+
* WeChat sign-ins have no email, so this is often the only readable identity.
|
|
14
|
+
*/
|
|
15
|
+
export declare function kimiAccountDisplayName(payload: unknown): string | undefined;
|
|
16
|
+
export declare function fetchKimiAccountIdentity(auth: KimiAuthContext, accessToken: string, deadline: number): Promise<KimiAccountIdentity>;
|
|
17
|
+
//# sourceMappingURL=profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/runtimes/kimi/profile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAUD,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGrE;AAED,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG3E;AAED,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,eAAe,EACrB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,CAAC,CA0B9B"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
// Kimi's authenticated `/me` profile: the best-effort identity half of account usage.
|
|
2
|
+
import { asRecord, parseJson } from "../../shared/json.js";
|
|
3
|
+
import { kimiRemainingMs } from "./auth-config.js";
|
|
4
|
+
function text(value) {
|
|
5
|
+
if (typeof value !== "string") {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
const trimmed = value.trim();
|
|
9
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
10
|
+
}
|
|
11
|
+
/** Extract identity only from Kimi's authenticated `/me` profile shape. */
|
|
12
|
+
export function kimiAccountEmail(payload) {
|
|
13
|
+
const profile = asRecord(payload);
|
|
14
|
+
return text(profile?.user_id) === undefined ? undefined : text(profile?.email);
|
|
15
|
+
}
|
|
16
|
+
/** Extract the human-readable membership level reported by Kimi's `/me` profile. */
|
|
17
|
+
export function kimiAccountPlan(payload) {
|
|
18
|
+
const profile = asRecord(payload);
|
|
19
|
+
return text(profile?.user_id) === undefined ? undefined : text(profile?.user_level_name);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Extract the profile nickname from Kimi's authenticated `/me` profile. Phone or
|
|
23
|
+
* WeChat sign-ins have no email, so this is often the only readable identity.
|
|
24
|
+
*/
|
|
25
|
+
export function kimiAccountDisplayName(payload) {
|
|
26
|
+
const profile = asRecord(payload);
|
|
27
|
+
return text(profile?.user_id) === undefined ? undefined : text(profile?.nickname);
|
|
28
|
+
}
|
|
29
|
+
export async function fetchKimiAccountIdentity(auth, accessToken, deadline) {
|
|
30
|
+
try {
|
|
31
|
+
const response = await fetch(`${auth.baseUrl}/me`, {
|
|
32
|
+
headers: {
|
|
33
|
+
"Authorization": `Bearer ${accessToken}`,
|
|
34
|
+
"Accept": "application/json",
|
|
35
|
+
},
|
|
36
|
+
signal: AbortSignal.timeout(kimiRemainingMs(deadline)),
|
|
37
|
+
});
|
|
38
|
+
if (!response.ok) {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
const profile = parseJson(await response.text());
|
|
42
|
+
const email = kimiAccountEmail(profile);
|
|
43
|
+
const plan = kimiAccountPlan(profile);
|
|
44
|
+
const displayName = kimiAccountDisplayName(profile);
|
|
45
|
+
return {
|
|
46
|
+
...(email === undefined ? {} : { email }),
|
|
47
|
+
...(plan === undefined ? {} : { plan }),
|
|
48
|
+
...(displayName === undefined ? {} : { displayName }),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
// Identity is a best-effort add-on: a missing/older profile endpoint or a
|
|
53
|
+
// transient failure must not discard an otherwise valid quota snapshot.
|
|
54
|
+
return {};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/runtimes/kimi/profile.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAwB,MAAM,kBAAkB,CAAC;AAQzE,SAAS,IAAI,CAAC,KAAc;IAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB,CAAC,OAAgB;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;AAC3F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,IAAqB,EACrB,WAAmB,EACnB,QAAgB;IAEhB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,KAAK,EAAE;YACjD,OAAO,EAAE;gBACP,eAAe,EAAE,UAAU,WAAW,EAAE;gBACxC,QAAQ,EAAE,kBAAkB;aAC7B;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SACvD,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACpD,OAAO;YACL,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;YACvC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;SACtD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;QAC1E,wEAAwE;QACxE,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@botiverse/oar",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "A programming interface for all agent harnesses: provider-independent contracts for controlling and observing agent runtimes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -49,9 +49,9 @@
|
|
|
49
49
|
"@agentclientprotocol/sdk": "^1.4.0",
|
|
50
50
|
"cross-spawn": "^7.0.6",
|
|
51
51
|
"which": "^2.0.2",
|
|
52
|
-
"@earendil-works/pi-coding-agent": "^0.
|
|
53
|
-
"@earendil-works/pi-ai": "^0.
|
|
54
|
-
"undici": "8.
|
|
52
|
+
"@earendil-works/pi-coding-agent": "^0.87.1",
|
|
53
|
+
"@earendil-works/pi-ai": "^0.87.1",
|
|
54
|
+
"undici": "8.10.2"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/cross-spawn": "^6.0.6",
|