@mesadev/sdk 0.43.0 → 0.44.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/access-token.d.ts +8 -0
- package/dist/api/access-token.d.ts.map +1 -1
- package/dist/api/access-token.js +37 -1
- package/dist/api/access-token.js.map +1 -1
- package/dist/api/client.d.ts +1 -1
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +2 -2
- package/dist/api/client.js.map +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/resources.d.ts +58 -11
- package/dist/api/resources.d.ts.map +1 -1
- package/dist/api/resources.js +46 -7
- package/dist/api/resources.js.map +1 -1
- package/dist/fs/index.d.ts +2 -1
- package/dist/fs/index.d.ts.map +1 -1
- package/dist/fs/index.js +1 -0
- package/dist/fs/index.js.map +1 -1
- package/dist/fs/layout.d.ts +87 -0
- package/dist/fs/layout.d.ts.map +1 -0
- package/dist/fs/layout.js +78 -0
- package/dist/fs/layout.js.map +1 -0
- package/dist/fs/mesa-file-system.d.ts +37 -1
- package/dist/fs/mesa-file-system.d.ts.map +1 -1
- package/dist/fs/mesa-file-system.js +15 -1
- package/dist/fs/mesa-file-system.js.map +1 -1
- package/dist/fs/native-loader.d.ts +7 -0
- package/dist/fs/native-loader.d.ts.map +1 -1
- package/dist/fs/native-loader.js +26 -4
- package/dist/fs/native-loader.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/mesa.d.ts +145 -16
- package/dist/mesa.d.ts.map +1 -1
- package/dist/mesa.js +182 -15
- package/dist/mesa.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +3 -3
package/dist/mesa.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { WhoamiResponse } from '@mesadev/rest';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { type ApiResources } from './api/resources.js';
|
|
3
|
+
import { type ApiResources, type FixedTokenBookmarksMergeInput, type FixedTokenChangesCreateInput, type FixedTokenChangesPatchInput, type PrivateKeyBookmarksMergeInput, type PrivateKeyChangesCreateInput, type PrivateKeyChangesPatchInput, type TokensCreateLegacyInput, type TokensCreatePrivateKeyInput, type TokensCreateResponse } from './api/resources.js';
|
|
4
|
+
import { type Layout, type LayoutSpec } from './fs/layout.js';
|
|
4
5
|
import { MesaFileSystem, type RepoConfig, type TelemetryConfig } from './fs/mesa-file-system.js';
|
|
5
6
|
declare const authSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
6
7
|
privateKey: z.ZodString;
|
|
@@ -8,15 +9,61 @@ declare const authSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
8
9
|
accessToken: z.ZodString;
|
|
9
10
|
}, z.core.$strict>]>;
|
|
10
11
|
export type MesaAuth = z.infer<typeof authSchema>;
|
|
12
|
+
type PrivateKeyAuthors = NonNullable<TokensCreatePrivateKeyInput['authors']>;
|
|
13
|
+
type PrivateKeyMesaOptions = {
|
|
14
|
+
privateKey: string;
|
|
15
|
+
} | {
|
|
16
|
+
auth: {
|
|
17
|
+
privateKey: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
type AccessTokenMesaOptions = {
|
|
21
|
+
auth: {
|
|
22
|
+
accessToken: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
type ApiKeyMesaOptions = {
|
|
26
|
+
apiKey: string;
|
|
27
|
+
};
|
|
28
|
+
type CredentialSpecific<TOptions extends MesaOptions, TPrivateKey, TAccessToken, TApiKey, TDynamic> = [
|
|
29
|
+
TOptions
|
|
30
|
+
] extends [PrivateKeyMesaOptions] ? TPrivateKey : [TOptions] extends [AccessTokenMesaOptions] ? TAccessToken : [TOptions] extends [ApiKeyMesaOptions] ? TApiKey : TDynamic;
|
|
31
|
+
type PrivateKeyTokens = {
|
|
32
|
+
create: (input: TokensCreatePrivateKeyInput) => Promise<TokensCreateResponse>;
|
|
33
|
+
};
|
|
34
|
+
type ApiKeyTokens = {
|
|
35
|
+
create: (input?: TokensCreateLegacyInput) => Promise<TokensCreateResponse>;
|
|
36
|
+
};
|
|
37
|
+
type MesaTokens<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyTokens, Omit<ApiResources['tokens'], 'create'>, ApiKeyTokens, ApiResources['tokens']>;
|
|
38
|
+
type PrivateKeyBookmarks = Omit<ApiResources['bookmarks'], 'merge'> & {
|
|
39
|
+
merge: (input: PrivateKeyBookmarksMergeInput) => ReturnType<ApiResources['bookmarks']['merge']>;
|
|
40
|
+
};
|
|
41
|
+
type FixedTokenBookmarks = Omit<ApiResources['bookmarks'], 'merge'> & {
|
|
42
|
+
merge: (input: FixedTokenBookmarksMergeInput) => ReturnType<ApiResources['bookmarks']['merge']>;
|
|
43
|
+
};
|
|
44
|
+
type DynamicBookmarks = Omit<ApiResources['bookmarks'], 'merge'> & {
|
|
45
|
+
merge: ApiResources['bookmarks']['merge'] & PrivateKeyBookmarks['merge'];
|
|
46
|
+
};
|
|
47
|
+
type MesaBookmarks<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyBookmarks, FixedTokenBookmarks, ApiResources['bookmarks'], DynamicBookmarks>;
|
|
48
|
+
type PrivateKeyChanges = Omit<ApiResources['changes'], 'create' | 'patch'> & {
|
|
49
|
+
create: (input: PrivateKeyChangesCreateInput) => ReturnType<ApiResources['changes']['create']>;
|
|
50
|
+
patch: (input: PrivateKeyChangesPatchInput) => ReturnType<ApiResources['changes']['patch']>;
|
|
51
|
+
};
|
|
52
|
+
type FixedTokenChanges = Omit<ApiResources['changes'], 'create' | 'patch'> & {
|
|
53
|
+
create: (input: FixedTokenChangesCreateInput) => ReturnType<ApiResources['changes']['create']>;
|
|
54
|
+
patch: (input: FixedTokenChangesPatchInput) => ReturnType<ApiResources['changes']['patch']>;
|
|
55
|
+
};
|
|
56
|
+
type DynamicChanges = Omit<ApiResources['changes'], 'create' | 'patch'> & {
|
|
57
|
+
create: ApiResources['changes']['create'] & PrivateKeyChanges['create'];
|
|
58
|
+
patch: ApiResources['changes']['patch'] & PrivateKeyChanges['patch'];
|
|
59
|
+
};
|
|
60
|
+
type MesaChanges<TOptions extends MesaOptions> = CredentialSpecific<TOptions, PrivateKeyChanges, FixedTokenChanges, ApiResources['changes'], DynamicChanges>;
|
|
11
61
|
export interface MesaOptions {
|
|
12
|
-
/**
|
|
13
|
-
* Long-lived API key (`mesa_...`). The client signs short-lived access tokens
|
|
14
|
-
* locally (no network round-trip) for filesystem mounts and requests.
|
|
15
|
-
*/
|
|
62
|
+
/** Long-lived API key (`mesa_...`) used directly for requests and to sign short-lived access tokens locally. */
|
|
16
63
|
apiKey?: string;
|
|
17
64
|
/** Organization-root Ed25519 private key used to sign REST request JWTs and `tokens.create()` locally. */
|
|
18
65
|
privateKey?: string;
|
|
19
|
-
/** Grouped private-key or
|
|
66
|
+
/** Grouped private-key or signing-key access-token authentication. */
|
|
20
67
|
auth?: MesaAuth;
|
|
21
68
|
apiUrl?: string;
|
|
22
69
|
vcsUrl?: string;
|
|
@@ -25,8 +72,7 @@ export interface MesaOptions {
|
|
|
25
72
|
userAgent?: string;
|
|
26
73
|
webhookSecret?: string;
|
|
27
74
|
}
|
|
28
|
-
|
|
29
|
-
repos: RepoConfig[];
|
|
75
|
+
interface FsMountBaseOptions {
|
|
30
76
|
cache?: {
|
|
31
77
|
diskCache?: {
|
|
32
78
|
path: string;
|
|
@@ -42,24 +88,99 @@ export interface FsMountOptions {
|
|
|
42
88
|
*/
|
|
43
89
|
ttl?: number;
|
|
44
90
|
}
|
|
45
|
-
|
|
91
|
+
/**
|
|
92
|
+
* Canonical mount profile: present exactly the listed repositories at their
|
|
93
|
+
* `/org/repo` paths — no custom namespace, no whole-org enumeration. Tokens
|
|
94
|
+
* are name-scoped and signed fully offline (no resolution round-trips
|
|
95
|
+
* before the mount), and per-repo `readOnly` is enforced by the daemon.
|
|
96
|
+
* Layouts mount through a definition instead: `mesa.fs({ layout }).mount()`.
|
|
97
|
+
*/
|
|
98
|
+
export interface FsMountReposOptions extends FsMountBaseOptions {
|
|
99
|
+
/** Repos to mount at their canonical `/org/repo` paths. */
|
|
100
|
+
repos: RepoConfig[];
|
|
101
|
+
layout?: never;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* A layout definition bundle produced by calling `mesa.fs({ layout, ttl })`:
|
|
105
|
+
* the prepared layout plus its scoped operations. The definition is the only
|
|
106
|
+
* way to mount a layout or mint its token; its `ttl` is the lifetime of
|
|
107
|
+
* every token minted from it, whether by `token()` or under the hood by
|
|
108
|
+
* `mount()`.
|
|
109
|
+
*/
|
|
110
|
+
export interface FsLayoutDefinition {
|
|
111
|
+
/** The prepared layout, built from the raw path map the definition was given. */
|
|
112
|
+
layout(): Layout;
|
|
113
|
+
/**
|
|
114
|
+
* Mount this layout as the complete namespace, accepting the non-token
|
|
115
|
+
* mount options (`cache`, `telemetry`). The mount's token lifetime is the
|
|
116
|
+
* definition's `ttl`.
|
|
117
|
+
*/
|
|
118
|
+
mount(options?: Omit<FsMountReposOptions, 'repos' | 'layout' | 'ttl'>): Promise<MesaFileSystem>;
|
|
119
|
+
/**
|
|
120
|
+
* Mint the layout-scoped, least-privilege access token: repositories
|
|
121
|
+
* collected from every declaration and scoped by name, `['read']` when
|
|
122
|
+
* every mode is `'ro'`, `['read', 'write']` otherwise, with the
|
|
123
|
+
* definition's `ttl`.
|
|
124
|
+
*/
|
|
125
|
+
token(): Promise<TokensCreateResponse>;
|
|
126
|
+
}
|
|
127
|
+
type AccessTokenFsLayoutDefinition = Omit<FsLayoutDefinition, 'token'>;
|
|
128
|
+
type PrivateKeyFsMountReposOptions = FsMountReposOptions & {
|
|
129
|
+
authors: PrivateKeyAuthors;
|
|
130
|
+
};
|
|
131
|
+
type RuntimeFsMountReposOptions = FsMountReposOptions & {
|
|
132
|
+
authors?: PrivateKeyAuthors;
|
|
133
|
+
};
|
|
134
|
+
type PrivateKeyFsLayoutOptions = {
|
|
135
|
+
layout: LayoutSpec;
|
|
136
|
+
ttl?: number;
|
|
137
|
+
authors: PrivateKeyAuthors;
|
|
138
|
+
};
|
|
139
|
+
type RuntimeFsLayoutOptions = {
|
|
140
|
+
layout: LayoutSpec;
|
|
141
|
+
ttl?: number;
|
|
142
|
+
authors?: PrivateKeyAuthors;
|
|
143
|
+
};
|
|
144
|
+
type AccessTokenFsLayoutOptions = {
|
|
145
|
+
layout: LayoutSpec;
|
|
146
|
+
authors?: never;
|
|
147
|
+
ttl?: never;
|
|
148
|
+
};
|
|
149
|
+
type MesaFs<TOptions extends MesaOptions> = CredentialSpecific<TOptions, {
|
|
150
|
+
(options: PrivateKeyFsLayoutOptions): FsLayoutDefinition;
|
|
151
|
+
mount: (options: PrivateKeyFsMountReposOptions) => Promise<MesaFileSystem>;
|
|
152
|
+
}, {
|
|
153
|
+
(options: AccessTokenFsLayoutOptions): AccessTokenFsLayoutDefinition;
|
|
154
|
+
mount: (options: Omit<FsMountReposOptions, 'ttl'>) => Promise<MesaFileSystem>;
|
|
155
|
+
}, {
|
|
156
|
+
(options: {
|
|
157
|
+
layout: LayoutSpec;
|
|
158
|
+
ttl?: number;
|
|
159
|
+
authors?: never;
|
|
160
|
+
}): FsLayoutDefinition;
|
|
161
|
+
mount: (options: FsMountReposOptions & {
|
|
162
|
+
authors?: never;
|
|
163
|
+
}) => Promise<MesaFileSystem>;
|
|
164
|
+
}, {
|
|
165
|
+
(options: RuntimeFsLayoutOptions): FsLayoutDefinition;
|
|
166
|
+
mount: (options: RuntimeFsMountReposOptions) => Promise<MesaFileSystem>;
|
|
167
|
+
}>;
|
|
168
|
+
export declare class Mesa<const TOptions extends MesaOptions = MesaOptions> {
|
|
46
169
|
/** The API key this client was constructed with, if it is an API-key client. */
|
|
47
170
|
readonly apiKey: string | undefined;
|
|
48
171
|
readonly apiUrl: string;
|
|
49
172
|
readonly vcsUrl: string;
|
|
50
173
|
readonly org: ApiResources['org'];
|
|
51
|
-
readonly tokens:
|
|
174
|
+
readonly tokens: MesaTokens<TOptions>;
|
|
52
175
|
readonly apiKeys: ApiResources['apiKeys'];
|
|
53
176
|
readonly repos: ApiResources['repos'];
|
|
54
177
|
readonly content: ApiResources['content'];
|
|
55
|
-
readonly bookmarks:
|
|
56
|
-
readonly changes:
|
|
178
|
+
readonly bookmarks: MesaBookmarks<TOptions>;
|
|
179
|
+
readonly changes: MesaChanges<TOptions>;
|
|
57
180
|
readonly diffs: ApiResources['diffs'];
|
|
58
181
|
readonly webhookTargets: ApiResources['webhookTargets'];
|
|
59
182
|
readonly webhooks: ApiResources['webhooks'];
|
|
60
|
-
readonly fs:
|
|
61
|
-
mount: (options: FsMountOptions) => Promise<MesaFileSystem>;
|
|
62
|
-
};
|
|
183
|
+
readonly fs: MesaFs<TOptions>;
|
|
63
184
|
private readonly credential;
|
|
64
185
|
private readonly restClient;
|
|
65
186
|
private readonly orgResolutionPromise;
|
|
@@ -68,8 +189,16 @@ export declare class Mesa {
|
|
|
68
189
|
private cachedWhoAmI;
|
|
69
190
|
private cachedKeyId;
|
|
70
191
|
private keyIdResolutionPromise;
|
|
71
|
-
constructor(options?:
|
|
192
|
+
constructor(options?: TOptions);
|
|
72
193
|
private createFs;
|
|
194
|
+
/**
|
|
195
|
+
* Derive the least-privilege token request for a layout: its repositories
|
|
196
|
+
* collected from every declaration and scoped by name (signed offline, no
|
|
197
|
+
* repository lookup), plus the narrowest scopes the declared modes allow.
|
|
198
|
+
* Shared by the definition's `mount()` and `token()` so the derivation
|
|
199
|
+
* exists exactly once.
|
|
200
|
+
*/
|
|
201
|
+
private deriveLayoutTokenRequest;
|
|
73
202
|
resolveOrg(org?: string): Promise<string>;
|
|
74
203
|
whoami(): Promise<WhoamiResponse>;
|
|
75
204
|
private fetchWhoAmI;
|
package/dist/mesa.d.ts.map
CHANGED
|
@@ -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;AACpD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mesa.d.ts","sourceRoot":"","sources":["../src/mesa.ts"],"names":[],"mappings":"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"}
|
package/dist/mesa.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { signAccessToken, signPrivateKeyAccessToken, toApiRepositoryRestriction, toSignerRepositoryRestriction, } from './api/access-token.js';
|
|
2
|
+
import { normalizeSigningKeyAuthors, signAccessToken, signPrivateKeyAccessToken, toApiRepositoryRestriction, toSignerRepositoryRestriction, } from './api/access-token.js';
|
|
3
3
|
import { createRestClient } from './api/client.js';
|
|
4
4
|
import { createApiResources, } from './api/resources.js';
|
|
5
5
|
import { looksLikePrivateKey } from './api/credentials.js';
|
|
6
6
|
import { parsePrivateKey } from './api/signing-key.js';
|
|
7
|
+
import { createLayout } from './fs/layout.js';
|
|
7
8
|
import { MesaFileSystem, } from './fs/mesa-file-system.js';
|
|
8
9
|
import { InvalidApiUrlError, InvalidOptionsError, MissingCredentialError, OrgResolutionError } from './lib/errors.js';
|
|
9
10
|
const DEFAULT_API_URL = 'https://api.mesa.dev/v1';
|
|
10
11
|
const API_KEY_ENV_VAR = 'MESA_API_KEY';
|
|
11
12
|
const PRIVATE_KEY_ENV_VAR = 'MESA_PRIVATE_KEY';
|
|
13
|
+
const ACCESS_TOKEN_ORG_PATTERN = /^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/;
|
|
12
14
|
/** Historical `tokens.create()` default and least-authority MesaFS mount scopes. */
|
|
13
15
|
const DEFAULT_TOKEN_SCOPES = ['read', 'write'];
|
|
14
16
|
const authSchema = z.union([
|
|
@@ -51,6 +53,20 @@ function normalizeBearerCredential(credential) {
|
|
|
51
53
|
}
|
|
52
54
|
return normalized;
|
|
53
55
|
}
|
|
56
|
+
function getAccessTokenOrg(token) {
|
|
57
|
+
try {
|
|
58
|
+
const parts = token.split('.');
|
|
59
|
+
if (parts.length !== 3 || parts.some((part) => part.length === 0))
|
|
60
|
+
throw new Error();
|
|
61
|
+
const payload = JSON.parse(Buffer.from(parts[1], 'base64url').toString('utf8'));
|
|
62
|
+
if (typeof payload.iss !== 'string' || !ACCESS_TOKEN_ORG_PATTERN.test(payload.iss))
|
|
63
|
+
throw new Error();
|
|
64
|
+
return payload.iss;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
throw new InvalidOptionsError('Access tokens must be compact JWTs with a valid organization `iss` claim.');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
54
70
|
/**
|
|
55
71
|
* Resolve one explicit or environment credential. Explicit credentials never
|
|
56
72
|
* combine, and the existing API-key environment variable remains authoritative
|
|
@@ -69,7 +85,12 @@ function resolveCredential(options) {
|
|
|
69
85
|
if ('privateKey' in parsed.data) {
|
|
70
86
|
return { kind: 'privateKey', value: parsePrivateKey(parsed.data.privateKey) };
|
|
71
87
|
}
|
|
72
|
-
|
|
88
|
+
const value = normalizeBearerCredential(parsed.data.accessToken);
|
|
89
|
+
return {
|
|
90
|
+
kind: 'accessToken',
|
|
91
|
+
value,
|
|
92
|
+
org: getAccessTokenOrg(value),
|
|
93
|
+
};
|
|
73
94
|
}
|
|
74
95
|
if (options.privateKey !== undefined) {
|
|
75
96
|
return { kind: 'privateKey', value: parsePrivateKey(options.privateKey) };
|
|
@@ -112,6 +133,9 @@ export class Mesa {
|
|
|
112
133
|
cachedKeyId = null;
|
|
113
134
|
keyIdResolutionPromise = null;
|
|
114
135
|
constructor(options = {}) {
|
|
136
|
+
if (options.authors !== undefined) {
|
|
137
|
+
throw new InvalidOptionsError('The `authors` option is not accepted by the Mesa constructor. Pass authors to the operation instead.');
|
|
138
|
+
}
|
|
115
139
|
const resolvedCredential = resolveCredential(options);
|
|
116
140
|
this.credential = resolvedCredential;
|
|
117
141
|
this.apiKey = resolvedCredential.kind === 'apiKey' ? resolvedCredential.value : undefined;
|
|
@@ -127,6 +151,9 @@ export class Mesa {
|
|
|
127
151
|
if (resolvedCredential.kind === 'privateKey' && providedOrg && providedOrg !== resolvedCredential.value.org) {
|
|
128
152
|
throw new InvalidOptionsError('The `org` option must match the organization encoded in the private key.');
|
|
129
153
|
}
|
|
154
|
+
if (resolvedCredential.kind === 'accessToken' && providedOrg && providedOrg !== resolvedCredential.org) {
|
|
155
|
+
throw new InvalidOptionsError('The `org` option must match the organization encoded in the access token.');
|
|
156
|
+
}
|
|
130
157
|
this.restClient = createRestClient({
|
|
131
158
|
credential: resolvedCredential.kind === 'privateKey'
|
|
132
159
|
? () => signPrivateKeyAccessToken({ credential: resolvedCredential.value }).token
|
|
@@ -140,6 +167,11 @@ export class Mesa {
|
|
|
140
167
|
this.orgResolutionPromise = Promise.resolve(resolvedCredential.value.org);
|
|
141
168
|
this.whoAmIResolutionPromise = null;
|
|
142
169
|
}
|
|
170
|
+
else if (resolvedCredential.kind === 'accessToken') {
|
|
171
|
+
this.cachedOrgSlug = resolvedCredential.org;
|
|
172
|
+
this.orgResolutionPromise = Promise.resolve(resolvedCredential.org);
|
|
173
|
+
this.whoAmIResolutionPromise = null;
|
|
174
|
+
}
|
|
143
175
|
else if (providedOrg) {
|
|
144
176
|
this.cachedOrgSlug = providedOrg;
|
|
145
177
|
this.orgResolutionPromise = Promise.resolve(providedOrg);
|
|
@@ -156,6 +188,14 @@ export class Mesa {
|
|
|
156
188
|
resolveOrg: (org) => this.resolveOrg(org),
|
|
157
189
|
webhookSecret: options.webhookSecret,
|
|
158
190
|
signToken: (input) => this.signToken(input),
|
|
191
|
+
requestAttribution: resolvedCredential.kind === 'privateKey'
|
|
192
|
+
? {
|
|
193
|
+
kind: 'private-key',
|
|
194
|
+
sign: (authors) => signPrivateKeyAccessToken({ credential: resolvedCredential.value, authors }).token,
|
|
195
|
+
}
|
|
196
|
+
: resolvedCredential.kind === 'accessToken'
|
|
197
|
+
? { kind: 'fixed-token' }
|
|
198
|
+
: { kind: 'request' },
|
|
159
199
|
});
|
|
160
200
|
this.org = resources.org;
|
|
161
201
|
this.tokens = resources.tokens;
|
|
@@ -167,9 +207,83 @@ export class Mesa {
|
|
|
167
207
|
this.diffs = resources.diffs;
|
|
168
208
|
this.webhookTargets = resources.webhookTargets;
|
|
169
209
|
this.webhooks = resources.webhooks;
|
|
170
|
-
|
|
210
|
+
// Layout minting and mounting are reachable only through a definition;
|
|
211
|
+
// the layout carries no organization, so the client's org scopes both.
|
|
212
|
+
const mintLayoutToken = async (layout, ttl, authors) => {
|
|
213
|
+
// Run the core structural validator before minting so a malformed
|
|
214
|
+
// layout fails here with the mount's own error. Repository names
|
|
215
|
+
// resolve only at mount time — a layout naming a nonexistent
|
|
216
|
+
// repository still mints a token and fails at mount.
|
|
217
|
+
MesaFileSystem.validateLayout(layout.toString());
|
|
218
|
+
const { org, scopes, repos } = await this.deriveLayoutTokenRequest(layout, 'mesa.fs({ layout }).token()');
|
|
219
|
+
const tokenInput = { org, scopes, repos, ttl_seconds: ttl };
|
|
220
|
+
return resources.tokens.create(this.credential.kind === 'privateKey' ? { ...tokenInput, authors: authors } : tokenInput);
|
|
221
|
+
};
|
|
222
|
+
const mountLayout = async (definitionLayout, ttl, authors, options) => {
|
|
223
|
+
const { layout, org, scopes, repos } = await this.deriveLayoutTokenRequest(definitionLayout, 'mesa.fs({ layout }).mount()');
|
|
224
|
+
if (this.credential.kind === 'accessToken') {
|
|
225
|
+
return this.createFs(org, options, this.credential.value, layout);
|
|
226
|
+
}
|
|
227
|
+
// Mint a single access token for the mount's whole lifetime. There is
|
|
228
|
+
// no refresh and no credential hot-swap, so when the token expires the
|
|
229
|
+
// mount expires with it.
|
|
230
|
+
const tokenInput = { org, scopes, repos, ttl_seconds: ttl };
|
|
231
|
+
const token = this.credential.kind === 'privateKey'
|
|
232
|
+
? signPrivateKeyAccessToken({
|
|
233
|
+
credential: this.credential.value,
|
|
234
|
+
authors: authors,
|
|
235
|
+
scopes: tokenInput.scopes,
|
|
236
|
+
repos: tokenInput.repos,
|
|
237
|
+
ttlSeconds: tokenInput.ttl_seconds,
|
|
238
|
+
}).token
|
|
239
|
+
: (await resources.tokens.create(tokenInput)).token;
|
|
240
|
+
return this.createFs(org, options, token, layout);
|
|
241
|
+
};
|
|
242
|
+
const defineLayout = ({ layout, ttl, authors: authorsInput }) => {
|
|
243
|
+
if (layout === undefined) {
|
|
244
|
+
// Catches untyped callers passing a bare path map instead of options.
|
|
245
|
+
throw new InvalidOptionsError("mesa.fs() requires a 'layout'");
|
|
246
|
+
}
|
|
247
|
+
const authors = authorsInput === undefined ? undefined : normalizeSigningKeyAuthors(authorsInput);
|
|
248
|
+
if (this.credential.kind === 'privateKey' && authors === undefined) {
|
|
249
|
+
throw new InvalidOptionsError('Private-key layout definitions require a nonempty `authors` option.');
|
|
250
|
+
}
|
|
251
|
+
if (this.credential.kind !== 'privateKey' && authors !== undefined) {
|
|
252
|
+
throw new InvalidOptionsError('Layout authors require a private-key client.');
|
|
253
|
+
}
|
|
254
|
+
if (this.credential.kind === 'accessToken' && ttl !== undefined) {
|
|
255
|
+
throw new InvalidOptionsError('The lifetime of an existing access token cannot be changed.');
|
|
256
|
+
}
|
|
257
|
+
// Built eagerly, so an invalid record fails here at definition time.
|
|
258
|
+
const prepared = createLayout(layout);
|
|
259
|
+
const definition = {
|
|
260
|
+
layout: () => prepared,
|
|
261
|
+
mount: (options = {}) => mountLayout(prepared, ttl, authors, options),
|
|
262
|
+
token: () => mintLayoutToken(prepared, ttl, authors),
|
|
263
|
+
};
|
|
264
|
+
return definition;
|
|
265
|
+
};
|
|
266
|
+
this.fs = Object.assign(defineLayout, {
|
|
267
|
+
/**
|
|
268
|
+
* Canonical mount profile: mount exactly the listed repositories at
|
|
269
|
+
* their `/org/repo` paths with explicit repo visibility, a name-scoped
|
|
270
|
+
* token, and offline signing with no name→id resolution round-trip.
|
|
271
|
+
* Layouts mount through a definition: `mesa.fs({ layout }).mount()`.
|
|
272
|
+
*/
|
|
171
273
|
mount: async (fsOptions) => {
|
|
172
|
-
|
|
274
|
+
const authors = fsOptions.authors === undefined ? undefined : normalizeSigningKeyAuthors(fsOptions.authors);
|
|
275
|
+
if (this.credential.kind === 'privateKey' && authors === undefined) {
|
|
276
|
+
throw new InvalidOptionsError('Private-key mounts require a nonempty `authors` option.');
|
|
277
|
+
}
|
|
278
|
+
if (this.credential.kind !== 'privateKey' && authors !== undefined) {
|
|
279
|
+
throw new InvalidOptionsError('Mount authors require a private-key client.');
|
|
280
|
+
}
|
|
281
|
+
const canonicalRepos = fsOptions.repos;
|
|
282
|
+
if (canonicalRepos === undefined) {
|
|
283
|
+
// Untyped callers may still pass the retired layout form.
|
|
284
|
+
throw new InvalidOptionsError('mesa.fs.mount() mounts the canonical repos profile; mount a layout with mesa.fs({ layout }).mount()');
|
|
285
|
+
}
|
|
286
|
+
if (canonicalRepos.length === 0) {
|
|
173
287
|
throw new InvalidOptionsError('mesa.fs.mount() requires at least one repo');
|
|
174
288
|
}
|
|
175
289
|
const org = await this.resolveOrg();
|
|
@@ -179,32 +293,72 @@ export class Mesa {
|
|
|
179
293
|
}
|
|
180
294
|
return this.createFs(org, fsOptions, this.credential.value);
|
|
181
295
|
}
|
|
182
|
-
|
|
183
|
-
// credential hot-swap: when the token expires, the mount expires with it.
|
|
184
|
-
const repos = fsOptions.repos.map((repo) => `${org}/${repo.name}`);
|
|
185
|
-
const { token } = await this.tokens.create({
|
|
296
|
+
const tokenInput = {
|
|
186
297
|
org,
|
|
187
298
|
scopes: DEFAULT_TOKEN_SCOPES,
|
|
188
|
-
repos,
|
|
299
|
+
repos: canonicalRepos.map((r) => `${org}/${r.name}`),
|
|
189
300
|
ttl_seconds: fsOptions.ttl,
|
|
190
|
-
}
|
|
301
|
+
};
|
|
302
|
+
const token = this.credential.kind === 'privateKey'
|
|
303
|
+
? signPrivateKeyAccessToken({
|
|
304
|
+
credential: this.credential.value,
|
|
305
|
+
authors: authors,
|
|
306
|
+
scopes: tokenInput.scopes,
|
|
307
|
+
repos: tokenInput.repos,
|
|
308
|
+
ttlSeconds: tokenInput.ttl_seconds,
|
|
309
|
+
}).token
|
|
310
|
+
: (await resources.tokens.create(tokenInput)).token;
|
|
191
311
|
return this.createFs(org, fsOptions, token);
|
|
192
312
|
},
|
|
193
|
-
};
|
|
313
|
+
});
|
|
194
314
|
}
|
|
195
|
-
createFs(org, fsOptions, credential) {
|
|
196
|
-
const
|
|
315
|
+
createFs(org, fsOptions, credential, layout) {
|
|
316
|
+
const base = {
|
|
197
317
|
org,
|
|
198
318
|
credential,
|
|
199
|
-
repos: fsOptions.repos,
|
|
200
|
-
mountedRepos: fsOptions.repos.map((repo) => repo.name),
|
|
201
319
|
cache: fsOptions.cache,
|
|
202
320
|
apiBaseUrl: this.apiUrl,
|
|
203
321
|
vcsUrl: this.vcsUrl,
|
|
204
322
|
telemetry: fsOptions.telemetry,
|
|
205
323
|
};
|
|
324
|
+
// The canonical repos profile keeps explicit repo visibility; the layout
|
|
325
|
+
// profile presents exactly the composed workspace, replacing the
|
|
326
|
+
// canonical browse tree, so per-repo visibility does not apply.
|
|
327
|
+
const config = layout !== undefined
|
|
328
|
+
? { ...base, repos: [], layout, mountedRepos: 'all' }
|
|
329
|
+
: { ...base, repos: fsOptions.repos ?? [], mountedRepos: (fsOptions.repos ?? []).map((repo) => repo.name) };
|
|
206
330
|
return MesaFileSystem.create(config);
|
|
207
331
|
}
|
|
332
|
+
/**
|
|
333
|
+
* Derive the least-privilege token request for a layout: its repositories
|
|
334
|
+
* collected from every declaration and scoped by name (signed offline, no
|
|
335
|
+
* repository lookup), plus the narrowest scopes the declared modes allow.
|
|
336
|
+
* Shared by the definition's `mount()` and `token()` so the derivation
|
|
337
|
+
* exists exactly once.
|
|
338
|
+
*/
|
|
339
|
+
async deriveLayoutTokenRequest(layout, caller) {
|
|
340
|
+
// The layout carries no organization of its own; the client's
|
|
341
|
+
// organization scopes the token.
|
|
342
|
+
const org = await this.resolveOrg();
|
|
343
|
+
const declarations = [];
|
|
344
|
+
const visit = (entries) => {
|
|
345
|
+
for (const entry of Object.values(entries)) {
|
|
346
|
+
for (const declaration of Array.isArray(entry) ? entry : [entry]) {
|
|
347
|
+
declarations.push(declaration);
|
|
348
|
+
if (declaration.subPaths)
|
|
349
|
+
visit(declaration.subPaths);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
// The spec is a pure path map: every key is a declaration entry.
|
|
354
|
+
visit(layout.spec);
|
|
355
|
+
if (declarations.length === 0) {
|
|
356
|
+
throw new InvalidOptionsError(`${caller} requires at least one layout repository`);
|
|
357
|
+
}
|
|
358
|
+
const repos = [...new Set(declarations.map((declaration) => `${org}/${declaration.name}`))];
|
|
359
|
+
const scopes = declarations.some((declaration) => declaration.mode === 'rw') ? [...DEFAULT_TOKEN_SCOPES] : ['read'];
|
|
360
|
+
return { layout, org, scopes, repos };
|
|
361
|
+
}
|
|
208
362
|
async resolveOrg(org) {
|
|
209
363
|
const requestedOrg = org?.trim();
|
|
210
364
|
if (requestedOrg && looksLikePrivateKey(requestedOrg)) {
|
|
@@ -216,6 +370,12 @@ export class Mesa {
|
|
|
216
370
|
}
|
|
217
371
|
return this.credential.value.org;
|
|
218
372
|
}
|
|
373
|
+
if (this.credential.kind === 'accessToken') {
|
|
374
|
+
if (requestedOrg && requestedOrg !== this.credential.org) {
|
|
375
|
+
throw new InvalidOptionsError('Access-token clients are bound to the organization encoded in the token.');
|
|
376
|
+
}
|
|
377
|
+
return this.credential.org;
|
|
378
|
+
}
|
|
219
379
|
if (requestedOrg) {
|
|
220
380
|
return requestedOrg;
|
|
221
381
|
}
|
|
@@ -276,8 +436,12 @@ export class Mesa {
|
|
|
276
436
|
/** Sign an access token locally from the credential this client holds. */
|
|
277
437
|
async signToken(input) {
|
|
278
438
|
if (this.credential.kind === 'privateKey') {
|
|
439
|
+
if (input.authors === undefined) {
|
|
440
|
+
throw new InvalidOptionsError('Private-key tokens require a nonempty `authors` option.');
|
|
441
|
+
}
|
|
279
442
|
const signed = signPrivateKeyAccessToken({
|
|
280
443
|
credential: this.credential.value,
|
|
444
|
+
authors: input.authors,
|
|
281
445
|
scopes: input.scopes ?? [...DEFAULT_TOKEN_SCOPES],
|
|
282
446
|
ttlSeconds: input.ttl_seconds,
|
|
283
447
|
...toSignerRepositoryRestriction(input),
|
|
@@ -292,6 +456,9 @@ export class Mesa {
|
|
|
292
456
|
if (this.credential.kind === 'accessToken') {
|
|
293
457
|
throw new InvalidOptionsError('Access-token clients cannot mint another access token. Use an API key or private key.');
|
|
294
458
|
}
|
|
459
|
+
if (input.authors !== undefined) {
|
|
460
|
+
throw new InvalidOptionsError('Private-key access tokens can only be minted with a private key.');
|
|
461
|
+
}
|
|
295
462
|
const keyId = await this.resolveKeyId();
|
|
296
463
|
const repositoryRestriction = toSignerRepositoryRestriction(input);
|
|
297
464
|
const signed = signAccessToken({
|
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/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "0.
|
|
1
|
+
export declare const SDK_VERSION = "0.44.1";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mesadev/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.44.1",
|
|
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.
|
|
29
|
-
"@mesadev/rest": "0.
|
|
28
|
+
"@mesadev/mesafs-napi": "0.44.1",
|
|
29
|
+
"@mesadev/rest": "0.44.1",
|
|
30
30
|
"just-bash": "^2.13.0",
|
|
31
31
|
"zod": "^4.3.6"
|
|
32
32
|
},
|