@mesadev/sdk 0.35.0 → 0.36.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.
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Local access-token signing. Access tokens are short-lived HS256 JWTs whose
3
+ * signing secret is derived from the raw API key the client holds, so a client
4
+ * that holds an API key can sign them entirely offline — no network round-trip
5
+ * to the server.
6
+ *
7
+ * This is the SDK-side counterpart to the server's reference implementation in
8
+ * `packages/core/src/auth/access-token.ts`. The cross-language contract lives in
9
+ * `packages/core/src/auth/access-token-protocol.md`. JSON key order is not
10
+ * semantically meaningful — each implementation may emit claims in any order;
11
+ * the server verifies the signature, not a byte-exact string.
12
+ *
13
+ * Secret derivation:
14
+ * secret = base64url_nopad(SHA-256(utf8(raw_api_key)))
15
+ * This is byte-identical to the value stored in the server's `apikey.key`
16
+ * column. The HMAC key is the UTF-8 bytes of this base64url string.
17
+ *
18
+ * The token carries NO org and NO user info: the server derives both from the
19
+ * API key row at verification time, and clamps the requested scopes/repos to
20
+ * the key's current permissions. The `repos` claim carries full `org/repo`
21
+ * names (not ids) so the client signs entirely offline.
22
+ *
23
+ * Implemented with `node:crypto` only — the published SDK takes no JWT
24
+ * dependency.
25
+ */
26
+ /** Default token lifetime when the caller does not request one. */
27
+ export declare const ACCESS_TOKEN_DEFAULT_TTL_SECONDS: number;
28
+ /** Hard cap on token lifetime; the server rejects anything longer at verify time. */
29
+ export declare const ACCESS_TOKEN_MAX_TTL_SECONDS: number;
30
+ export type SignAccessTokenInput = {
31
+ /** The API key ID that signs this token; encoded into the `kid` header. */
32
+ apiKeyId: string;
33
+ /** The raw API key (`mesa_...`) the client holds; the signing secret is derived from it. */
34
+ rawApiKey: string;
35
+ /** Requested scopes; clamped to the key's current scopes at verify time. */
36
+ scopes: string[];
37
+ /**
38
+ * Requested repo restriction as full `org/repo` names; resolved to ids and
39
+ * clamped to the key's at verify time. null = no restriction.
40
+ */
41
+ repos: string[] | null;
42
+ /** Token lifetime in seconds. Defaults to {@link ACCESS_TOKEN_DEFAULT_TTL_SECONDS}. */
43
+ ttlSeconds?: number;
44
+ };
45
+ export type SignedAccessToken = {
46
+ token: string;
47
+ /** Exact expiry as an ISO 8601 string. */
48
+ expiresAt: string;
49
+ /** Effective scopes encoded into the token. */
50
+ scopes: string[];
51
+ /** Effective repo restriction (full `org/repo` names) encoded into the token. */
52
+ repos: string[] | null;
53
+ /** The token's unique id (`jti`), for auditing without re-decoding the JWT. */
54
+ jti: string;
55
+ };
56
+ /**
57
+ * Derive the HMAC signing secret from a raw API key. Byte-identical to the
58
+ * value stored in the server's `apikey.key` column. The HMAC key is the UTF-8
59
+ * bytes of the returned base64url-nopad string.
60
+ */
61
+ export declare function deriveAccessTokenSigningSecret(rawApiKey: string): string;
62
+ /**
63
+ * Sign an access token with HS256 entirely client-side. The `iss` claim is the
64
+ * minting API key id (mirrors the `kid` header). JSON key order is not
65
+ * semantically meaningful — the server verifies the signature, not a byte-exact
66
+ * string.
67
+ */
68
+ export declare function signAccessToken(input: SignAccessTokenInput): SignedAccessToken;
69
+ //# sourceMappingURL=access-token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../src/api/access-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAkBH,mEAAmE;AACnE,eAAO,MAAM,gCAAgC,QAAU,CAAC;AACxD,qFAAqF;AACrF,eAAO,MAAM,4BAA4B,QAAe,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB;;;OAGG;IACH,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iFAAiF;IACjF,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExE;AAYD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,iBAAiB,CAiC9E"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * Local access-token signing. Access tokens are short-lived HS256 JWTs whose
3
+ * signing secret is derived from the raw API key the client holds, so a client
4
+ * that holds an API key can sign them entirely offline — no network round-trip
5
+ * to the server.
6
+ *
7
+ * This is the SDK-side counterpart to the server's reference implementation in
8
+ * `packages/core/src/auth/access-token.ts`. The cross-language contract lives in
9
+ * `packages/core/src/auth/access-token-protocol.md`. JSON key order is not
10
+ * semantically meaningful — each implementation may emit claims in any order;
11
+ * the server verifies the signature, not a byte-exact string.
12
+ *
13
+ * Secret derivation:
14
+ * secret = base64url_nopad(SHA-256(utf8(raw_api_key)))
15
+ * This is byte-identical to the value stored in the server's `apikey.key`
16
+ * column. The HMAC key is the UTF-8 bytes of this base64url string.
17
+ *
18
+ * The token carries NO org and NO user info: the server derives both from the
19
+ * API key row at verification time, and clamps the requested scopes/repos to
20
+ * the key's current permissions. The `repos` claim carries full `org/repo`
21
+ * names (not ids) so the client signs entirely offline.
22
+ *
23
+ * Implemented with `node:crypto` only — the published SDK takes no JWT
24
+ * dependency.
25
+ */
26
+ import { createHash, createHmac, randomUUID } from 'node:crypto';
27
+ import { InvalidOptionsError } from '../lib/errors.js';
28
+ /** Audience claim: access tokens are only valid when presented to the Mesa API. */
29
+ const ACCESS_TOKEN_AUD = 'mesa-api';
30
+ /** JOSE `typ` header (RFC 9068 style) distinguishing access tokens. */
31
+ const ACCESS_TOKEN_TYP = 'mesa-at+jwt';
32
+ /** JWA algorithm: HMAC-SHA256, keyed by the per-key derived secret. */
33
+ const ACCESS_TOKEN_ALG = 'HS256';
34
+ /**
35
+ * Secret-derivation version, encoded into the `kid` header as
36
+ * `<api_key_id>.<version>`. Bump on the server and here together if the
37
+ * derivation ever changes.
38
+ */
39
+ const ACCESS_TOKEN_DERIVATION_VERSION = 'v1';
40
+ /** Default token lifetime when the caller does not request one. */
41
+ export const ACCESS_TOKEN_DEFAULT_TTL_SECONDS = 60 * 60; // 1 hour
42
+ /** Hard cap on token lifetime; the server rejects anything longer at verify time. */
43
+ export const ACCESS_TOKEN_MAX_TTL_SECONDS = 24 * 60 * 60; // 24 hours
44
+ /**
45
+ * Derive the HMAC signing secret from a raw API key. Byte-identical to the
46
+ * value stored in the server's `apikey.key` column. The HMAC key is the UTF-8
47
+ * bytes of the returned base64url-nopad string.
48
+ */
49
+ export function deriveAccessTokenSigningSecret(rawApiKey) {
50
+ return createHash('sha256').update(rawApiKey, 'utf8').digest('base64url');
51
+ }
52
+ /** The `kid` header: `<api_key_id>.<derivation_version>`. */
53
+ function buildKid(apiKeyId) {
54
+ return `${apiKeyId}.${ACCESS_TOKEN_DERIVATION_VERSION}`;
55
+ }
56
+ /** base64url-nopad encode a UTF-8 string. Node's `base64url` is already unpadded. */
57
+ function base64UrlJson(value) {
58
+ return Buffer.from(JSON.stringify(value), 'utf8').toString('base64url');
59
+ }
60
+ /**
61
+ * Sign an access token with HS256 entirely client-side. The `iss` claim is the
62
+ * minting API key id (mirrors the `kid` header). JSON key order is not
63
+ * semantically meaningful — the server verifies the signature, not a byte-exact
64
+ * string.
65
+ */
66
+ export function signAccessToken(input) {
67
+ const ttlSeconds = input.ttlSeconds ?? ACCESS_TOKEN_DEFAULT_TTL_SECONDS;
68
+ if (!Number.isInteger(ttlSeconds) || ttlSeconds <= 0 || ttlSeconds > ACCESS_TOKEN_MAX_TTL_SECONDS) {
69
+ throw new InvalidOptionsError(`Token TTL must be an integer between 1 and ${ACCESS_TOKEN_MAX_TTL_SECONDS} seconds`);
70
+ }
71
+ const iat = Math.floor(Date.now() / 1000);
72
+ const exp = iat + ttlSeconds;
73
+ const jti = randomUUID();
74
+ const header = { alg: ACCESS_TOKEN_ALG, typ: ACCESS_TOKEN_TYP, kid: buildKid(input.apiKeyId) };
75
+ const payload = {
76
+ iss: input.apiKeyId,
77
+ aud: ACCESS_TOKEN_AUD,
78
+ scopes: input.scopes,
79
+ repos: input.repos,
80
+ iat,
81
+ exp,
82
+ jti,
83
+ };
84
+ const signingInput = `${base64UrlJson(header)}.${base64UrlJson(payload)}`;
85
+ const secret = deriveAccessTokenSigningSecret(input.rawApiKey);
86
+ const signature = createHmac('sha256', secret).update(signingInput, 'utf8').digest('base64url');
87
+ const token = `${signingInput}.${signature}`;
88
+ return {
89
+ token,
90
+ expiresAt: new Date(exp * 1000).toISOString(),
91
+ scopes: input.scopes,
92
+ repos: input.repos,
93
+ jti,
94
+ };
95
+ }
96
+ //# sourceMappingURL=access-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../src/api/access-token.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,8 @@ export type RestDataShape = {
12
12
  export type RestOperation = (options: never) => Promise<unknown>;
13
13
  export type RestRequestOptions<TData extends RestDataShape> = Simplify<Omit<RestOptions<TData, boolean>, 'baseUrl' | 'fetch' | 'headers' | 'responseStyle' | 'throwOnError'>>;
14
14
  export type RestClientConfig = {
15
- apiKey: string;
15
+ /** Bearer credential: either an API key (`mesa_...`) or an access token (JWT). */
16
+ credential: string;
16
17
  apiUrl: string;
17
18
  fetch?: typeof globalThis.fetch;
18
19
  userAgent?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,IAAI,WAAW,EAAmB,KAAK,cAAc,EAAU,MAAM,eAAe,CAAC;AAK1G,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjE,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,aAAa,IAAI,QAAQ,CACpE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,cAAc,CAAC,CACtG,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,KAAK,SAAS,aAAa,EAAE,OAAO,EAC1C,SAAS,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA8CrE"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,IAAI,WAAW,EAAmB,KAAK,cAAc,EAAU,MAAM,eAAe,CAAC;AAK1G,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,EAAE,CAAC;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEjE,MAAM,MAAM,kBAAkB,CAAC,KAAK,SAAS,aAAa,IAAI,QAAQ,CACpE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,eAAe,GAAG,cAAc,CAAC,CACtG,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kFAAkF;IAClF,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAOF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,KAAK,SAAS,aAAa,EAAE,OAAO,EAC1C,SAAS,EAAE,aAAa,EACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAClC,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA8CrE"}
@@ -4,7 +4,7 @@ const SDK_USER_AGENT = '@mesadev/sdk';
4
4
  export function createRestClient(config) {
5
5
  const userAgent = config.userAgent?.trim();
6
6
  const defaultHeaders = {
7
- Authorization: `Bearer ${config.apiKey}`,
7
+ Authorization: `Bearer ${config.credential}`,
8
8
  };
9
9
  if (typeof process === 'undefined') {
10
10
  defaultHeaders['X-Mesa-User-Agent'] = userAgent ? `${SDK_USER_AGENT} ${userAgent}` : SDK_USER_AGENT;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,cAAc,GAAG,cAAc,CAAC;AAsCtC,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,cAAc,GAA2B;QAC7C,aAAa,EAAE,UAAU,MAAM,CAAC,MAAM,EAAE;KACzC,CAAC;IAEF,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,cAAc,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAC/F,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,EACnB,SAAwB,EACxB,UAAqC,EAA+B,EAClD,EAAE;QACpB,MAAM,cAAc,GAAG;YACrB,GAAG,OAAO;YACV,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,QAAQ;YACvB,YAAY,EAAE,KAAK;SACW,CAAC;QAEjC,MAAM,QAAQ,GAAG,MAAO,SAAwE,CAAC,cAAc,CAAC,CAAC;QAEjH,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,QAAkD,CAAC;YAEzE,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;gBAC5B,OAAO,aAAa,CAAC,IAAe,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,QAAmB,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO;QACL,OAAO;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAA6B,MAAM,CAAC;KAC1D,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,cAAc,GAAG,cAAc,CAAC;AAuCtC,MAAM,UAAU,gBAAgB,CAAC,MAAwB;IACvD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAC3C,MAAM,cAAc,GAA2B;QAC7C,aAAa,EAAE,UAAU,MAAM,CAAC,UAAU,EAAE;KAC7C,CAAC;IAEF,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;QACnC,cAAc,CAAC,mBAAmB,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,cAAc,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;IAC/F,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,EACnB,SAAwB,EACxB,UAAqC,EAA+B,EAClD,EAAE;QACpB,MAAM,cAAc,GAAG;YACrB,GAAG,OAAO;YACV,OAAO,EAAE,MAAM,CAAC,MAAM;YACtB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,cAAc;YACvB,aAAa,EAAE,QAAQ;YACvB,YAAY,EAAE,KAAK;SACW,CAAC;QAEjC,MAAM,QAAQ,GAAG,MAAO,SAAwE,CAAC,cAAc,CAAC,CAAC;QAEjH,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7C,MAAM,aAAa,GAAG,QAAkD,CAAC;YAEzE,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,iBAAiB,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,MAAM,IAAI,aAAa,EAAE,CAAC;gBAC5B,OAAO,aAAa,CAAC,IAAe,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,QAAmB,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO;QACL,OAAO;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAA6B,MAAM,CAAC;KAC1D,CAAC;AACJ,CAAC"}
@@ -8,6 +8,11 @@ type OrgRequestContext = {
8
8
  restClient: RestClient;
9
9
  resolveOrg: ResolveOrg;
10
10
  webhookSecret?: string;
11
+ /**
12
+ * Sign an access token locally (HS256, secret derived from the client's raw
13
+ * API key).
14
+ */
15
+ signToken: (input: TokensCreateInput) => Promise<TokensCreateResponse>;
11
16
  };
12
17
  export type ApiKeysListInput = {
13
18
  org?: string;
@@ -18,6 +23,33 @@ export type ApiKeysCreateInput = CreateApiKeyData['body'] & {
18
23
  export type ApiKeysRevokeInput = Omit<RevokeApiKeyData['path'], 'org'> & {
19
24
  org?: string;
20
25
  };
26
+ /**
27
+ * Input for `tokens.create()`. The token is signed locally, so `org` is no
28
+ * longer needed for signing (the server resolves it from the API key row), but
29
+ * it is accepted and ignored for source compatibility with prior versions.
30
+ */
31
+ export type TokensCreateInput = {
32
+ /** Requested scopes; clamped to the key's current scopes at verify time. Defaults to all of the key's scopes. */
33
+ scopes?: string[];
34
+ /**
35
+ * Requested repo restriction as full `org/repo` names; resolved and clamped
36
+ * to the key's at verify time. null/omitted = no extra restriction.
37
+ */
38
+ repos?: string[] | null;
39
+ /** Token lifetime in seconds (1..86400). Defaults to 3600. */
40
+ ttl_seconds?: number;
41
+ /** @deprecated No longer used: the token is signed locally and carries no org. */
42
+ org?: string;
43
+ };
44
+ /** Result of `tokens.create()`. */
45
+ export type TokensCreateResponse = {
46
+ token: string;
47
+ /** Exact expiry as an ISO 8601 string. */
48
+ expires_at: string;
49
+ scopes: string[];
50
+ /** Effective repo restriction (full `org/repo` names). */
51
+ repos: string[] | null;
52
+ };
21
53
  export type ReposListInput = NonNullable<ListReposData['query']> & {
22
54
  org?: string;
23
55
  };
@@ -132,10 +164,20 @@ export type OrgGetInput = {
132
164
  org?: string;
133
165
  };
134
166
  export type WhoAmIInput = Record<never, never>;
135
- export declare function createApiResources({ restClient, resolveOrg, webhookSecret }: OrgRequestContext): {
167
+ export declare function createApiResources({ restClient, resolveOrg, webhookSecret, signToken }: OrgRequestContext): {
136
168
  org: {
137
169
  get: (input?: OrgGetInput) => Promise<GetOrgResponse>;
138
170
  };
171
+ tokens: {
172
+ /**
173
+ * Sign a short-lived access token (JWT) carrying at most this client's
174
+ * scopes and repository restrictions. Signing is entirely local (HS256,
175
+ * secret derived from the raw API key) — no network round-trip. Tokens
176
+ * expire on their own and cannot be revoked or refreshed — sign a new one
177
+ * instead.
178
+ */
179
+ create: (input?: TokensCreateInput) => Promise<TokensCreateResponse>;
180
+ };
139
181
  apiKeys: {
140
182
  list: (input?: ApiKeysListInput) => Promise<ListApiKeysResponse>;
141
183
  create: (input: ApiKeysCreateInput) => Promise<CreateApiKeyResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAMhC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAIhC,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAQhC,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAO/B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAGzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAEzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAEzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAIjC,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,gBAAgB,EAAsB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAGnD,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,KAAK,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEpD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/G,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1G,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACxE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;CAAE,CAAC;AAC5G,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxG,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACtF,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAC/D,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACrE,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACxE,kBAAkB,CAAC,MAAM,CAAC,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACpE,gBAAgB,CAAC,MAAM,CAAC,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACtE,iBAAiB,CAAC,MAAM,CAAC,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACjE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ;;GAEG;AACH,KAAK,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAC5D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC,GAAG;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ;;GAEG;AACH,KAAK,sBAAsB,GAAG,iBAAiB,GAAG;IAChD,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,KAAK,yBAAyB,GAAG,iBAAiB,GAAG;IACnD,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,yBAAyB,CAAC;AACpF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACnE,gBAAgB,CAAC,MAAM,CAAC,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpH,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtG,MAAM,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAClF,uBAAuB,CAAC,MAAM,CAAC,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExG,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/C,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,iBAAiB;;sBAoBtE,WAAW,KAAQ,OAAO,CAAC,cAAc,CAAC;;;uBAMzC,gBAAgB,KAAQ,OAAO,CAAC,mBAAmB,CAAC;wBAIlD,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;wBAKlD,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;;;uBAOpD,cAAc,KAAQ,OAAO,CAAC,iBAAiB,CAAC;wBAK9C,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAAC;qBAKjD,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;wBAKrC,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAAC;wBAK9C,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAAC;8BAKxC,sBAAsB,KAAG,OAAO,CAAC,oBAAoB,CAAC;iCAKnD,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;mCAK9D,2BAA2B,KAAG,OAAO,CAAC,6BAA6B,CAAC;;;qBAOlF,eAAe,KAAG,OAAO,CAAC,kBAAkB,CAAC;;;sBAO5C,kBAAkB,KAAG,OAAO,CAAC,qBAAqB,CAAC;qBAKpD,iBAAiB,KAAG,OAAO,CAAC,mBAAmB,CAAC;wBAK7C,oBAAoB,KAAG,OAAO,CAAC,sBAAsB,CAAC;wBAKtD,oBAAoB,KAAG,OAAO,CAAC,sBAAsB,CAAC;sBAKxD,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;uBAKjD,mBAAmB,KAAG,OAAO,CAAC,qBAAqB,CAAC;;;sBAUrD,gBAAgB,KAAG,OAAO,CAAC,mBAAmB,CAAC;wBAK7C,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;qBAKrD,eAAe,KAAG,OAAO,CAAC,iBAAiB,CAAC;uBAK1C,iBAAiB,KAAG,OAAO,CAAC,oBAAoB,CAAC;;;qBAUnD,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;;;uBAOvC,uBAAuB,KAAQ,OAAO,CAAC,0BAA0B,CAAC;wBAKhE,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;wBAKhE,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;wBAKhE,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;;;WAOnF,CAAC,SAAS,gBAAgB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;yBAMnD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;;EAoDnD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAMhC,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAIhC,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAQhC,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAO/B,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAGzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAEzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAEzB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAIjC,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,KAAK,gBAAgB,EAAsB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAGnD,wBAAgB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,KAAK,UAAU,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEpD,KAAK,iBAAiB,GAAG;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;CACxE,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChD,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC7E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1F;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,iHAAiH;IACjH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kFAAkF;IAClF,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,mCAAmC;AACnC,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0DAA0D;IAC1D,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpF,MAAM,MAAM,gBAAgB,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC/G,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtF,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1G,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACxE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAA;CAAE,CAAC;AAC5G,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxG,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACtF,WAAW,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAC/D,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACrE,WAAW,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,GAAG;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACxF,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACxE,kBAAkB,CAAC,MAAM,CAAC,GAAG;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC9F,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACpE,gBAAgB,CAAC,MAAM,CAAC,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACtE,iBAAiB,CAAC,MAAM,CAAC,GAAG;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACjE,WAAW,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,GAAG;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ;;GAEG;AACH,KAAK,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAC5D,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,WAAW,CAAC,GAAG;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ;;GAEG;AACH,KAAK,sBAAsB,GAAG,iBAAiB,GAAG;IAChD,KAAK,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF;;GAEG;AACH,KAAK,yBAAyB,GAAG,iBAAiB,GAAG;IACnD,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,GAAG,yBAAyB,CAAC;AACpF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACpF,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GACnE,gBAAgB,CAAC,MAAM,CAAC,GAAG;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpH,MAAM,MAAM,uBAAuB,GAAG,WAAW,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACtG,MAAM,MAAM,yBAAyB,GAAG,uBAAuB,CAAC,MAAM,CAAC,GAAG;IACxE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAClF,uBAAuB,CAAC,MAAM,CAAC,GAAG;IAChC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AACJ,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAExG,MAAM,MAAM,WAAW,GAAG;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE/C,wBAAgB,kBAAkB,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,iBAAiB;;sBAoBjF,WAAW,KAAQ,OAAO,CAAC,cAAc,CAAC;;;QAM7D;;;;;;WAMG;yBACa,iBAAiB,KAAQ,OAAO,CAAC,oBAAoB,CAAC;;;uBAGlD,gBAAgB,KAAQ,OAAO,CAAC,mBAAmB,CAAC;wBAIlD,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;wBAKlD,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;;;uBAOpD,cAAc,KAAQ,OAAO,CAAC,iBAAiB,CAAC;wBAK9C,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAAC;qBAKjD,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;wBAKrC,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAAC;wBAK9C,gBAAgB,KAAG,OAAO,CAAC,kBAAkB,CAAC;8BAKxC,sBAAsB,KAAG,OAAO,CAAC,oBAAoB,CAAC;iCAKnD,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;mCAK9D,2BAA2B,KAAG,OAAO,CAAC,6BAA6B,CAAC;;;qBAOlF,eAAe,KAAG,OAAO,CAAC,kBAAkB,CAAC;;;sBAO5C,kBAAkB,KAAG,OAAO,CAAC,qBAAqB,CAAC;qBAKpD,iBAAiB,KAAG,OAAO,CAAC,mBAAmB,CAAC;wBAK7C,oBAAoB,KAAG,OAAO,CAAC,sBAAsB,CAAC;wBAKtD,oBAAoB,KAAG,OAAO,CAAC,sBAAsB,CAAC;sBAKxD,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;uBAKjD,mBAAmB,KAAG,OAAO,CAAC,qBAAqB,CAAC;;;sBAUrD,gBAAgB,KAAG,OAAO,CAAC,mBAAmB,CAAC;wBAK7C,kBAAkB,KAAG,OAAO,CAAC,oBAAoB,CAAC;qBAKrD,eAAe,KAAG,OAAO,CAAC,iBAAiB,CAAC;uBAK1C,iBAAiB,KAAG,OAAO,CAAC,oBAAoB,CAAC;;;qBAUnD,aAAa,KAAG,OAAO,CAAC,eAAe,CAAC;;;uBAOvC,uBAAuB,KAAQ,OAAO,CAAC,0BAA0B,CAAC;wBAKhE,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;wBAKhE,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;wBAKhE,yBAAyB,KAAG,OAAO,CAAC,2BAA2B,CAAC;;;WAOnF,CAAC,SAAS,gBAAgB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI;yBAMnD,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;;EAoDnD;AAED,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
@@ -9,7 +9,7 @@ const WEBHOOK_TOLERANCE_SECONDS = 300;
9
9
  export function sign(secret, timestamp, rawBody) {
10
10
  return createHmac('sha256', secret).update(`${timestamp}.${rawBody}`).digest('hex');
11
11
  }
12
- export function createApiResources({ restClient, resolveOrg, webhookSecret }) {
12
+ export function createApiResources({ restClient, resolveOrg, webhookSecret, signToken }) {
13
13
  const webhookListeners = {
14
14
  'repo.created': [],
15
15
  'repo.updated': [],
@@ -33,6 +33,16 @@ export function createApiResources({ restClient, resolveOrg, webhookSecret }) {
33
33
  return restClient.request(getOrg, { path: { org } });
34
34
  },
35
35
  },
36
+ tokens: {
37
+ /**
38
+ * Sign a short-lived access token (JWT) carrying at most this client's
39
+ * scopes and repository restrictions. Signing is entirely local (HS256,
40
+ * secret derived from the raw API key) — no network round-trip. Tokens
41
+ * expire on their own and cannot be revoked or refreshed — sign a new one
42
+ * instead.
43
+ */
44
+ create: (input = {}) => signToken(input),
45
+ },
36
46
  apiKeys: {
37
47
  list: async (input = {}) => {
38
48
  const org = await resolveOrg(input.org);
@@ -1 +1 @@
1
- {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
@@ -129,9 +129,8 @@ export type RepoConfig = {
129
129
  name: string;
130
130
  readOnly?: boolean;
131
131
  } & FromRevision;
132
- export interface MesaFileSystemConfig {
132
+ export interface MesaFileSystemConfigBase {
133
133
  org: string;
134
- apiKey: string;
135
134
  repos: RepoConfig[];
136
135
  /**
137
136
  * Which repos from the org show up in the mount.
@@ -156,6 +155,22 @@ export interface MesaFileSystemConfig {
156
155
  /** Telemetry and logging configuration. */
157
156
  telemetry?: TelemetryConfig;
158
157
  }
158
+ /**
159
+ * Bearer credential used for all storage operations: either an access token
160
+ * (JWT, the recommended self-expiring credential) or an API key.
161
+ *
162
+ * Provide it as `credential`. The legacy `apiKey` field is still accepted as a
163
+ * deprecated alias; supply exactly one. When both are present, `credential` wins.
164
+ */
165
+ export type MesaFileSystemConfig = MesaFileSystemConfigBase & ({
166
+ credential: string;
167
+ /** @deprecated Use `credential`. */
168
+ apiKey?: string;
169
+ } | {
170
+ /** @deprecated Use `credential`. */
171
+ apiKey: string;
172
+ credential?: string;
173
+ });
159
174
  export declare class MesaFileSystemSubscription {
160
175
  private readonly native;
161
176
  private closed;
@@ -1 +1 @@
1
- {"version":3,"file":"mesa-file-system.d.ts","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesa-file-system.d.ts","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Bash, } from 'just-bash';
2
2
  import { loadNativeAddon } from './native-loader.js';
3
+ import { MissingCredentialError } from '../lib/errors.js';
3
4
  let nativeModule = null;
4
5
  function getEncoding(options) {
5
6
  if (options === null || options === undefined)
@@ -73,8 +74,16 @@ export class MesaFileSystem {
73
74
  static create(config) {
74
75
  nativeModule ??= loadNativeAddon();
75
76
  const { onLog, ...telemetryRest } = config.telemetry ?? {};
77
+ const credential = config.credential ?? config.apiKey;
78
+ if (!credential) {
79
+ throw new MissingCredentialError();
80
+ }
81
+ const { credential: _credential, apiKey: _apiKey, ...rest } = config;
76
82
  const napiConfig = {
77
- ...config,
83
+ ...rest,
84
+ // The native config field is named apiKey for historical reasons; it
85
+ // accepts any bearer credential (access token or API key).
86
+ apiKey: credential,
78
87
  telemetry: Object.keys(telemetryRest).length > 0 ? telemetryRest : undefined,
79
88
  repos: config.repos.map((r) => ({
80
89
  name: r.name,
@@ -1 +1 @@
1
- {"version":3,"file":"mesa-file-system.js","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesa-file-system.js","sourceRoot":"","sources":["../../src/fs/mesa-file-system.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type MesaErrorCode = 'INVALID_API_URL' | 'INVALID_OPTIONS' | 'MISSING_API_KEY' | 'MISSING_WEBHOOK_SECRET' | 'ORG_RESOLUTION_FAILED' | 'WEBHOOK_VERIFICATION_FAILED';
1
+ export type MesaErrorCode = 'INVALID_API_URL' | 'INVALID_OPTIONS' | 'MISSING_CREDENTIAL' | 'MISSING_WEBHOOK_SECRET' | 'ORG_RESOLUTION_FAILED' | 'WEBHOOK_VERIFICATION_FAILED';
2
2
  export declare class MesaError extends Error {
3
3
  readonly code: MesaErrorCode;
4
4
  constructor(code: MesaErrorCode, message: string, options?: ErrorOptions);
@@ -18,9 +18,15 @@ export declare class MesaApiError extends Error {
18
18
  readonly status?: number;
19
19
  constructor({ body, cause, code, headers, message, status }: MesaApiErrorOptions);
20
20
  }
21
- export declare class MissingApiKeyError extends MesaError {
22
- constructor(envVar: string);
21
+ export declare class MissingCredentialError extends MesaError {
22
+ constructor(apiKeyEnvVar?: string);
23
23
  }
24
+ /**
25
+ * @deprecated Renamed to {@link MissingCredentialError}. This alias points at the
26
+ * same class, so `instanceof MissingApiKeyError` and `instanceof MissingCredentialError`
27
+ * are interchangeable. Prefer `MissingCredentialError`.
28
+ */
29
+ export declare const MissingApiKeyError: typeof MissingCredentialError;
24
30
  export declare class InvalidApiUrlError extends MesaError {
25
31
  constructor(apiUrl: string);
26
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,iBAAiB,GACjB,wBAAwB,GACxB,uBAAuB,GACvB,6BAA6B,CAAC;AAElC,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;gBAEjB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKzE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB;CAQjF;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,EAAE,MAAM;CAI3B;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,EAAE,MAAM;CAI3B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,SAAS;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,yBAA0B,SAAQ,SAAS;;CAKvD"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,oBAAoB,GACpB,wBAAwB,GACxB,uBAAuB,GACvB,6BAA6B,CAAC;AAElC,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;gBAEjB,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKzE;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,YAAa,SAAQ,KAAK;IACrC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,mBAAmB;CAQjF;AAED,qBAAa,sBAAuB,SAAQ,SAAS;gBACvC,YAAY,SAAiB;CAI1C;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,+BAAyB,CAAC;AAEzD,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,MAAM,EAAE,MAAM;CAI3B;AAED,qBAAa,mBAAoB,SAAQ,SAAS;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,kBAAmB,SAAQ,SAAS;gBACnC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,4BAA6B,SAAQ,SAAS;gBAC7C,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAED,qBAAa,yBAA0B,SAAQ,SAAS;;CAKvD"}
@@ -20,12 +20,18 @@ export class MesaApiError extends Error {
20
20
  this.status = status;
21
21
  }
22
22
  }
23
- export class MissingApiKeyError extends MesaError {
24
- constructor(envVar) {
25
- super('MISSING_API_KEY', `Missing API key. Pass \`apiKey\` or set \`${envVar}\` in your environment.`);
26
- this.name = 'MissingApiKeyError';
23
+ export class MissingCredentialError extends MesaError {
24
+ constructor(apiKeyEnvVar = 'MESA_API_KEY') {
25
+ super('MISSING_CREDENTIAL', `Missing API key. Pass \`apiKey\` or set \`${apiKeyEnvVar}\` in your environment.`);
26
+ this.name = 'MissingCredentialError';
27
27
  }
28
28
  }
29
+ /**
30
+ * @deprecated Renamed to {@link MissingCredentialError}. This alias points at the
31
+ * same class, so `instanceof MissingApiKeyError` and `instanceof MissingCredentialError`
32
+ * are interchangeable. Prefer `MissingCredentialError`.
33
+ */
34
+ export const MissingApiKeyError = MissingCredentialError;
29
35
  export class InvalidApiUrlError extends MesaError {
30
36
  constructor(apiUrl) {
31
37
  super('INVALID_API_URL', `Invalid API URL: ${apiUrl}`);
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,IAAI,CAAgB;IAE7B,YAAY,IAAmB,EAAE,OAAe,EAAE,OAAsB;QACtE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAWD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAW;IACf,IAAI,CAAU;IACd,OAAO,CAAW;IAClB,MAAM,CAAU;IAEzB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAuB;QAC9E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,MAAc;QACxB,KAAK,CAAC,iBAAiB,EAAE,6CAA6C,MAAM,yBAAyB,CAAC,CAAC;QACvG,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,MAAc;QACxB,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IACzD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,6BAA6B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IACtD;QACE,KAAK,CAAC,wBAAwB,EAAE,uEAAuE,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,SAAU,SAAQ,KAAK;IACzB,IAAI,CAAgB;IAE7B,YAAY,IAAmB,EAAE,OAAe,EAAE,OAAsB;QACtE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF;AAWD,MAAM,OAAO,YAAa,SAAQ,KAAK;IAC5B,IAAI,CAAW;IACf,IAAI,CAAU;IACd,OAAO,CAAW;IAClB,MAAM,CAAU;IAEzB,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAuB;QAC9E,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;CACF;AAED,MAAM,OAAO,sBAAuB,SAAQ,SAAS;IACnD,YAAY,YAAY,GAAG,cAAc;QACvC,KAAK,CAAC,oBAAoB,EAAE,6CAA6C,YAAY,yBAAyB,CAAC,CAAC;QAChH,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,MAAc;QACxB,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,MAAM,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,OAAe;QACzB,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,SAAS;IAC/C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,uBAAuB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,SAAS;IACzD,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,6BAA6B,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,SAAS;IACtD;QACE,KAAK,CAAC,wBAAwB,EAAE,uEAAuE,CAAC,CAAC;QACzG,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF"}
package/dist/mesa.d.ts CHANGED
@@ -2,6 +2,11 @@ import type { WhoamiResponse } from '@mesadev/rest';
2
2
  import { type ApiResources } from './api/resources.js';
3
3
  import { MesaFileSystem, type RepoConfig, type TelemetryConfig } from './fs/mesa-file-system.js';
4
4
  export interface MesaOptions {
5
+ /**
6
+ * Long-lived API key (`mesa_...`). The client signs short-lived access tokens
7
+ * locally (no network round-trip) for filesystem mounts and requests. Required
8
+ * unless `MESA_API_KEY` is set in the environment.
9
+ */
5
10
  apiKey?: string;
6
11
  apiUrl?: string;
7
12
  vcsUrl?: string;
@@ -19,12 +24,21 @@ export interface FsMountOptions {
19
24
  };
20
25
  };
21
26
  telemetry?: TelemetryConfig;
27
+ /**
28
+ * Lifetime of the mount, in seconds. The mount mints a single access token
29
+ * with this TTL and uses it for its whole lifetime; there is no refresh, so
30
+ * once the token expires the mount fails closed with auth errors. Capped at
31
+ * 24h (86400) by the signer. Defaults to {@link ACCESS_TOKEN_DEFAULT_TTL_SECONDS}.
32
+ */
33
+ ttl?: number;
22
34
  }
23
35
  export declare class Mesa {
36
+ /** The API key this client was constructed with. */
24
37
  readonly apiKey: string;
25
38
  readonly apiUrl: string;
26
39
  readonly vcsUrl: string;
27
40
  readonly org: ApiResources['org'];
41
+ readonly tokens: ApiResources['tokens'];
28
42
  readonly apiKeys: ApiResources['apiKeys'];
29
43
  readonly repos: ApiResources['repos'];
30
44
  readonly content: ApiResources['content'];
@@ -36,15 +50,28 @@ export declare class Mesa {
36
50
  readonly fs: {
37
51
  mount: (options: FsMountOptions) => Promise<MesaFileSystem>;
38
52
  };
53
+ private readonly credential;
39
54
  private readonly restClient;
40
55
  private readonly orgResolutionPromise;
41
56
  private readonly whoAmIResolutionPromise;
42
57
  private cachedOrgSlug;
43
58
  private cachedWhoAmI;
59
+ private cachedKeyId;
60
+ private keyIdResolutionPromise;
44
61
  constructor(options?: MesaOptions);
62
+ private createFs;
45
63
  resolveOrg(org?: string): Promise<string>;
46
64
  whoami(): Promise<WhoamiResponse>;
47
65
  private fetchWhoAmI;
66
+ /**
67
+ * Resolve and cache this client's API key id, needed to build the access
68
+ * token `kid` header. Sourced from GET /whoami, which returns the id of the
69
+ * key the request authenticated with. Lazily fetched and cached for the life
70
+ * of the client.
71
+ */
72
+ private resolveKeyId;
73
+ /** Sign an access token locally from the raw API key this client holds. */
74
+ private signToken;
48
75
  private resolveOrgFromWhoAmI;
49
76
  }
50
77
  //# sourceMappingURL=mesa.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mesa.d.ts","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAE3E,OAAO,EACL,cAAc,EAEd,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAwClC,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;CAC7B;AAED,qBAAa,IAAI;IACf,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE;QACX,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;KAC7D,CAAC;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiC;IACzE,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA+B;gBAEvC,OAAO,GAAE,WAAgB;IA8E/B,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzC,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;YAazB,WAAW;YAOX,oBAAoB;CAWnC"}
1
+ {"version":3,"file":"mesa.d.ts","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,OAAO,EACL,KAAK,YAAY,EAIlB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAEd,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAoDlC,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE;QACN,SAAS,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KACrD,CAAC;IACF,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,IAAI;IACf,oDAAoD;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IAC9C,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACxD,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,EAAE;QACX,KAAK,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,cAAc,CAAC,CAAC;KAC7D,CAAC;IAEF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAiC;IACzE,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,sBAAsB,CAAgC;gBAElD,OAAO,GAAE,WAAgB;IAsErC,OAAO,CAAC,QAAQ;IAaV,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAYzC,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC;YAazB,WAAW;IAUzB;;;;;OAKG;YACW,YAAY;IAyB1B,2EAA2E;YAC7D,SAAS;YAkBT,oBAAoB;CAWnC"}
package/dist/mesa.js CHANGED
@@ -1,16 +1,23 @@
1
+ import { ACCESS_TOKEN_DEFAULT_TTL_SECONDS, signAccessToken } from './api/access-token.js';
1
2
  import { createRestClient } from './api/client.js';
2
- import { createApiResources } from './api/resources.js';
3
- import { trackMintedKey } from './fs/key-cleanup.js';
3
+ import { createApiResources, } from './api/resources.js';
4
4
  import { MesaFileSystem, } from './fs/mesa-file-system.js';
5
- import { InvalidApiUrlError, InvalidOptionsError, MissingApiKeyError, OrgResolutionError } from './lib/errors.js';
5
+ import { InvalidApiUrlError, InvalidOptionsError, MissingCredentialError, OrgResolutionError } from './lib/errors.js';
6
6
  const DEFAULT_API_URL = 'https://api.mesa.dev/v1';
7
7
  const DEFAULT_VCS_URL = 'https://vcs.mesa.dev';
8
8
  const API_KEY_ENV_VAR = 'MESA_API_KEY';
9
- function getEnvApiKey() {
9
+ /**
10
+ * Default requested scopes when a caller does not specify any (used both for
11
+ * `tokens.create` and for filesystem mounts). The server clamps these to the
12
+ * key's actual scopes at verify time, so requesting the full set just means "as
13
+ * much as this key allows"; per-repo read-only is enforced client-side.
14
+ */
15
+ const DEFAULT_TOKEN_SCOPES = ['read', 'write'];
16
+ function getEnvVar(name) {
10
17
  if (typeof process === 'undefined') {
11
18
  return undefined;
12
19
  }
13
- return process.env[API_KEY_ENV_VAR]?.trim();
20
+ return process.env[name]?.trim();
14
21
  }
15
22
  function normalizeUrl(input) {
16
23
  let parsed;
@@ -26,18 +33,25 @@ function normalizeUrl(input) {
26
33
  parsed.pathname = parsed.pathname.replace(/\/+$/, '') || '/';
27
34
  return parsed.toString().replace(/\/$/, '');
28
35
  }
29
- function resolveApiKey(input) {
30
- const apiKey = input?.trim() || getEnvApiKey();
31
- if (!apiKey) {
32
- throw new MissingApiKeyError(API_KEY_ENV_VAR);
36
+ /**
37
+ * Resolve the client's API key from explicit options or the environment. The
38
+ * SDK client is always constructed from an API key — it signs the short-lived
39
+ * access tokens that mounts and requests run on.
40
+ */
41
+ function resolveApiKey(options) {
42
+ const apiKey = options.apiKey?.trim() || getEnvVar(API_KEY_ENV_VAR);
43
+ if (apiKey) {
44
+ return apiKey;
33
45
  }
34
- return apiKey;
46
+ throw new MissingCredentialError(API_KEY_ENV_VAR);
35
47
  }
36
48
  export class Mesa {
49
+ /** The API key this client was constructed with. */
37
50
  apiKey;
38
51
  apiUrl;
39
52
  vcsUrl;
40
53
  org;
54
+ tokens;
41
55
  apiKeys;
42
56
  repos;
43
57
  content;
@@ -47,17 +61,21 @@ export class Mesa {
47
61
  webhookTargets;
48
62
  webhooks;
49
63
  fs;
64
+ credential;
50
65
  restClient;
51
66
  orgResolutionPromise;
52
67
  whoAmIResolutionPromise;
53
68
  cachedOrgSlug = null;
54
69
  cachedWhoAmI = null;
70
+ cachedKeyId = null;
71
+ keyIdResolutionPromise = null;
55
72
  constructor(options = {}) {
56
- this.apiKey = resolveApiKey(options.apiKey);
73
+ this.apiKey = resolveApiKey(options);
74
+ this.credential = this.apiKey;
57
75
  this.apiUrl = normalizeUrl(options.apiUrl?.trim() || DEFAULT_API_URL);
58
76
  this.vcsUrl = normalizeUrl(options.vcsUrl?.trim() || DEFAULT_VCS_URL);
59
77
  this.restClient = createRestClient({
60
- apiKey: this.apiKey,
78
+ credential: this.credential,
61
79
  apiUrl: this.apiUrl,
62
80
  fetch: options.fetch,
63
81
  userAgent: options.userAgent,
@@ -78,8 +96,10 @@ export class Mesa {
78
96
  restClient: this.restClient,
79
97
  resolveOrg: (org) => this.resolveOrg(org),
80
98
  webhookSecret: options.webhookSecret,
99
+ signToken: (input) => this.signToken(input),
81
100
  });
82
101
  this.org = resources.org;
102
+ this.tokens = resources.tokens;
83
103
  this.apiKeys = resources.apiKeys;
84
104
  this.repos = resources.repos;
85
105
  this.content = resources.content;
@@ -94,31 +114,35 @@ export class Mesa {
94
114
  throw new InvalidOptionsError('mesa.fs.mount() requires at least one repo');
95
115
  }
96
116
  const org = await this.resolveOrg();
97
- // Resolve repo slugs UUIDs for token scoping
98
- const repoIds = await Promise.all(fsOptions.repos.map(async (r) => {
99
- const repo = await this.repos.get({ repo: r.name });
100
- return repo.id;
101
- }));
102
- const { id, key } = await this.apiKeys.create({
103
- name: `mesa-${Date.now()}`,
104
- scopes: ['read', 'write'],
105
- repo_ids: repoIds,
106
- });
107
- const config = {
117
+ // Scope the token to the mounted repos as full `org/repo` names. The
118
+ // server resolves names ids at verify time, so no network call is
119
+ // needed to resolve ids here.
120
+ const repos = fsOptions.repos.map((r) => `${org}/${r.name}`);
121
+ // Mint a single access token for the mount's whole lifetime. There is no
122
+ // refresh and no credential hot-swap: when the token expires, the mount
123
+ // expires with it.
124
+ const { token } = await this.tokens.create({
108
125
  org,
109
- apiKey: key,
110
- repos: fsOptions.repos,
111
- cache: fsOptions.cache,
112
- apiBaseUrl: this.apiUrl,
113
- vcsUrl: this.vcsUrl,
114
- telemetry: fsOptions.telemetry,
115
- };
116
- const fs = MesaFileSystem.create(config);
117
- trackMintedKey(fs, id, (input) => this.apiKeys.revoke(input));
118
- return fs;
126
+ scopes: DEFAULT_TOKEN_SCOPES,
127
+ repos,
128
+ ttl_seconds: fsOptions.ttl ?? ACCESS_TOKEN_DEFAULT_TTL_SECONDS,
129
+ });
130
+ return this.createFs(org, fsOptions, token);
119
131
  },
120
132
  };
121
133
  }
134
+ createFs(org, fsOptions, credential) {
135
+ const config = {
136
+ org,
137
+ credential,
138
+ repos: fsOptions.repos,
139
+ cache: fsOptions.cache,
140
+ apiBaseUrl: this.apiUrl,
141
+ vcsUrl: this.vcsUrl,
142
+ telemetry: fsOptions.telemetry,
143
+ };
144
+ return MesaFileSystem.create(config);
145
+ }
122
146
  async resolveOrg(org) {
123
147
  if (org?.trim()) {
124
148
  return org;
@@ -144,15 +168,63 @@ export class Mesa {
144
168
  const whoami = await this.restClient.whoami();
145
169
  this.cachedWhoAmI = whoami;
146
170
  this.cachedOrgSlug = whoami.org.slug;
171
+ if (whoami.key_id) {
172
+ this.cachedKeyId = whoami.key_id;
173
+ }
147
174
  return whoami;
148
175
  }
176
+ /**
177
+ * Resolve and cache this client's API key id, needed to build the access
178
+ * token `kid` header. Sourced from GET /whoami, which returns the id of the
179
+ * key the request authenticated with. Lazily fetched and cached for the life
180
+ * of the client.
181
+ */
182
+ async resolveKeyId() {
183
+ if (this.cachedKeyId) {
184
+ return this.cachedKeyId;
185
+ }
186
+ // Dedupe concurrent signs: without this, each in-flight call would kick off
187
+ // its own /whoami. Reuse the constructor's whoami when present (no explicit
188
+ // org), otherwise share a single lazy fetch across all callers.
189
+ this.keyIdResolutionPromise ??= (this.whoAmIResolutionPromise ?? this.fetchWhoAmI())
190
+ .then((whoami) => {
191
+ if (!whoami.key_id) {
192
+ throw new OrgResolutionError('Unable to resolve API key id from /whoami; cannot sign access tokens.');
193
+ }
194
+ this.cachedKeyId = whoami.key_id;
195
+ return whoami.key_id;
196
+ })
197
+ .catch((error) => {
198
+ // Allow a later sign to retry rather than caching the failure forever.
199
+ this.keyIdResolutionPromise = null;
200
+ throw error;
201
+ });
202
+ return this.keyIdResolutionPromise;
203
+ }
204
+ /** Sign an access token locally from the raw API key this client holds. */
205
+ async signToken(input) {
206
+ const keyId = await this.resolveKeyId();
207
+ const signed = signAccessToken({
208
+ apiKeyId: keyId,
209
+ rawApiKey: this.apiKey,
210
+ scopes: input.scopes ?? [...DEFAULT_TOKEN_SCOPES],
211
+ repos: input.repos ?? null,
212
+ ttlSeconds: input.ttl_seconds,
213
+ });
214
+ return {
215
+ token: signed.token,
216
+ expires_at: signed.expiresAt,
217
+ scopes: signed.scopes,
218
+ repos: signed.repos,
219
+ };
220
+ }
149
221
  async resolveOrgFromWhoAmI(whoAmIPromise) {
150
222
  try {
151
223
  const whoami = await whoAmIPromise;
152
224
  return whoami.org.slug;
153
225
  }
154
226
  catch (error) {
155
- throw new OrgResolutionError('Unable to resolve default organization from /whoami. Provide `org` per call or verify your API key scopes.', { cause: error });
227
+ throw new OrgResolutionError('Unable to resolve default organization from /whoami. Provide `org` per call or verify your credential scopes.', { cause: error });
156
228
  }
157
229
  }
158
230
  }
package/dist/mesa.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mesa.js","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mesa.js","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mesadev/sdk",
3
- "version": "0.35.0",
3
+ "version": "0.36.0",
4
4
  "description": "Official Mesa TypeScript SDK",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -25,8 +25,8 @@
25
25
  "node": ">=18"
26
26
  },
27
27
  "dependencies": {
28
- "@mesadev/mesafs-napi": "0.35.0",
29
- "@mesadev/rest": "0.35.0",
28
+ "@mesadev/mesafs-napi": "0.36.0",
29
+ "@mesadev/rest": "0.36.0",
30
30
  "just-bash": "^2.13.0",
31
31
  "zod": "^4.3.6"
32
32
  },
@@ -1,7 +0,0 @@
1
- type RevokeKey = (input: {
2
- id: string;
3
- }) => Promise<unknown>;
4
- export declare function trackMintedKey(fsInstance: object, id: string, revoke: RevokeKey): void;
5
- export declare function revokeAllActiveKeys(): Promise<void>;
6
- export {};
7
- //# sourceMappingURL=key-cleanup.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-cleanup.d.ts","sourceRoot":"","sources":["../../src/fs/key-cleanup.ts"],"names":[],"mappings":"AAqBA,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAsB7D,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAItF;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIzD"}
@@ -1,70 +0,0 @@
1
- // Automatic lifecycle management for API keys minted by mesa.fs.mount().
2
- //
3
- // Each Mesa filesystem instance gets a scoped API key. These keys persist server-side
4
- // until explicitly revoked, so we need to clean them up when they're no longer
5
- // needed. Three cleanup paths, in order of likelihood:
6
- //
7
- // 1. Process exit (SIGINT/SIGTERM/beforeExit) — revokes all outstanding keys.
8
- // This is the primary path. Handles Ctrl+C, container shutdown, and natural
9
- // event loop drain.
10
- //
11
- // 2. FinalizationRegistry — when a Mesa filesystem instance is garbage collected, its
12
- // key is revoked. This handles long-running processes that create and discard
13
- // many FS instances. GC timing is non-deterministic, so this is best-effort.
14
- //
15
- // 3. If all else fails (e.g. process.kill(pid, 'SIGKILL')), keys leak. The
16
- // server-side TTL or manual cleanup via mesa.apiKeys.revoke() covers this.
17
- //
18
- // The registry stores only the key id (a string primitive) as the weak callback
19
- // value — not the KeyHandle itself. This avoids preventing GC of the Mesa filesystem
20
- // instance via a reference chain through the revoke closure.
21
- // Maps key id → handle. Used by both the FinalizationRegistry callback and
22
- // the process shutdown path to find keys that still need revocation.
23
- const activeKeys = new Map();
24
- // The registry weak-references Mesa filesystem instances. When one is GC'd, the
25
- // callback receives its key id, looks up the handle, and fires revocation.
26
- // If the key was already revoked (e.g. by process shutdown), the lookup
27
- // returns nothing and it's a no-op.
28
- const registry = new FinalizationRegistry((id) => {
29
- const handle = activeKeys.get(id);
30
- if (!handle)
31
- return;
32
- activeKeys.delete(id);
33
- handle.revoke({ id }).catch(() => { });
34
- });
35
- export function trackMintedKey(fsInstance, id, revoke) {
36
- const handle = { id, revoke };
37
- activeKeys.set(id, handle);
38
- registry.register(fsInstance, id);
39
- }
40
- export async function revokeAllActiveKeys() {
41
- const handles = [...activeKeys.values()];
42
- activeKeys.clear();
43
- await Promise.allSettled(handles.map((h) => h.revoke({ id: h.id })));
44
- }
45
- function installProcessHandlers() {
46
- if (typeof process === 'undefined' || typeof process.on !== 'function')
47
- return;
48
- // Guard against double-revocation if multiple signals fire (e.g. SIGINT
49
- // followed by beforeExit during the same shutdown sequence).
50
- let shuttingDown = false;
51
- async function shutdown() {
52
- if (shuttingDown)
53
- return;
54
- shuttingDown = true;
55
- await revokeAllActiveKeys();
56
- }
57
- // beforeExit fires when the event loop drains naturally. Node re-emits it
58
- // after async work completes, so awaiting the revocations is safe here.
59
- process.on('beforeExit', shutdown);
60
- // SIGINT (Ctrl+C) and SIGTERM (kill, container stop) don't fire beforeExit,
61
- // so we handle them explicitly. After revocation, we re-exit so the process
62
- // doesn't hang.
63
- for (const signal of ['SIGINT', 'SIGTERM']) {
64
- process.on(signal, () => {
65
- shutdown().finally(() => process.exit());
66
- });
67
- }
68
- }
69
- installProcessHandlers();
70
- //# sourceMappingURL=key-cleanup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-cleanup.js","sourceRoot":"","sources":["../../src/fs/key-cleanup.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,EAAE;AACF,sFAAsF;AACtF,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,uBAAuB;AACvB,EAAE;AACF,sFAAsF;AACtF,iFAAiF;AACjF,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,qFAAqF;AACrF,6DAA6D;AAS7D,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;AAEhD,gFAAgF;AAChF,2EAA2E;AAC3E,wEAAwE;AACxE,oCAAoC;AACpC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAS,CAAC,EAAE,EAAE,EAAE;IACvD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,cAAc,CAAC,UAAkB,EAAE,EAAU,EAAE,MAAiB;IAC9E,MAAM,MAAM,GAAc,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IACzC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,OAAO,GAAG,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,UAAU,CAAC,KAAK,EAAE,CAAC;IACnB,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,SAAS,sBAAsB;IAC7B,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,OAAO,CAAC,EAAE,KAAK,UAAU;QAAE,OAAO;IAE/E,wEAAwE;IACxE,6DAA6D;IAC7D,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,UAAU,QAAQ;QACrB,IAAI,YAAY;YAAE,OAAO;QACzB,YAAY,GAAG,IAAI,CAAC;QACpB,MAAM,mBAAmB,EAAE,CAAC;IAC9B,CAAC;IAED,0EAA0E;IAC1E,wEAAwE;IACxE,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAEnC,4EAA4E;IAC5E,4EAA4E;IAC5E,gBAAgB;IAChB,KAAK,MAAM,MAAM,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAU,EAAE,CAAC;QACpD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACtB,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,sBAAsB,EAAE,CAAC"}