@lagapp/sdk 0.1.0 → 0.2.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/CHANGELOG.md CHANGED
@@ -5,6 +5,27 @@ All notable changes to `@lagapp/sdk` are documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [0.2.0] - 2026-04-10
9
+
10
+ ### Added
11
+ - Robot API key support. `LagClient` now accepts robot keys (`lag_robot_*`)
12
+ via the same `token` field and automatically switches the Authorization
13
+ scheme to `Robot`. Server-scoped operations (sending, editing, deleting
14
+ messages, listing rooms / members / message history) are transparently
15
+ routed to the `/robots/@me/servers/...` endpoints, so the same resource
16
+ methods work for both users and robots.
17
+ - New `client.identity()` returning a unified `Identity` object for both
18
+ PAT users and robot keys, with a `kind` discriminator and the
19
+ credential's display name, avatar, and (for robots) server scope and
20
+ permissions.
21
+ - New `Identity` and `IdentityKind` types exported from `@lagapp/sdk`.
22
+ - New `LagInvalidTokenError` thrown upfront when a method is called with
23
+ an incompatible token kind (e.g. `users.me()` with a robot key).
24
+ - `client.isRobot` getter.
25
+
26
+ ### Changed
27
+ - README and client doc comments no longer reference Supabase JWTs.
28
+
8
29
  ## [0.1.0] - 2026-04-10
9
30
 
10
31
  ### Added
package/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # @lagapp/sdk
2
2
 
3
+ [![npm version](https://img.shields.io/npm/v/@lagapp/sdk.svg)](https://www.npmjs.com/package/@lagapp/sdk)
4
+ [![CI](https://github.com/lag-app/sdk-node/actions/workflows/ci.yml/badge.svg)](https://github.com/lag-app/sdk-node/actions/workflows/ci.yml)
5
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](./LICENSE)
6
+ [![Node](https://img.shields.io/node/v/@lagapp/sdk.svg)](https://www.npmjs.com/package/@lagapp/sdk)
7
+
3
8
  The official TypeScript / Node SDK for the [Lag](https://trylag.com) API.
4
9
 
5
10
  `@lagapp/sdk` is a small, hand-written REST client for the public Lag API. It
@@ -28,11 +33,11 @@ yarn add @lagapp/sdk
28
33
  import { LagClient } from '@lagapp/sdk';
29
34
 
30
35
  const client = new LagClient({
31
- token: process.env.LAG_TOKEN!, // a Personal Access Token (lag_pat_*) or Supabase JWT
36
+ token: process.env.LAG_TOKEN!, // a PAT (lag_pat_*) or robot key (lag_robot_*)
32
37
  });
33
38
 
34
- const me = await client.users.me();
35
- console.log(`Hello, ${me.displayName ?? me.username}`);
39
+ const who = await client.identity();
40
+ console.log(`Hello, ${who.displayName}`);
36
41
 
37
42
  const servers = await client.servers.list();
38
43
  for (const server of servers) {
@@ -42,17 +47,68 @@ for (const server of servers) {
42
47
 
43
48
  ## Authentication
44
49
 
45
- The SDK accepts any Bearer token the API would accept:
50
+ The SDK accepts two credential types and auto-detects which one you passed:
51
+
52
+ - A **Personal Access Token** (`lag_pat_*`) - for scripts, CI, and any code
53
+ acting on behalf of a real user. Create one in the Lag web app under
54
+ settings, or via the `lag` CLI with `lag auth login`. Sent as
55
+ `Authorization: Bearer <token>`.
56
+ - A **Robot API key** (`lag_robot_*`) - for bots and integrations that act
57
+ as their own server-scoped identity. Create one when you create a robot
58
+ on a server. Sent as `Authorization: Robot <key>`.
59
+
60
+ Both types are passed via the same `token` field:
61
+
62
+ ```ts
63
+ // As a user:
64
+ const userClient = new LagClient({ token: 'lag_pat_...' });
65
+
66
+ // As a robot:
67
+ const botClient = new LagClient({ token: 'lag_robot_abcd1234_...' });
68
+ ```
69
+
70
+ The SDK does not implement OAuth flows, refresh tokens, or browser-based
71
+ login - obtain a token elsewhere and pass it in.
72
+
73
+ ### Robots
74
+
75
+ Robot keys are scoped to a single server and have a fixed permission set.
76
+ The SDK switches the auth scheme to `Robot` automatically and routes
77
+ server-scoped actions to the robot endpoints under the hood, so the same
78
+ resource methods work for both users and robots:
79
+
80
+ ```ts
81
+ import { LagClient } from '@lagapp/sdk';
82
+
83
+ const bot = new LagClient({ token: 'lag_robot_abcd1234_...' });
84
+
85
+ const me = await bot.identity(); // GET /robots/@me/info
86
+ console.log(me.displayName, me.permissions);
87
+
88
+ // Same API as a user, but routed to /robots/@me/servers/...
89
+ await bot.servers.rooms.messages.send(me.serverId!, 'room_id', {
90
+ content: 'Hello from a robot',
91
+ });
92
+
93
+ const page = await bot.servers.rooms.messages.list(me.serverId!, 'room_id');
94
+ for (const msg of page.messages) {
95
+ // ...
96
+ }
97
+ ```
98
+
99
+ Methods supported with a robot key:
46
100
 
47
- - A **Personal Access Token** (`lag_pat_*`) - the recommended option for
48
- scripts, bots, and CI. Create one in the Lag web app under settings, or via
49
- the `lag` CLI with `lag auth login`.
50
- - A **Supabase JWT** - useful when you already have an authenticated session,
51
- e.g. inside a SvelteKit server load function.
101
+ - `client.identity()`
102
+ - `client.servers.rooms.list(serverId)`
103
+ - `client.servers.members.list(serverId)`
104
+ - `client.servers.rooms.messages.list(serverId, roomId, ...)`
105
+ - `client.servers.rooms.messages.send(serverId, roomId, ...)`
106
+ - `client.servers.rooms.messages.edit(serverId, roomId, messageId, ...)`
107
+ - `client.servers.rooms.messages.delete(serverId, roomId, messageId)`
52
108
 
53
- The token is sent as `Authorization: Bearer <token>` on every request. The SDK
54
- does not implement OAuth flows, refresh tokens, or browser-based login - if
55
- you need any of those, obtain a token elsewhere and pass it in.
109
+ Methods that have no robot equivalent (`users.me()`, friends, DMs, events,
110
+ image uploads) throw `LagInvalidTokenError` upfront when called with a
111
+ robot key, or return `401`/`403` from the API.
56
112
 
57
113
  ## Configuration
58
114
 
@@ -163,6 +219,7 @@ import {
163
219
  LagRateLimitError,
164
220
  LagServerError,
165
221
  LagConnectionError,
222
+ LagInvalidTokenError,
166
223
  } from '@lagapp/sdk';
167
224
 
168
225
  try {
package/dist/client.d.ts CHANGED
@@ -6,20 +6,33 @@ import { DmsResource } from './resources/dms.js';
6
6
  import { ServersResource } from './resources/servers.js';
7
7
  import { EventsResource } from './resources/events.js';
8
8
  import { ImagesResource } from './resources/images.js';
9
+ import type { Identity } from './types/identity.js';
9
10
  /**
10
11
  * The Lag SDK entry point.
11
12
  *
12
- * Construct it with a bearer token (a Personal Access Token, format
13
- * `lag_pat_*`, or a Supabase JWT) and access resources off the instance:
13
+ * Construct it with a credential, either a user Personal Access Token
14
+ * (`lag_pat_*`) or a robot API key (`lag_robot_*`):
14
15
  *
15
16
  * ```ts
16
17
  * import { LagClient } from '@lagapp/sdk';
17
18
  *
18
19
  * const client = new LagClient({ token: process.env.LAG_TOKEN! });
19
- * const me = await client.users.me();
20
- * const servers = await client.servers.list();
20
+ * const who = await client.identity();
21
+ * console.log(who.displayName);
21
22
  * ```
22
23
  *
24
+ * Robot keys use the same `token` parameter; the SDK detects the prefix
25
+ * and switches the Authorization scheme automatically. Server-scoped
26
+ * actions (sending, editing, deleting messages, listing rooms / members /
27
+ * message history) work transparently against the robot endpoints, so a
28
+ * bot can use the same `client.servers.rooms.messages.send(...)` call a
29
+ * user would.
30
+ *
31
+ * Some methods are not available to robots (`users.me()`, friends, DMs,
32
+ * image uploads, events). The SDK throws `LagInvalidTokenError` upfront
33
+ * for the ones that have no robot equivalent; the rest will return `401`
34
+ * from the API.
35
+ *
23
36
  * The client is stateless beyond the underlying fetch implementation, so a
24
37
  * single instance is safe to share across requests / workers.
25
38
  */
@@ -31,6 +44,17 @@ export declare class LagClient {
31
44
  readonly servers: ServersResource;
32
45
  readonly events: EventsResource;
33
46
  readonly images: ImagesResource;
47
+ private readonly http;
34
48
  constructor(options: LagClientOptions);
49
+ /** True when the client is configured with a robot API key. */
50
+ get isRobot(): boolean;
51
+ /**
52
+ * Return a unified `Identity` for the calling credential.
53
+ *
54
+ * Works for both user PATs and robot keys. For users this hits
55
+ * `GET /users/me`; for robots it hits `GET /robots/@me/info`. Inspect
56
+ * `Identity.kind` if you need to branch on user-vs-robot.
57
+ */
58
+ identity(): Promise<Identity>;
35
59
  }
36
60
  //# sourceMappingURL=client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,SAAS;IACpB,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,KAAK,EAAE,aAAa,CAAC;IACrC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,MAAM,EAAE,cAAc,CAAC;gBAE3B,OAAO,EAAE,gBAAgB;CAUtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAapD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,SAAS;IACpB,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,KAAK,EAAE,aAAa,CAAC;IACrC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,SAAgB,OAAO,EAAE,eAAe,CAAC;IACzC,SAAgB,MAAM,EAAE,cAAc,CAAC;IACvC,SAAgB,MAAM,EAAE,cAAc,CAAC;IAEvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;gBAEtB,OAAO,EAAE,gBAAgB;IAWrC,+DAA+D;IAC/D,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;OAMG;IACG,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC;CAWpC"}
package/dist/client.js CHANGED
@@ -9,17 +9,29 @@ import { ImagesResource } from './resources/images.js';
9
9
  /**
10
10
  * The Lag SDK entry point.
11
11
  *
12
- * Construct it with a bearer token (a Personal Access Token, format
13
- * `lag_pat_*`, or a Supabase JWT) and access resources off the instance:
12
+ * Construct it with a credential, either a user Personal Access Token
13
+ * (`lag_pat_*`) or a robot API key (`lag_robot_*`):
14
14
  *
15
15
  * ```ts
16
16
  * import { LagClient } from '@lagapp/sdk';
17
17
  *
18
18
  * const client = new LagClient({ token: process.env.LAG_TOKEN! });
19
- * const me = await client.users.me();
20
- * const servers = await client.servers.list();
19
+ * const who = await client.identity();
20
+ * console.log(who.displayName);
21
21
  * ```
22
22
  *
23
+ * Robot keys use the same `token` parameter; the SDK detects the prefix
24
+ * and switches the Authorization scheme automatically. Server-scoped
25
+ * actions (sending, editing, deleting messages, listing rooms / members /
26
+ * message history) work transparently against the robot endpoints, so a
27
+ * bot can use the same `client.servers.rooms.messages.send(...)` call a
28
+ * user would.
29
+ *
30
+ * Some methods are not available to robots (`users.me()`, friends, DMs,
31
+ * image uploads, events). The SDK throws `LagInvalidTokenError` upfront
32
+ * for the ones that have no robot equivalent; the rest will return `401`
33
+ * from the API.
34
+ *
23
35
  * The client is stateless beyond the underlying fetch implementation, so a
24
36
  * single instance is safe to share across requests / workers.
25
37
  */
@@ -31,15 +43,64 @@ export class LagClient {
31
43
  servers;
32
44
  events;
33
45
  images;
46
+ http;
34
47
  constructor(options) {
35
- const http = new HttpClient(options);
36
- this.system = new SystemResource(http);
37
- this.users = new UsersResource(http);
38
- this.friends = new FriendsResource(http);
39
- this.dms = new DmsResource(http);
40
- this.servers = new ServersResource(http);
41
- this.events = new EventsResource(http);
42
- this.images = new ImagesResource(http);
48
+ this.http = new HttpClient(options);
49
+ this.system = new SystemResource(this.http);
50
+ this.users = new UsersResource(this.http);
51
+ this.friends = new FriendsResource(this.http);
52
+ this.dms = new DmsResource(this.http);
53
+ this.servers = new ServersResource(this.http);
54
+ this.events = new EventsResource(this.http);
55
+ this.images = new ImagesResource(this.http);
56
+ }
57
+ /** True when the client is configured with a robot API key. */
58
+ get isRobot() {
59
+ return this.http.isRobot;
43
60
  }
61
+ /**
62
+ * Return a unified `Identity` for the calling credential.
63
+ *
64
+ * Works for both user PATs and robot keys. For users this hits
65
+ * `GET /users/me`; for robots it hits `GET /robots/@me/info`. Inspect
66
+ * `Identity.kind` if you need to branch on user-vs-robot.
67
+ */
68
+ async identity() {
69
+ if (this.http.isRobot) {
70
+ const raw = await this.http.request({
71
+ method: 'GET',
72
+ path: '/robots/@me/info',
73
+ });
74
+ return identityFromRobot(raw);
75
+ }
76
+ const raw = await this.http.request({ method: 'GET', path: '/users/me' });
77
+ return identityFromUser(raw);
78
+ }
79
+ }
80
+ function identityFromUser(raw) {
81
+ return {
82
+ id: raw.id,
83
+ kind: 'user',
84
+ displayName: raw.displayName ?? raw.username ?? '',
85
+ avatarUrl: raw.avatarUrl ?? null,
86
+ createdAt: raw.createdAt ?? null,
87
+ username: raw.username ?? null,
88
+ serverId: null,
89
+ permissions: null,
90
+ active: null,
91
+ };
92
+ }
93
+ function identityFromRobot(raw) {
94
+ return {
95
+ id: raw.id,
96
+ kind: 'robot',
97
+ displayName: raw.name ?? '',
98
+ avatarUrl: raw.avatarUrl ?? null,
99
+ createdAt: raw.createdAt ?? null,
100
+ username: null,
101
+ serverId: raw.serverId ?? null,
102
+ permissions: raw.permissions ?? null,
103
+ active: raw.active ?? null,
104
+ };
44
105
  }
45
106
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyB,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,SAAS;IACJ,MAAM,CAAiB;IACvB,KAAK,CAAgB;IACrB,OAAO,CAAkB;IACzB,GAAG,CAAc;IACjB,OAAO,CAAkB;IACzB,MAAM,CAAiB;IACvB,MAAM,CAAiB;IAEvC,YAAY,OAAyB;QACnC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -56,6 +56,17 @@ export declare class LagConnectionError extends LagApiError {
56
56
  readonly cause?: unknown;
57
57
  constructor(message: string, cause?: unknown);
58
58
  }
59
+ /**
60
+ * Raised client-side when an SDK method is called with an incompatible
61
+ * token kind. The Lag SDK accepts both Personal Access Tokens
62
+ * (`lag_pat_*`) and robot API keys (`lag_robot_*`); some methods are not
63
+ * available to robots (e.g. `users.me()` returns a User shape that does
64
+ * not exist for robots), so the SDK throws this error before making the
65
+ * request rather than surfacing an opaque API failure.
66
+ */
67
+ export declare class LagInvalidTokenError extends LagApiError {
68
+ constructor(message: string);
69
+ }
59
70
  /**
60
71
  * Build the appropriate `LagApiError` subclass for an HTTP response.
61
72
  *
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI;CAS3B;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,8EAA8E;IAC9E,SAAgB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAG/C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI;CAMnC;AAED,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpG;AAED,kFAAkF;AAClF,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,SAAyB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAK7C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,WAAW,CAiBb"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7C,SAAgB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGvC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI;CAS3B;AAED,qBAAa,YAAa,SAAQ,WAAW;gBAC/B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,kBAAmB,SAAQ,WAAW;gBACrC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,gBAAiB,SAAQ,WAAW;gBACnC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpF;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,8EAA8E;IAC9E,SAAgB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;gBAG/C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI;CAMnC;AAED,qBAAa,cAAe,SAAQ,WAAW;gBACjC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;CAIpG;AAED,kFAAkF;AAClF,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,SAAyB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAC7B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO;CAK7C;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;gBACvC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,eAAe,GAAG,IAAI,EAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAC/B,WAAW,CAiBb"}
package/dist/errors.js CHANGED
@@ -74,6 +74,20 @@ export class LagConnectionError extends LagApiError {
74
74
  this.cause = cause;
75
75
  }
76
76
  }
77
+ /**
78
+ * Raised client-side when an SDK method is called with an incompatible
79
+ * token kind. The Lag SDK accepts both Personal Access Tokens
80
+ * (`lag_pat_*`) and robot API keys (`lag_robot_*`); some methods are not
81
+ * available to robots (e.g. `users.me()` returns a User shape that does
82
+ * not exist for robots), so the SDK throws this error before making the
83
+ * request rather than surfacing an opaque API failure.
84
+ */
85
+ export class LagInvalidTokenError extends LagApiError {
86
+ constructor(message) {
87
+ super(message, 0, 'invalid_token', null, null);
88
+ this.name = 'LagInvalidTokenError';
89
+ }
90
+ }
77
91
  /**
78
92
  * Build the appropriate `LagApiError` subclass for an HTTP response.
79
93
  *
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
package/dist/http.d.ts CHANGED
@@ -1,6 +1,11 @@
1
1
  import { LagApiError } from './errors.js';
2
2
  export interface LagClientOptions {
3
- /** Bearer token: a Personal Access Token (lag_pat_*) or Supabase JWT. */
3
+ /**
4
+ * Credential for the API. Either a user Personal Access Token
5
+ * (`lag_pat_*`) or a robot API key (`lag_robot_*`). The SDK detects the
6
+ * prefix and switches the Authorization scheme to `Bearer` or `Robot`
7
+ * automatically.
8
+ */
4
9
  token: string;
5
10
  /** API base URL. Defaults to `https://api.trylag.com`. */
6
11
  baseUrl?: string;
@@ -45,6 +50,9 @@ export declare class HttpClient {
45
50
  private readonly maxRetries;
46
51
  private readonly userAgent;
47
52
  private readonly fetchImpl;
53
+ private readonly authScheme;
54
+ /** True when the configured token is a robot API key (`lag_robot_*`). */
55
+ readonly isRobot: boolean;
48
56
  constructor(opts: LagClientOptions);
49
57
  request<T>(opts: RequestOptions): Promise<T>;
50
58
  private buildUrl;
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIZ,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,gBAAgB;IAC/B,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;gBAE7B,IAAI,EAAE,gBAAgB;IAe5B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IA2DlD,OAAO,CAAC,QAAQ;IAehB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,SAAS;YAMH,UAAU;YAgBV,cAAc;CAkB7B;AAyBD;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EAIZ,MAAM,aAAa,CAAC;AAGrB,MAAM,WAAW,gBAAgB;IAC/B;;;;;OAKG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAgCD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uEAAuE;IACvE,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAqB;IAChD,yEAAyE;IACzE,SAAgB,OAAO,EAAE,OAAO,CAAC;gBAErB,IAAI,EAAE,gBAAgB;IAkB5B,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;IA2DlD,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,SAAS;YAMH,UAAU;YAgBV,cAAc;CAkB7B;AAyBD;;;GAGG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC"}
package/dist/http.js CHANGED
@@ -1,5 +1,33 @@
1
1
  import { errorFromResponse, LagApiError, LagConnectionError, LagRateLimitError, } from './errors.js';
2
2
  import { USER_AGENT } from './version.js';
3
+ const ROBOT_TOKEN_PREFIX = 'lag_robot_';
4
+ const ROBOT_PATH_PREFIX = '/robots/@me';
5
+ function detectAuthMode(token) {
6
+ if (token.startsWith(ROBOT_TOKEN_PREFIX)) {
7
+ return { scheme: 'Robot', isRobot: true };
8
+ }
9
+ return { scheme: 'Bearer', isRobot: false };
10
+ }
11
+ /**
12
+ * Rewrite a user-style path to its `/robots/@me` equivalent.
13
+ *
14
+ * Robot keys are scoped to a single server and only have endpoints under
15
+ * `/robots/@me`. The robot routes mirror the user routes for the
16
+ * operations a robot can perform (sending, editing, deleting messages,
17
+ * listing rooms / members / message history), so prepending the prefix is
18
+ * enough to make existing resource methods work transparently.
19
+ *
20
+ * Paths that have no robot equivalent are passed through unchanged and
21
+ * will return 401/403/404/405 from the API.
22
+ */
23
+ function rewriteRobotPath(path) {
24
+ if (path.startsWith(ROBOT_PATH_PREFIX))
25
+ return path;
26
+ if (path === '/servers' || path.startsWith('/servers/')) {
27
+ return ROBOT_PATH_PREFIX + path;
28
+ }
29
+ return path;
30
+ }
3
31
  const DEFAULT_BASE_URL = 'https://api.trylag.com';
4
32
  const DEFAULT_TIMEOUT_MS = 30_000;
5
33
  const DEFAULT_MAX_RETRIES = 2;
@@ -21,11 +49,17 @@ export class HttpClient {
21
49
  maxRetries;
22
50
  userAgent;
23
51
  fetchImpl;
52
+ authScheme;
53
+ /** True when the configured token is a robot API key (`lag_robot_*`). */
54
+ isRobot;
24
55
  constructor(opts) {
25
56
  if (!opts.token || typeof opts.token !== 'string') {
26
57
  throw new TypeError('LagClient: `token` is required');
27
58
  }
28
59
  this.token = opts.token;
60
+ const { scheme, isRobot } = detectAuthMode(opts.token);
61
+ this.authScheme = scheme;
62
+ this.isRobot = isRobot;
29
63
  this.baseUrl = (opts.baseUrl ?? DEFAULT_BASE_URL).replace(/\/+$/, '');
30
64
  this.timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
31
65
  this.maxRetries = opts.maxRetries ?? DEFAULT_MAX_RETRIES;
@@ -86,7 +120,10 @@ export class HttpClient {
86
120
  }
87
121
  }
88
122
  buildUrl(path, query) {
89
- const normalized = path.startsWith('/') ? path : `/${path}`;
123
+ let normalized = path.startsWith('/') ? path : `/${path}`;
124
+ if (this.isRobot) {
125
+ normalized = rewriteRobotPath(normalized);
126
+ }
90
127
  const url = new URL(this.baseUrl + normalized);
91
128
  if (query) {
92
129
  for (const [key, value] of Object.entries(query)) {
@@ -99,7 +136,7 @@ export class HttpClient {
99
136
  }
100
137
  buildHeaders(opts) {
101
138
  const headers = new Headers({
102
- Authorization: `Bearer ${this.token}`,
139
+ Authorization: `${this.authScheme} ${this.token}`,
103
140
  Accept: 'application/json',
104
141
  'User-Agent': this.userAgent,
105
142
  });
package/dist/http.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { LagClient } from './client.js';
2
2
  export type { LagClientOptions, RequestOptions } from './http.js';
3
- export { LagApiError, LagAuthError, LagPermissionError, LagNotFoundError, LagConflictError, LagRateLimitError, LagServerError, LagConnectionError, } from './errors.js';
3
+ export { LagApiError, LagAuthError, LagPermissionError, LagNotFoundError, LagConflictError, LagRateLimitError, LagServerError, LagConnectionError, LagInvalidTokenError, } from './errors.js';
4
4
  export type { LagApiErrorBody } from './errors.js';
5
5
  export { paginate } from './pagination.js';
6
6
  export type { CursorParams, Page, PaginatedResponse } from './pagination.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGjG,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAKvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,KAAK,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGjG,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { LagClient } from './client.js';
2
- export { LagApiError, LagAuthError, LagPermissionError, LagNotFoundError, LagConflictError, LagRateLimitError, LagServerError, LagConnectionError, } from './errors.js';
2
+ export { LagApiError, LagAuthError, LagPermissionError, LagNotFoundError, LagConflictError, LagRateLimitError, LagServerError, LagConnectionError, LagInvalidTokenError, } from './errors.js';
3
3
  export { paginate } from './pagination.js';
4
4
  export { SDK_VERSION, USER_AGENT } from './version.js';
5
5
  // Resources are not constructed directly by users, but exporting them lets
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,2EAA2E;AAC3E,6EAA6E;AAC7E,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAA4C,MAAM,uBAAuB,CAAC;AAEjG,2CAA2C;AAC3C,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,OAAO,EACL,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvD,2EAA2E;AAC3E,6EAA6E;AAC7E,sCAAsC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,cAAc,EAA4C,MAAM,uBAAuB,CAAC;AAEjG,2CAA2C;AAC3C,cAAc,kBAAkB,CAAC"}
@@ -4,10 +4,11 @@ import type { AvatarUploadBody, AvatarUploadResponse, CheckUsernameResponse, Pus
4
4
  * Users resource. Covers the calling user's own profile (`/users/me/*`) and
5
5
  * lookups for other users (`/users/:id`, `/users/search`, `/users/check-username`).
6
6
  *
7
- * Setup-related endpoints (`/users/me/setup`) and Steam integration are also
8
- * exposed since they belong to the public user-facing surface, but they will
9
- * only succeed for callers using a Supabase JWT (PATs are issued *after*
10
- * setup is complete).
7
+ * The methods on this resource require a user Personal Access Token. When
8
+ * the client is configured with a robot API key, `me()` throws
9
+ * `LagInvalidTokenError` upfront; the others will return `401` from the
10
+ * API. Use `client.identity()` for a robot-compatible alternative to
11
+ * `me()`.
11
12
  */
12
13
  export declare class UsersResource {
13
14
  private readonly http;
@@ -1 +1 @@
1
- {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,IAAI,EACL,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;GAQG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,wDAAwD;IACxD,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAInB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,+EAA+E;IAC/E,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,sEAAsE;IACtE,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnE,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAQ7D,6EAA6E;IAC7E,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAQrD,wFAAwF;IACxF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,0EAA0E;IAC1E,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,6FAA6F;IAC7F,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQxD,8EAA8E;IAC9E,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnE,8EAA8E;IAC9E,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAO/C,sFAAsF;IACtF,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQ/D,2EAA2E;IAC3E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQtC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/B"}
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,IAAI,EACL,MAAM,kBAAkB,CAAC;AAO1B;;;;;;;;;GASG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAE7C,wDAAwD;IACxD,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;IAOnB,sEAAsE;IACtE,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,+EAA+E;IAC/E,KAAK,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,sEAAsE;IACtE,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnE,6EAA6E;IAC7E,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAQ7D,6EAA6E;IAC7E,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,IAAI,CAAA;KAAE,CAAC;IAQrD,wFAAwF;IACxF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,0EAA0E;IAC1E,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,6FAA6F;IAC7F,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAQxD,8EAA8E;IAC9E,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAQnE,8EAA8E;IAC9E,aAAa,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAO/C,sFAAsF;IACtF,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAQ/D,2EAA2E;IAC3E,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAQtC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG/B"}
@@ -1,11 +1,16 @@
1
+ import { LagInvalidTokenError } from '../errors.js';
2
+ const ROBOT_ME_MESSAGE = 'users.me() is not available with a robot API key. ' +
3
+ 'Use client.identity() instead - it returns a unified Identity that ' +
4
+ 'works for both user tokens and robot keys.';
1
5
  /**
2
6
  * Users resource. Covers the calling user's own profile (`/users/me/*`) and
3
7
  * lookups for other users (`/users/:id`, `/users/search`, `/users/check-username`).
4
8
  *
5
- * Setup-related endpoints (`/users/me/setup`) and Steam integration are also
6
- * exposed since they belong to the public user-facing surface, but they will
7
- * only succeed for callers using a Supabase JWT (PATs are issued *after*
8
- * setup is complete).
9
+ * The methods on this resource require a user Personal Access Token. When
10
+ * the client is configured with a robot API key, `me()` throws
11
+ * `LagInvalidTokenError` upfront; the others will return `401` from the
12
+ * API. Use `client.identity()` for a robot-compatible alternative to
13
+ * `me()`.
9
14
  */
10
15
  export class UsersResource {
11
16
  http;
@@ -14,6 +19,9 @@ export class UsersResource {
14
19
  }
15
20
  /** GET /users/me - the currently authenticated user. */
16
21
  me() {
22
+ if (this.http.isRobot) {
23
+ return Promise.reject(new LagInvalidTokenError(ROBOT_ME_MESSAGE));
24
+ }
17
25
  return this.http.request({ method: 'GET', path: '/users/me' });
18
26
  }
19
27
  /** PATCH /users/me - update display name, avatar URL, or Steam ID. */
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/resources/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Unified identity returned by both user PAT and robot key callers.
3
+ *
4
+ * The Lag API exposes two ways to authenticate: a user Personal Access
5
+ * Token (`lag_pat_*`) backed by `GET /users/me`, and a robot API key
6
+ * (`lag_robot_*`) backed by `GET /robots/@me/info`. The two endpoints
7
+ * return different shapes, but most callers just want "who am I, what is
8
+ * my display name, what is my avatar". `Identity` is that unified view.
9
+ *
10
+ * Use `LagClient.identity()` to fetch it. Inspect `kind` if you need to
11
+ * branch on user-vs-robot specific fields.
12
+ */
13
+ export type IdentityKind = 'user' | 'robot';
14
+ export interface Identity {
15
+ /** Stable ID of the user or robot. */
16
+ id: string;
17
+ /** Discriminator: `'user'` for PAT callers, `'robot'` for robot keys. */
18
+ kind: IdentityKind;
19
+ /**
20
+ * The user's display name (or username if unset) for users, or the
21
+ * robot's name for robots. Always populated.
22
+ */
23
+ displayName: string;
24
+ /** Avatar URL, if any. */
25
+ avatarUrl: string | null;
26
+ /** ISO timestamp when the user or robot was created. */
27
+ createdAt: string | null;
28
+ /** Username. Only populated for users. */
29
+ username: string | null;
30
+ /** Server the robot belongs to. Only populated for robots. */
31
+ serverId: string | null;
32
+ /** Granted permissions. Only populated for robots. */
33
+ permissions: string[] | null;
34
+ /** Whether the robot is enabled. Only populated for robots. */
35
+ active: boolean | null;
36
+ }
37
+ //# sourceMappingURL=identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/types/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,QAAQ;IACvB,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,IAAI,EAAE,YAAY,CAAC;IACnB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,wDAAwD;IACxD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,8DAA8D;IAC9D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,sDAAsD;IACtD,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC7B,+DAA+D;IAC/D,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/types/identity.ts"],"names":[],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  export * from './common.js';
2
+ export * from './identity.js';
2
3
  export * from './user.js';
3
4
  export * from './friend.js';
4
5
  export * from './dm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './common.js';
2
+ export * from './identity.js';
2
3
  export * from './user.js';
3
4
  export * from './friend.js';
4
5
  export * from './dm.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
package/dist/version.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Current SDK version. Kept in sync with package.json by hand. */
2
- export declare const SDK_VERSION = "0.1.0";
2
+ export declare const SDK_VERSION = "0.2.0";
3
3
  /** User-Agent string sent with every request. */
4
- export declare const USER_AGENT = "lag-sdk-js/0.1.0";
4
+ export declare const USER_AGENT = "lagapp-sdk-js/0.2.0";
5
5
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,iDAAiD;AACjD,eAAO,MAAM,UAAU,qBAA8B,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,eAAO,MAAM,WAAW,UAAU,CAAC;AAEnC,iDAAiD;AACjD,eAAO,MAAM,UAAU,wBAAiC,CAAC"}
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Current SDK version. Kept in sync with package.json by hand. */
2
- export const SDK_VERSION = '0.1.0';
2
+ export const SDK_VERSION = '0.2.0';
3
3
  /** User-Agent string sent with every request. */
4
- export const USER_AGENT = `lag-sdk-js/${SDK_VERSION}`;
4
+ export const USER_AGENT = `lagapp-sdk-js/${SDK_VERSION}`;
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,cAAc,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC;AAEnC,iDAAiD;AACjD,MAAM,CAAC,MAAM,UAAU,GAAG,iBAAiB,WAAW,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lagapp/sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Official TypeScript/Node SDK for the Lag API",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -21,7 +21,7 @@
21
21
  "scripts": {
22
22
  "build": "tsc -p tsconfig.build.json",
23
23
  "typecheck": "tsc --noEmit",
24
- "test": "node --import tsx --test \"test/**/*.test.ts\"",
24
+ "test": "node --import tsx --test test/*.test.ts",
25
25
  "prepublishOnly": "npm run build"
26
26
  },
27
27
  "engines": {