kurtosis-sdk 0.49.5

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 (69) hide show
  1. package/build/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_pb.d.ts +110 -0
  2. package/build/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_pb.js +581 -0
  3. package/build/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.d.ts +236 -0
  4. package/build/core/kurtosis_core_rpc_api_bindings/api_container_service_grpc_web_pb.js +1174 -0
  5. package/build/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.d.ts +918 -0
  6. package/build/core/kurtosis_core_rpc_api_bindings/api_container_service_pb.js +7616 -0
  7. package/build/core/kurtosis_core_rpc_api_bindings/executable_module_service_grpc_pb.d.ts +30 -0
  8. package/build/core/kurtosis_core_rpc_api_bindings/executable_module_service_grpc_pb.js +70 -0
  9. package/build/core/kurtosis_core_rpc_api_bindings/executable_module_service_grpc_web_pb.d.ts +44 -0
  10. package/build/core/kurtosis_core_rpc_api_bindings/executable_module_service_grpc_web_pb.js +198 -0
  11. package/build/core/kurtosis_core_rpc_api_bindings/executable_module_service_pb.d.ts +41 -0
  12. package/build/core/kurtosis_core_rpc_api_bindings/executable_module_service_pb.js +324 -0
  13. package/build/core/lib/constructor_calls.d.ts +33 -0
  14. package/build/core/lib/constructor_calls.js +328 -0
  15. package/build/core/lib/enclaves/enclave_context.d.ts +39 -0
  16. package/build/core/lib/enclaves/enclave_context.js +501 -0
  17. package/build/core/lib/enclaves/generic_api_container_client.d.ts +23 -0
  18. package/build/core/lib/enclaves/generic_api_container_client.js +6 -0
  19. package/build/core/lib/enclaves/generic_path_joiner.d.ts +3 -0
  20. package/build/core/lib/enclaves/generic_path_joiner.js +6 -0
  21. package/build/core/lib/enclaves/generic_tgz_archiver.d.ts +4 -0
  22. package/build/core/lib/enclaves/generic_tgz_archiver.js +2 -0
  23. package/build/core/lib/enclaves/grpc_node_api_container_client.d.ts +29 -0
  24. package/build/core/lib/enclaves/grpc_node_api_container_client.js +415 -0
  25. package/build/core/lib/enclaves/grpc_web_api_container_client.d.ts +28 -0
  26. package/build/core/lib/enclaves/grpc_web_api_container_client.js +415 -0
  27. package/build/core/lib/enclaves/node_tgz_archiver.d.ts +6 -0
  28. package/build/core/lib/enclaves/node_tgz_archiver.js +94 -0
  29. package/build/core/lib/enclaves/partition_connection.d.ts +20 -0
  30. package/build/core/lib/enclaves/partition_connection.js +62 -0
  31. package/build/core/lib/enclaves/template_and_data.d.ts +5 -0
  32. package/build/core/lib/enclaves/template_and_data.js +11 -0
  33. package/build/core/lib/enclaves/web_tgz_archiver.d.ts +5 -0
  34. package/build/core/lib/enclaves/web_tgz_archiver.js +26 -0
  35. package/build/core/lib/modules/module_context.d.ts +9 -0
  36. package/build/core/lib/modules/module_context.js +34 -0
  37. package/build/core/lib/services/container_config.d.ts +39 -0
  38. package/build/core/lib/services/container_config.js +85 -0
  39. package/build/core/lib/services/port_spec.d.ts +11 -0
  40. package/build/core/lib/services/port_spec.js +16 -0
  41. package/build/core/lib/services/service.d.ts +1 -0
  42. package/build/core/lib/services/service.js +6 -0
  43. package/build/core/lib/services/service_context.d.ts +19 -0
  44. package/build/core/lib/services/service_context.js +58 -0
  45. package/build/core/module_launch_api/args_io.d.ts +4 -0
  46. package/build/core/module_launch_api/args_io.js +60 -0
  47. package/build/core/module_launch_api/module_container_args.d.ts +8 -0
  48. package/build/core/module_launch_api/module_container_args.js +24 -0
  49. package/build/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_pb.d.ts +50 -0
  50. package/build/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_pb.js +186 -0
  51. package/build/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.d.ts +92 -0
  52. package/build/engine/kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb.js +442 -0
  53. package/build/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.d.ts +267 -0
  54. package/build/engine/kurtosis_engine_rpc_api_bindings/engine_service_pb.js +2141 -0
  55. package/build/engine/lib/constructor_calls.d.ts +5 -0
  56. package/build/engine/lib/constructor_calls.js +34 -0
  57. package/build/engine/lib/kurtosis_context/generic_engine_client.d.ts +10 -0
  58. package/build/engine/lib/kurtosis_context/generic_engine_client.js +2 -0
  59. package/build/engine/lib/kurtosis_context/grpc_node_engine_client.d.ts +14 -0
  60. package/build/engine/lib/kurtosis_context/grpc_node_engine_client.js +165 -0
  61. package/build/engine/lib/kurtosis_context/grpc_web_engine_client.d.ts +14 -0
  62. package/build/engine/lib/kurtosis_context/grpc_web_engine_client.js +165 -0
  63. package/build/engine/lib/kurtosis_context/kurtosis_context.d.ts +19 -0
  64. package/build/engine/lib/kurtosis_context/kurtosis_context.js +236 -0
  65. package/build/index.d.ts +19 -0
  66. package/build/index.js +55 -0
  67. package/build/kurtosis_version/kurtosis_version.d.ts +1 -0
  68. package/build/kurtosis_version/kurtosis_version.js +8 -0
  69. package/package.json +59 -0
@@ -0,0 +1,5 @@
1
+ import { CleanArgs, CreateEnclaveArgs, DestroyEnclaveArgs } from "../kurtosis_engine_rpc_api_bindings/engine_service_pb";
2
+ export declare function newCreateEnclaveArgs(enclaveId: string, apiContainerImageVersionTag: string, apiContainerLogLevel: string, isPartitioningEnabled: boolean): CreateEnclaveArgs;
3
+ export declare function newStopEnclaveArgs(enclaveId: string): DestroyEnclaveArgs;
4
+ export declare function newDestroyEnclaveArgs(enclaveId: string): DestroyEnclaveArgs;
5
+ export declare function newCleanArgs(shouldCleanAll: boolean): CleanArgs;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.newCleanArgs = exports.newDestroyEnclaveArgs = exports.newStopEnclaveArgs = exports.newCreateEnclaveArgs = void 0;
4
+ const engine_service_pb_1 = require("../kurtosis_engine_rpc_api_bindings/engine_service_pb");
5
+ // ====================================================================================================
6
+ // Kurtosis Context
7
+ // ====================================================================================================
8
+ function newCreateEnclaveArgs(enclaveId, apiContainerImageVersionTag, apiContainerLogLevel, isPartitioningEnabled) {
9
+ const result = new engine_service_pb_1.CreateEnclaveArgs();
10
+ result.setEnclaveId(enclaveId);
11
+ result.setApiContainerVersionTag(apiContainerImageVersionTag);
12
+ result.setApiContainerLogLevel(apiContainerLogLevel);
13
+ result.setIsPartitioningEnabled(isPartitioningEnabled);
14
+ return result;
15
+ }
16
+ exports.newCreateEnclaveArgs = newCreateEnclaveArgs;
17
+ function newStopEnclaveArgs(enclaveId) {
18
+ const result = new engine_service_pb_1.StopEnclaveArgs();
19
+ result.setEnclaveId(enclaveId);
20
+ return result;
21
+ }
22
+ exports.newStopEnclaveArgs = newStopEnclaveArgs;
23
+ function newDestroyEnclaveArgs(enclaveId) {
24
+ const result = new engine_service_pb_1.DestroyEnclaveArgs();
25
+ result.setEnclaveId(enclaveId);
26
+ return result;
27
+ }
28
+ exports.newDestroyEnclaveArgs = newDestroyEnclaveArgs;
29
+ function newCleanArgs(shouldCleanAll) {
30
+ const result = new engine_service_pb_1.CleanArgs();
31
+ result.setShouldCleanAll(shouldCleanAll);
32
+ return result;
33
+ }
34
+ exports.newCleanArgs = newCleanArgs;
@@ -0,0 +1,10 @@
1
+ import { Result } from "neverthrow";
2
+ import { CleanArgs, CleanResponse, CreateEnclaveArgs, CreateEnclaveResponse, DestroyEnclaveArgs, GetEnclavesResponse, GetEngineInfoResponse, StopEnclaveArgs } from "../../kurtosis_engine_rpc_api_bindings/engine_service_pb";
3
+ export interface GenericEngineClient {
4
+ getEngineInfo(): Promise<Result<GetEngineInfoResponse, Error>>;
5
+ createEnclaveResponse(args: CreateEnclaveArgs): Promise<Result<CreateEnclaveResponse, Error>>;
6
+ getEnclavesResponse(): Promise<Result<GetEnclavesResponse, Error>>;
7
+ stopEnclave(stopEnclaveArgs: StopEnclaveArgs): Promise<Result<null, Error>>;
8
+ destroyEnclave(destroyEnclaveArgs: DestroyEnclaveArgs): Promise<Result<null, Error>>;
9
+ clean(cleanArgs: CleanArgs): Promise<Result<CleanResponse, Error>>;
10
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,14 @@
1
+ import { Result } from "neverthrow";
2
+ import type { EngineServiceClient as EngineServiceClientNode } from "../../kurtosis_engine_rpc_api_bindings/engine_service_grpc_pb";
3
+ import type { GenericEngineClient } from "./generic_engine_client";
4
+ import type { CleanArgs, CleanResponse, CreateEnclaveArgs, CreateEnclaveResponse, DestroyEnclaveArgs, GetEnclavesResponse, GetEngineInfoResponse, StopEnclaveArgs } from "../../kurtosis_engine_rpc_api_bindings/engine_service_pb";
5
+ export declare class GrpcNodeEngineClient implements GenericEngineClient {
6
+ private readonly client;
7
+ constructor(client: EngineServiceClientNode);
8
+ getEngineInfo(): Promise<Result<GetEngineInfoResponse, Error>>;
9
+ createEnclaveResponse(args: CreateEnclaveArgs): Promise<Result<CreateEnclaveResponse, Error>>;
10
+ stopEnclave(stopEnclaveArgs: StopEnclaveArgs): Promise<Result<null, Error>>;
11
+ destroyEnclave(destroyEnclaveArgs: DestroyEnclaveArgs): Promise<Result<null, Error>>;
12
+ clean(cleanArgs: CleanArgs): Promise<Result<CleanResponse, Error>>;
13
+ getEnclavesResponse(): Promise<Result<GetEnclavesResponse, Error>>;
14
+ }
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GrpcNodeEngineClient = void 0;
13
+ const neverthrow_1 = require("neverthrow");
14
+ const google_protobuf_empty_pb = require("google-protobuf/google/protobuf/empty_pb");
15
+ class GrpcNodeEngineClient {
16
+ constructor(client) {
17
+ this.client = client;
18
+ }
19
+ getEngineInfo() {
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ const grpc_node = yield Promise.resolve().then(() => require(/* webpackIgnore: true */ "@grpc/grpc-js"));
22
+ const emptyArg = new google_protobuf_empty_pb.Empty();
23
+ const getEngineInfoPromise = new Promise((resolve, _unusedReject) => {
24
+ this.client.getEngineInfo(emptyArg, (error, response) => {
25
+ if (error === null) {
26
+ if (!response) {
27
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this should never " + "happen")));
28
+ }
29
+ else {
30
+ resolve((0, neverthrow_1.ok)(response));
31
+ }
32
+ }
33
+ else {
34
+ if (error.code === grpc_node.status.UNAVAILABLE) {
35
+ resolve((0, neverthrow_1.err)(new Error("The Kurtosis Engine Server is unavailable and is probably not running; you " +
36
+ "will need to start it using the Kurtosis CLI before you can create a connection to it")));
37
+ }
38
+ resolve((0, neverthrow_1.err)(error));
39
+ }
40
+ });
41
+ });
42
+ const getEngineInfoResult = yield getEngineInfoPromise;
43
+ if (getEngineInfoResult.isErr()) {
44
+ return (0, neverthrow_1.err)(getEngineInfoResult.error);
45
+ }
46
+ const engineInfoResponse = getEngineInfoResult.value;
47
+ return (0, neverthrow_1.ok)(engineInfoResponse);
48
+ });
49
+ }
50
+ createEnclaveResponse(args) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const createEnclavePromise = new Promise((resolve, _unusedReject) => {
53
+ this.client.createEnclave(args, {}, (error, response) => {
54
+ if (error === null) {
55
+ if (!response) {
56
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this should never happen")));
57
+ }
58
+ else {
59
+ resolve((0, neverthrow_1.ok)(response));
60
+ }
61
+ }
62
+ else {
63
+ resolve((0, neverthrow_1.err)(error));
64
+ }
65
+ });
66
+ });
67
+ const createEnclaveResult = yield createEnclavePromise;
68
+ if (createEnclaveResult.isErr()) {
69
+ return (0, neverthrow_1.err)(createEnclaveResult.error);
70
+ }
71
+ const enclaveResponse = createEnclaveResult.value;
72
+ return (0, neverthrow_1.ok)(enclaveResponse);
73
+ });
74
+ }
75
+ stopEnclave(stopEnclaveArgs) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const stopEnclavePromise = new Promise((resolve, _unusedReject) => {
78
+ this.client.stopEnclave(stopEnclaveArgs, (error, _unusedResponse) => {
79
+ if (error === null) {
80
+ resolve((0, neverthrow_1.ok)(null));
81
+ }
82
+ else {
83
+ resolve((0, neverthrow_1.err)(error));
84
+ }
85
+ });
86
+ });
87
+ const stopEnclaveResult = yield stopEnclavePromise;
88
+ if (stopEnclaveResult.isErr()) {
89
+ return (0, neverthrow_1.err)(stopEnclaveResult.error);
90
+ }
91
+ return (0, neverthrow_1.ok)(null);
92
+ });
93
+ }
94
+ destroyEnclave(destroyEnclaveArgs) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const destroyEnclavePromise = new Promise((resolve, _unusedReject) => {
97
+ this.client.destroyEnclave(destroyEnclaveArgs, {}, (error, _unusedResponse) => {
98
+ if (error === null) {
99
+ resolve((0, neverthrow_1.ok)(null));
100
+ }
101
+ else {
102
+ resolve((0, neverthrow_1.err)(error));
103
+ }
104
+ });
105
+ });
106
+ const destroyEnclaveResult = yield destroyEnclavePromise;
107
+ if (destroyEnclaveResult.isErr()) {
108
+ return (0, neverthrow_1.err)(destroyEnclaveResult.error);
109
+ }
110
+ return (0, neverthrow_1.ok)(null);
111
+ });
112
+ }
113
+ clean(cleanArgs) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const cleanPromise = new Promise((resolve, _unusedReject) => {
116
+ this.client.clean(cleanArgs, (error, response) => {
117
+ if (error === null) {
118
+ if (!response) {
119
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this " +
120
+ "should never happen")));
121
+ }
122
+ else {
123
+ resolve((0, neverthrow_1.ok)(response));
124
+ }
125
+ }
126
+ else {
127
+ resolve((0, neverthrow_1.err)(error));
128
+ }
129
+ });
130
+ });
131
+ const cleanResult = yield cleanPromise;
132
+ if (cleanResult.isErr()) {
133
+ return (0, neverthrow_1.err)(cleanResult.error);
134
+ }
135
+ const cleanResponse = cleanResult.value;
136
+ return (0, neverthrow_1.ok)(cleanResponse);
137
+ });
138
+ }
139
+ getEnclavesResponse() {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ const emptyArg = new google_protobuf_empty_pb.Empty();
142
+ const getEnclavesPromise = new Promise((resolve, _unusedReject) => {
143
+ this.client.getEnclaves(emptyArg, (error, response) => {
144
+ if (error === null) {
145
+ if (!response) {
146
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this should never happen")));
147
+ }
148
+ else {
149
+ resolve((0, neverthrow_1.ok)(response));
150
+ }
151
+ }
152
+ else {
153
+ resolve((0, neverthrow_1.err)(error));
154
+ }
155
+ });
156
+ });
157
+ const getEnclavesResponseResult = yield getEnclavesPromise;
158
+ if (!getEnclavesResponseResult.isOk()) {
159
+ return (0, neverthrow_1.err)(getEnclavesResponseResult.error);
160
+ }
161
+ return (0, neverthrow_1.ok)(getEnclavesResponseResult.value);
162
+ });
163
+ }
164
+ }
165
+ exports.GrpcNodeEngineClient = GrpcNodeEngineClient;
@@ -0,0 +1,14 @@
1
+ import { Result } from "neverthrow";
2
+ import type { EngineServiceClient as EngineServiceClientWeb } from "../../kurtosis_engine_rpc_api_bindings/engine_service_grpc_web_pb";
3
+ import type { GenericEngineClient } from "./generic_engine_client";
4
+ import type { CleanArgs, CleanResponse, CreateEnclaveArgs, CreateEnclaveResponse, DestroyEnclaveArgs, GetEnclavesResponse, GetEngineInfoResponse, StopEnclaveArgs } from "../../kurtosis_engine_rpc_api_bindings/engine_service_pb";
5
+ export declare class GrpcWebEngineClient implements GenericEngineClient {
6
+ private readonly client;
7
+ constructor(client: EngineServiceClientWeb);
8
+ getEngineInfo(): Promise<Result<GetEngineInfoResponse, Error>>;
9
+ createEnclaveResponse(createEnclaveArgs: CreateEnclaveArgs): Promise<Result<CreateEnclaveResponse, Error>>;
10
+ stopEnclave(stopEnclaveArgs: StopEnclaveArgs): Promise<Result<null, Error>>;
11
+ destroyEnclave(destroyEnclaveArgs: DestroyEnclaveArgs): Promise<Result<null, Error>>;
12
+ clean(cleanArgs: CleanArgs): Promise<Result<CleanResponse, Error>>;
13
+ getEnclavesResponse(): Promise<Result<GetEnclavesResponse, Error>>;
14
+ }
@@ -0,0 +1,165 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.GrpcWebEngineClient = void 0;
13
+ const grpc_web = require("grpc-web");
14
+ const google_protobuf_empty_pb = require("google-protobuf/google/protobuf/empty_pb");
15
+ const neverthrow_1 = require("neverthrow");
16
+ class GrpcWebEngineClient {
17
+ constructor(client) {
18
+ this.client = client;
19
+ }
20
+ getEngineInfo() {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const emptyArg = new google_protobuf_empty_pb.Empty();
23
+ const getEngineInfoPromise = new Promise((resolve, _unusedReject) => {
24
+ this.client.getEngineInfo(emptyArg, {}, (error, response) => {
25
+ if (error === null) {
26
+ if (!response) {
27
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this should never " + "happen")));
28
+ }
29
+ else {
30
+ resolve((0, neverthrow_1.ok)(response));
31
+ }
32
+ }
33
+ else {
34
+ if (error.code === grpc_web.StatusCode.UNAVAILABLE) {
35
+ resolve((0, neverthrow_1.err)(new Error("The Kurtosis Engine Server is unavailable and is probably not running; you " +
36
+ "will need to start it using the Kurtosis CLI before you can create a connection to it")));
37
+ }
38
+ resolve((0, neverthrow_1.err)(error));
39
+ }
40
+ });
41
+ });
42
+ const getEngineInfoResult = yield getEngineInfoPromise;
43
+ if (getEngineInfoResult.isErr()) {
44
+ return (0, neverthrow_1.err)(getEngineInfoResult.error);
45
+ }
46
+ const engineInfoResponse = getEngineInfoResult.value;
47
+ return (0, neverthrow_1.ok)(engineInfoResponse);
48
+ });
49
+ }
50
+ createEnclaveResponse(createEnclaveArgs) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ const createEnclavePromise = new Promise((resolve, _unusedReject) => {
53
+ this.client.createEnclave(createEnclaveArgs, {}, (error, response) => {
54
+ if (error === null) {
55
+ if (!response) {
56
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this should never happen")));
57
+ }
58
+ else {
59
+ resolve((0, neverthrow_1.ok)(response));
60
+ }
61
+ }
62
+ else {
63
+ resolve((0, neverthrow_1.err)(error));
64
+ }
65
+ });
66
+ });
67
+ const createEnclaveResult = yield createEnclavePromise;
68
+ if (createEnclaveResult.isErr()) {
69
+ return (0, neverthrow_1.err)(createEnclaveResult.error);
70
+ }
71
+ const enclaveResponse = createEnclaveResult.value;
72
+ return (0, neverthrow_1.ok)(enclaveResponse);
73
+ });
74
+ }
75
+ stopEnclave(stopEnclaveArgs) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const stopEnclavePromise = new Promise((resolve, _unusedReject) => {
78
+ this.client.stopEnclave(stopEnclaveArgs, {}, (error, _unusedResponse) => {
79
+ if (error === null) {
80
+ resolve((0, neverthrow_1.ok)(null));
81
+ }
82
+ else {
83
+ resolve((0, neverthrow_1.err)(error));
84
+ }
85
+ });
86
+ });
87
+ const stopEnclaveResult = yield stopEnclavePromise;
88
+ if (stopEnclaveResult.isErr()) {
89
+ return (0, neverthrow_1.err)(stopEnclaveResult.error);
90
+ }
91
+ return (0, neverthrow_1.ok)(null);
92
+ });
93
+ }
94
+ destroyEnclave(destroyEnclaveArgs) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const destroyEnclavePromise = new Promise((resolve, _unusedReject) => {
97
+ this.client.destroyEnclave(destroyEnclaveArgs, {}, (error, _unusedResponse) => {
98
+ if (error === null) {
99
+ resolve((0, neverthrow_1.ok)(null));
100
+ }
101
+ else {
102
+ resolve((0, neverthrow_1.err)(error));
103
+ }
104
+ });
105
+ });
106
+ const destroyEnclaveResult = yield destroyEnclavePromise;
107
+ if (destroyEnclaveResult.isErr()) {
108
+ return (0, neverthrow_1.err)(destroyEnclaveResult.error);
109
+ }
110
+ return (0, neverthrow_1.ok)(null);
111
+ });
112
+ }
113
+ clean(cleanArgs) {
114
+ return __awaiter(this, void 0, void 0, function* () {
115
+ const cleanPromise = new Promise((resolve, _unusedReject) => {
116
+ this.client.clean(cleanArgs, {}, (error, response) => {
117
+ if (error === null) {
118
+ if (!response) {
119
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this " +
120
+ "should never happen")));
121
+ }
122
+ else {
123
+ resolve((0, neverthrow_1.ok)(response));
124
+ }
125
+ }
126
+ else {
127
+ resolve((0, neverthrow_1.err)(error));
128
+ }
129
+ });
130
+ });
131
+ const cleanResult = yield cleanPromise;
132
+ if (cleanResult.isErr()) {
133
+ return (0, neverthrow_1.err)(cleanResult.error);
134
+ }
135
+ const cleanResponse = cleanResult.value;
136
+ return (0, neverthrow_1.ok)(cleanResponse);
137
+ });
138
+ }
139
+ getEnclavesResponse() {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ const emptyArg = new google_protobuf_empty_pb.Empty();
142
+ const getEnclavesPromise = new Promise((resolve, _unusedReject) => {
143
+ this.client.getEnclaves(emptyArg, {}, (error, response) => {
144
+ if (error === null) {
145
+ if (!response) {
146
+ resolve((0, neverthrow_1.err)(new Error("No error was encountered but the response was still falsy; this should never happen")));
147
+ }
148
+ else {
149
+ resolve((0, neverthrow_1.ok)(response));
150
+ }
151
+ }
152
+ else {
153
+ resolve((0, neverthrow_1.err)(error));
154
+ }
155
+ });
156
+ });
157
+ const getEnclavesResponseResult = yield getEnclavesPromise;
158
+ if (getEnclavesResponseResult.isErr()) {
159
+ return (0, neverthrow_1.err)(getEnclavesResponseResult.error);
160
+ }
161
+ return (0, neverthrow_1.ok)(getEnclavesResponseResult.value);
162
+ });
163
+ }
164
+ }
165
+ exports.GrpcWebEngineClient = GrpcWebEngineClient;
@@ -0,0 +1,19 @@
1
+ import { Result } from "neverthrow";
2
+ import { EnclaveContext, EnclaveID } from "../../../index";
3
+ import { GenericEngineClient } from "./generic_engine_client";
4
+ export declare const DEFAULT_GRPC_ENGINE_SERVER_PORT_NUM: number;
5
+ export declare const DEFAULT_GRPC_PROXY_ENGINE_SERVER_PORT_NUM: number;
6
+ export declare const DEFAULT_HTTP_LOGS_COLLECTOR_PORT_NUM: number;
7
+ export declare class KurtosisContext {
8
+ private readonly client;
9
+ constructor(client: GenericEngineClient);
10
+ static newKurtosisContextFromLocalEngine(): Promise<Result<KurtosisContext, Error>>;
11
+ createEnclave(enclaveId: string, isPartitioningEnabled: boolean): Promise<Result<EnclaveContext, Error>>;
12
+ getEnclaveContext(enclaveId: EnclaveID): Promise<Result<EnclaveContext, Error>>;
13
+ getEnclaves(): Promise<Result<Set<EnclaveID>, Error>>;
14
+ stopEnclave(enclaveId: EnclaveID): Promise<Result<null, Error>>;
15
+ destroyEnclave(enclaveId: EnclaveID): Promise<Result<null, Error>>;
16
+ clean(shouldCleanAll: boolean): Promise<Result<Set<string>, Error>>;
17
+ private newEnclaveContextFromEnclaveInfo;
18
+ private static validateEngineApiVersion;
19
+ }