@versori/run 0.2.20 → 0.2.22

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 (167) hide show
  1. package/esm/src/context/Context.d.ts.map +1 -1
  2. package/esm/src/context/Context.js +2 -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/interpreter/durable/DurableInterpreter.js +2 -2
  57. package/esm/src/interpreter/durable/ExecutionError.d.ts +4 -0
  58. package/esm/src/interpreter/durable/ExecutionError.d.ts.map +1 -1
  59. package/esm/src/interpreter/durable/ExecutionError.js +6 -0
  60. package/esm/src/interpreter/memory/ExecutionError.d.ts +4 -0
  61. package/esm/src/interpreter/memory/ExecutionError.d.ts.map +1 -1
  62. package/esm/src/interpreter/memory/ExecutionError.js +6 -0
  63. package/esm/src/interpreter/memory/MemoryInterpreter.js +1 -1
  64. package/esm/src/kv/KeyValue.d.ts +5 -5
  65. package/esm/src/kv/KeyValue.d.ts.map +1 -1
  66. package/esm/src/kv/memory/MemoryKeyValue.d.ts +3 -3
  67. package/esm/src/kv/memory/MemoryKeyValue.d.ts.map +1 -1
  68. package/esm/src/kv/memory/MemoryKeyValue.js +4 -4
  69. package/esm/src/kv/mod.d.ts +1 -0
  70. package/esm/src/kv/mod.d.ts.map +1 -1
  71. package/esm/src/kv/mod.js +1 -0
  72. package/esm/src/kv/nats/NatsKeyValue.d.ts +3 -3
  73. package/esm/src/kv/nats/NatsKeyValue.d.ts.map +1 -1
  74. package/esm/src/kv/nats/NatsKeyValue.js +5 -5
  75. package/esm/src/kv/sdk/SDKKeyValue.d.ts +12 -0
  76. package/esm/src/kv/sdk/SDKKeyValue.d.ts.map +1 -0
  77. package/esm/src/kv/sdk/SDKKeyValue.js +51 -0
  78. package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts +21 -0
  79. package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -0
  80. package/esm/src/kv/sdk/SDKKeyValueProvider.js +129 -0
  81. package/esm/src/kv/sdk/mod.d.ts +3 -0
  82. package/esm/src/kv/sdk/mod.d.ts.map +1 -0
  83. package/esm/src/kv/sdk/mod.js +2 -0
  84. package/package.json +1 -1
  85. package/script/src/context/Context.d.ts.map +1 -1
  86. package/script/src/context/Context.js +2 -0
  87. package/script/src/dsl/http/versori/kvapi/core/ApiError.d.ts +11 -0
  88. package/script/src/dsl/http/versori/kvapi/core/ApiError.d.ts.map +1 -0
  89. package/script/src/dsl/http/versori/kvapi/core/ApiError.js +45 -0
  90. package/script/src/dsl/http/versori/kvapi/core/ApiRequestOptions.d.ts +14 -0
  91. package/script/src/dsl/http/versori/kvapi/core/ApiRequestOptions.d.ts.map +1 -0
  92. package/script/src/dsl/http/versori/kvapi/core/ApiRequestOptions.js +2 -0
  93. package/script/src/dsl/http/versori/kvapi/core/ApiResult.d.ts +8 -0
  94. package/script/src/dsl/http/versori/kvapi/core/ApiResult.d.ts.map +1 -0
  95. package/script/src/dsl/http/versori/kvapi/core/ApiResult.js +2 -0
  96. package/script/src/dsl/http/versori/kvapi/core/CancelablePromise.d.ts +21 -0
  97. package/script/src/dsl/http/versori/kvapi/core/CancelablePromise.d.ts.map +1 -0
  98. package/script/src/dsl/http/versori/kvapi/core/CancelablePromise.js +116 -0
  99. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.d.ts +17 -0
  100. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.d.ts.map +1 -0
  101. package/script/src/dsl/http/versori/kvapi/core/OpenAPI.js +18 -0
  102. package/script/src/dsl/http/versori/kvapi/core/request.d.ts +31 -0
  103. package/script/src/dsl/http/versori/kvapi/core/request.d.ts.map +1 -0
  104. package/script/src/dsl/http/versori/kvapi/core/request.js +294 -0
  105. package/script/src/dsl/http/versori/kvapi/models/CreateStoreRequest.d.ts +5 -0
  106. package/script/src/dsl/http/versori/kvapi/models/CreateStoreRequest.d.ts.map +1 -0
  107. package/script/src/dsl/http/versori/kvapi/models/CreateStoreRequest.js +2 -0
  108. package/script/src/dsl/http/versori/kvapi/models/CreateStoreResponse.d.ts +4 -0
  109. package/script/src/dsl/http/versori/kvapi/models/CreateStoreResponse.d.ts.map +1 -0
  110. package/script/src/dsl/http/versori/kvapi/models/CreateStoreResponse.js +2 -0
  111. package/script/src/dsl/http/versori/kvapi/models/DeleteKVResponse.d.ts +4 -0
  112. package/script/src/dsl/http/versori/kvapi/models/DeleteKVResponse.d.ts.map +1 -0
  113. package/script/src/dsl/http/versori/kvapi/models/DeleteKVResponse.js +2 -0
  114. package/script/src/dsl/http/versori/kvapi/models/DeleteOptions.d.ts +11 -0
  115. package/script/src/dsl/http/versori/kvapi/models/DeleteOptions.d.ts.map +1 -0
  116. package/script/src/dsl/http/versori/kvapi/models/DeleteOptions.js +2 -0
  117. package/script/src/dsl/http/versori/kvapi/models/GetKVResponse.d.ts +7 -0
  118. package/script/src/dsl/http/versori/kvapi/models/GetKVResponse.d.ts.map +1 -0
  119. package/script/src/dsl/http/versori/kvapi/models/GetKVResponse.js +2 -0
  120. package/script/src/dsl/http/versori/kvapi/models/ListStoresResponse.d.ts +5 -0
  121. package/script/src/dsl/http/versori/kvapi/models/ListStoresResponse.d.ts.map +1 -0
  122. package/script/src/dsl/http/versori/kvapi/models/ListStoresResponse.js +2 -0
  123. package/script/src/dsl/http/versori/kvapi/models/SetKVResponse.d.ts +6 -0
  124. package/script/src/dsl/http/versori/kvapi/models/SetKVResponse.d.ts.map +1 -0
  125. package/script/src/dsl/http/versori/kvapi/models/SetKVResponse.js +2 -0
  126. package/script/src/dsl/http/versori/kvapi/models/SetOptions.d.ts +31 -0
  127. package/script/src/dsl/http/versori/kvapi/models/SetOptions.d.ts.map +1 -0
  128. package/script/src/dsl/http/versori/kvapi/models/SetOptions.js +2 -0
  129. package/script/src/dsl/http/versori/kvapi/models/Store.d.ts +6 -0
  130. package/script/src/dsl/http/versori/kvapi/models/Store.d.ts.map +1 -0
  131. package/script/src/dsl/http/versori/kvapi/models/Store.js +2 -0
  132. package/script/src/dsl/http/versori/kvapi/services/KvOperationsService.d.ts +43 -0
  133. package/script/src/dsl/http/versori/kvapi/services/KvOperationsService.d.ts.map +1 -0
  134. package/script/src/dsl/http/versori/kvapi/services/KvOperationsService.js +68 -0
  135. package/script/src/dsl/http/versori/kvapi/services/StoresService.d.ts +21 -0
  136. package/script/src/dsl/http/versori/kvapi/services/StoresService.d.ts.map +1 -0
  137. package/script/src/dsl/http/versori/kvapi/services/StoresService.js +37 -0
  138. package/script/src/dsl/http/versori/platformapi.d.ts.map +1 -1
  139. package/script/src/dsl/http/versori/platformapi.js +4 -2
  140. package/script/src/interpreter/durable/DurableInterpreter.js +2 -2
  141. package/script/src/interpreter/durable/ExecutionError.d.ts +4 -0
  142. package/script/src/interpreter/durable/ExecutionError.d.ts.map +1 -1
  143. package/script/src/interpreter/durable/ExecutionError.js +6 -0
  144. package/script/src/interpreter/memory/ExecutionError.d.ts +4 -0
  145. package/script/src/interpreter/memory/ExecutionError.d.ts.map +1 -1
  146. package/script/src/interpreter/memory/ExecutionError.js +6 -0
  147. package/script/src/interpreter/memory/MemoryInterpreter.js +1 -1
  148. package/script/src/kv/KeyValue.d.ts +5 -5
  149. package/script/src/kv/KeyValue.d.ts.map +1 -1
  150. package/script/src/kv/memory/MemoryKeyValue.d.ts +3 -3
  151. package/script/src/kv/memory/MemoryKeyValue.d.ts.map +1 -1
  152. package/script/src/kv/memory/MemoryKeyValue.js +4 -4
  153. package/script/src/kv/mod.d.ts +1 -0
  154. package/script/src/kv/mod.d.ts.map +1 -1
  155. package/script/src/kv/mod.js +1 -0
  156. package/script/src/kv/nats/NatsKeyValue.d.ts +3 -3
  157. package/script/src/kv/nats/NatsKeyValue.d.ts.map +1 -1
  158. package/script/src/kv/nats/NatsKeyValue.js +5 -5
  159. package/script/src/kv/sdk/SDKKeyValue.d.ts +12 -0
  160. package/script/src/kv/sdk/SDKKeyValue.d.ts.map +1 -0
  161. package/script/src/kv/sdk/SDKKeyValue.js +55 -0
  162. package/script/src/kv/sdk/SDKKeyValueProvider.d.ts +21 -0
  163. package/script/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -0
  164. package/script/src/kv/sdk/SDKKeyValueProvider.js +133 -0
  165. package/script/src/kv/sdk/mod.d.ts +3 -0
  166. package/script/src/kv/sdk/mod.d.ts.map +1 -0
  167. package/script/src/kv/sdk/mod.js +18 -0
@@ -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) {
@@ -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) {
@@ -2,5 +2,9 @@ import { Context } from '../../context/Context.js';
2
2
  export declare class ExecutionError extends Error {
3
3
  ctx: Context<any>;
4
4
  constructor(ctx: Context<any>, message: string, opts?: ErrorOptions);
5
+ toJSON(): {
6
+ name: string;
7
+ message: string;
8
+ };
5
9
  }
6
10
  //# sourceMappingURL=ExecutionError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionError.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/durable/ExecutionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,qBAAa,cAAe,SAAQ,KAAK;IACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;CAMtE"}
1
+ {"version":3,"file":"ExecutionError.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/durable/ExecutionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,qBAAa,cAAe,SAAQ,KAAK;IACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;IAOnE,MAAM;;;;CAMT"}
@@ -13,5 +13,11 @@ class ExecutionError extends Error {
13
13
  this.name = 'ExecutionError';
14
14
  this.ctx = ctx;
15
15
  }
16
+ toJSON() {
17
+ return {
18
+ name: this.name,
19
+ message: this.message,
20
+ };
21
+ }
16
22
  }
17
23
  exports.ExecutionError = ExecutionError;
@@ -2,5 +2,9 @@ import { Context } from '../../context/Context.js';
2
2
  export declare class ExecutionError extends Error {
3
3
  ctx: Context<any>;
4
4
  constructor(ctx: Context<any>, message: string, opts?: ErrorOptions);
5
+ toJSON(): {
6
+ name: string;
7
+ message: string;
8
+ };
5
9
  }
6
10
  //# sourceMappingURL=ExecutionError.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionError.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/memory/ExecutionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,qBAAa,cAAe,SAAQ,KAAK;IACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;CAMtE"}
1
+ {"version":3,"file":"ExecutionError.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/memory/ExecutionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAEnD,qBAAa,cAAe,SAAQ,KAAK;IACrC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEN,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY;IAOnE,MAAM;;;;CAMT"}
@@ -13,5 +13,11 @@ class ExecutionError extends Error {
13
13
  this.name = 'ExecutionError';
14
14
  this.ctx = ctx;
15
15
  }
16
+ toJSON() {
17
+ return {
18
+ name: this.name,
19
+ message: this.message,
20
+ };
21
+ }
16
22
  }
17
23
  exports.ExecutionError = ExecutionError;
@@ -280,7 +280,7 @@ class MemoryInterpreter {
280
280
  ctx.options.onError?.(ctx.withData(err));
281
281
  }
282
282
  catch (err) {
283
- ctx.log.error('MemoryInterpreter.onErrorError: failed to call onError handler', { error: err instanceof Error ? err.toString() : err });
283
+ ctx.log.error('MemoryInterpreter.onError Error: failed to call onError handler', { error: err instanceof Error ? err.toString() : err });
284
284
  ctx.options.onError?.(ctx.withData({
285
285
  message: 'Internal server error',
286
286
  error: err instanceof Error ? err.toString() : err,
@@ -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"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SDKKeyValueProvider = void 0;
4
+ const StoresService_js_1 = require("../../dsl/http/versori/kvapi/services/StoresService.js");
5
+ const KvOperationsService_js_1 = require("../../dsl/http/versori/kvapi/services/KvOperationsService.js");
6
+ const KeyValue_js_1 = require("../KeyValue.js");
7
+ const SDKKeyValue_js_1 = require("./SDKKeyValue.js");
8
+ function getOptionsFromEnv() {
9
+ return {
10
+ organizationId: Deno.env.get('RUN_ORGANISATION_ID'),
11
+ projectId: Deno.env.get('RUN_SERVICE_ID'),
12
+ environment: Deno.env.get('RUN_ENVIRONMENT'),
13
+ kvApiUrl: Deno.env.get('RUN_SDK_API_URL') || 'http://localhost:8092'
14
+ };
15
+ }
16
+ function mergeOptions(defaults, provided) {
17
+ const merged = {
18
+ ...defaults,
19
+ ...provided,
20
+ };
21
+ if (!merged.organizationId) {
22
+ throw new Error('organizationId is required but not provided and VERSORI_ORGANIZATION_ID is not set');
23
+ }
24
+ if (!merged.projectId) {
25
+ throw new Error('projectId is required but not provided and VERSORI_PROJECT_ID is not set');
26
+ }
27
+ return merged;
28
+ }
29
+ async function openOrCreateKV(storeName) {
30
+ try {
31
+ try {
32
+ const existingStore = await StoresService_js_1.StoresService.listStores(Deno.env.get('RUN_ORGANISATION_ID'));
33
+ if (existingStore.stores?.find(store => store.name === storeName)) {
34
+ return existingStore.stores.find(store => store.name === storeName);
35
+ }
36
+ }
37
+ catch (error) {
38
+ console.error('Failed to list stores, creating...', error);
39
+ }
40
+ const store = await StoresService_js_1.StoresService.createStore({
41
+ name: storeName,
42
+ orgId: Deno.env.get('RUN_ORGANISATION_ID')
43
+ });
44
+ return store;
45
+ }
46
+ catch (error) {
47
+ throw error;
48
+ }
49
+ }
50
+ class SDKKeyValueProvider {
51
+ constructor(kvOrgScope, kvProjectScope, kvExecutionScope, opts) {
52
+ Object.defineProperty(this, "kvOrgScope", {
53
+ enumerable: true,
54
+ configurable: true,
55
+ writable: true,
56
+ value: kvOrgScope
57
+ });
58
+ Object.defineProperty(this, "kvProjectScope", {
59
+ enumerable: true,
60
+ configurable: true,
61
+ writable: true,
62
+ value: kvProjectScope
63
+ });
64
+ Object.defineProperty(this, "kvExecutionScope", {
65
+ enumerable: true,
66
+ configurable: true,
67
+ writable: true,
68
+ value: kvExecutionScope
69
+ });
70
+ Object.defineProperty(this, "opts", {
71
+ enumerable: true,
72
+ configurable: true,
73
+ writable: true,
74
+ value: opts
75
+ });
76
+ }
77
+ static async newInstance(opts = {}) {
78
+ const parsedOpts = mergeOptions(getOptionsFromEnv(), opts);
79
+ const [orgKv, projKv, execKv] = await Promise.all([
80
+ openOrCreateKV(`ORG_${parsedOpts.organizationId}`),
81
+ openOrCreateKV(`PROJECT_${parsedOpts.projectId}`),
82
+ openOrCreateKV(`EXECUTION_${parsedOpts.projectId}`),
83
+ ]);
84
+ return new SDKKeyValueProvider(orgKv, projKv, execKv, parsedOpts);
85
+ }
86
+ static fromEnv() {
87
+ return SDKKeyValueProvider.newInstance(getOptionsFromEnv());
88
+ }
89
+ [Symbol.asyncDispose]() {
90
+ return Promise.resolve();
91
+ }
92
+ kv(options) {
93
+ switch (options.scope) {
94
+ case ':organization:':
95
+ return new SDKKeyValue_js_1.SDKKeyValue(this.kvOrgScope, this.subjectPrefix(options));
96
+ case ':project:':
97
+ return new SDKKeyValue_js_1.SDKKeyValue(this.kvProjectScope, this.subjectPrefix(options));
98
+ case ':execution:':
99
+ if (!(0, KeyValue_js_1.isKVOptionsExecution)(options)) {
100
+ throw new Error('invalid KV options, executionId is required for :execution: scope');
101
+ }
102
+ return new SDKKeyValue_js_1.SDKKeyValue(this.kvExecutionScope, this.subjectPrefix(options));
103
+ default:
104
+ throw new Error(`invalid KV options, scope ${options.scope} is not supported`);
105
+ }
106
+ }
107
+ async destroy(options) {
108
+ if (options.scope === ':execution:') {
109
+ if (typeof options.executionId === 'undefined') {
110
+ throw new Error('executionId is required when scope is :execution:');
111
+ }
112
+ await KvOperationsService_js_1.KvOperationsService.deleteKv(this.kvExecutionScope.id, options.executionId, {
113
+ options: {
114
+ cascade: true
115
+ }
116
+ });
117
+ }
118
+ // TODO: interface may need updating, workers should not be deleting KV buckets, only execution keys should be purged.
119
+ return;
120
+ }
121
+ subjectPrefix(options) {
122
+ const activationSuffix = options.activationId ? `/${options.activationId}` : '';
123
+ switch (options.scope) {
124
+ case ':organization:':
125
+ return `${this.opts.organizationId}${activationSuffix}`;
126
+ case ':project:':
127
+ return `${this.opts.organizationId}/${this.opts.projectId}/${this.opts.environment}${activationSuffix}`;
128
+ case ':execution:':
129
+ return `${this.opts.organizationId}/${this.opts.projectId}/${this.opts.environment}/${options.executionId}${activationSuffix}`;
130
+ }
131
+ }
132
+ }
133
+ exports.SDKKeyValueProvider = SDKKeyValueProvider;
@@ -0,0 +1,3 @@
1
+ export * from './SDKKeyValue.js';
2
+ export * from './SDKKeyValueProvider.js';
3
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/sdk/mod.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./SDKKeyValue.js"), exports);
18
+ __exportStar(require("./SDKKeyValueProvider.js"), exports);