@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,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);