@mesadev/sdk 0.44.1 → 0.46.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.
Files changed (54) hide show
  1. package/README.md +28 -17
  2. package/dist/api/access-token.d.ts +6 -47
  3. package/dist/api/access-token.d.ts.map +1 -1
  4. package/dist/api/access-token.js +6 -83
  5. package/dist/api/access-token.js.map +1 -1
  6. package/dist/api/client.d.ts +1 -1
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/index.d.ts +1 -1
  9. package/dist/api/index.d.ts.map +1 -1
  10. package/dist/api/index.js +1 -1
  11. package/dist/api/index.js.map +1 -1
  12. package/dist/api/repo-tag-filter.d.ts +7 -6
  13. package/dist/api/repo-tag-filter.d.ts.map +1 -1
  14. package/dist/api/resources.d.ts +54 -124
  15. package/dist/api/resources.d.ts.map +1 -1
  16. package/dist/api/resources.js +50 -80
  17. package/dist/api/resources.js.map +1 -1
  18. package/dist/fs/index.d.ts +1 -1
  19. package/dist/fs/index.d.ts.map +1 -1
  20. package/dist/fs/index.js.map +1 -1
  21. package/dist/fs/layout.d.ts +43 -10
  22. package/dist/fs/layout.d.ts.map +1 -1
  23. package/dist/fs/layout.js +49 -5
  24. package/dist/fs/layout.js.map +1 -1
  25. package/dist/fs/mesa-file-system.d.ts +23 -14
  26. package/dist/fs/mesa-file-system.d.ts.map +1 -1
  27. package/dist/fs/mesa-file-system.js +16 -6
  28. package/dist/fs/mesa-file-system.js.map +1 -1
  29. package/dist/fs/native-loader.d.ts +37 -8
  30. package/dist/fs/native-loader.d.ts.map +1 -1
  31. package/dist/fs/native-loader.js +1 -1
  32. package/dist/fs/native-loader.js.map +1 -1
  33. package/dist/index.d.ts +3 -3
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/lib/errors.d.ts +2 -8
  37. package/dist/lib/errors.d.ts.map +1 -1
  38. package/dist/lib/errors.js +1 -10
  39. package/dist/lib/errors.js.map +1 -1
  40. package/dist/mesa.d.ts +27 -85
  41. package/dist/mesa.d.ts.map +1 -1
  42. package/dist/mesa.js +58 -232
  43. package/dist/mesa.js.map +1 -1
  44. package/dist/version.d.ts +1 -1
  45. package/dist/version.js +1 -1
  46. package/dist/webhooks/index.d.ts +1 -1
  47. package/dist/webhooks/index.d.ts.map +1 -1
  48. package/dist/webhooks/index.js +1 -1
  49. package/dist/webhooks/index.js.map +1 -1
  50. package/dist/webhooks/schemas.d.ts +0 -125
  51. package/dist/webhooks/schemas.d.ts.map +1 -1
  52. package/dist/webhooks/schemas.js +4 -4
  53. package/dist/webhooks/schemas.js.map +1 -1
  54. package/package.json +6 -6
package/README.md CHANGED
@@ -18,22 +18,15 @@ bun add @mesadev/sdk
18
18
  import { Mesa } from '@mesadev/sdk';
19
19
 
20
20
  const mesa = new Mesa({
21
- apiKey: process.env.MESA_API_KEY,
21
+ privateKey: process.env.MESA_PRIVATE_KEY,
22
22
  });
23
23
 
24
- // Uses org inferred from /whoami
24
+ // The organization comes from the key, so there is nothing to pass.
25
25
  const repo = await mesa.repos.create({ name: 'my-repo' });
26
26
 
27
- // Optional constructor org bypasses /whoami default-org resolution
28
- const mesaWithOrg = new Mesa({
29
- apiKey: process.env.MESA_API_KEY,
30
- org: 'acme',
31
- });
32
-
33
- await mesaWithOrg.repos.list();
34
-
35
- // Per-call org override
36
- await mesa.repos.list({ org: 'other-org' });
27
+ // Somewhere you trust less, use a short-lived token instead of the key.
28
+ const scoped = new Mesa({ auth: { accessToken } });
29
+ await scoped.repos.list();
37
30
 
38
31
  console.log(repo.name);
39
32
  ```
@@ -44,14 +37,32 @@ This package exposes org-inferred REST resources under `mesa.*`.
44
37
 
45
38
  `Mesa` accepts:
46
39
 
47
- - `apiKey?: string` (falls back to `MESA_API_KEY` in Node)
40
+ - `privateKey?: string` (falls back to `MESA_PRIVATE_KEY` in Node)
41
+ - `auth?: { privateKey } | { accessToken }`
48
42
  - `apiUrl?: string` (defaults to `https://api.mesa.dev/v1`)
49
- - `vcsUrl?: string` (optional VCS gateway override; only use when self-hosting Mesa)
50
- - `org?: string` (optional default org; bypasses `/whoami` resolution)
51
43
  - `fetch?: typeof fetch`
52
44
  - `userAgent?: string`
53
45
  - `webhookSecret?: string` (used by `mesa.webhooks.receive(...)`)
54
46
 
47
+ Pass exactly one of `privateKey` or `auth`. When neither is present, the SDK reads `MESA_PRIVATE_KEY` in Node. Private keys and access tokens already name the organization they belong to, so the client picks it up from the credential.
48
+
49
+ The TypeScript SDK does not accept API keys as client credentials and does not read `MESA_API_KEY`. API keys remain supported by the Mesa CLI and direct backend interfaces.
50
+
51
+ ### Scoped access tokens
52
+
53
+ Mint a token in your trusted process and hand only that token to the sandbox or job that needs it:
54
+
55
+ ```ts
56
+ const { token } = await mesa.tokens.create({
57
+ authors: [{ name: 'Mesa Bot', email: 'mesa-bot@example.com' }],
58
+ scopes: ['read', 'write'],
59
+ repos: ['acme/agent-workspace'],
60
+ ttl_seconds: 60 * 60, // 1 hour
61
+ });
62
+ ```
63
+
64
+ A token signed by a private key lasts 15 minutes by default and can be given up to 4 hours. A client built from an access token cannot mint another token.
65
+
55
66
  ## Webhook Handlers
56
67
 
57
68
  Register typed handlers with `mesa.webhooks.on(...)` and pass the incoming
@@ -63,7 +74,7 @@ import { Hono } from 'hono';
63
74
  import { Mesa } from '@mesadev/sdk';
64
75
 
65
76
  const mesa = new Mesa({
66
- apiKey: process.env.MESA_API_KEY,
77
+ privateKey: process.env.MESA_PRIVATE_KEY,
67
78
  webhookSecret: process.env.MESA_WEBHOOK_SECRET,
68
79
  });
69
80
 
@@ -93,5 +104,5 @@ Use `@mesadev/rest` directly, or call the API with your own HTTP client, when yo
93
104
  If you previously used the older generated `@mesadev/sdk` package:
94
105
 
95
106
  - use `apiUrl` instead of `serverURL`
96
- - rely on default org inference from `/whoami` or pass `org` per call
107
+ - use the organization encoded in the private key or access token
97
108
  - use resource namespaces (`mesa.repos`, `mesa.changes`, etc.); install `@mesadev/rest` directly when you need generated REST operations
@@ -1,34 +1,17 @@
1
1
  /**
2
- * Local access-token signing for API keys and Ed25519 signing private keys.
3
- * Both formats are produced entirely offline with no network round trip.
2
+ * Local access-token signing for Ed25519 signing private keys. Tokens are
3
+ * produced entirely offline with no network round trip.
4
4
  *
5
5
  * This is the SDK-side counterpart to the server implementations in
6
- * `packages/core/src/auth/access-token-legacy.ts` and
7
- * `packages/core/src/auth/signing-key-access-token.ts`. Their wire contracts
8
- * live in `context/auth/legacy-access-token-protocol.md` and
9
- * `context/auth/signing-key-access-token-protocol.md`. JSON key order does not
10
- * affect verification; each implementation may emit claims in any order.
11
- *
12
- * Secret derivation:
13
- * secret = base64url_nopad(SHA-256(utf8(raw_api_key)))
14
- * This is byte-identical to the value stored in the server's `apikey.key`
15
- * column. The HMAC key is the UTF-8 bytes of this base64url string.
16
- *
17
- * Legacy HS256 tokens carry no org or user info. The server derives both from
18
- * the API key row at verification time and clamps the requested scopes/repos
19
- * to the key's current permissions. New callers should use canonical
20
- * `repo_ids`; the backward-compatible `repos` claim carries full `org/repo`
21
- * names.
6
+ * `packages/core/src/auth/signing-key-access-token.ts`. The wire contract lives
7
+ * in `context/auth/signing-key-access-token-protocol.md`. JSON key order does
8
+ * not affect verification.
22
9
  *
23
10
  * Implemented with `node:crypto` only so the published SDK retains Node 18
24
11
  * support without adding a JWT dependency.
25
12
  */
26
13
  import { z } from 'zod';
27
14
  import type { PrivateKeyCredential } from './signing-key.js';
28
- /** Default token lifetime when the caller does not request one. */
29
- export declare const ACCESS_TOKEN_DEFAULT_TTL_SECONDS: number;
30
- /** Hard cap on token lifetime; the server rejects anything longer at verify time. */
31
- export declare const ACCESS_TOKEN_MAX_TTL_SECONDS: number;
32
15
  declare const signingKeyAuthorSchema: z.ZodObject<{
33
16
  name: z.ZodString;
34
17
  email: z.ZodPipe<z.ZodDefault<z.ZodNullable<z.ZodString>>, z.ZodTransform<string | null, string | null>>;
@@ -48,18 +31,7 @@ export type RepositoryIdRestriction<NameField extends string = 'repos', IdField
48
31
  export type RepositoryRestriction<NameField extends string = 'repos', IdField extends string = 'repoIds'> = RepositoryNameRestriction<NameField, IdField> | RepositoryIdRestriction<NameField, IdField>;
49
32
  export type OptionalRepositoryRestriction<NameField extends string, IdField extends string> = Partial<RepositoryNameRestriction<NameField, IdField>> | RepositoryIdRestriction<NameField, IdField>;
50
33
  export type ApiRepositoryRestriction = OptionalRepositoryRestriction<'repos', 'repo_ids'>;
51
- export type SignAccessTokenInput = RepositoryRestriction & {
52
- /** The API key ID that signs this token; encoded into the `kid` header. */
53
- apiKeyId: string;
54
- /** The raw API key (`mesa_...`) the client holds; the signing secret is derived from it. */
55
- rawApiKey: string;
56
- /** Requested scopes; clamped to the key's current scopes at verify time. */
57
- scopes: string[];
58
- /** Repository restrictions are supplied by the mutually exclusive `repos` or `repoIds` fields. */
59
- /** Token lifetime in seconds. Defaults to {@link ACCESS_TOKEN_DEFAULT_TTL_SECONDS}. */
60
- ttlSeconds?: number;
61
- };
62
- export type SignedAccessToken = {
34
+ type SignedAccessToken = {
63
35
  token: string;
64
36
  /** Exact expiry as an ISO 8601 string. */
65
37
  expiresAt: string;
@@ -83,19 +55,6 @@ type SignPrivateKeyAccessTokenInput = OptionalRepositoryRestriction<'repos', 're
83
55
  export declare function toSignerRepositoryRestriction(input: ApiRepositoryRestriction): RepositoryRestriction;
84
56
  /** Convert signer metadata back to the public snake-case token fields. */
85
57
  export declare function toApiRepositoryRestriction(input: Pick<SignedAccessToken, 'repos' | 'repoIds'>): RepositoryRestriction<'repos', 'repo_ids'>;
86
- /**
87
- * Derive the HMAC signing secret from a raw API key. Byte-identical to the
88
- * value stored in the server's `apikey.key` column. The HMAC key is the UTF-8
89
- * bytes of the returned base64url-nopad string.
90
- */
91
- export declare function deriveAccessTokenSigningSecret(rawApiKey: string): string;
92
- /**
93
- * Sign an access token with HS256 entirely client-side. The `iss` claim is the
94
- * minting API key id (mirrors the `kid` header). JSON key order is not
95
- * semantically meaningful because the server verifies the signature, not a byte-exact
96
- * string.
97
- */
98
- export declare function signAccessToken(input: SignAccessTokenInput): SignedAccessToken;
99
58
  /** Sign the minimal Ed25519 access-token contract accepted by the server. */
100
59
  export declare function signPrivateKeyAccessToken(input: SignPrivateKeyAccessTokenInput): SignedAccessToken;
101
60
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../src/api/access-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-token.d.ts","sourceRoot":"","sources":["../../src/api/access-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAgB7D,QAAA,MAAM,sBAAsB;;;iBAiB1B,CAAC;AASH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,qBAAqB,EAAE,GACxC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,sBAAsB,CAAC,EAAE,CAAC,CASlG;AAiCD,MAAM,MAAM,yBAAyB,CAAC,SAAS,SAAS,MAAM,GAAG,OAAO,EAAE,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI;KAC7G,GAAG,IAAI,SAAS,GAAG,MAAM,EAAE,GAAG,IAAI;CACpC,GAAG;KACD,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK;CACzB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,SAAS,SAAS,MAAM,GAAG,OAAO,EAAE,OAAO,SAAS,MAAM,GAAG,SAAS,IAAI;KAC3G,GAAG,IAAI,SAAS,CAAC,CAAC,EAAE,KAAK;CAC3B,GAAG;KACD,GAAG,IAAI,OAAO,GAAG,MAAM,EAAE,GAAG,IAAI;CAClC,CAAC;AAEF,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,MAAM,GAAG,OAAO,EAAE,OAAO,SAAS,MAAM,GAAG,SAAS,IACpG,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,GAC7C,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEhD,MAAM,MAAM,6BAA6B,CAAC,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,MAAM,IACtF,OAAO,CAAC,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,GACtD,uBAAuB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,6BAA6B,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;AAE1F,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC1B,+EAA+E;IAC/E,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,KAAK,8BAA8B,GAAG,6BAA6B,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG;IACxF,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,CAAC,EAAE,SAAS,CAAC,qBAAqB,EAAE,GAAG,qBAAqB,EAAE,CAAC,CAAC;IACvE,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,4EAA4E;AAC5E,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,GAAG,qBAAqB,CAMpG;AAED,0EAA0E;AAC1E,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,OAAO,GAAG,SAAS,CAAC,GAClD,qBAAqB,CAAC,OAAO,EAAE,UAAU,CAAC,CAE5C;AAOD,6EAA6E;AAC7E,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,8BAA8B,GAAG,iBAAiB,CAoClG"}
@@ -1,29 +1,16 @@
1
1
  /**
2
- * Local access-token signing for API keys and Ed25519 signing private keys.
3
- * Both formats are produced entirely offline with no network round trip.
2
+ * Local access-token signing for Ed25519 signing private keys. Tokens are
3
+ * produced entirely offline with no network round trip.
4
4
  *
5
5
  * This is the SDK-side counterpart to the server implementations in
6
- * `packages/core/src/auth/access-token-legacy.ts` and
7
- * `packages/core/src/auth/signing-key-access-token.ts`. Their wire contracts
8
- * live in `context/auth/legacy-access-token-protocol.md` and
9
- * `context/auth/signing-key-access-token-protocol.md`. JSON key order does not
10
- * affect verification; each implementation may emit claims in any order.
11
- *
12
- * Secret derivation:
13
- * secret = base64url_nopad(SHA-256(utf8(raw_api_key)))
14
- * This is byte-identical to the value stored in the server's `apikey.key`
15
- * column. The HMAC key is the UTF-8 bytes of this base64url string.
16
- *
17
- * Legacy HS256 tokens carry no org or user info. The server derives both from
18
- * the API key row at verification time and clamps the requested scopes/repos
19
- * to the key's current permissions. New callers should use canonical
20
- * `repo_ids`; the backward-compatible `repos` claim carries full `org/repo`
21
- * names.
6
+ * `packages/core/src/auth/signing-key-access-token.ts`. The wire contract lives
7
+ * in `context/auth/signing-key-access-token-protocol.md`. JSON key order does
8
+ * not affect verification.
22
9
  *
23
10
  * Implemented with `node:crypto` only so the published SDK retains Node 18
24
11
  * support without adding a JWT dependency.
25
12
  */
26
- import { createHash, createHmac, randomUUID, sign as signEd25519 } from 'node:crypto';
13
+ import { randomUUID, sign as signEd25519 } from 'node:crypto';
27
14
  import { z } from 'zod';
28
15
  import { InvalidOptionsError } from '../lib/errors.js';
29
16
  import { looksLikePrivateKey } from './credentials.js';
@@ -33,18 +20,6 @@ import { looksLikePrivateKey } from './credentials.js';
33
20
  const ACCESS_TOKEN_AUD = 'mesa-api';
34
21
  /** JOSE `typ` header (RFC 9068 style) distinguishing access tokens. */
35
22
  const ACCESS_TOKEN_TYP = 'mesa-at+jwt';
36
- /** JWA algorithm: HMAC-SHA256, keyed by the per-key derived secret. */
37
- const ACCESS_TOKEN_ALG = 'HS256';
38
- /**
39
- * Secret-derivation version, encoded into the `kid` header as
40
- * `<api_key_id>.<version>`. Bump on the server and here together if the
41
- * derivation ever changes.
42
- */
43
- const ACCESS_TOKEN_DERIVATION_VERSION = 'v1';
44
- /** Default token lifetime when the caller does not request one. */
45
- export const ACCESS_TOKEN_DEFAULT_TTL_SECONDS = 60 * 60; // 1 hour
46
- /** Hard cap on token lifetime; the server rejects anything longer at verify time. */
47
- export const ACCESS_TOKEN_MAX_TTL_SECONDS = 24 * 60 * 60; // 24 hours
48
23
  /** Default and maximum lifetimes accepted by the signing-key verifier. */
49
24
  const SIGNING_KEY_ACCESS_TOKEN_DEFAULT_TTL_SECONDS = 15 * 60; // 15 minutes
50
25
  const SIGNING_KEY_ACCESS_TOKEN_MAX_TTL_SECONDS = 4 * 60 * 60; // 4 hours
@@ -122,62 +97,10 @@ export function toSignerRepositoryRestriction(input) {
122
97
  export function toApiRepositoryRestriction(input) {
123
98
  return input.repoIds !== undefined ? { repo_ids: input.repoIds } : { repos: input.repos ?? null };
124
99
  }
125
- /**
126
- * Derive the HMAC signing secret from a raw API key. Byte-identical to the
127
- * value stored in the server's `apikey.key` column. The HMAC key is the UTF-8
128
- * bytes of the returned base64url-nopad string.
129
- */
130
- export function deriveAccessTokenSigningSecret(rawApiKey) {
131
- return createHash('sha256').update(rawApiKey, 'utf8').digest('base64url');
132
- }
133
- /** The `kid` header: `<api_key_id>.<derivation_version>`. */
134
- function buildKid(apiKeyId) {
135
- return `${apiKeyId}.${ACCESS_TOKEN_DERIVATION_VERSION}`;
136
- }
137
100
  /** base64url-nopad encode a UTF-8 string. Node's `base64url` is already unpadded. */
138
101
  function base64UrlJson(value) {
139
102
  return Buffer.from(JSON.stringify(value), 'utf8').toString('base64url');
140
103
  }
141
- /**
142
- * Sign an access token with HS256 entirely client-side. The `iss` claim is the
143
- * minting API key id (mirrors the `kid` header). JSON key order is not
144
- * semantically meaningful because the server verifies the signature, not a byte-exact
145
- * string.
146
- */
147
- export function signAccessToken(input) {
148
- const ttlSeconds = input.ttlSeconds ?? ACCESS_TOKEN_DEFAULT_TTL_SECONDS;
149
- if (!Number.isInteger(ttlSeconds) || ttlSeconds <= 0 || ttlSeconds > ACCESS_TOKEN_MAX_TTL_SECONDS) {
150
- throw new InvalidOptionsError(`Token TTL must be an integer between 1 and ${ACCESS_TOKEN_MAX_TTL_SECONDS} seconds`);
151
- }
152
- const iat = Math.floor(Date.now() / 1000);
153
- const exp = iat + ttlSeconds;
154
- const jti = randomUUID();
155
- if (input.repos !== undefined && input.repoIds !== undefined) {
156
- throw new InvalidOptionsError('Token repos and repoIds restrictions are mutually exclusive');
157
- }
158
- const repoRestriction = input.repoIds !== undefined ? { repo_ids: input.repoIds } : { repos: input.repos ?? null };
159
- const header = { alg: ACCESS_TOKEN_ALG, typ: ACCESS_TOKEN_TYP, kid: buildKid(input.apiKeyId) };
160
- const payload = {
161
- iss: input.apiKeyId,
162
- aud: ACCESS_TOKEN_AUD,
163
- scopes: input.scopes,
164
- ...repoRestriction,
165
- iat,
166
- exp,
167
- jti,
168
- };
169
- const signingInput = `${base64UrlJson(header)}.${base64UrlJson(payload)}`;
170
- const secret = deriveAccessTokenSigningSecret(input.rawApiKey);
171
- const signature = createHmac('sha256', secret).update(signingInput, 'utf8').digest('base64url');
172
- const token = `${signingInput}.${signature}`;
173
- return {
174
- token,
175
- expiresAt: new Date(exp * 1000).toISOString(),
176
- scopes: input.scopes,
177
- ...(input.repoIds !== undefined ? { repoIds: input.repoIds } : { repos: input.repos ?? null }),
178
- jti,
179
- };
180
- }
181
104
  /** Sign the minimal Ed25519 access-token contract accepted by the server. */
182
105
  export function signPrivateKeyAccessToken(input) {
183
106
  const parsed = signingKeyTokenInputSchema.safeParse(input);
@@ -1 +1 @@
1
- {"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../src/api/access-token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-token.js","sourceRoot":"","sources":["../../src/api/access-token.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export type RestDataShape = {
11
11
  };
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
- export type RestClientConfig = {
14
+ type RestClientConfig = {
15
15
  /** Bearer credential, or a local signer that returns one for each request. */
16
16
  credential: string | (() => string);
17
17
  apiUrl: 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;AAM1G,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,8EAA8E;IAC9E,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACpC,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,EACnC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA+CrE"}
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;AAM1G,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,KAAK,gBAAgB,GAAG;IACtB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IACpC,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,EACnC,kBAAkB,CAAC,EAAE,MAAM,GAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA+CrE"}
@@ -1,3 +1,3 @@
1
- export { type ApiKeysCreateInput, type ApiKeysListInput, type ApiKeysRevokeInput, type ApiResources, type BookmarksCreateInput, type BookmarksDeleteInput, type BookmarksListInput, type ChangesCreateInput, type ChangesGetInput, type ChangesListInput, type ContentGetInput, createApiResources, type DiffsGetInput, type OrgGetInput, type ReposCreateInput, type ReposDeleteInput, type ReposGetInput, type ReposListInput, type ReposUpdateInput, type TokensCreateAuthor, type TokensCreateInput, type TokensCreateLegacyInput, type TokensCreatePrivateKeyInput, type TokensCreateResponse, type WebhookTargetsCreateInput, type WebhookTargetsDeleteInput, type WebhookTargetsListInput, type WebhookTargetsUpdateInput, } from './resources.js';
1
+ export { type TokensCreateAuthor, type TokensCreateInput, type TokensCreatePrivateKeyInput, type TokensCreateResponse, } from './resources.js';
2
2
  export { type RepoTagFilter, type RepoTagValueFilter } from './repo-tag-filter.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/api/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export { createApiResources, } from './resources.js';
1
+ export {} from './resources.js';
2
2
  export {} from './repo-tag-filter.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,kBAAkB,GAiBnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA+C,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAA+C,MAAM,sBAAsB,CAAC"}
@@ -1,4 +1,4 @@
1
- export type RepoTagEqFilter = {
1
+ type RepoTagEqFilter = {
2
2
  $eq: string;
3
3
  $in?: never;
4
4
  $contains?: never;
@@ -6,7 +6,7 @@ export type RepoTagEqFilter = {
6
6
  $ends_with?: never;
7
7
  $exists?: never;
8
8
  };
9
- export type RepoTagInFilter = {
9
+ type RepoTagInFilter = {
10
10
  $eq?: never;
11
11
  $in: string[];
12
12
  $contains?: never;
@@ -14,7 +14,7 @@ export type RepoTagInFilter = {
14
14
  $ends_with?: never;
15
15
  $exists?: never;
16
16
  };
17
- export type RepoTagContainsFilter = {
17
+ type RepoTagContainsFilter = {
18
18
  $eq?: never;
19
19
  $in?: never;
20
20
  $contains: string;
@@ -22,7 +22,7 @@ export type RepoTagContainsFilter = {
22
22
  $ends_with?: never;
23
23
  $exists?: never;
24
24
  };
25
- export type RepoTagStartsWithFilter = {
25
+ type RepoTagStartsWithFilter = {
26
26
  $eq?: never;
27
27
  $in?: never;
28
28
  $contains?: never;
@@ -30,7 +30,7 @@ export type RepoTagStartsWithFilter = {
30
30
  $ends_with?: never;
31
31
  $exists?: never;
32
32
  };
33
- export type RepoTagEndsWithFilter = {
33
+ type RepoTagEndsWithFilter = {
34
34
  $eq?: never;
35
35
  $in?: never;
36
36
  $contains?: never;
@@ -38,7 +38,7 @@ export type RepoTagEndsWithFilter = {
38
38
  $ends_with: string;
39
39
  $exists?: never;
40
40
  };
41
- export type RepoTagExistsFilter = {
41
+ type RepoTagExistsFilter = {
42
42
  $eq?: never;
43
43
  $in?: never;
44
44
  $contains?: never;
@@ -54,4 +54,5 @@ export type RepoTagFilter = {
54
54
  [tagKey: string]: RepoTagValueFilter | RepoTagFilter | RepoTagFilter[] | undefined;
55
55
  };
56
56
  export declare function serializeRepoTagsFilter(tags: RepoTagFilter | string | undefined): string | undefined;
57
+ export {};
57
58
  //# sourceMappingURL=repo-tag-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repo-tag-filter.d.ts","sourceRoot":"","sources":["../../src/api/repo-tag-filter.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,EAAE,GACR,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,CAAC;AAQxB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC;CACpF,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGpG"}
1
+ {"version":3,"file":"repo-tag-filter.d.ts","sourceRoot":"","sources":["../../src/api/repo-tag-filter.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;CACjB,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,GAAG,CAAC,EAAE,KAAK,CAAC;IACZ,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,MAAM,EAAE,GACR,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,uBAAuB,GACvB,qBAAqB,GACrB,mBAAmB,CAAC;AAQxB,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,GAAG,CAAC,EAAE,aAAa,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,CAAC,MAAM,EAAE,MAAM,GAAG,kBAAkB,GAAG,aAAa,GAAG,aAAa,EAAE,GAAG,SAAS,CAAC;CACpF,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGpG"}