@versori/run 0.2.19 → 0.2.21

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 (159) hide show
  1. package/esm/src/context/Context.d.ts.map +1 -1
  2. package/esm/src/context/Context.js +1 -0
  3. package/esm/src/dsl/http/versori/kvapi/core/ApiError.d.ts +11 -0
  4. package/esm/src/dsl/http/versori/kvapi/core/ApiError.d.ts.map +1 -0
  5. package/esm/src/dsl/http/versori/kvapi/core/ApiError.js +41 -0
  6. package/esm/src/dsl/http/versori/kvapi/core/ApiRequestOptions.d.ts +14 -0
  7. package/esm/src/dsl/http/versori/kvapi/core/ApiRequestOptions.d.ts.map +1 -0
  8. package/esm/src/dsl/http/versori/kvapi/core/ApiRequestOptions.js +1 -0
  9. package/esm/src/dsl/http/versori/kvapi/core/ApiResult.d.ts +8 -0
  10. package/esm/src/dsl/http/versori/kvapi/core/ApiResult.d.ts.map +1 -0
  11. package/esm/src/dsl/http/versori/kvapi/core/ApiResult.js +1 -0
  12. package/esm/src/dsl/http/versori/kvapi/core/CancelablePromise.d.ts +21 -0
  13. package/esm/src/dsl/http/versori/kvapi/core/CancelablePromise.d.ts.map +1 -0
  14. package/esm/src/dsl/http/versori/kvapi/core/CancelablePromise.js +111 -0
  15. package/esm/src/dsl/http/versori/kvapi/core/OpenAPI.d.ts +17 -0
  16. package/esm/src/dsl/http/versori/kvapi/core/OpenAPI.d.ts.map +1 -0
  17. package/esm/src/dsl/http/versori/kvapi/core/OpenAPI.js +15 -0
  18. package/esm/src/dsl/http/versori/kvapi/core/request.d.ts +31 -0
  19. package/esm/src/dsl/http/versori/kvapi/core/request.d.ts.map +1 -0
  20. package/esm/src/dsl/http/versori/kvapi/core/request.js +275 -0
  21. package/esm/src/dsl/http/versori/kvapi/models/CreateStoreRequest.d.ts +5 -0
  22. package/esm/src/dsl/http/versori/kvapi/models/CreateStoreRequest.d.ts.map +1 -0
  23. package/esm/src/dsl/http/versori/kvapi/models/CreateStoreRequest.js +1 -0
  24. package/esm/src/dsl/http/versori/kvapi/models/CreateStoreResponse.d.ts +4 -0
  25. package/esm/src/dsl/http/versori/kvapi/models/CreateStoreResponse.d.ts.map +1 -0
  26. package/esm/src/dsl/http/versori/kvapi/models/CreateStoreResponse.js +1 -0
  27. package/esm/src/dsl/http/versori/kvapi/models/DeleteKVResponse.d.ts +4 -0
  28. package/esm/src/dsl/http/versori/kvapi/models/DeleteKVResponse.d.ts.map +1 -0
  29. package/esm/src/dsl/http/versori/kvapi/models/DeleteKVResponse.js +1 -0
  30. package/esm/src/dsl/http/versori/kvapi/models/DeleteOptions.d.ts +11 -0
  31. package/esm/src/dsl/http/versori/kvapi/models/DeleteOptions.d.ts.map +1 -0
  32. package/esm/src/dsl/http/versori/kvapi/models/DeleteOptions.js +1 -0
  33. package/esm/src/dsl/http/versori/kvapi/models/GetKVResponse.d.ts +7 -0
  34. package/esm/src/dsl/http/versori/kvapi/models/GetKVResponse.d.ts.map +1 -0
  35. package/esm/src/dsl/http/versori/kvapi/models/GetKVResponse.js +1 -0
  36. package/esm/src/dsl/http/versori/kvapi/models/ListStoresResponse.d.ts +5 -0
  37. package/esm/src/dsl/http/versori/kvapi/models/ListStoresResponse.d.ts.map +1 -0
  38. package/esm/src/dsl/http/versori/kvapi/models/ListStoresResponse.js +1 -0
  39. package/esm/src/dsl/http/versori/kvapi/models/SetKVResponse.d.ts +6 -0
  40. package/esm/src/dsl/http/versori/kvapi/models/SetKVResponse.d.ts.map +1 -0
  41. package/esm/src/dsl/http/versori/kvapi/models/SetKVResponse.js +1 -0
  42. package/esm/src/dsl/http/versori/kvapi/models/SetOptions.d.ts +31 -0
  43. package/esm/src/dsl/http/versori/kvapi/models/SetOptions.d.ts.map +1 -0
  44. package/esm/src/dsl/http/versori/kvapi/models/SetOptions.js +1 -0
  45. package/esm/src/dsl/http/versori/kvapi/models/Store.d.ts +6 -0
  46. package/esm/src/dsl/http/versori/kvapi/models/Store.d.ts.map +1 -0
  47. package/esm/src/dsl/http/versori/kvapi/models/Store.js +1 -0
  48. package/esm/src/dsl/http/versori/kvapi/services/KvOperationsService.d.ts +43 -0
  49. package/esm/src/dsl/http/versori/kvapi/services/KvOperationsService.d.ts.map +1 -0
  50. package/esm/src/dsl/http/versori/kvapi/services/KvOperationsService.js +64 -0
  51. package/esm/src/dsl/http/versori/kvapi/services/StoresService.d.ts +21 -0
  52. package/esm/src/dsl/http/versori/kvapi/services/StoresService.d.ts.map +1 -0
  53. package/esm/src/dsl/http/versori/kvapi/services/StoresService.js +33 -0
  54. package/esm/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  55. package/esm/src/dsl/http/versori/platformapi.js +4 -2
  56. package/esm/src/dsl/http/versori/roundtripper.d.ts +6 -1
  57. package/esm/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
  58. package/esm/src/dsl/http/versori/roundtripper.js +81 -38
  59. package/esm/src/interpreter/durable/DurableInterpreter.js +2 -2
  60. package/esm/src/kv/KeyValue.d.ts +5 -5
  61. package/esm/src/kv/KeyValue.d.ts.map +1 -1
  62. package/esm/src/kv/memory/MemoryKeyValue.d.ts +3 -3
  63. package/esm/src/kv/memory/MemoryKeyValue.d.ts.map +1 -1
  64. package/esm/src/kv/memory/MemoryKeyValue.js +4 -4
  65. package/esm/src/kv/mod.d.ts +1 -0
  66. package/esm/src/kv/mod.d.ts.map +1 -1
  67. package/esm/src/kv/mod.js +1 -0
  68. package/esm/src/kv/nats/NatsKeyValue.d.ts +3 -3
  69. package/esm/src/kv/nats/NatsKeyValue.d.ts.map +1 -1
  70. package/esm/src/kv/nats/NatsKeyValue.js +5 -5
  71. package/esm/src/kv/sdk/SDKKeyValue.d.ts +12 -0
  72. package/esm/src/kv/sdk/SDKKeyValue.d.ts.map +1 -0
  73. package/esm/src/kv/sdk/SDKKeyValue.js +51 -0
  74. package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts +21 -0
  75. package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -0
  76. package/esm/src/kv/sdk/SDKKeyValueProvider.js +129 -0
  77. package/esm/src/kv/sdk/mod.d.ts +3 -0
  78. package/esm/src/kv/sdk/mod.d.ts.map +1 -0
  79. package/esm/src/kv/sdk/mod.js +2 -0
  80. package/package.json +1 -1
  81. package/script/src/context/Context.d.ts.map +1 -1
  82. package/script/src/context/Context.js +1 -0
  83. package/script/src/dsl/http/versori/kvapi/core/ApiError.d.ts +11 -0
  84. package/script/src/dsl/http/versori/kvapi/core/ApiError.d.ts.map +1 -0
  85. package/script/src/dsl/http/versori/kvapi/core/ApiError.js +45 -0
  86. package/script/src/dsl/http/versori/kvapi/core/ApiRequestOptions.d.ts +14 -0
  87. package/script/src/dsl/http/versori/kvapi/core/ApiRequestOptions.d.ts.map +1 -0
  88. package/script/src/dsl/http/versori/kvapi/core/ApiRequestOptions.js +2 -0
  89. package/script/src/dsl/http/versori/kvapi/core/ApiResult.d.ts +8 -0
  90. package/script/src/dsl/http/versori/kvapi/core/ApiResult.d.ts.map +1 -0
  91. package/script/src/dsl/http/versori/kvapi/core/ApiResult.js +2 -0
  92. package/script/src/dsl/http/versori/kvapi/core/CancelablePromise.d.ts +21 -0
  93. package/script/src/dsl/http/versori/kvapi/core/CancelablePromise.d.ts.map +1 -0
  94. package/script/src/dsl/http/versori/kvapi/core/CancelablePromise.js +116 -0
  95. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.d.ts +17 -0
  96. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.d.ts.map +1 -0
  97. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.js +18 -0
  98. package/script/src/dsl/http/versori/kvapi/core/request.d.ts +31 -0
  99. package/script/src/dsl/http/versori/kvapi/core/request.d.ts.map +1 -0
  100. package/script/src/dsl/http/versori/kvapi/core/request.js +294 -0
  101. package/script/src/dsl/http/versori/kvapi/models/CreateStoreRequest.d.ts +5 -0
  102. package/script/src/dsl/http/versori/kvapi/models/CreateStoreRequest.d.ts.map +1 -0
  103. package/script/src/dsl/http/versori/kvapi/models/CreateStoreRequest.js +2 -0
  104. package/script/src/dsl/http/versori/kvapi/models/CreateStoreResponse.d.ts +4 -0
  105. package/script/src/dsl/http/versori/kvapi/models/CreateStoreResponse.d.ts.map +1 -0
  106. package/script/src/dsl/http/versori/kvapi/models/CreateStoreResponse.js +2 -0
  107. package/script/src/dsl/http/versori/kvapi/models/DeleteKVResponse.d.ts +4 -0
  108. package/script/src/dsl/http/versori/kvapi/models/DeleteKVResponse.d.ts.map +1 -0
  109. package/script/src/dsl/http/versori/kvapi/models/DeleteKVResponse.js +2 -0
  110. package/script/src/dsl/http/versori/kvapi/models/DeleteOptions.d.ts +11 -0
  111. package/script/src/dsl/http/versori/kvapi/models/DeleteOptions.d.ts.map +1 -0
  112. package/script/src/dsl/http/versori/kvapi/models/DeleteOptions.js +2 -0
  113. package/script/src/dsl/http/versori/kvapi/models/GetKVResponse.d.ts +7 -0
  114. package/script/src/dsl/http/versori/kvapi/models/GetKVResponse.d.ts.map +1 -0
  115. package/script/src/dsl/http/versori/kvapi/models/GetKVResponse.js +2 -0
  116. package/script/src/dsl/http/versori/kvapi/models/ListStoresResponse.d.ts +5 -0
  117. package/script/src/dsl/http/versori/kvapi/models/ListStoresResponse.d.ts.map +1 -0
  118. package/script/src/dsl/http/versori/kvapi/models/ListStoresResponse.js +2 -0
  119. package/script/src/dsl/http/versori/kvapi/models/SetKVResponse.d.ts +6 -0
  120. package/script/src/dsl/http/versori/kvapi/models/SetKVResponse.d.ts.map +1 -0
  121. package/script/src/dsl/http/versori/kvapi/models/SetKVResponse.js +2 -0
  122. package/script/src/dsl/http/versori/kvapi/models/SetOptions.d.ts +31 -0
  123. package/script/src/dsl/http/versori/kvapi/models/SetOptions.d.ts.map +1 -0
  124. package/script/src/dsl/http/versori/kvapi/models/SetOptions.js +2 -0
  125. package/script/src/dsl/http/versori/kvapi/models/Store.d.ts +6 -0
  126. package/script/src/dsl/http/versori/kvapi/models/Store.d.ts.map +1 -0
  127. package/script/src/dsl/http/versori/kvapi/models/Store.js +2 -0
  128. package/script/src/dsl/http/versori/kvapi/services/KvOperationsService.d.ts +43 -0
  129. package/script/src/dsl/http/versori/kvapi/services/KvOperationsService.d.ts.map +1 -0
  130. package/script/src/dsl/http/versori/kvapi/services/KvOperationsService.js +68 -0
  131. package/script/src/dsl/http/versori/kvapi/services/StoresService.d.ts +21 -0
  132. package/script/src/dsl/http/versori/kvapi/services/StoresService.d.ts.map +1 -0
  133. package/script/src/dsl/http/versori/kvapi/services/StoresService.js +37 -0
  134. package/script/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  135. package/script/src/dsl/http/versori/platformapi.js +4 -2
  136. package/script/src/dsl/http/versori/roundtripper.d.ts +6 -1
  137. package/script/src/dsl/http/versori/roundtripper.d.ts.map +1 -1
  138. package/script/src/dsl/http/versori/roundtripper.js +81 -38
  139. package/script/src/interpreter/durable/DurableInterpreter.js +2 -2
  140. package/script/src/kv/KeyValue.d.ts +5 -5
  141. package/script/src/kv/KeyValue.d.ts.map +1 -1
  142. package/script/src/kv/memory/MemoryKeyValue.d.ts +3 -3
  143. package/script/src/kv/memory/MemoryKeyValue.d.ts.map +1 -1
  144. package/script/src/kv/memory/MemoryKeyValue.js +4 -4
  145. package/script/src/kv/mod.d.ts +1 -0
  146. package/script/src/kv/mod.d.ts.map +1 -1
  147. package/script/src/kv/mod.js +1 -0
  148. package/script/src/kv/nats/NatsKeyValue.d.ts +3 -3
  149. package/script/src/kv/nats/NatsKeyValue.d.ts.map +1 -1
  150. package/script/src/kv/nats/NatsKeyValue.js +5 -5
  151. package/script/src/kv/sdk/SDKKeyValue.d.ts +12 -0
  152. package/script/src/kv/sdk/SDKKeyValue.d.ts.map +1 -0
  153. package/script/src/kv/sdk/SDKKeyValue.js +55 -0
  154. package/script/src/kv/sdk/SDKKeyValueProvider.d.ts +21 -0
  155. package/script/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -0
  156. package/script/src/kv/sdk/SDKKeyValueProvider.js +133 -0
  157. package/script/src/kv/sdk/mod.d.ts +3 -0
  158. package/script/src/kv/sdk/mod.d.ts.map +1 -0
  159. package/script/src/kv/sdk/mod.js +18 -0
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StoresService = void 0;
4
+ const OpenAPI_js_1 = require("../core/OpenAPI.js");
5
+ const request_js_1 = require("../core/request.js");
6
+ class StoresService {
7
+ /**
8
+ * Create a new store
9
+ * @param requestBody
10
+ * @returns CreateStoreResponse Store created successfully
11
+ * @throws ApiError
12
+ */
13
+ static createStore(requestBody) {
14
+ return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
15
+ method: 'POST',
16
+ url: '/api/v1/store',
17
+ body: requestBody,
18
+ mediaType: 'application/json',
19
+ });
20
+ }
21
+ /**
22
+ * List all stores for an organization
23
+ * @param orgId
24
+ * @returns ListStoresResponse List of stores
25
+ * @throws ApiError
26
+ */
27
+ static listStores(orgId) {
28
+ return (0, request_js_1.request)(OpenAPI_js_1.OpenAPI, {
29
+ method: 'GET',
30
+ url: '/api/v1/o/{orgId}/store',
31
+ path: {
32
+ 'orgId': orgId,
33
+ },
34
+ });
35
+ }
36
+ }
37
+ exports.StoresService = StoresService;
@@ -1 +1 @@
1
- {"version":3,"file":"platformapi.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/platformapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAmBzE,qBAAa,iBAAkB,YAAW,kBAAkB;IACxD,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,GAAG,CAAS;gBAER,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAQtE,MAAM,CAAC,OAAO,IAAI,iBAAiB;IAa7B,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAgBnE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuBzD,mBAAmB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAoBtD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmBpE,uBAAuB,CACzB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmB5B,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAuBxC,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBjG"}
1
+ {"version":3,"file":"platformapi.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/platformapi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAmBzE,qBAAa,iBAAkB,YAAW,kBAAkB;IACxD,OAAO,CAAC,OAAO,CAAS;IAExB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,YAAY,CAAe;IAEnC,OAAO,CAAC,GAAG,CAAS;gBAER,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAQtE,MAAM,CAAC,OAAO,IAAI,iBAAiB;IAa7B,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAgBnE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAuBzD,mBAAmB,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAsBtD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmBpE,uBAAuB,CACzB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACrB,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAmB5B,eAAe,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;IAuBxC,qBAAqB,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBjG"}
@@ -86,8 +86,10 @@ class PlatformAPIClient {
86
86
  if (!resp.ok) {
87
87
  return undefined;
88
88
  }
89
- const _acts = (await resp.json());
90
- const act = _acts[0];
89
+ const act = (await resp.json());
90
+ if (!act) {
91
+ return undefined;
92
+ }
91
93
  return new activation_js_1.ActivationImpl(act.id, act.user, this, this.log, act.dynamicVariables);
92
94
  }
93
95
  async getActivation(activationId) {
@@ -4,6 +4,9 @@ import { BaseUrlFetcher, ConfigReader, DynamicFetcher, RoundTripperFactory } fro
4
4
  import { CredentialsProvider, Token } from './contextcredentials.js';
5
5
  import { VersoriCredentialClient } from './credentials/mod.js';
6
6
  import { PlatformAPIClient } from './platformapi.js';
7
+ type denoFetch = (input: RequestInfo | URL, init?: RequestInit & {
8
+ client?: Deno.HttpClient;
9
+ }) => Promise<Response>;
7
10
  /**
8
11
  * VersoriRoundTripper is an implementation of the RoundTripperFactory interface for Versori connections.
9
12
  * This is the intended implementation for when projects/services are hosted on Versori infrastructure.
@@ -27,7 +30,7 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
27
30
  static fromEnv(logger: Logger, tracer: Tracer): VersoriCredentialsFactory;
28
31
  private changeRequestInit;
29
32
  private changeBaseUrl;
30
- create(connName: string): Promise<typeof fetch | undefined>;
33
+ create(connName: string): Promise<denoFetch | undefined>;
31
34
  createDynamic(templateName: string): Promise<DynamicFetcher | undefined>;
32
35
  private traceFetch;
33
36
  credentials(): CredentialsProvider;
@@ -39,7 +42,9 @@ export declare class VersoriCredentialsFactory implements RoundTripperFactory {
39
42
  private basicAuthFetcher;
40
43
  private bearerTokenFetcher;
41
44
  private oauth2Fetcher;
45
+ private mtlsFetcher;
42
46
  private getToken;
43
47
  private getRaw;
44
48
  }
49
+ export {};
45
50
  //# sourceMappingURL=roundtripper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAEH,cAAc,EACd,YAAY,EAEZ,cAAc,EACd,mBAAmB,EACtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY;IAe3B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IAoCzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,KAAK,GAAG,SAAS,CAAC;IAqC3D,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAgDxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,mBAAmB;IAOlC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAuC9C,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC;IAiBX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAqB9D,uBAAuB;IAoDrC,OAAO,CAAC,aAAa;YAoDP,gBAAgB;YAmChB,kBAAkB;YAiClB,aAAa;YAwEb,QAAQ;YA2BR,MAAM;CA0BvB"}
1
+ {"version":3,"file":"roundtripper.d.ts","sourceRoot":"","sources":["../../../../../src/src/dsl/http/versori/roundtripper.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,0CAA0C,CAAC;AAElE,OAAO,EAEH,cAAc,EACd,YAAY,EAGZ,cAAc,EACd,mBAAmB,EACtB,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAM/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,KAAK,SAAS,GAAG,CACb,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;IAAE,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAA;CAAE,KAChD,OAAO,CAAC,QAAQ,CAAC,CAAC;AAIvB;;;;;;;;;;GAUG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACjE,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,iBAAiB,CAAoB;IAE7C,OAAO,CAAC,SAAS,CAAe;IAEhC,OAAO,CAAC,GAAG,CAAS;IAEpB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,QAAQ,CAAC,cAAc,CAK7B;gBAGE,WAAW,EAAE,uBAAuB,EACpC,YAAY,EAAE,MAAM,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,YAAY;IAe3B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,yBAAyB;IAoCzE,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,aAAa;IAwBrB,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAkDxD,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IA6DxE,OAAO,CAAC,UAAU;IAqClB,WAAW,IAAI,mBAAmB;IAOlC,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,cAAc;IAyC9C,cAAc,CAChB,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,YAAY,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,KAAK,CAAC;IAiBX,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;YAqB9D,uBAAuB;IAoDrC,OAAO,CAAC,aAAa;IAoDrB,OAAO,CAAC,gBAAgB;IAmCxB,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,aAAa;IAqErB,OAAO,CAAC,WAAW;YA6BL,QAAQ;YA2BR,MAAM;CA0BvB"}
@@ -154,18 +154,29 @@ class VersoriCredentialsFactory {
154
154
  return this.traceFetch(input, init);
155
155
  }
156
156
  const _input = this.changeRequestInit(input, conn);
157
- switch (conn.credentials[0].authSchemeConfig.type) {
158
- case 'api-key':
159
- return (await this.apiKeyFetcher(conn, this.traceFetch))(_input, init);
160
- case 'basic-auth':
161
- return (await this.basicAuthFetcher(conn, this.traceFetch))(_input, init);
162
- case 'jwt-bearer':
163
- return (await this.bearerTokenFetcher(conn, this.traceFetch))(_input, init);
164
- case 'oauth2':
165
- return (await this.oauth2Fetcher(conn, this.traceFetch))(_input, init);
166
- default:
167
- return this.traceFetch(_input, init);
168
- }
157
+ let _fetch = this.traceFetch;
158
+ conn.credentials.forEach((cred) => {
159
+ switch (cred.authSchemeConfig.type) {
160
+ case 'api-key':
161
+ _fetch = this.apiKeyFetcher(cred, _fetch);
162
+ break;
163
+ case 'basic-auth':
164
+ _fetch = this.basicAuthFetcher(cred, _fetch);
165
+ break;
166
+ case 'jwt-bearer':
167
+ _fetch = this.bearerTokenFetcher(cred, _fetch);
168
+ break;
169
+ case 'oauth2':
170
+ _fetch = this.oauth2Fetcher(cred, _fetch);
171
+ break;
172
+ case 'certificate':
173
+ _fetch = this.mtlsFetcher(cred, _fetch);
174
+ break;
175
+ default:
176
+ break;
177
+ }
178
+ });
179
+ return _fetch(_input, init);
169
180
  };
170
181
  return Promise.resolve(_fn);
171
182
  }
@@ -187,18 +198,29 @@ class VersoriCredentialsFactory {
187
198
  })(activation, input, init);
188
199
  }
189
200
  const _input = this.changeRequestInit(input, conn);
190
- switch (conn.credentials[0].authSchemeConfig.type) {
191
- case 'api-key':
192
- return (await this.apiKeyFetcher(conn, this.traceFetch))(_input, init);
193
- case 'basic-auth':
194
- return (await this.basicAuthFetcher(conn, this.traceFetch))(_input, init);
195
- case 'jwt-bearer':
196
- return (await this.bearerTokenFetcher(conn, this.traceFetch))(_input, init);
197
- case 'oauth2':
198
- return (await this.oauth2Fetcher(conn, this.traceFetch))(_input, init);
199
- default:
200
- return this.traceFetch(_input, init);
201
- }
201
+ let _fetch = this.traceFetch;
202
+ conn.credentials.forEach((cred) => {
203
+ switch (cred.authSchemeConfig.type) {
204
+ case 'api-key':
205
+ _fetch = this.apiKeyFetcher(cred, _fetch);
206
+ break;
207
+ case 'basic-auth':
208
+ _fetch = this.basicAuthFetcher(cred, _fetch);
209
+ break;
210
+ case 'jwt-bearer':
211
+ _fetch = this.bearerTokenFetcher(cred, _fetch);
212
+ break;
213
+ case 'oauth2':
214
+ _fetch = this.oauth2Fetcher(cred, _fetch);
215
+ break;
216
+ case 'certificate':
217
+ _fetch = this.mtlsFetcher(cred, _fetch);
218
+ break;
219
+ default:
220
+ break;
221
+ }
222
+ });
223
+ return _fetch(_input, init);
202
224
  };
203
225
  return Promise.resolve(_fn);
204
226
  }
@@ -286,7 +308,7 @@ class VersoriCredentialsFactory {
286
308
  if (!raw) {
287
309
  throw new Error(`Raw data not found for connection ${name} with credential ID ${credId}`);
288
310
  }
289
- let buffer = raw?.credential?.data['raw'] ?? undefined;
311
+ const buffer = raw?.credential?.data['raw'] ?? undefined;
290
312
  if (!buffer) {
291
313
  throw new Error(`Credential ${raw?.credential?.id} is missing raw data, please contact your administrator`);
292
314
  }
@@ -325,11 +347,11 @@ class VersoriCredentialsFactory {
325
347
  }
326
348
  return staticConn.credentials[0].credential.id;
327
349
  }
328
- apiKeyFetcher(conn, fn) {
350
+ apiKeyFetcher(cred, fn) {
329
351
  const _fn = async (input, init) => {
330
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
352
+ const tokenResponse = await this.getToken(cred.credential.id);
331
353
  const token = tokenResponse.token?.accessToken;
332
- const asc = conn.credentials[0].authSchemeConfig.apiKey;
354
+ const asc = cred.authSchemeConfig.apiKey;
333
355
  if (!token) {
334
356
  throw new Error('Token not found');
335
357
  }
@@ -371,11 +393,11 @@ class VersoriCredentialsFactory {
371
393
  }
372
394
  return fn(input, init);
373
395
  };
374
- return Promise.resolve(_fn);
396
+ return _fn;
375
397
  }
376
- async basicAuthFetcher(conn, fn) {
398
+ basicAuthFetcher(cred, fn) {
377
399
  const _fn = async (input, init) => {
378
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
400
+ const tokenResponse = await this.getToken(cred.credential.id);
379
401
  const token = tokenResponse.token?.accessToken;
380
402
  if (!token) {
381
403
  throw new Error('Token not found');
@@ -400,12 +422,12 @@ class VersoriCredentialsFactory {
400
422
  }
401
423
  return fn(input, init);
402
424
  };
403
- return Promise.resolve(_fn);
425
+ return _fn;
404
426
  }
405
427
  // TODO: need to make the prefix and header name configurable from authschemeconfig
406
- async bearerTokenFetcher(conn, fn) {
428
+ bearerTokenFetcher(cred, fn) {
407
429
  const _fn = async (input, init) => {
408
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id);
430
+ const tokenResponse = await this.getToken(cred.credential.id);
409
431
  const token = tokenResponse.token?.accessToken;
410
432
  if (!token) {
411
433
  throw new Error('Token not found');
@@ -430,11 +452,11 @@ class VersoriCredentialsFactory {
430
452
  }
431
453
  return fn(input, init);
432
454
  };
433
- return Promise.resolve(_fn);
455
+ return _fn;
434
456
  }
435
- async oauth2Fetcher(conn, fn) {
457
+ oauth2Fetcher(cred, fn) {
436
458
  const refreshFn = async (input, init, forceRefresh = false) => {
437
- const tokenResponse = await this.getToken(conn.credentials[0].credential.id, forceRefresh);
459
+ const tokenResponse = await this.getToken(cred.credential.id, forceRefresh);
438
460
  const token = tokenResponse.token?.accessToken;
439
461
  const tokenType = tokenResponse.token?.tokenType;
440
462
  if (!token) {
@@ -485,7 +507,28 @@ class VersoriCredentialsFactory {
485
507
  }
486
508
  return Promise.resolve(resp);
487
509
  };
488
- return Promise.resolve(_fn);
510
+ return _fn;
511
+ }
512
+ mtlsFetcher(cred, fn) {
513
+ const _fn = async (input, init) => {
514
+ const raw = await this.getRaw(cred.credential.id);
515
+ if (!raw?.credential?.data) {
516
+ throw new Error(`Cannot fetch MTLS credentials for connection ${cred.credential.name}, no data found`);
517
+ }
518
+ const cert = new TextDecoder().decode(raw.credential.data['certificate']);
519
+ const key = new TextDecoder().decode(raw.credential.data['key']);
520
+ const caCerts = new TextDecoder().decode(raw.credential.data['ca'] || '');
521
+ const httpClient = Deno.createHttpClient({
522
+ cert,
523
+ key,
524
+ caCerts: caCerts ? [caCerts] : [],
525
+ });
526
+ return fn(input, {
527
+ ...init,
528
+ client: httpClient,
529
+ });
530
+ };
531
+ return _fn;
489
532
  }
490
533
  async getToken(id, forceRefresh = false) {
491
534
  try {
@@ -22,7 +22,7 @@ const roundtripper_js_1 = require("../../dsl/http/versori/roundtripper.js");
22
22
  const Workflow_js_1 = require("../../dsl/Workflow.js");
23
23
  const Issues_js_1 = require("../../issues/Issues.js");
24
24
  const MemoryKeyValueProvider_js_1 = require("../../kv/memory/MemoryKeyValueProvider.js");
25
- const NatsKeyValueProvider_js_1 = require("../../kv/nats/NatsKeyValueProvider.js");
25
+ const SDKKeyValueProvider_js_1 = require("../../kv/sdk/SDKKeyValueProvider.js");
26
26
  const ConsoleLogger_js_1 = require("../../observability/logging/ConsoleLogger.js");
27
27
  const ObservableCompiler_js_1 = require("./ObservableCompiler.js");
28
28
  const Queue_js_1 = require("./Queue.js");
@@ -30,7 +30,7 @@ function getKVProvider(runLocal) {
30
30
  if (runLocal) {
31
31
  return Promise.resolve(new MemoryKeyValueProvider_js_1.MemoryKeyValueProvider());
32
32
  }
33
- return NatsKeyValueProvider_js_1.NatsKeyValueProvider.fromEnv();
33
+ return SDKKeyValueProvider_js_1.SDKKeyValueProvider.fromEnv();
34
34
  }
35
35
  function getRoundTripperFactory(log, tracer, opts) {
36
36
  if (opts && opts.runLocal) {
@@ -11,11 +11,11 @@ type GetOptionsWithThrow<T> = {
11
11
  };
12
12
  export type GetOptions<T> = GetOptionsMaybeDefault<T> | GetOptionsWithDefault<T> | GetOptionsWithThrow<T>;
13
13
  export interface KeyValue {
14
- get<T = any>(key: string, options: GetOptionsWithDefault<T> | GetOptionsWithThrow<T>): Promise<T>;
15
- get<T = any>(key: string, options?: GetOptionsMaybeDefault<T>): Promise<T | undefined>;
16
- get<T = any>(key: string, options?: GetOptions<T>): Promise<T | undefined>;
17
- set<T>(key: string, value: T): Promise<void>;
18
- delete(key: string): Promise<void>;
14
+ get<T = any>(key: string | string[], options: GetOptionsWithDefault<T> | GetOptionsWithThrow<T>): Promise<T>;
15
+ get<T = any>(key: string | string[], options?: GetOptionsMaybeDefault<T>): Promise<T | undefined>;
16
+ get<T = any>(key: string | string[], options?: GetOptions<T>): Promise<T | undefined>;
17
+ set<T>(key: string | string[], value: T): Promise<void>;
18
+ delete(key: string | string[]): Promise<void>;
19
19
  }
20
20
  export type KeyValueScope = ':execution:' | ':project:' | ':organization:';
21
21
  type KVOptionsExecution = {
@@ -1 +1 @@
1
- {"version":3,"file":"KeyValue.d.ts","sourceRoot":"","sources":["../../../src/src/kv/KeyValue.ts"],"names":[],"mappings":"AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI;IAC7B,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,eAAe,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,KAAK,qBAAqB,CAAC,CAAC,IAAI;IAC5B,YAAY,EAAE,CAAC,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI;IAC1B,eAAe,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAClB,sBAAsB,CAAC,CAAC,CAAC,GACzB,qBAAqB,CAAC,CAAC,CAAC,GACxB,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAM,WAAW,QAAQ;IACrB,GAAG,CAAC,CAAC,GAAG,GAAG,EACP,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IACvF,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAE3E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACtC;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,SAAS,GACnB,OAAO,IAAI,kBAAkB,CAI/B;AAED,KAAK,qBAAqB,GAAG;IACzB,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,GAAG;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC7B;;;;;OAKG;IACH,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEjC,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
1
+ {"version":3,"file":"KeyValue.d.ts","sourceRoot":"","sources":["../../../src/src/kv/KeyValue.ts"],"names":[],"mappings":"AAAA,KAAK,sBAAsB,CAAC,CAAC,IAAI;IAC7B,YAAY,CAAC,EAAE,CAAC,CAAC;IACjB,eAAe,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,KAAK,qBAAqB,CAAC,CAAC,IAAI;IAC5B,YAAY,EAAE,CAAC,CAAC;IAChB,eAAe,CAAC,EAAE,KAAK,CAAC;CAC3B,CAAC;AAEF,KAAK,mBAAmB,CAAC,CAAC,IAAI;IAC1B,eAAe,EAAE,IAAI,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,UAAU,CAAC,CAAC,IAClB,sBAAsB,CAAC,CAAC,CAAC,GACzB,qBAAqB,CAAC,CAAC,CAAC,GACxB,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7B,MAAM,WAAW,QAAQ;IACrB,GAAG,CAAC,CAAC,GAAG,GAAG,EACP,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAC3D,OAAO,CAAC,CAAC,CAAC,CAAC;IACd,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAClG,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAEtF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE3E,KAAK,kBAAkB,GAAG;IACtB,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,wBAAgB,oBAAoB,CAChC,OAAO,EAAE,SAAS,GACnB,OAAO,IAAI,kBAAkB,CAI/B;AAED,KAAK,qBAAqB,GAAG;IACzB,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,GAAG;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC7B;;;;;OAKG;IACH,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEjC,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
@@ -1,8 +1,8 @@
1
1
  import { GetOptions, KeyValue } from '../KeyValue.js';
2
2
  export declare class MemoryKeyValue implements KeyValue {
3
3
  private store;
4
- get<T>(key: string, options?: GetOptions<T>): Promise<T | undefined>;
5
- set<T>(key: string, value: T): Promise<void>;
6
- delete(key: string): Promise<void>;
4
+ get<T>(key: string | string[], options?: GetOptions<T>): Promise<T | undefined>;
5
+ set<T>(key: string | string[], value: T): Promise<void>;
6
+ delete(key: string | string[]): Promise<void>;
7
7
  }
8
8
  //# sourceMappingURL=MemoryKeyValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryKeyValue.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/memory/MemoryKeyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtD,qBAAa,cAAe,YAAW,QAAQ;IAC3C,OAAO,CAAC,KAAK,CAAmC;IAEhD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAcpE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAKrC"}
1
+ {"version":3,"file":"MemoryKeyValue.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/memory/MemoryKeyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtD,qBAAa,cAAe,YAAW,QAAQ;IAC3C,OAAO,CAAC,KAAK,CAAmC;IAEhD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAc/E,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAKhD"}
@@ -12,21 +12,21 @@ class MemoryKeyValue {
12
12
  });
13
13
  }
14
14
  get(key, options) {
15
- const raw = this.store.get(key);
15
+ const raw = this.store.get(key instanceof Array ? key.join('.') : key);
16
16
  if (typeof raw === 'undefined') {
17
17
  if (options?.throwOnNotFound) {
18
- throw new KVNotFoundError_js_1.KVNotFoundError(key);
18
+ throw new KVNotFoundError_js_1.KVNotFoundError(key instanceof Array ? key.join('.') : key);
19
19
  }
20
20
  return Promise.resolve(undefined);
21
21
  }
22
22
  return Promise.resolve(raw);
23
23
  }
24
24
  set(key, value) {
25
- this.store.set(key, value);
25
+ this.store.set(key instanceof Array ? key.join('.') : key, value);
26
26
  return Promise.resolve();
27
27
  }
28
28
  delete(key) {
29
- this.store.delete(key);
29
+ this.store.delete(key instanceof Array ? key.join('.') : key);
30
30
  return Promise.resolve();
31
31
  }
32
32
  }
@@ -1,4 +1,5 @@
1
1
  export * from './memory/mod.js';
2
+ export * from './sdk/mod.js';
2
3
  export * from './KeyValue.js';
3
4
  export * from './KVNotFoundError.js';
4
5
  //# sourceMappingURL=mod.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/kv/mod.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../src/src/kv/mod.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC"}
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./memory/mod.js"), exports);
18
+ __exportStar(require("./sdk/mod.js"), exports);
18
19
  __exportStar(require("./KeyValue.js"), exports);
19
20
  __exportStar(require("./KVNotFoundError.js"), exports);
@@ -4,9 +4,9 @@ export declare class NatsKeyValue implements KeyValue {
4
4
  private readonly kv;
5
5
  private readonly prefix;
6
6
  constructor(kv: KV, prefix: string);
7
- get<T>(key: string, options?: GetOptions<T>): Promise<T | undefined>;
8
- set<T>(key: string, value: T): Promise<void>;
9
- delete(key: string): Promise<void>;
7
+ get<T>(key: string | string[], options?: GetOptions<T>): Promise<T | undefined>;
8
+ set<T>(key: string | string[], value: T): Promise<void>;
9
+ delete(key: string | string[]): Promise<void>;
10
10
  private generateKey;
11
11
  }
12
12
  //# sourceMappingURL=NatsKeyValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NatsKeyValue.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/nats/NatsKeyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,mDAAmD,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtD,qBAAa,YAAa,YAAW,QAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAM,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA/B,EAAE,EAAE,EAAE,EAAmB,MAAM,EAAE,MAAM;IAE9D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,UAAU,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAwBxE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAM5C,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,OAAO,CAAC,WAAW;CAGtB"}
1
+ {"version":3,"file":"NatsKeyValue.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/nats/NatsKeyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAW,MAAM,mDAAmD,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtD,qBAAa,YAAa,YAAW,QAAQ;IAC7B,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAM,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA/B,EAAE,EAAE,EAAE,EAAmB,MAAM,EAAE,MAAM;IAE9D,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,UAAU,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAwBnF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,OAAO,CAAC,WAAW;CAGtB"}
@@ -20,7 +20,7 @@ class NatsKeyValue {
20
20
  async get(key, options = {}) {
21
21
  let entry;
22
22
  try {
23
- entry = await this.kv.get(this.generateKey(key));
23
+ entry = await this.kv.get(this.generateKey(key instanceof Array ? key.join('.') : key));
24
24
  }
25
25
  catch (error) {
26
26
  console.error('Unknown error reading from KV store', error);
@@ -28,7 +28,7 @@ class NatsKeyValue {
28
28
  }
29
29
  if (!entry || ['DEL', 'PURGE'].includes(entry.operation)) {
30
30
  if (options.throwOnNotFound) {
31
- throw new KVNotFoundError_js_1.KVNotFoundError(key);
31
+ throw new KVNotFoundError_js_1.KVNotFoundError(key instanceof Array ? key.join('.') : key);
32
32
  }
33
33
  else if (typeof options.defaultValue !== 'undefined') {
34
34
  return options.defaultValue;
@@ -39,13 +39,13 @@ class NatsKeyValue {
39
39
  }
40
40
  async set(key, value) {
41
41
  const payload = JSON.stringify(value);
42
- await this.kv.put(this.generateKey(key), payload);
42
+ await this.kv.put(this.generateKey(key instanceof Array ? key.join('.') : key), payload);
43
43
  }
44
44
  async delete(key) {
45
- await this.kv.delete(this.generateKey(key));
45
+ await this.kv.delete(this.generateKey(key instanceof Array ? key.join('.') : key));
46
46
  }
47
47
  generateKey(key) {
48
- return `${this.prefix}.${key}`;
48
+ return `${this.prefix}.${key instanceof Array ? key.join('.') : key}`;
49
49
  }
50
50
  }
51
51
  exports.NatsKeyValue = NatsKeyValue;
@@ -0,0 +1,12 @@
1
+ import { GetOptions, KeyValue } from '../KeyValue.js';
2
+ import { CreateStoreResponse } from '../../dsl/http/versori/kvapi/models/CreateStoreResponse.js';
3
+ export declare class SDKKeyValue implements KeyValue {
4
+ private readonly store;
5
+ private readonly prefix;
6
+ constructor(store: CreateStoreResponse, prefix: string);
7
+ get<T>(key: string | string[], options?: GetOptions<T>): Promise<T | undefined>;
8
+ set<T>(key: string | string[], value: T): Promise<void>;
9
+ delete(key: string | string[]): Promise<void>;
10
+ private generateKey;
11
+ }
12
+ //# sourceMappingURL=SDKKeyValue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKKeyValue.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/sdk/SDKKeyValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4DAA4D,CAAC;AAGjG,qBAAa,WAAY,YAAW,QAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAAuB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAnD,KAAK,EAAE,mBAAmB,EAAmB,MAAM,EAAE,MAAM;IAElF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,GAAE,UAAU,CAAC,CAAC,CAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAoBnF,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAYvD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAUnD,OAAO,CAAC,WAAW;CAGtB"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SDKKeyValue = void 0;
4
+ const KvOperationsService_js_1 = require("../../dsl/http/versori/kvapi/services/KvOperationsService.js");
5
+ class SDKKeyValue {
6
+ constructor(store, prefix) {
7
+ Object.defineProperty(this, "store", {
8
+ enumerable: true,
9
+ configurable: true,
10
+ writable: true,
11
+ value: store
12
+ });
13
+ Object.defineProperty(this, "prefix", {
14
+ enumerable: true,
15
+ configurable: true,
16
+ writable: true,
17
+ value: prefix
18
+ });
19
+ }
20
+ async get(key, options = {}) {
21
+ try {
22
+ const k = this.generateKey(key instanceof Array ? key.join('/') : key);
23
+ const entry = await KvOperationsService_js_1.KvOperationsService.getKv(this.store.id, k);
24
+ return entry.value;
25
+ }
26
+ catch (error) {
27
+ if (options.throwOnNotFound && error instanceof Error && error.message === 'Key not found') {
28
+ throw new Error('Key not found');
29
+ }
30
+ else if (!options.throwOnNotFound) {
31
+ return undefined;
32
+ }
33
+ console.error('Unknown error reading from KV store', error);
34
+ throw new Error('Unknown error reading from KV store');
35
+ }
36
+ }
37
+ async set(key, value) {
38
+ const payload = JSON.stringify(value);
39
+ const k = this.generateKey(key instanceof Array ? key.join('/') : key);
40
+ await KvOperationsService_js_1.KvOperationsService.setKv(this.store.id, k, {
41
+ value: payload,
42
+ options: {}
43
+ });
44
+ }
45
+ async delete(key) {
46
+ const k = this.generateKey(key instanceof Array ? key.join('/') : key);
47
+ await KvOperationsService_js_1.KvOperationsService.deleteKv(this.store.id, k, {
48
+ options: {}
49
+ });
50
+ }
51
+ generateKey(key) {
52
+ return `${this.prefix}/${key instanceof Array ? key.join('/') : key}`;
53
+ }
54
+ }
55
+ exports.SDKKeyValue = SDKKeyValue;
@@ -0,0 +1,21 @@
1
+ import { DestroyOptions, KeyValue, KeyValueProvider, KVOptions } from '../KeyValue.js';
2
+ export type SDKKeyValueProviderOptions = {
3
+ organizationId: string;
4
+ projectId: string;
5
+ environment: string;
6
+ kvApiUrl: string;
7
+ };
8
+ export declare class SDKKeyValueProvider implements KeyValueProvider, AsyncDisposable {
9
+ private readonly kvOrgScope;
10
+ private readonly kvProjectScope;
11
+ private readonly kvExecutionScope;
12
+ private readonly opts;
13
+ private constructor();
14
+ static newInstance(opts?: Partial<SDKKeyValueProviderOptions>): Promise<SDKKeyValueProvider>;
15
+ static fromEnv(): Promise<SDKKeyValueProvider>;
16
+ [Symbol.asyncDispose](): PromiseLike<void>;
17
+ kv(options: KVOptions): KeyValue;
18
+ destroy(options: DestroyOptions): Promise<void>;
19
+ private subjectPrefix;
20
+ }
21
+ //# sourceMappingURL=SDKKeyValueProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SDKKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/sdk/SDKKeyValueProvider.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,EAEd,QAAQ,EACR,gBAAgB,EAChB,SAAS,EACZ,MAAM,gBAAgB,CAAC;AAmCxB,MAAM,MAAM,0BAA0B,GAAG;IACrC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAyBF,qBAAa,mBAAoB,YAAW,gBAAgB,EAAE,eAAe;IAErE,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJzB,OAAO;WAOM,WAAW,CACpB,IAAI,GAAE,OAAO,CAAC,0BAA0B,CAAM,GAC/C,OAAO,CAAC,mBAAmB,CAAC;IAY/B,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI9C,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC;IAI1C,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ;IAqB1B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBrD,OAAO,CAAC,aAAa;CAYxB"}