@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.
Files changed (105) hide show
  1. package/README.md +53 -13
  2. package/dist/api/client.d.ts +26 -0
  3. package/dist/api/client.d.ts.map +1 -0
  4. package/dist/api/client.js +40 -0
  5. package/dist/api/client.js.map +1 -0
  6. package/dist/api/index.d.ts +2 -0
  7. package/dist/api/index.d.ts.map +1 -0
  8. package/dist/api/index.js +2 -0
  9. package/dist/api/index.js.map +1 -0
  10. package/dist/api/resources.d.ts +134 -0
  11. package/dist/api/resources.d.ts.map +1 -0
  12. package/dist/api/resources.js +151 -0
  13. package/dist/api/resources.js.map +1 -0
  14. package/dist/fs/index.d.ts +2 -0
  15. package/dist/fs/index.d.ts.map +1 -0
  16. package/dist/fs/index.js +2 -0
  17. package/dist/fs/index.js.map +1 -0
  18. package/dist/fs/key-cleanup.d.ts +7 -0
  19. package/dist/fs/key-cleanup.d.ts.map +1 -0
  20. package/dist/fs/key-cleanup.js +70 -0
  21. package/dist/fs/key-cleanup.js.map +1 -0
  22. package/dist/fs/mesa-file-system.d.ts +65 -0
  23. package/dist/fs/mesa-file-system.d.ts.map +1 -0
  24. package/dist/fs/mesa-file-system.js +135 -0
  25. package/dist/fs/mesa-file-system.js.map +1 -0
  26. package/dist/fs/native-loader.d.ts +61 -0
  27. package/dist/fs/native-loader.d.ts.map +1 -0
  28. package/dist/fs/native-loader.js +94 -0
  29. package/dist/fs/native-loader.js.map +1 -0
  30. package/dist/git/index.d.ts +2 -0
  31. package/dist/git/index.d.ts.map +1 -0
  32. package/dist/git/index.js +2 -0
  33. package/dist/git/index.js.map +1 -0
  34. package/dist/git/path-utils.d.ts +4 -0
  35. package/dist/git/path-utils.d.ts.map +1 -0
  36. package/dist/git/path-utils.js +47 -0
  37. package/dist/git/path-utils.js.map +1 -0
  38. package/dist/git/service.d.ts +3 -0
  39. package/dist/git/service.d.ts.map +1 -0
  40. package/dist/git/service.js +308 -0
  41. package/dist/git/service.js.map +1 -0
  42. package/dist/git/types.d.ts +30 -0
  43. package/dist/git/types.d.ts.map +1 -0
  44. package/dist/git/types.js +2 -0
  45. package/dist/git/types.js.map +1 -0
  46. package/dist/index.d.ts +7 -1
  47. package/dist/index.d.ts.map +1 -0
  48. package/dist/index.js +5 -2
  49. package/dist/index.js.map +1 -0
  50. package/dist/lib/errors.d.ts +15 -0
  51. package/dist/lib/errors.d.ts.map +1 -0
  52. package/dist/lib/errors.js +27 -0
  53. package/dist/lib/errors.js.map +1 -0
  54. package/dist/mesa.d.ts +54 -0
  55. package/dist/mesa.d.ts.map +1 -0
  56. package/dist/mesa.js +155 -0
  57. package/dist/mesa.js.map +1 -0
  58. package/package.json +51 -20
  59. package/LICENSE +0 -201
  60. package/dist/client/client.gen.d.ts +0 -2
  61. package/dist/client/client.gen.js +0 -234
  62. package/dist/client/index.d.ts +0 -8
  63. package/dist/client/index.js +0 -6
  64. package/dist/client/types.gen.d.ts +0 -117
  65. package/dist/client/types.gen.js +0 -2
  66. package/dist/client/utils.gen.d.ts +0 -33
  67. package/dist/client/utils.gen.js +0 -228
  68. package/dist/client.gen.d.ts +0 -12
  69. package/dist/client.gen.js +0 -3
  70. package/dist/core/auth.gen.d.ts +0 -18
  71. package/dist/core/auth.gen.js +0 -14
  72. package/dist/core/bodySerializer.gen.d.ts +0 -25
  73. package/dist/core/bodySerializer.gen.js +0 -57
  74. package/dist/core/params.gen.d.ts +0 -43
  75. package/dist/core/params.gen.js +0 -100
  76. package/dist/core/pathSerializer.gen.d.ts +0 -33
  77. package/dist/core/pathSerializer.gen.js +0 -106
  78. package/dist/core/queryKeySerializer.gen.d.ts +0 -18
  79. package/dist/core/queryKeySerializer.gen.js +0 -92
  80. package/dist/core/serverSentEvents.gen.d.ts +0 -71
  81. package/dist/core/serverSentEvents.gen.js +0 -133
  82. package/dist/core/types.gen.d.ts +0 -78
  83. package/dist/core/types.gen.js +0 -2
  84. package/dist/core/utils.gen.d.ts +0 -19
  85. package/dist/core/utils.gen.js +0 -87
  86. package/dist/sdk.gen.d.ts +0 -123
  87. package/dist/sdk.gen.js +0 -202
  88. package/dist/types.gen.d.ts +0 -2285
  89. package/dist/types.gen.js +0 -2
  90. package/src/client/client.gen.ts +0 -288
  91. package/src/client/index.ts +0 -25
  92. package/src/client/types.gen.ts +0 -214
  93. package/src/client/utils.gen.ts +0 -316
  94. package/src/client.gen.ts +0 -16
  95. package/src/core/auth.gen.ts +0 -41
  96. package/src/core/bodySerializer.gen.ts +0 -84
  97. package/src/core/params.gen.ts +0 -169
  98. package/src/core/pathSerializer.gen.ts +0 -171
  99. package/src/core/queryKeySerializer.gen.ts +0 -117
  100. package/src/core/serverSentEvents.gen.ts +0 -243
  101. package/src/core/types.gen.ts +0 -104
  102. package/src/core/utils.gen.ts +0 -140
  103. package/src/index.ts +0 -2
  104. package/src/sdk.gen.ts +0 -237
  105. package/src/types.gen.ts +0 -2377
package/README.md CHANGED
@@ -1,28 +1,68 @@
1
1
  # @mesadev/sdk
2
2
 
3
- TypeScript SDK for the [Mesa](https://mesa.dev) API.
3
+ Official Mesa TypeScript SDK.
4
4
 
5
- Generated from the OpenAPI specification using [@hey-api/openapi-ts](https://heyapi.dev).
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
- ## Installation
7
+ Node.js runtime is required.
8
+
9
+ ## Install
8
10
 
9
11
  ```bash
10
- npm install @mesadev/sdk
12
+ bun add @mesadev/sdk
11
13
  ```
12
14
 
13
15
  ## Usage
14
16
 
15
- ```typescript
16
- import { createClient } from "@mesadev/sdk";
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
- const client = createClient({
19
- baseUrl: "https://depot.mesa.dev/api/v1",
20
- headers: {
21
- Authorization: "Bearer YOUR_API_KEY",
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
- ## License
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
- Apache-2.0
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,2 @@
1
+ export { createApiResources, } from './resources.js';
2
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export { type MesaBashOptions, MesaFileSystem as MesaFS, type MesaFileSystemConfig } from './mesa-file-system.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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"}
@@ -0,0 +1,2 @@
1
+ export { MesaFileSystem as MesaFS } from './mesa-file-system.js';
2
+ //# sourceMappingURL=index.js.map
@@ -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"}