@kweaver-ai/kweaver-sdk 0.5.0 → 0.5.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/dist/api/vega.js CHANGED
@@ -221,6 +221,7 @@ export async function queryVegaResourceData(options) {
221
221
  headers: {
222
222
  ...buildHeaders(accessToken, businessDomain),
223
223
  "content-type": "application/json",
224
+ "x-http-method-override": "GET",
224
225
  },
225
226
  body: requestBody,
226
227
  });
package/dist/cli.js CHANGED
@@ -19,6 +19,7 @@ Usage:
19
19
  kweaver auth <platform-url> [--alias name] [-u user] [-p pass] [--playwright] [--insecure|-k]
20
20
  kweaver auth login <platform-url> (alias for auth <url>)
21
21
  kweaver auth login <url> --client-id ID --client-secret S --refresh-token T (run on host without browser)
22
+ kweaver auth whoami [platform-url|alias] [--json]
22
23
  kweaver auth export [platform-url|alias] [--json]
23
24
  kweaver auth status [platform-url|alias]
24
25
  kweaver auth list
@@ -6,6 +6,7 @@ export async function runAuthCommand(args) {
6
6
  if (!target || target === "--help" || target === "-h") {
7
7
  console.log(`kweaver auth login <url> [options] Login to a platform (browser OAuth2 by default)
8
8
  kweaver auth <url> Login (shorthand; same options as login)
9
+ kweaver auth whoami [url|alias] Show current user identity (from id_token)
9
10
  kweaver auth export [url|alias] [--json] Export credentials; run printed command on a headless host
10
11
  kweaver auth status [url|alias] Show current auth status
11
12
  kweaver auth list List saved platforms
@@ -40,10 +41,13 @@ Login options:
40
41
  }
41
42
  return runAuthCommand([url, ...rest.slice(1)]);
42
43
  }
44
+ if (target === "whoami") {
45
+ return runAuthWhoamiCommand(rest);
46
+ }
43
47
  if (target === "export") {
44
48
  return runAuthExportCommand(rest);
45
49
  }
46
- const LOGIN_SUBCOMMANDS = new Set(["status", "list", "use", "delete", "logout", "export"]);
50
+ const LOGIN_SUBCOMMANDS = new Set(["status", "list", "use", "delete", "logout", "export", "whoami"]);
47
51
  if (target && !LOGIN_SUBCOMMANDS.has(target)) {
48
52
  try {
49
53
  const normalizedTarget = normalizeBaseUrl(target);
@@ -237,6 +241,7 @@ Login options:
237
241
  return 0;
238
242
  }
239
243
  console.error("Usage: kweaver auth login <platform-url> [--alias <name>] [-u user] [-p pass] [--playwright]");
244
+ console.error(" kweaver auth whoami [platform-url|alias]");
240
245
  console.error(" kweaver auth export [platform-url|alias] [--json]");
241
246
  console.error(" kweaver auth status [platform-url|alias]");
242
247
  console.error(" kweaver auth list");
@@ -245,6 +250,68 @@ Login options:
245
250
  console.error(" kweaver auth delete <platform-url|alias>");
246
251
  return 1;
247
252
  }
253
+ function decodeJwtPayload(jwt) {
254
+ const parts = jwt.split(".");
255
+ if (parts.length !== 3)
256
+ return null;
257
+ try {
258
+ const base64 = parts[1].replace(/-/g, "+").replace(/_/g, "/");
259
+ const json = Buffer.from(base64, "base64").toString("utf8");
260
+ return JSON.parse(json);
261
+ }
262
+ catch {
263
+ return null;
264
+ }
265
+ }
266
+ function runAuthWhoamiCommand(args) {
267
+ if (args[0] === "--help" || args[0] === "-h") {
268
+ console.log(`kweaver auth whoami [platform-url|alias] [--json]
269
+
270
+ Show current user identity decoded from the saved id_token.
271
+
272
+ Options:
273
+ --json Output as JSON (machine-readable)`);
274
+ return 0;
275
+ }
276
+ const jsonOutput = args.includes("--json");
277
+ const positional = args.find((a) => !a.startsWith("-"));
278
+ const resolved = positional ? resolvePlatformIdentifier(positional) : null;
279
+ const platform = resolved && /^https?:\/\//.test(resolved) ? normalizeBaseUrl(resolved) : resolved ?? getCurrentPlatform();
280
+ if (!platform) {
281
+ console.error("No active platform. Run `kweaver auth login <platform-url>` first.");
282
+ return 1;
283
+ }
284
+ const token = loadTokenConfig(platform);
285
+ if (!token) {
286
+ console.error(`No saved token for ${platform}.`);
287
+ return 1;
288
+ }
289
+ if (!token.idToken) {
290
+ console.error(`No id_token saved for ${platform}. Re-login to obtain one.`);
291
+ return 1;
292
+ }
293
+ const payload = decodeJwtPayload(token.idToken);
294
+ if (!payload) {
295
+ console.error("Failed to decode id_token.");
296
+ return 1;
297
+ }
298
+ if (jsonOutput) {
299
+ console.log(JSON.stringify({ platform, ...payload }, null, 2));
300
+ return 0;
301
+ }
302
+ console.log(`Platform: ${platform}`);
303
+ console.log(`User ID: ${payload.sub ?? "(unknown)"}`);
304
+ console.log(`Issuer: ${payload.iss ?? "(unknown)"}`);
305
+ if (payload.sid)
306
+ console.log(`Session: ${payload.sid}`);
307
+ if (payload.iat) {
308
+ console.log(`Issued: ${new Date(payload.iat * 1000).toISOString()}`);
309
+ }
310
+ if (payload.exp) {
311
+ console.log(`Expires: ${new Date(payload.exp * 1000).toISOString()}`);
312
+ }
313
+ return 0;
314
+ }
248
315
  async function runAuthExportCommand(args) {
249
316
  if (args[0] === "--help" || args[0] === "-h") {
250
317
  console.log(`kweaver auth export [platform-url|alias] [--json]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kweaver-ai/kweaver-sdk",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "KWeaver TypeScript SDK — CLI tool and programmatic API for knowledge networks and Decision Agents.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",