@mesadev/sdk 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +53 -13
- package/dist/api/client.d.ts +26 -0
- package/dist/api/client.d.ts.map +1 -0
- package/dist/api/client.js +40 -0
- package/dist/api/client.js.map +1 -0
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +2 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/resources.d.ts +134 -0
- package/dist/api/resources.d.ts.map +1 -0
- package/dist/api/resources.js +151 -0
- package/dist/api/resources.js.map +1 -0
- package/dist/fs/index.d.ts +2 -0
- package/dist/fs/index.d.ts.map +1 -0
- package/dist/fs/index.js +2 -0
- package/dist/fs/index.js.map +1 -0
- package/dist/fs/key-cleanup.d.ts +7 -0
- package/dist/fs/key-cleanup.d.ts.map +1 -0
- package/dist/fs/key-cleanup.js +70 -0
- package/dist/fs/key-cleanup.js.map +1 -0
- package/dist/fs/mesa-file-system.d.ts +65 -0
- package/dist/fs/mesa-file-system.d.ts.map +1 -0
- package/dist/fs/mesa-file-system.js +135 -0
- package/dist/fs/mesa-file-system.js.map +1 -0
- package/dist/fs/native-loader.d.ts +61 -0
- package/dist/fs/native-loader.d.ts.map +1 -0
- package/dist/fs/native-loader.js +94 -0
- package/dist/fs/native-loader.js.map +1 -0
- package/dist/git/index.d.ts +2 -0
- package/dist/git/index.d.ts.map +1 -0
- package/dist/git/index.js +2 -0
- package/dist/git/index.js.map +1 -0
- package/dist/git/path-utils.d.ts +4 -0
- package/dist/git/path-utils.d.ts.map +1 -0
- package/dist/git/path-utils.js +47 -0
- package/dist/git/path-utils.js.map +1 -0
- package/dist/git/service.d.ts +3 -0
- package/dist/git/service.d.ts.map +1 -0
- package/dist/git/service.js +308 -0
- package/dist/git/service.js.map +1 -0
- package/dist/git/types.d.ts +30 -0
- package/dist/git/types.d.ts.map +1 -0
- package/dist/git/types.js +2 -0
- package/dist/git/types.js.map +1 -0
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -0
- package/dist/lib/errors.d.ts +15 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +27 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/mesa.d.ts +54 -0
- package/dist/mesa.d.ts.map +1 -0
- package/dist/mesa.js +155 -0
- package/dist/mesa.js.map +1 -0
- package/package.json +51 -20
- package/LICENSE +0 -201
- package/dist/client/client.gen.d.ts +0 -2
- package/dist/client/client.gen.js +0 -234
- package/dist/client/index.d.ts +0 -8
- package/dist/client/index.js +0 -6
- package/dist/client/types.gen.d.ts +0 -117
- package/dist/client/types.gen.js +0 -2
- package/dist/client/utils.gen.d.ts +0 -33
- package/dist/client/utils.gen.js +0 -228
- package/dist/client.gen.d.ts +0 -12
- package/dist/client.gen.js +0 -3
- package/dist/core/auth.gen.d.ts +0 -18
- package/dist/core/auth.gen.js +0 -14
- package/dist/core/bodySerializer.gen.d.ts +0 -25
- package/dist/core/bodySerializer.gen.js +0 -57
- package/dist/core/params.gen.d.ts +0 -43
- package/dist/core/params.gen.js +0 -100
- package/dist/core/pathSerializer.gen.d.ts +0 -33
- package/dist/core/pathSerializer.gen.js +0 -106
- package/dist/core/queryKeySerializer.gen.d.ts +0 -18
- package/dist/core/queryKeySerializer.gen.js +0 -92
- package/dist/core/serverSentEvents.gen.d.ts +0 -71
- package/dist/core/serverSentEvents.gen.js +0 -133
- package/dist/core/types.gen.d.ts +0 -78
- package/dist/core/types.gen.js +0 -2
- package/dist/core/utils.gen.d.ts +0 -19
- package/dist/core/utils.gen.js +0 -87
- package/dist/sdk.gen.d.ts +0 -123
- package/dist/sdk.gen.js +0 -202
- package/dist/types.gen.d.ts +0 -2285
- package/dist/types.gen.js +0 -2
- package/src/client/client.gen.ts +0 -288
- package/src/client/index.ts +0 -25
- package/src/client/types.gen.ts +0 -214
- package/src/client/utils.gen.ts +0 -316
- package/src/client.gen.ts +0 -16
- package/src/core/auth.gen.ts +0 -41
- package/src/core/bodySerializer.gen.ts +0 -84
- package/src/core/params.gen.ts +0 -169
- package/src/core/pathSerializer.gen.ts +0 -171
- package/src/core/queryKeySerializer.gen.ts +0 -117
- package/src/core/serverSentEvents.gen.ts +0 -243
- package/src/core/types.gen.ts +0 -104
- package/src/core/utils.gen.ts +0 -140
- package/src/index.ts +0 -2
- package/src/sdk.gen.ts +0 -237
- package/src/types.gen.ts +0 -2377
package/README.md
CHANGED
|
@@ -1,28 +1,68 @@
|
|
|
1
1
|
# @mesadev/sdk
|
|
2
2
|
|
|
3
|
-
TypeScript SDK
|
|
3
|
+
Official Mesa TypeScript SDK.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
This is the primary TypeScript SDK for Mesa. It includes ergonomic REST resources with default org inference and Daytona-compatible git operations.
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Node.js runtime is required.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
8
10
|
|
|
9
11
|
```bash
|
|
10
|
-
|
|
12
|
+
bun add @mesadev/sdk
|
|
11
13
|
```
|
|
12
14
|
|
|
13
15
|
## Usage
|
|
14
16
|
|
|
15
|
-
```
|
|
16
|
-
import {
|
|
17
|
+
```ts
|
|
18
|
+
import { Mesa } from '@mesadev/sdk';
|
|
19
|
+
|
|
20
|
+
const mesa = new Mesa({
|
|
21
|
+
apiKey: process.env.MESA_API_KEY,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
// Uses org inferred from /whoami
|
|
25
|
+
const repo = await mesa.repos.create({ name: 'my-repo' });
|
|
17
26
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
27
|
+
// Optional constructor org bypasses /whoami default-org resolution
|
|
28
|
+
const mesaWithOrg = new Mesa({
|
|
29
|
+
apiKey: process.env.MESA_API_KEY,
|
|
30
|
+
org: 'acme',
|
|
23
31
|
});
|
|
32
|
+
|
|
33
|
+
await mesaWithOrg.repos.list();
|
|
34
|
+
|
|
35
|
+
// Per-call org override
|
|
36
|
+
await mesa.repos.list({ org: 'other-org' });
|
|
37
|
+
|
|
38
|
+
// Daytona-compatible git namespace
|
|
39
|
+
await mesa.git.clone('https://mesa.dev/acme/my-repo.git', '~/repos/my-repo', 'main');
|
|
40
|
+
|
|
41
|
+
console.log(repo.name);
|
|
24
42
|
```
|
|
25
43
|
|
|
26
|
-
|
|
44
|
+
This package exposes org-inferred REST resources under `mesa.*` and Node git operations under `mesa.git.*`.
|
|
45
|
+
## Configuration
|
|
46
|
+
|
|
47
|
+
`Mesa` accepts:
|
|
48
|
+
|
|
49
|
+
- `apiKey?: string` (falls back to `MESA_API_KEY` in Node)
|
|
50
|
+
- `apiUrl?: string` (defaults to `https://api.mesa.dev/v1`)
|
|
51
|
+
- `org?: string` (optional default org; bypasses `/whoami` resolution)
|
|
52
|
+
- `fetch?: typeof fetch`
|
|
53
|
+
- `userAgent?: string`
|
|
54
|
+
|
|
55
|
+
## Package Relationship
|
|
56
|
+
|
|
57
|
+
- `@mesadev/sdk` is the ergonomic, main SDK.
|
|
58
|
+
- `@mesadev/rest` is the generated REST package used under the hood.
|
|
59
|
+
|
|
60
|
+
Use `mesa.raw.*` when you need direct generated operations.
|
|
61
|
+
|
|
62
|
+
## Migration Note
|
|
63
|
+
|
|
64
|
+
If you previously used the older generated `@mesadev/sdk` package:
|
|
27
65
|
|
|
28
|
-
|
|
66
|
+
- use `apiUrl` instead of `serverURL`
|
|
67
|
+
- rely on default org inference from `/whoami` or pass `org` per call
|
|
68
|
+
- use resource namespaces (`mesa.repos`, `mesa.commits`, etc.) and `mesa.raw.*` for low-level calls
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type GetWhoamiResponse, type Options as RestOptions } from '@mesadev/rest';
|
|
2
|
+
type Simplify<T> = {
|
|
3
|
+
[K in keyof T]: T[K];
|
|
4
|
+
} & {};
|
|
5
|
+
export type RestDataShape = {
|
|
6
|
+
body?: unknown;
|
|
7
|
+
headers?: unknown;
|
|
8
|
+
path?: unknown;
|
|
9
|
+
query?: unknown;
|
|
10
|
+
url: string;
|
|
11
|
+
};
|
|
12
|
+
export type RestOperation = (options: never) => Promise<unknown>;
|
|
13
|
+
export type RestRequestOptions<TData extends RestDataShape> = Simplify<Omit<RestOptions<TData, boolean>, 'baseUrl' | 'fetch' | 'headers' | 'responseStyle' | 'throwOnError'>>;
|
|
14
|
+
export type RestClientConfig = {
|
|
15
|
+
apiKey: string;
|
|
16
|
+
apiUrl: string;
|
|
17
|
+
fetch?: typeof globalThis.fetch;
|
|
18
|
+
userAgent?: string;
|
|
19
|
+
};
|
|
20
|
+
export type RestClient = {
|
|
21
|
+
request<TData extends RestDataShape, TResult>(operation: RestOperation, options?: RestRequestOptions<TData>): Promise<TResult>;
|
|
22
|
+
getWhoami(): Promise<GetWhoamiResponse>;
|
|
23
|
+
};
|
|
24
|
+
export declare function createRestClient(config: RestClientConfig): RestClient;
|
|
25
|
+
export {};
|
|
26
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,iBAAiB,EAAa,KAAK,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AAInH,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;AAEF,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,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACzC,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,UAAU,CA8CrE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { getWhoami } from '@mesadev/rest';
|
|
2
|
+
const SDK_USER_AGENT = '@mesadev/sdk';
|
|
3
|
+
export function createRestClient(config) {
|
|
4
|
+
const userAgent = config.userAgent?.trim();
|
|
5
|
+
const defaultHeaders = {
|
|
6
|
+
Authorization: `Bearer ${config.apiKey}`,
|
|
7
|
+
};
|
|
8
|
+
if (typeof process === 'undefined') {
|
|
9
|
+
defaultHeaders['X-Mesa-User-Agent'] = userAgent ? `${SDK_USER_AGENT} ${userAgent}` : SDK_USER_AGENT;
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
defaultHeaders['User-Agent'] = userAgent ? `${SDK_USER_AGENT} ${userAgent}` : SDK_USER_AGENT;
|
|
13
|
+
}
|
|
14
|
+
const request = async (operation, options = {}) => {
|
|
15
|
+
const requestOptions = {
|
|
16
|
+
...options,
|
|
17
|
+
baseUrl: config.apiUrl,
|
|
18
|
+
fetch: config.fetch,
|
|
19
|
+
headers: defaultHeaders,
|
|
20
|
+
responseStyle: 'fields',
|
|
21
|
+
throwOnError: false,
|
|
22
|
+
};
|
|
23
|
+
const response = await operation(requestOptions);
|
|
24
|
+
if (response && typeof response === 'object') {
|
|
25
|
+
const typedResponse = response;
|
|
26
|
+
if (typedResponse.error !== undefined) {
|
|
27
|
+
throw typedResponse.error;
|
|
28
|
+
}
|
|
29
|
+
if ('data' in typedResponse) {
|
|
30
|
+
return typedResponse.data;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return response;
|
|
34
|
+
};
|
|
35
|
+
return {
|
|
36
|
+
request,
|
|
37
|
+
getWhoami: () => request(getWhoami),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,SAAS,EAA+B,MAAM,eAAe,CAAC;AAEnH,MAAM,cAAc,GAAG,cAAc,CAAC;AAiCtC,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,QAA+C,CAAC;YAEtE,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtC,MAAM,aAAa,CAAC,KAAK,CAAC;YAC5B,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,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAmC,SAAS,CAAC;KACtE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { type ApiKeysCreateInput, type ApiKeysListInput, type ApiKeysRevokeInput, type ApiResources, type BranchesCreateInput, type BranchesDeleteInput, type BranchesListInput, type CommitsCreateInput, type CommitsGetInput, type CommitsListInput, type ContentGetInput, createApiResources, type DiffsGetInput, type OrgGetInput, type RawApi, type ReposCreateInput, type ReposDeleteInput, type ReposGetInput, type ReposListInput, type ReposUpdateInput, type WebhooksCreateInput, type WebhooksDeleteInput, type WebhooksListInput, type WhoAmIInput, } from './resources.js';
|
|
2
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,kBAAkB,EAClB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,iBAAiB,EACtB,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,kBAAkB,GAanB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { type DeleteByOrgApiKeyByIdData, type DeleteByOrgApiKeyByIdResponse, type DeleteByOrgByRepoBranchByBranchData, type DeleteByOrgByRepoBranchByBranchResponse, type DeleteByOrgByRepoData, type DeleteByOrgByRepoResponse, type DeleteByOrgByRepoWebhookByWebhookIdData, type DeleteByOrgByRepoWebhookByWebhookIdResponse, type GetByOrgApiKeyData, type GetByOrgApiKeyResponse, type GetByOrgByRepoBranchData, type GetByOrgByRepoBranchResponse, type GetByOrgByRepoCommitByShaData, type GetByOrgByRepoCommitByShaResponse, type GetByOrgByRepoCommitData, type GetByOrgByRepoCommitResponse, type GetByOrgByRepoContentData, type GetByOrgByRepoContentResponse, type GetByOrgByRepoData, type GetByOrgByRepoDiffData, type GetByOrgByRepoDiffResponse, type GetByOrgByRepoResponse, type GetByOrgByRepoWebhookData, type GetByOrgByRepoWebhookResponse, type GetByOrgData, type GetByOrgRepoData, type GetByOrgRepoResponse, type GetByOrgResponse, type GetWhoamiData, type GetWhoamiResponse, type PatchByOrgByRepoData, type PatchByOrgByRepoResponse, type PostByOrgApiKeyData, type PostByOrgApiKeyResponse, type PostByOrgByRepoBranchData, type PostByOrgByRepoBranchResponse, type PostByOrgByRepoCommitData, type PostByOrgByRepoCommitResponse, type PostByOrgByRepoWebhookData, type PostByOrgByRepoWebhookResponse, type PostByOrgRepoData, type PostByOrgRepoResponse } from '@mesadev/rest';
|
|
2
|
+
import type { RestClient, RestDataShape, RestRequestOptions } from './client.js';
|
|
3
|
+
type RawMethod<TData extends RestDataShape, TResult> = [keyof RestRequestOptions<TData>] extends [never] ? (options?: RestRequestOptions<TData>) => Promise<TResult> : (options: RestRequestOptions<TData>) => Promise<TResult>;
|
|
4
|
+
type ResolveOrg = (org?: string) => Promise<string>;
|
|
5
|
+
type OrgRequestContext = {
|
|
6
|
+
restClient: RestClient;
|
|
7
|
+
resolveOrg: ResolveOrg;
|
|
8
|
+
};
|
|
9
|
+
export type ApiKeysListInput = {
|
|
10
|
+
org?: string;
|
|
11
|
+
};
|
|
12
|
+
export type ApiKeysCreateInput = PostByOrgApiKeyData['body'] & {
|
|
13
|
+
org?: string;
|
|
14
|
+
};
|
|
15
|
+
export type ApiKeysRevokeInput = Omit<DeleteByOrgApiKeyByIdData['path'], 'org'> & {
|
|
16
|
+
org?: string;
|
|
17
|
+
};
|
|
18
|
+
export type ReposListInput = NonNullable<GetByOrgRepoData['query']> & {
|
|
19
|
+
org?: string;
|
|
20
|
+
};
|
|
21
|
+
export type ReposCreateInput = PostByOrgRepoData['body'] & {
|
|
22
|
+
org?: string;
|
|
23
|
+
};
|
|
24
|
+
export type ReposGetInput = Omit<GetByOrgByRepoData['path'], 'org'> & {
|
|
25
|
+
org?: string;
|
|
26
|
+
};
|
|
27
|
+
export type ReposUpdateInput = Omit<PatchByOrgByRepoData['path'], 'org'> & PatchByOrgByRepoData['body'] & {
|
|
28
|
+
org?: string;
|
|
29
|
+
};
|
|
30
|
+
export type ReposDeleteInput = Omit<DeleteByOrgByRepoData['path'], 'org'> & {
|
|
31
|
+
org?: string;
|
|
32
|
+
};
|
|
33
|
+
export type ContentGetInput = Omit<GetByOrgByRepoContentData['path'], 'org'> & NonNullable<GetByOrgByRepoContentData['query']> & {
|
|
34
|
+
org?: string;
|
|
35
|
+
};
|
|
36
|
+
export type BranchesListInput = Omit<GetByOrgByRepoBranchData['path'], 'org'> & NonNullable<GetByOrgByRepoBranchData['query']> & {
|
|
37
|
+
org?: string;
|
|
38
|
+
};
|
|
39
|
+
export type BranchesCreateInput = Omit<PostByOrgByRepoBranchData['path'], 'org'> & PostByOrgByRepoBranchData['body'] & {
|
|
40
|
+
org?: string;
|
|
41
|
+
};
|
|
42
|
+
export type BranchesDeleteInput = Omit<DeleteByOrgByRepoBranchByBranchData['path'], 'org'> & {
|
|
43
|
+
org?: string;
|
|
44
|
+
};
|
|
45
|
+
export type CommitsListInput = Omit<GetByOrgByRepoCommitData['path'], 'org'> & NonNullable<GetByOrgByRepoCommitData['query']> & {
|
|
46
|
+
org?: string;
|
|
47
|
+
};
|
|
48
|
+
export type CommitsCreateInput = Omit<PostByOrgByRepoCommitData['path'], 'org'> & PostByOrgByRepoCommitData['body'] & {
|
|
49
|
+
org?: string;
|
|
50
|
+
};
|
|
51
|
+
export type CommitsGetInput = Omit<GetByOrgByRepoCommitByShaData['path'], 'org'> & {
|
|
52
|
+
org?: string;
|
|
53
|
+
};
|
|
54
|
+
export type DiffsGetInput = Omit<GetByOrgByRepoDiffData['path'], 'org'> & NonNullable<GetByOrgByRepoDiffData['query']> & {
|
|
55
|
+
org?: string;
|
|
56
|
+
};
|
|
57
|
+
export type WebhooksListInput = Omit<GetByOrgByRepoWebhookData['path'], 'org'> & {
|
|
58
|
+
org?: string;
|
|
59
|
+
};
|
|
60
|
+
export type WebhooksCreateInput = Omit<PostByOrgByRepoWebhookData['path'], 'org'> & PostByOrgByRepoWebhookData['body'] & {
|
|
61
|
+
org?: string;
|
|
62
|
+
};
|
|
63
|
+
export type WebhooksDeleteInput = Omit<DeleteByOrgByRepoWebhookByWebhookIdData['path'], 'org'> & {
|
|
64
|
+
org?: string;
|
|
65
|
+
};
|
|
66
|
+
export type OrgGetInput = {
|
|
67
|
+
org?: string;
|
|
68
|
+
};
|
|
69
|
+
export type WhoAmIInput = Record<never, never>;
|
|
70
|
+
export type RawApi = {
|
|
71
|
+
getWhoami: RawMethod<GetWhoamiData, GetWhoamiResponse>;
|
|
72
|
+
getByOrg: RawMethod<GetByOrgData, GetByOrgResponse>;
|
|
73
|
+
getByOrgApiKeys: RawMethod<GetByOrgApiKeyData, GetByOrgApiKeyResponse>;
|
|
74
|
+
postByOrgApiKeys: RawMethod<PostByOrgApiKeyData, PostByOrgApiKeyResponse>;
|
|
75
|
+
deleteByOrgApiKeysById: RawMethod<DeleteByOrgApiKeyByIdData, DeleteByOrgApiKeyByIdResponse>;
|
|
76
|
+
getByOrgRepos: RawMethod<GetByOrgRepoData, GetByOrgRepoResponse>;
|
|
77
|
+
postByOrgRepos: RawMethod<PostByOrgRepoData, PostByOrgRepoResponse>;
|
|
78
|
+
getByOrgByRepo: RawMethod<GetByOrgByRepoData, GetByOrgByRepoResponse>;
|
|
79
|
+
patchByOrgByRepo: RawMethod<PatchByOrgByRepoData, PatchByOrgByRepoResponse>;
|
|
80
|
+
deleteByOrgByRepo: RawMethod<DeleteByOrgByRepoData, DeleteByOrgByRepoResponse>;
|
|
81
|
+
getByOrgByRepoContent: RawMethod<GetByOrgByRepoContentData, GetByOrgByRepoContentResponse>;
|
|
82
|
+
getByOrgByRepoBranches: RawMethod<GetByOrgByRepoBranchData, GetByOrgByRepoBranchResponse>;
|
|
83
|
+
postByOrgByRepoBranches: RawMethod<PostByOrgByRepoBranchData, PostByOrgByRepoBranchResponse>;
|
|
84
|
+
deleteByOrgByRepoBranchesByBranch: RawMethod<DeleteByOrgByRepoBranchByBranchData, DeleteByOrgByRepoBranchByBranchResponse>;
|
|
85
|
+
getByOrgByRepoCommits: RawMethod<GetByOrgByRepoCommitData, GetByOrgByRepoCommitResponse>;
|
|
86
|
+
postByOrgByRepoCommits: RawMethod<PostByOrgByRepoCommitData, PostByOrgByRepoCommitResponse>;
|
|
87
|
+
getByOrgByRepoCommitsBySha: RawMethod<GetByOrgByRepoCommitByShaData, GetByOrgByRepoCommitByShaResponse>;
|
|
88
|
+
getByOrgByRepoDiff: RawMethod<GetByOrgByRepoDiffData, GetByOrgByRepoDiffResponse>;
|
|
89
|
+
getByOrgByRepoWebhooks: RawMethod<GetByOrgByRepoWebhookData, GetByOrgByRepoWebhookResponse>;
|
|
90
|
+
postByOrgByRepoWebhooks: RawMethod<PostByOrgByRepoWebhookData, PostByOrgByRepoWebhookResponse>;
|
|
91
|
+
deleteByOrgByRepoWebhooksByWebhookId: RawMethod<DeleteByOrgByRepoWebhookByWebhookIdData, DeleteByOrgByRepoWebhookByWebhookIdResponse>;
|
|
92
|
+
};
|
|
93
|
+
export declare function createApiResources({ restClient, resolveOrg }: OrgRequestContext): {
|
|
94
|
+
raw: RawApi;
|
|
95
|
+
org: {
|
|
96
|
+
get: (input?: OrgGetInput) => Promise<GetByOrgResponse>;
|
|
97
|
+
};
|
|
98
|
+
apiKeys: {
|
|
99
|
+
list: (input?: ApiKeysListInput) => Promise<GetByOrgApiKeyResponse>;
|
|
100
|
+
create: (input: ApiKeysCreateInput) => Promise<PostByOrgApiKeyResponse>;
|
|
101
|
+
revoke: (input: ApiKeysRevokeInput) => Promise<DeleteByOrgApiKeyByIdResponse>;
|
|
102
|
+
};
|
|
103
|
+
repos: {
|
|
104
|
+
list: (input?: ReposListInput) => Promise<GetByOrgRepoResponse>;
|
|
105
|
+
create: (input: ReposCreateInput) => Promise<PostByOrgRepoResponse>;
|
|
106
|
+
get: (input: ReposGetInput) => Promise<GetByOrgByRepoResponse>;
|
|
107
|
+
update: (input: ReposUpdateInput) => Promise<PatchByOrgByRepoResponse>;
|
|
108
|
+
delete: (input: ReposDeleteInput) => Promise<DeleteByOrgByRepoResponse>;
|
|
109
|
+
};
|
|
110
|
+
content: {
|
|
111
|
+
get: (input: ContentGetInput) => Promise<GetByOrgByRepoContentResponse>;
|
|
112
|
+
};
|
|
113
|
+
branches: {
|
|
114
|
+
list: (input: BranchesListInput) => Promise<GetByOrgByRepoBranchResponse>;
|
|
115
|
+
create: (input: BranchesCreateInput) => Promise<PostByOrgByRepoBranchResponse>;
|
|
116
|
+
delete: (input: BranchesDeleteInput) => Promise<DeleteByOrgByRepoBranchByBranchResponse>;
|
|
117
|
+
};
|
|
118
|
+
commits: {
|
|
119
|
+
list: (input: CommitsListInput) => Promise<GetByOrgByRepoCommitResponse>;
|
|
120
|
+
create: (input: CommitsCreateInput) => Promise<PostByOrgByRepoCommitResponse>;
|
|
121
|
+
get: (input: CommitsGetInput) => Promise<GetByOrgByRepoCommitByShaResponse>;
|
|
122
|
+
};
|
|
123
|
+
diffs: {
|
|
124
|
+
get: (input: DiffsGetInput) => Promise<GetByOrgByRepoDiffResponse>;
|
|
125
|
+
};
|
|
126
|
+
webhooks: {
|
|
127
|
+
list: (input: WebhooksListInput) => Promise<GetByOrgByRepoWebhookResponse>;
|
|
128
|
+
create: (input: WebhooksCreateInput) => Promise<PostByOrgByRepoWebhookResponse>;
|
|
129
|
+
delete: (input: WebhooksDeleteInput) => Promise<DeleteByOrgByRepoWebhookByWebhookIdResponse>;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
export type ApiResources = ReturnType<typeof createApiResources>;
|
|
133
|
+
export {};
|
|
134
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { deleteByOrgApiKeyById, deleteByOrgByRepo, deleteByOrgByRepoBranchByBranch, deleteByOrgByRepoWebhookByWebhookId, getByOrg, getByOrgApiKey, getByOrgByRepo, getByOrgByRepoBranch, getByOrgByRepoCommit, getByOrgByRepoCommitBySha, getByOrgByRepoContent, getByOrgByRepoDiff, getByOrgByRepoWebhook, getByOrgRepo, getWhoami, patchByOrgByRepo, postByOrgApiKey, postByOrgByRepoBranch, postByOrgByRepoCommit, postByOrgByRepoWebhook, postByOrgRepo, } from '@mesadev/rest';
|
|
2
|
+
function bindRawOperation(restClient, operation) {
|
|
3
|
+
return ((options) => restClient.request(operation, options));
|
|
4
|
+
}
|
|
5
|
+
function createRawApi(restClient) {
|
|
6
|
+
return {
|
|
7
|
+
getWhoami: bindRawOperation(restClient, getWhoami),
|
|
8
|
+
getByOrg: bindRawOperation(restClient, getByOrg),
|
|
9
|
+
getByOrgApiKeys: bindRawOperation(restClient, getByOrgApiKey),
|
|
10
|
+
postByOrgApiKeys: bindRawOperation(restClient, postByOrgApiKey),
|
|
11
|
+
deleteByOrgApiKeysById: bindRawOperation(restClient, deleteByOrgApiKeyById),
|
|
12
|
+
getByOrgRepos: bindRawOperation(restClient, getByOrgRepo),
|
|
13
|
+
postByOrgRepos: bindRawOperation(restClient, postByOrgRepo),
|
|
14
|
+
getByOrgByRepo: bindRawOperation(restClient, getByOrgByRepo),
|
|
15
|
+
patchByOrgByRepo: bindRawOperation(restClient, patchByOrgByRepo),
|
|
16
|
+
deleteByOrgByRepo: bindRawOperation(restClient, deleteByOrgByRepo),
|
|
17
|
+
getByOrgByRepoContent: bindRawOperation(restClient, getByOrgByRepoContent),
|
|
18
|
+
getByOrgByRepoBranches: bindRawOperation(restClient, getByOrgByRepoBranch),
|
|
19
|
+
postByOrgByRepoBranches: bindRawOperation(restClient, postByOrgByRepoBranch),
|
|
20
|
+
deleteByOrgByRepoBranchesByBranch: bindRawOperation(restClient, deleteByOrgByRepoBranchByBranch),
|
|
21
|
+
getByOrgByRepoCommits: bindRawOperation(restClient, getByOrgByRepoCommit),
|
|
22
|
+
postByOrgByRepoCommits: bindRawOperation(restClient, postByOrgByRepoCommit),
|
|
23
|
+
getByOrgByRepoCommitsBySha: bindRawOperation(restClient, getByOrgByRepoCommitBySha),
|
|
24
|
+
getByOrgByRepoDiff: bindRawOperation(restClient, getByOrgByRepoDiff),
|
|
25
|
+
getByOrgByRepoWebhooks: bindRawOperation(restClient, getByOrgByRepoWebhook),
|
|
26
|
+
postByOrgByRepoWebhooks: bindRawOperation(restClient, postByOrgByRepoWebhook),
|
|
27
|
+
deleteByOrgByRepoWebhooksByWebhookId: bindRawOperation(restClient, deleteByOrgByRepoWebhookByWebhookId),
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export function createApiResources({ restClient, resolveOrg }) {
|
|
31
|
+
return {
|
|
32
|
+
raw: createRawApi(restClient),
|
|
33
|
+
org: {
|
|
34
|
+
get: async (input = {}) => {
|
|
35
|
+
const org = await resolveOrg(input.org);
|
|
36
|
+
return restClient.request(getByOrg, { path: { org } });
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
apiKeys: {
|
|
40
|
+
list: async (input = {}) => {
|
|
41
|
+
const org = await resolveOrg(input.org);
|
|
42
|
+
return restClient.request(getByOrgApiKey, { path: { org } });
|
|
43
|
+
},
|
|
44
|
+
create: async (input) => {
|
|
45
|
+
const { org: overrideOrg, ...body } = input;
|
|
46
|
+
const org = await resolveOrg(overrideOrg);
|
|
47
|
+
return restClient.request(postByOrgApiKey, { path: { org }, body });
|
|
48
|
+
},
|
|
49
|
+
revoke: async (input) => {
|
|
50
|
+
const { id, org: overrideOrg } = input;
|
|
51
|
+
const org = await resolveOrg(overrideOrg);
|
|
52
|
+
return restClient.request(deleteByOrgApiKeyById, { path: { id, org } });
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
repos: {
|
|
56
|
+
list: async (input = {}) => {
|
|
57
|
+
const { org: overrideOrg, ...query } = input;
|
|
58
|
+
const org = await resolveOrg(overrideOrg);
|
|
59
|
+
return restClient.request(getByOrgRepo, { path: { org }, query });
|
|
60
|
+
},
|
|
61
|
+
create: async (input) => {
|
|
62
|
+
const { org: overrideOrg, ...body } = input;
|
|
63
|
+
const org = await resolveOrg(overrideOrg);
|
|
64
|
+
return restClient.request(postByOrgRepo, { path: { org }, body });
|
|
65
|
+
},
|
|
66
|
+
get: async (input) => {
|
|
67
|
+
const { org: overrideOrg, repo } = input;
|
|
68
|
+
const org = await resolveOrg(overrideOrg);
|
|
69
|
+
return restClient.request(getByOrgByRepo, { path: { org, repo } });
|
|
70
|
+
},
|
|
71
|
+
update: async (input) => {
|
|
72
|
+
const { org: overrideOrg, repo, ...body } = input;
|
|
73
|
+
const org = await resolveOrg(overrideOrg);
|
|
74
|
+
return restClient.request(patchByOrgByRepo, { path: { org, repo }, body });
|
|
75
|
+
},
|
|
76
|
+
delete: async (input) => {
|
|
77
|
+
const { org: overrideOrg, repo } = input;
|
|
78
|
+
const org = await resolveOrg(overrideOrg);
|
|
79
|
+
return restClient.request(deleteByOrgByRepo, { path: { org, repo } });
|
|
80
|
+
},
|
|
81
|
+
},
|
|
82
|
+
content: {
|
|
83
|
+
get: async (input) => {
|
|
84
|
+
const { org: overrideOrg, repo, ...query } = input;
|
|
85
|
+
const org = await resolveOrg(overrideOrg);
|
|
86
|
+
return restClient.request(getByOrgByRepoContent, { path: { org, repo }, query });
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
branches: {
|
|
90
|
+
list: async (input) => {
|
|
91
|
+
const { org: overrideOrg, repo, ...query } = input;
|
|
92
|
+
const org = await resolveOrg(overrideOrg);
|
|
93
|
+
return restClient.request(getByOrgByRepoBranch, { path: { org, repo }, query });
|
|
94
|
+
},
|
|
95
|
+
create: async (input) => {
|
|
96
|
+
const { org: overrideOrg, repo, ...body } = input;
|
|
97
|
+
const org = await resolveOrg(overrideOrg);
|
|
98
|
+
return restClient.request(postByOrgByRepoBranch, { path: { org, repo }, body });
|
|
99
|
+
},
|
|
100
|
+
delete: async (input) => {
|
|
101
|
+
const { org: overrideOrg, repo, branch } = input;
|
|
102
|
+
const org = await resolveOrg(overrideOrg);
|
|
103
|
+
return restClient.request(deleteByOrgByRepoBranchByBranch, { path: { org, repo, branch } });
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
commits: {
|
|
107
|
+
list: async (input) => {
|
|
108
|
+
const { org: overrideOrg, repo, ...query } = input;
|
|
109
|
+
const org = await resolveOrg(overrideOrg);
|
|
110
|
+
return restClient.request(getByOrgByRepoCommit, { path: { org, repo }, query });
|
|
111
|
+
},
|
|
112
|
+
create: async (input) => {
|
|
113
|
+
const { org: overrideOrg, repo, ...body } = input;
|
|
114
|
+
const org = await resolveOrg(overrideOrg);
|
|
115
|
+
return restClient.request(postByOrgByRepoCommit, { path: { org, repo }, body });
|
|
116
|
+
},
|
|
117
|
+
get: async (input) => {
|
|
118
|
+
const { org: overrideOrg, repo, sha } = input;
|
|
119
|
+
const org = await resolveOrg(overrideOrg);
|
|
120
|
+
return restClient.request(getByOrgByRepoCommitBySha, { path: { org, repo, sha } });
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
diffs: {
|
|
124
|
+
get: async (input) => {
|
|
125
|
+
const { org: overrideOrg, repo, ...query } = input;
|
|
126
|
+
const org = await resolveOrg(overrideOrg);
|
|
127
|
+
return restClient.request(getByOrgByRepoDiff, { path: { org, repo }, query });
|
|
128
|
+
},
|
|
129
|
+
},
|
|
130
|
+
webhooks: {
|
|
131
|
+
list: async (input) => {
|
|
132
|
+
const { org: overrideOrg, repo } = input;
|
|
133
|
+
const org = await resolveOrg(overrideOrg);
|
|
134
|
+
return restClient.request(getByOrgByRepoWebhook, { path: { org, repo } });
|
|
135
|
+
},
|
|
136
|
+
create: async (input) => {
|
|
137
|
+
const { org: overrideOrg, repo, ...body } = input;
|
|
138
|
+
const org = await resolveOrg(overrideOrg);
|
|
139
|
+
return restClient.request(postByOrgByRepoWebhook, { path: { org, repo }, body });
|
|
140
|
+
},
|
|
141
|
+
delete: async (input) => {
|
|
142
|
+
const { org: overrideOrg, repo, webhookId } = input;
|
|
143
|
+
const org = await resolveOrg(overrideOrg);
|
|
144
|
+
return restClient.request(deleteByOrgByRepoWebhookByWebhookId, {
|
|
145
|
+
path: { org, repo, webhookId },
|
|
146
|
+
});
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../../src/api/resources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,cAAc,IAAI,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAC"}
|
package/dist/fs/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,cAAc,IAAI,MAAM,EAA6B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Automatic lifecycle management for API keys minted by mesa.fs.create().
|
|
2
|
+
//
|
|
3
|
+
// Each MesaFS 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 MesaFS 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 MesaFS
|
|
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 MesaFS 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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key-cleanup.js","sourceRoot":"","sources":["../../src/fs/key-cleanup.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,uDAAuD;AACvD,EAAE;AACF,8EAA8E;AAC9E,+EAA+E;AAC/E,uBAAuB;AACvB,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AACjF,gFAAgF;AAChF,EAAE;AACF,2EAA2E;AAC3E,8EAA8E;AAC9E,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,6DAA6D;AAS7D,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;AAEhD,uEAAuE;AACvE,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"}
|