@versori/run 0.5.10 → 0.6.0-alpha.1
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.
- package/esm/src/connection/internal/CredentialHolder.js +1 -1
- package/esm/src/connection/internal/FetchBuilder.d.ts +9 -2
- package/esm/src/connection/internal/FetchBuilder.d.ts.map +1 -1
- package/esm/src/connection/internal/FetchBuilder.js +124 -3
- package/esm/src/context/Context.d.ts +5 -0
- package/esm/src/context/Context.d.ts.map +1 -1
- package/esm/src/context/Context.js +6 -1
- package/esm/src/context/VanillaContext.d.ts.map +1 -1
- package/esm/src/context/VanillaContext.js +0 -1
- package/esm/src/dsl/Workflow.d.ts.map +1 -1
- package/esm/src/dsl/Workflow.js +2 -0
- package/esm/src/dsl/http/types.d.ts +2 -0
- package/esm/src/dsl/http/types.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/configloader.js +1 -1
- package/esm/src/dsl/http/versori/cronapi.d.ts +2 -3
- package/esm/src/dsl/http/versori/cronapi.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/cronapi.js +14 -15
- package/esm/src/dsl/http/versori/kvapi/core/OpenAPI.js +1 -1
- package/esm/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
- package/esm/src/dsl/triggers/WebhookTrigger.js +3 -1
- package/esm/src/internal/constants.d.ts +3 -0
- package/esm/src/internal/constants.d.ts.map +1 -1
- package/esm/src/internal/constants.js +3 -0
- package/esm/src/internal/supervisor.d.ts +23 -0
- package/esm/src/internal/supervisor.d.ts.map +1 -0
- package/esm/src/internal/supervisor.js +267 -0
- package/esm/src/interpreter/durable/DurableInterpreter.d.ts +9 -2
- package/esm/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/durable/DurableInterpreter.js +57 -13
- package/esm/src/interpreter/durable/ObservableCompiler.d.ts +6 -1
- package/esm/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/durable/Queue.js +1 -1
- package/esm/src/interpreter/durable/compilers/catch.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/catch.js +3 -1
- package/esm/src/interpreter/durable/compilers/fn.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/fn.js +29 -6
- package/esm/src/interpreter/durable/compilers/http.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/http.js +45 -11
- package/esm/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/schedule.js +4 -3
- package/esm/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/durable/compilers/webhook.js +2 -0
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts +8 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/memory/MemoryInterpreter.js +56 -12
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts +6 -1
- package/esm/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/catch.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/catch.js +5 -0
- package/esm/src/interpreter/memory/compilers/fn.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/fn.js +29 -18
- package/esm/src/interpreter/memory/compilers/http.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/http.js +44 -10
- package/esm/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/schedule.js +61 -4
- package/esm/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/esm/src/interpreter/memory/compilers/webhook.js +9 -3
- package/esm/src/interpreter/vanilla/VanillaInterpreter.d.ts +1 -0
- package/esm/src/interpreter/vanilla/VanillaInterpreter.d.ts.map +1 -1
- package/esm/src/interpreter/vanilla/VanillaInterpreter.js +30 -6
- package/esm/src/interpreter/vanilla/compilers/schedule.js +1 -1
- package/esm/src/issues/Issues.d.ts.map +1 -1
- package/esm/src/issues/Issues.js +6 -1
- package/esm/src/kv/KeyValue.d.ts +3 -7
- package/esm/src/kv/KeyValue.d.ts.map +1 -1
- package/esm/src/kv/memory/MemoryKeyValueProvider.d.ts +0 -4
- package/esm/src/kv/memory/MemoryKeyValueProvider.d.ts.map +1 -1
- package/esm/src/kv/memory/MemoryKeyValueProvider.js +0 -50
- package/esm/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
- package/esm/src/kv/nats/NatsKeyValueProvider.js +0 -14
- package/esm/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
- package/esm/src/kv/sdk/SDKKeyValueProvider.js +0 -12
- package/esm/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
- package/package.json +3 -1
- package/script/src/connection/internal/CredentialHolder.js +1 -1
- package/script/src/connection/internal/FetchBuilder.d.ts +9 -2
- package/script/src/connection/internal/FetchBuilder.d.ts.map +1 -1
- package/script/src/connection/internal/FetchBuilder.js +147 -3
- package/script/src/context/Context.d.ts +5 -0
- package/script/src/context/Context.d.ts.map +1 -1
- package/script/src/context/Context.js +6 -1
- package/script/src/context/VanillaContext.d.ts.map +1 -1
- package/script/src/context/VanillaContext.js +0 -1
- package/script/src/dsl/Workflow.d.ts.map +1 -1
- package/script/src/dsl/Workflow.js +2 -0
- package/script/src/dsl/http/types.d.ts +2 -0
- package/script/src/dsl/http/types.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.d.ts.map +1 -1
- package/script/src/dsl/http/versori/configloader.js +1 -1
- package/script/src/dsl/http/versori/cronapi.d.ts +2 -3
- package/script/src/dsl/http/versori/cronapi.d.ts.map +1 -1
- package/script/src/dsl/http/versori/cronapi.js +14 -15
- package/script/src/dsl/http/versori/kvapi/core/OpenAPI.js +1 -1
- package/script/src/dsl/triggers/WebhookTrigger.d.ts.map +1 -1
- package/script/src/dsl/triggers/WebhookTrigger.js +3 -1
- package/script/src/internal/constants.d.ts +3 -0
- package/script/src/internal/constants.d.ts.map +1 -1
- package/script/src/internal/constants.js +4 -1
- package/script/src/internal/supervisor.d.ts +23 -0
- package/script/src/internal/supervisor.d.ts.map +1 -0
- package/script/src/internal/supervisor.js +275 -0
- package/script/src/interpreter/durable/DurableInterpreter.d.ts +9 -2
- package/script/src/interpreter/durable/DurableInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/durable/DurableInterpreter.js +62 -18
- package/script/src/interpreter/durable/ObservableCompiler.d.ts +6 -1
- package/script/src/interpreter/durable/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/durable/Queue.js +1 -1
- package/script/src/interpreter/durable/compilers/catch.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/catch.js +3 -1
- package/script/src/interpreter/durable/compilers/fn.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/fn.js +28 -5
- package/script/src/interpreter/durable/compilers/http.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/http.js +45 -11
- package/script/src/interpreter/durable/compilers/schedule.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/schedule.js +4 -3
- package/script/src/interpreter/durable/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/durable/compilers/webhook.js +2 -0
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts +8 -1
- package/script/src/interpreter/memory/MemoryInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/memory/MemoryInterpreter.js +55 -11
- package/script/src/interpreter/memory/ObservableCompiler.d.ts +6 -1
- package/script/src/interpreter/memory/ObservableCompiler.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/catch.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/catch.js +5 -0
- package/script/src/interpreter/memory/compilers/fn.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/fn.js +28 -17
- package/script/src/interpreter/memory/compilers/http.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/http.js +44 -10
- package/script/src/interpreter/memory/compilers/schedule.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/schedule.js +61 -4
- package/script/src/interpreter/memory/compilers/webhook.d.ts.map +1 -1
- package/script/src/interpreter/memory/compilers/webhook.js +9 -3
- package/script/src/interpreter/vanilla/VanillaInterpreter.d.ts +1 -0
- package/script/src/interpreter/vanilla/VanillaInterpreter.d.ts.map +1 -1
- package/script/src/interpreter/vanilla/VanillaInterpreter.js +30 -6
- package/script/src/interpreter/vanilla/compilers/schedule.js +1 -1
- package/script/src/issues/Issues.d.ts.map +1 -1
- package/script/src/issues/Issues.js +6 -1
- package/script/src/kv/KeyValue.d.ts +3 -7
- package/script/src/kv/KeyValue.d.ts.map +1 -1
- package/script/src/kv/memory/MemoryKeyValueProvider.d.ts +0 -4
- package/script/src/kv/memory/MemoryKeyValueProvider.d.ts.map +1 -1
- package/script/src/kv/memory/MemoryKeyValueProvider.js +0 -50
- package/script/src/kv/nats/NatsKeyValueProvider.d.ts.map +1 -1
- package/script/src/kv/nats/NatsKeyValueProvider.js +0 -14
- package/script/src/kv/sdk/SDKKeyValueProvider.d.ts.map +1 -1
- package/script/src/kv/sdk/SDKKeyValueProvider.js +0 -12
- package/script/src/observability/logging/ConsoleLogger.d.ts.map +1 -1
- package/esm/src/dsl/http/versori/constants.d.ts +0 -21
- package/esm/src/dsl/http/versori/constants.d.ts.map +0 -1
- package/esm/src/dsl/http/versori/constants.js +0 -38
- package/esm/src/kv/fingerprintExternalUserId.d.ts +0 -6
- package/esm/src/kv/fingerprintExternalUserId.d.ts.map +0 -1
- package/esm/src/kv/fingerprintExternalUserId.js +0 -20
- package/script/src/dsl/http/versori/constants.d.ts +0 -21
- package/script/src/dsl/http/versori/constants.d.ts.map +0 -1
- package/script/src/dsl/http/versori/constants.js +0 -41
- package/script/src/kv/fingerprintExternalUserId.d.ts +0 -6
- package/script/src/kv/fingerprintExternalUserId.d.ts.map +0 -1
- package/script/src/kv/fingerprintExternalUserId.js +0 -23
|
@@ -11,8 +11,9 @@
|
|
|
11
11
|
* use of this software will be governed by the Apache License, Version 2.0.
|
|
12
12
|
*/
|
|
13
13
|
import { Observable } from 'rxjs';
|
|
14
|
-
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarProjectId, } from '../../../dsl/http/versori/constants.js';
|
|
15
14
|
import { ScheduleTrigger } from '../../../dsl/triggers/ScheduleTrigger.js';
|
|
15
|
+
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarProjectId, } from '../../../internal/constants.js';
|
|
16
|
+
import { sendTaskStartEvent } from '../../../internal/supervisor.js';
|
|
16
17
|
function compileSchedule(ctx, trigger, signal) {
|
|
17
18
|
return new Observable((subscriber) => {
|
|
18
19
|
// Add HTTP endpoint for manual triggering
|
|
@@ -25,8 +26,43 @@ function compileSchedule(ctx, trigger, signal) {
|
|
|
25
26
|
const orgId = Deno.env.get(envVarOrgId) || 'example-org';
|
|
26
27
|
const client = ctx.platformApi;
|
|
27
28
|
ctx.cronRegistry.set(trigger.id, trigger.schedule);
|
|
28
|
-
async function handleSchedule(
|
|
29
|
+
async function handleSchedule(req, res, span) {
|
|
29
30
|
try {
|
|
31
|
+
// run for a single activation
|
|
32
|
+
const activationId = req.params.activationId;
|
|
33
|
+
if (activationId) {
|
|
34
|
+
const { data: activation } = await client.getActivation({
|
|
35
|
+
path: {
|
|
36
|
+
organisation_id: ctx.organisationId,
|
|
37
|
+
environment_id: environmentId,
|
|
38
|
+
activation_id: activationId,
|
|
39
|
+
},
|
|
40
|
+
throwOnError: false,
|
|
41
|
+
});
|
|
42
|
+
if (!activation) {
|
|
43
|
+
res.status(412).json({
|
|
44
|
+
status: 'error',
|
|
45
|
+
message: `No activation found for ID: ${activationId}`,
|
|
46
|
+
});
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const executionCtx = ctx.contextProvider.create(activation, {}, { workflowId: trigger.id });
|
|
50
|
+
span.setAttribute('execution.id', executionCtx.executionId);
|
|
51
|
+
await sendTaskStartEvent(trigger.id, executionCtx, span);
|
|
52
|
+
try {
|
|
53
|
+
ctx.log.info(`Running schedule ${trigger.id} for activation ${activationId}`);
|
|
54
|
+
subscriber.next(executionCtx);
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
executionCtx.log.error('execution error inside schedule', { error });
|
|
58
|
+
}
|
|
59
|
+
res.status(200).json({
|
|
60
|
+
status: 'triggered',
|
|
61
|
+
executionId: executionCtx.executionId,
|
|
62
|
+
});
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// run for static activation only
|
|
30
66
|
if (trigger.activationPredicate === undefined) {
|
|
31
67
|
const { data: activation } = await client.listActivations({
|
|
32
68
|
path: {
|
|
@@ -45,8 +81,9 @@ function compileSchedule(ctx, trigger, signal) {
|
|
|
45
81
|
});
|
|
46
82
|
return;
|
|
47
83
|
}
|
|
48
|
-
const executionCtx = ctx.contextProvider.create(activation[0], {});
|
|
84
|
+
const executionCtx = ctx.contextProvider.create(activation[0], {}, { workflowId: trigger.id });
|
|
49
85
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
86
|
+
await sendTaskStartEvent(trigger.id, executionCtx, span);
|
|
50
87
|
try {
|
|
51
88
|
subscriber.next(executionCtx);
|
|
52
89
|
}
|
|
@@ -59,6 +96,7 @@ function compileSchedule(ctx, trigger, signal) {
|
|
|
59
96
|
});
|
|
60
97
|
return;
|
|
61
98
|
}
|
|
99
|
+
// run for all activations
|
|
62
100
|
const { data: activations } = await client.listActivations({
|
|
63
101
|
path: {
|
|
64
102
|
organisation_id: ctx.organisationId,
|
|
@@ -77,8 +115,9 @@ function compileSchedule(ctx, trigger, signal) {
|
|
|
77
115
|
return;
|
|
78
116
|
}
|
|
79
117
|
activations.forEach((activation) => {
|
|
80
|
-
const executionCtx = ctx.contextProvider.create(activation, {});
|
|
118
|
+
const executionCtx = ctx.contextProvider.create(activation, {}, { workflowId: trigger.id });
|
|
81
119
|
try {
|
|
120
|
+
ctx.log.info(`Running schedule ${trigger.id} for activation ${activation.id}`);
|
|
82
121
|
subscriber.next(executionCtx);
|
|
83
122
|
}
|
|
84
123
|
catch (error) {
|
|
@@ -96,11 +135,29 @@ function compileSchedule(ctx, trigger, signal) {
|
|
|
96
135
|
await ctx.tracer.startActiveSpan(`schedule-${trigger.id}`, async (span) => {
|
|
97
136
|
span.setAttribute('task.id', trigger.id);
|
|
98
137
|
span.setAttribute('task.type', 'schedule');
|
|
138
|
+
span.setAttribute('type', 'task');
|
|
139
|
+
span.setAttribute('schedule', trigger.schedule);
|
|
140
|
+
span.setAttribute('project.id', projectId);
|
|
141
|
+
span.setAttribute('environment.id', environmentId);
|
|
142
|
+
span.setAttribute('environment.name', environmentName);
|
|
143
|
+
span.setAttribute('org.id', orgId);
|
|
144
|
+
span.setAttribute('workflow.id', trigger.id);
|
|
145
|
+
await handleSchedule(req, res, span);
|
|
146
|
+
span.end();
|
|
147
|
+
});
|
|
148
|
+
});
|
|
149
|
+
ctx.cronRouter.post(`/cron/${trigger.id}/activations/:activationId`, async (req, res) => {
|
|
150
|
+
await ctx.tracer.startActiveSpan(`schedule-${trigger.id}`, async (span) => {
|
|
151
|
+
span.setAttribute('task.id', trigger.id);
|
|
152
|
+
span.setAttribute('activation.id', req.params.activationId);
|
|
153
|
+
span.setAttribute('task.type', 'schedule');
|
|
154
|
+
span.setAttribute('type', 'task');
|
|
99
155
|
span.setAttribute('schedule', trigger.schedule);
|
|
100
156
|
span.setAttribute('project.id', projectId);
|
|
101
157
|
span.setAttribute('environment.id', environmentId);
|
|
102
158
|
span.setAttribute('environment.name', environmentName);
|
|
103
159
|
span.setAttribute('org.id', orgId);
|
|
160
|
+
span.setAttribute('workflow.id', trigger.id);
|
|
104
161
|
await handleSchedule(req, res, span);
|
|
105
162
|
span.end();
|
|
106
163
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/webhook.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../../../../../src/src/interpreter/memory/compilers/webhook.ts"],"names":[],"mappings":"AA2BA,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAItF,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuD7C,eAAO,MAAM,eAAe,EAAE,eAAe,CAAC,WAAW,EAAE,cAAc,CAmTxE,CAAC"}
|
|
@@ -18,6 +18,7 @@ import { Observable } from 'rxjs';
|
|
|
18
18
|
import { createActIdDynamicWebhookMiddleware, createStaticWebhookMiddleware, createUserIdDynamicWebhookMiddleware, } from '../../../dsl/http/versori/webhookmiddleware.js';
|
|
19
19
|
import { WebhookTrigger } from '../../../dsl/triggers/WebhookTrigger.js';
|
|
20
20
|
import { envVarEnvId } from '../../../internal/constants.js';
|
|
21
|
+
import { sendTaskStartEvent } from '../../../internal/supervisor.js';
|
|
21
22
|
const xml2jsDefaults = {
|
|
22
23
|
explicitArray: false,
|
|
23
24
|
normalize: false,
|
|
@@ -84,6 +85,7 @@ export const webhookCompiler = {
|
|
|
84
85
|
onError = trigger.options.response.onError;
|
|
85
86
|
}
|
|
86
87
|
const ctxOptionsFn = (req, res) => ({
|
|
88
|
+
workflowId: trigger.id,
|
|
87
89
|
onSuccess: (ctx) => {
|
|
88
90
|
if (isSync) {
|
|
89
91
|
sendResponse(res, onSuccess(ctx));
|
|
@@ -104,6 +106,7 @@ export const webhookCompiler = {
|
|
|
104
106
|
else {
|
|
105
107
|
routeMiddleware.push(express.raw({ type: '*/*', limit: '50mb' }));
|
|
106
108
|
}
|
|
109
|
+
ctx.webhookRegistry.set(trigger.id, { method, path: `/${trigger.id}`, options: trigger.options });
|
|
107
110
|
return new Observable((subscriber) => {
|
|
108
111
|
if (!ctx.webhookRouter) {
|
|
109
112
|
throw new Error('Router not available in compiler context');
|
|
@@ -129,12 +132,13 @@ export const webhookCompiler = {
|
|
|
129
132
|
cfgReader: ctx.configReader,
|
|
130
133
|
log: ctx.log,
|
|
131
134
|
}), async (req, res) => {
|
|
132
|
-
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, (span) => {
|
|
135
|
+
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
133
136
|
span.setAttribute('task.id', trigger.id);
|
|
134
137
|
span.setAttribute('task.type', 'webhook');
|
|
135
138
|
const staticActivation = res.locals.activation;
|
|
136
139
|
const executionCtx = ctx.contextProvider.create(staticActivation, req.body, ctxOptionsFn(req, res));
|
|
137
140
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
141
|
+
await sendTaskStartEvent(trigger.id, executionCtx, span);
|
|
138
142
|
try {
|
|
139
143
|
subscriber.next(executionCtx);
|
|
140
144
|
if (isAsync) {
|
|
@@ -165,7 +169,7 @@ export const webhookCompiler = {
|
|
|
165
169
|
cfgReader: ctx.configReader,
|
|
166
170
|
log: ctx.log,
|
|
167
171
|
}), async (req, res) => {
|
|
168
|
-
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, (span) => {
|
|
172
|
+
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
169
173
|
span.setAttribute('task.id', trigger.id);
|
|
170
174
|
span.setAttribute('task.type', 'webhook');
|
|
171
175
|
span.setAttribute('user.id', req.params.userId);
|
|
@@ -186,6 +190,7 @@ export const webhookCompiler = {
|
|
|
186
190
|
}
|
|
187
191
|
const executionCtx = ctx.contextProvider.create(activation, req.body, ctxOptionsFn(req, res));
|
|
188
192
|
span.setAttribute('execution.id', executionCtx.executionId);
|
|
193
|
+
await sendTaskStartEvent(trigger.id, executionCtx, span);
|
|
189
194
|
const errors = [];
|
|
190
195
|
try {
|
|
191
196
|
subscriber.next(executionCtx);
|
|
@@ -221,7 +226,7 @@ export const webhookCompiler = {
|
|
|
221
226
|
cfgReader: ctx.configReader,
|
|
222
227
|
log: ctx.log,
|
|
223
228
|
}), async (req, res) => {
|
|
224
|
-
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, (span) => {
|
|
229
|
+
await ctx.tracer.startActiveSpan(`webhook-${trigger.id}`, async (span) => {
|
|
225
230
|
span.setAttribute('task.id', trigger.id);
|
|
226
231
|
span.setAttribute('task.type', 'webhook');
|
|
227
232
|
span.setAttribute('activation.id', req.params.activationId);
|
|
@@ -240,6 +245,7 @@ export const webhookCompiler = {
|
|
|
240
245
|
}
|
|
241
246
|
const activationCtx = ctx.contextProvider.create(activation, req.body, ctxOptionsFn(req, res));
|
|
242
247
|
span.setAttribute('execution.id', activationCtx.executionId);
|
|
248
|
+
await sendTaskStartEvent(trigger.id, activationCtx, span);
|
|
243
249
|
try {
|
|
244
250
|
subscriber.next(activationCtx);
|
|
245
251
|
if (isAsync) {
|
|
@@ -86,6 +86,7 @@ export declare class VanillaInterpreter {
|
|
|
86
86
|
private cronServer?;
|
|
87
87
|
private shutdownServer?;
|
|
88
88
|
private isShuttingDown;
|
|
89
|
+
private wfRegistration;
|
|
89
90
|
constructor(log: Logger, compiler: ObservableCompiler, contextProvider: ContextProvider, webhookRouter: Router, cronRouter: Router, cronRegistry: Map<string, string>, cnxFetchFactory: DefaultConnectionFactory, cronProvider: CronProvider, tracer: Tracer, cfgReader: ConfigReader, queueProvider: QueueAPI, otelSDK?: NodeSDK | undefined);
|
|
90
91
|
static newInstance(options?: VanillaInterpreterOptions): Promise<VanillaInterpreter>;
|
|
91
92
|
register<O>(workflow: Workflow<O>, options?: VanillaInterpreterOptions): Registration;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VanillaInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/vanilla/VanillaInterpreter.ts"],"names":[],"mappings":"AAaA,OAAsB,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAgB,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAC;AAE7D,OAAO,EAA+B,UAAU,EAAM,YAAY,EAAO,MAAM,MAAM,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAarE,OAAO,EAAE,QAAQ,EAAgB,MAAM,uBAAuB,CAAC;AAM/D,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAa,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAA0B,MAAM,yBAAyB,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACpC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAE9B;;OAEG;IACH,eAAe,CAAC,EAAE,sBAAsB,CAAC;IAEzC;;OAEG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;CACpC,CAAC;AAEF,KAAK,YAAY,GAAG;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAChD,KAAK,EAAE,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9C,oBAAoB,EAAE,eAAe,CAAC;IACtC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC/B,CAAC;AAUF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAkB;
|
|
1
|
+
{"version":3,"file":"VanillaInterpreter.d.ts","sourceRoot":"","sources":["../../../../src/src/interpreter/vanilla/VanillaInterpreter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,8 @@ import { catchError, EMPTY, mergeMap, of, tap } from 'rxjs';
|
|
|
19
19
|
import { DefaultConnectionFactory } from '../../connection/VanillaConnectionFactory.js';
|
|
20
20
|
import { VanillaContextProvider } from '../../context/VanillaContext.js';
|
|
21
21
|
import { VersoriConfigReader } from '../../dsl/http/versori/configloader.js';
|
|
22
|
-
import { envVarEnvId, envVarEnvironmentName,
|
|
22
|
+
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarOrgSlug, envVarOtelTracesURL, envVarProjectId, envVarVersion, } from '../../internal/constants.js';
|
|
23
|
+
import { Fake, registerWorkflow, signalReady, enabled as supervisorEnabled } from '../../internal/supervisor.js';
|
|
23
24
|
import { CronAPIClient } from '../../dsl/http/versori/cronapi.js';
|
|
24
25
|
import { WorkflowImpl } from '../../dsl/Workflow.js';
|
|
25
26
|
import { IssueImpl } from '../../issues/Issues.js';
|
|
@@ -28,8 +29,8 @@ import { SDKKeyValueProvider } from '../../kv/sdk/SDKKeyValueProvider.js';
|
|
|
28
29
|
import { ConsoleLogger } from '../../observability/logging/ConsoleLogger.js';
|
|
29
30
|
import { QueueImpl } from '../durable/Queue.js';
|
|
30
31
|
import { ObservableCompiler } from './ObservableCompiler.js';
|
|
31
|
-
function getKVProvider(
|
|
32
|
-
if (
|
|
32
|
+
function getKVProvider() {
|
|
33
|
+
if (supervisorEnabled) {
|
|
33
34
|
return Promise.resolve(new MemoryKeyValueProvider());
|
|
34
35
|
}
|
|
35
36
|
return SDKKeyValueProvider.fromEnv();
|
|
@@ -161,6 +162,13 @@ export class VanillaInterpreter {
|
|
|
161
162
|
writable: true,
|
|
162
163
|
value: false
|
|
163
164
|
});
|
|
165
|
+
// Workflow registration promises only used when supervisor is enabled
|
|
166
|
+
Object.defineProperty(this, "wfRegistration", {
|
|
167
|
+
enumerable: true,
|
|
168
|
+
configurable: true,
|
|
169
|
+
writable: true,
|
|
170
|
+
value: []
|
|
171
|
+
});
|
|
164
172
|
if (typeof this.log === 'undefined') {
|
|
165
173
|
throw new Error('VanillaInterpreter should not be instantiated directly. Use VanillaInterpreter.newInstance() instead.');
|
|
166
174
|
}
|
|
@@ -177,7 +185,6 @@ export class VanillaInterpreter {
|
|
|
177
185
|
const otelTracesURL = Deno.env.get(envVarOtelTracesURL);
|
|
178
186
|
let otelSDK;
|
|
179
187
|
const configReader = VersoriConfigReader.fromEnv(log);
|
|
180
|
-
const runLocal = Deno.env.get(envVarLocalRun) === 'true';
|
|
181
188
|
await waitForReady(log);
|
|
182
189
|
// Do NOT change these attributes, they are used by the API to filter on
|
|
183
190
|
const resource = resourceFromAttributes({
|
|
@@ -199,6 +206,15 @@ export class VanillaInterpreter {
|
|
|
199
206
|
log.info('Starting OpenTelemetry SDK');
|
|
200
207
|
otelSDK.start();
|
|
201
208
|
}
|
|
209
|
+
else if (supervisorEnabled) {
|
|
210
|
+
otelSDK = new NodeSDK({
|
|
211
|
+
traceExporter: new Fake(),
|
|
212
|
+
serviceName: serviceName,
|
|
213
|
+
resource: resource,
|
|
214
|
+
});
|
|
215
|
+
log.info('Starting Testing OpenTelemetry SDK');
|
|
216
|
+
otelSDK.start();
|
|
217
|
+
}
|
|
202
218
|
const tracer = opentelemetry.trace.getTracer(serviceName, version);
|
|
203
219
|
const queueProvider = await QueueImpl.fromEnv(log);
|
|
204
220
|
const connectionFactory = new DefaultConnectionFactory();
|
|
@@ -206,7 +222,7 @@ export class VanillaInterpreter {
|
|
|
206
222
|
if (options.contextProvider) {
|
|
207
223
|
return new VanillaInterpreter(log, compiler, options.contextProvider, express.Router(), express.Router(), new Map(), connectionFactory, CronAPIClient.fromEnv(), tracer, configReader, queueProvider, otelSDK);
|
|
208
224
|
}
|
|
209
|
-
const kvp = await getKVProvider(
|
|
225
|
+
const kvp = await getKVProvider();
|
|
210
226
|
const organisationId = Deno.env.get(envVarOrgId) || 'development';
|
|
211
227
|
const environmentId = Deno.env.get(envVarEnvId) || 'development';
|
|
212
228
|
const ctxProvider = new VanillaContextProvider(log, kvp, organisationId, environmentId, issuesProvider, queueProvider);
|
|
@@ -249,9 +265,12 @@ export class VanillaInterpreter {
|
|
|
249
265
|
},
|
|
250
266
|
};
|
|
251
267
|
this.registeredWorkflows.push(registration);
|
|
268
|
+
if (supervisorEnabled) {
|
|
269
|
+
this.wfRegistration.push(registerWorkflow(workflow));
|
|
270
|
+
}
|
|
252
271
|
return registration;
|
|
253
272
|
}
|
|
254
|
-
start() {
|
|
273
|
+
async start() {
|
|
255
274
|
const port = Deno.env.get('PORT') || 3000;
|
|
256
275
|
const cronPort = Deno.env.get('CRON_PORT') || 3001;
|
|
257
276
|
const webhookApp = express();
|
|
@@ -360,6 +379,7 @@ export class VanillaInterpreter {
|
|
|
360
379
|
if (this.cronServer) {
|
|
361
380
|
this.cronServer.close();
|
|
362
381
|
}
|
|
382
|
+
this.otelSDK?.shutdown();
|
|
363
383
|
for (const registration of this.registeredWorkflows) {
|
|
364
384
|
Deno.removeSignalListener('SIGINT', registration.sigintListener);
|
|
365
385
|
if (registration.subscription) {
|
|
@@ -372,6 +392,10 @@ export class VanillaInterpreter {
|
|
|
372
392
|
}
|
|
373
393
|
};
|
|
374
394
|
Deno.addSignalListener('SIGINT', this.shutdownServer);
|
|
395
|
+
if (supervisorEnabled) {
|
|
396
|
+
await Promise.all(this.wfRegistration);
|
|
397
|
+
await signalReady();
|
|
398
|
+
}
|
|
375
399
|
return new Promise((resolve) => {
|
|
376
400
|
let serversClosed = 0;
|
|
377
401
|
const totalServers = [this.webhookServer, this.cronServer].filter(Boolean).length;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* use of this software will be governed by the Apache License, Version 2.0.
|
|
12
12
|
*/
|
|
13
13
|
import { Observable } from 'rxjs';
|
|
14
|
-
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarProjectId, } from '../../../
|
|
14
|
+
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarProjectId, } from '../../../internal/constants.js';
|
|
15
15
|
import { ScheduleTrigger } from '../../../dsl/triggers/ScheduleTrigger.js';
|
|
16
16
|
import { VanillaActivation } from '../ObservableCompiler.js';
|
|
17
17
|
function compileSchedule(ctx, trigger, signal) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Issues.d.ts","sourceRoot":"","sources":["../../../src/src/issues/Issues.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Issues.d.ts","sourceRoot":"","sources":["../../../src/src/issues/Issues.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,MAAM,MAAM,WAAW,GAAG;IACtB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC3B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,WAAW,QAAQ;IACrB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;CAC7B;AAED,qBAAa,SAAU,YAAW,QAAQ;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,GAAG,CAAS;gBAER,GAAG,EAAE,MAAM;IA2BjB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE;QACtC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;YAWX,MAAM;CAiEvB;AAED,qBAAa,UAAW,YAAW,QAAQ;IACvC,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,WAAW,CAAC,CAAC,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE;QACnC,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;CAG5B"}
|
package/esm/src/issues/Issues.js
CHANGED
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* use of this software will be governed by the Apache License, Version 2.0.
|
|
12
12
|
*/
|
|
13
13
|
import { createHash } from 'node:crypto';
|
|
14
|
-
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarOrgSlug, envVarProjectId, envVarSDKApiBaseURL, envVarVersion, } from '../
|
|
14
|
+
import { envVarEnvId, envVarEnvironmentName, envVarOrgId, envVarOrgSlug, envVarProjectId, envVarSDKApiBaseURL, envVarVersion, } from '../internal/constants.js';
|
|
15
|
+
import { enabled as supervisorEnabled } from '../internal/supervisor.js';
|
|
15
16
|
export class IssueImpl {
|
|
16
17
|
constructor(log) {
|
|
17
18
|
Object.defineProperty(this, "baseUrl", {
|
|
@@ -107,6 +108,10 @@ export class IssueImpl {
|
|
|
107
108
|
issue.annotations['environmentId'] = this.environmentId;
|
|
108
109
|
issue.annotations['organisationId'] = this.organisationId;
|
|
109
110
|
try {
|
|
111
|
+
if (supervisorEnabled) {
|
|
112
|
+
this.log.info('Issue to be submitted', { issue: issue });
|
|
113
|
+
return Promise.resolve(null);
|
|
114
|
+
}
|
|
110
115
|
const response = await fetch(`${this.baseUrl}/v1/issues/submit`, {
|
|
111
116
|
method: 'POST',
|
|
112
117
|
headers: {
|
package/esm/src/kv/KeyValue.d.ts
CHANGED
|
@@ -67,13 +67,10 @@ export interface KeyValue {
|
|
|
67
67
|
* KeyValueScope determines the visibility and lifetime of key-value data.
|
|
68
68
|
*
|
|
69
69
|
* - `:execution:` - Data scoped to a single workflow execution (deleted after execution completes).
|
|
70
|
-
* - `:project:` -
|
|
71
|
-
* - `:workspace:` - Data scoped to the true project (shared across all activations within the project).
|
|
70
|
+
* - `:project:` - Data scoped to the current project (shared across all executions).
|
|
72
71
|
* - `:organization:` - Data scoped to the organization (shared across all projects).
|
|
73
|
-
* - `:user:` - Data scoped to the current user based on the external_id of the activation.
|
|
74
|
-
*
|
|
75
72
|
*/
|
|
76
|
-
export type KeyValueScope = ':execution:' | ':project:' | ':
|
|
73
|
+
export type KeyValueScope = ':execution:' | ':project:' | ':organization:';
|
|
77
74
|
/**
|
|
78
75
|
* KVOptionsExecution specifies options for opening an execution-scoped KV store.
|
|
79
76
|
*/
|
|
@@ -82,7 +79,7 @@ export type KVOptionsExecution = {
|
|
|
82
79
|
executionId: string;
|
|
83
80
|
};
|
|
84
81
|
/**
|
|
85
|
-
* KVOptionsNotExecution specifies options for opening project
|
|
82
|
+
* KVOptionsNotExecution specifies options for opening project or organization-scoped KV stores.
|
|
86
83
|
*/
|
|
87
84
|
export type KVOptionsNotExecution = {
|
|
88
85
|
scope: Exclude<KeyValueScope, ':execution:'>;
|
|
@@ -92,7 +89,6 @@ export type KVOptionsNotExecution = {
|
|
|
92
89
|
*/
|
|
93
90
|
export type KVOptions = (KVOptionsExecution | KVOptionsNotExecution) & {
|
|
94
91
|
activationId?: string;
|
|
95
|
-
externalUserId?: string;
|
|
96
92
|
};
|
|
97
93
|
/**
|
|
98
94
|
* DestroyOptions configures which KV store to destroy.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyValue.d.ts","sourceRoot":"","sources":["../../../src/src/kv/KeyValue.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpG,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;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAClB,sBAAsB,CAAC,CAAC,CAAC,GACzB,qBAAqB,CAAC,CAAC,CAAC,GACxB,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB;;;;;;;;OAQG;IACH,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,EACP,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1B,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;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAElD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED
|
|
1
|
+
{"version":3,"file":"KeyValue.d.ts","sourceRoot":"","sources":["../../../src/src/kv/KeyValue.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEpG,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;;;;GAIG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAClB,sBAAsB,CAAC,CAAC,CAAC,GACzB,qBAAqB,CAAC,CAAC,CAAC,GACxB,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE7B;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB;;;;;;;;OAQG;IACH,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,EACP,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EACtB,OAAO,CAAC,EAAE,sBAAsB,CAAC,CAAC,CAAC,GACpC,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAC1B,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;;;;;;OAMG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD;;;;;;OAMG;IACH,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAElD;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD;AAED;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC,KAAK,EAAE,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,kBAAkB,GAAG,qBAAqB,CAAC,GAAG;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;;;OAKG;IACH,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEjC;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
|
|
@@ -2,12 +2,8 @@ import { DestroyOptions, KeyValue, KeyValueProvider, KVOptions } from '../KeyVal
|
|
|
2
2
|
export declare class MemoryKeyValueProvider implements KeyValueProvider {
|
|
3
3
|
private executionKv;
|
|
4
4
|
private projectKv;
|
|
5
|
-
private workspaceKv;
|
|
6
|
-
private organizationKv;
|
|
7
|
-
private userKv;
|
|
8
5
|
kv(options: KVOptions): KeyValue;
|
|
9
6
|
destroy(options: DestroyOptions): Promise<void>;
|
|
10
7
|
private getExecutionKv;
|
|
11
|
-
private getUserKv;
|
|
12
8
|
}
|
|
13
9
|
//# sourceMappingURL=MemoryKeyValueProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/memory/MemoryKeyValueProvider.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGvF,qBAAa,sBAAuB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,WAAW,CAAoC;
|
|
1
|
+
{"version":3,"file":"MemoryKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/memory/MemoryKeyValueProvider.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGvF,qBAAa,sBAAuB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,WAAW,CAAoC;IAEvD,OAAO,CAAC,SAAS,CAAkC;IAEnD,EAAE,CAAC,OAAO,EAAE,SAAS,GAAG,QAAQ;IAehC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAe/C,OAAO,CAAC,cAAc;CAUzB"}
|
|
@@ -25,24 +25,6 @@ export class MemoryKeyValueProvider {
|
|
|
25
25
|
writable: true,
|
|
26
26
|
value: new MemoryKeyValue()
|
|
27
27
|
});
|
|
28
|
-
Object.defineProperty(this, "workspaceKv", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
configurable: true,
|
|
31
|
-
writable: true,
|
|
32
|
-
value: new MemoryKeyValue()
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(this, "organizationKv", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
configurable: true,
|
|
37
|
-
writable: true,
|
|
38
|
-
value: new MemoryKeyValue()
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(this, "userKv", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
configurable: true,
|
|
43
|
-
writable: true,
|
|
44
|
-
value: new Map()
|
|
45
|
-
});
|
|
46
28
|
}
|
|
47
29
|
kv(options) {
|
|
48
30
|
switch (options.scope) {
|
|
@@ -53,15 +35,6 @@ export class MemoryKeyValueProvider {
|
|
|
53
35
|
return this.getExecutionKv(options.executionId);
|
|
54
36
|
case ':project:':
|
|
55
37
|
return this.projectKv;
|
|
56
|
-
case ':workspace:':
|
|
57
|
-
return this.workspaceKv;
|
|
58
|
-
case ':organization:':
|
|
59
|
-
return this.organizationKv;
|
|
60
|
-
case ':user:':
|
|
61
|
-
if (typeof options.externalUserId === 'undefined') {
|
|
62
|
-
throw new Error('externalUserId is required when scope is :user:');
|
|
63
|
-
}
|
|
64
|
-
return this.getUserKv(options.externalUserId);
|
|
65
38
|
default:
|
|
66
39
|
throw new Error(`Unsupported scope: ${options.scope}`);
|
|
67
40
|
}
|
|
@@ -74,21 +47,6 @@ export class MemoryKeyValueProvider {
|
|
|
74
47
|
}
|
|
75
48
|
this.executionKv.delete(options.executionId);
|
|
76
49
|
return Promise.resolve();
|
|
77
|
-
case ':project:':
|
|
78
|
-
this.projectKv = new MemoryKeyValue();
|
|
79
|
-
return Promise.resolve();
|
|
80
|
-
case ':workspace:':
|
|
81
|
-
this.workspaceKv = new MemoryKeyValue();
|
|
82
|
-
return Promise.resolve();
|
|
83
|
-
case ':organization:':
|
|
84
|
-
this.organizationKv = new MemoryKeyValue();
|
|
85
|
-
return Promise.resolve();
|
|
86
|
-
case ':user:':
|
|
87
|
-
if (typeof options.externalUserId === 'undefined') {
|
|
88
|
-
throw new Error('externalUserId is required when scope is :user:');
|
|
89
|
-
}
|
|
90
|
-
this.userKv.delete(options.externalUserId);
|
|
91
|
-
return Promise.resolve();
|
|
92
50
|
default:
|
|
93
51
|
return Promise.resolve();
|
|
94
52
|
}
|
|
@@ -101,12 +59,4 @@ export class MemoryKeyValueProvider {
|
|
|
101
59
|
}
|
|
102
60
|
return kv;
|
|
103
61
|
}
|
|
104
|
-
getUserKv(externalUserId) {
|
|
105
|
-
let kv = this.userKv.get(externalUserId);
|
|
106
|
-
if (!kv) {
|
|
107
|
-
kv = new MemoryKeyValue();
|
|
108
|
-
this.userKv.set(externalUserId, kv);
|
|
109
|
-
}
|
|
110
|
-
return kv;
|
|
111
|
-
}
|
|
112
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NatsKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/nats/NatsKeyValueProvider.ts"],"names":[],"mappings":"AAeA,OAAO,EAA+B,UAAU,EAAE,MAAM,+DAA+D,CAAC;
|
|
1
|
+
{"version":3,"file":"NatsKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/nats/NatsKeyValueProvider.ts"],"names":[],"mappings":"AAeA,OAAO,EAA+B,UAAU,EAAE,MAAM,+DAA+D,CAAC;AAExH,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AA4CvF,MAAM,MAAM,2BAA2B,GAAG;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,GAAG,CAAC,EAAE,UAAU,CAAC;KACpB,CAAC;CACL,CAAC;AAuBF,qBAAa,oBAAqB,YAAW,gBAAgB,EAAE,eAAe;IAEtE,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALzB,OAAO;WAQM,WAAW,CACpB,IAAI,GAAE,OAAO,CAAC,2BAA2B,CAAM,GAChD,OAAO,CAAC,oBAAoB,CAAC;IA0BhC,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAI/C,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;IA6CrD,OAAO,CAAC,aAAa;CAYxB"}
|
|
@@ -13,7 +13,6 @@
|
|
|
13
13
|
import { JetStreamApiCodes, JetStreamApiError } from '../../../deps/jsr.io/@nats-io/jetstream/3.3.1/src/mod.js';
|
|
14
14
|
import { Kvm } from '../../../deps/jsr.io/@nats-io/kv/3.3.1/src/mod.js';
|
|
15
15
|
import { connect, credsAuthenticator } from '../../../deps/jsr.io/@nats-io/transport-deno/3.3.1/src/mod.js';
|
|
16
|
-
import { fingerprintExternalUserId } from '../fingerprintExternalUserId.js';
|
|
17
16
|
import { isKVOptionsExecution } from '../isKVOptionsExecution.js';
|
|
18
17
|
import { NatsKeyValue } from './NatsKeyValue.js';
|
|
19
18
|
function getOptionsFromEnv() {
|
|
@@ -126,10 +125,6 @@ export class NatsKeyValueProvider {
|
|
|
126
125
|
return new NatsKeyValue(this.kvOrgScope, this.subjectPrefix(options));
|
|
127
126
|
case ':project:':
|
|
128
127
|
return new NatsKeyValue(this.kvProjectScope, this.subjectPrefix(options));
|
|
129
|
-
case ':workspace:':
|
|
130
|
-
return new NatsKeyValue(this.kvProjectScope, this.subjectPrefix(options));
|
|
131
|
-
case ':user:':
|
|
132
|
-
return new NatsKeyValue(this.kvProjectScope, this.subjectPrefix(options));
|
|
133
128
|
case ':execution:':
|
|
134
129
|
if (!isKVOptionsExecution(options)) {
|
|
135
130
|
throw new Error('invalid KV options, executionId is required for :execution: scope');
|
|
@@ -180,17 +175,8 @@ export class NatsKeyValueProvider {
|
|
|
180
175
|
return `${this.opts.organizationId}`;
|
|
181
176
|
case ':project:':
|
|
182
177
|
return `${this.opts.organizationId}.${this.opts.projectId}.${this.opts.environment}${activationSuffix}`;
|
|
183
|
-
case ':workspace:':
|
|
184
|
-
return `${this.opts.organizationId}.${this.opts.projectId}.${this.opts.environment}`;
|
|
185
|
-
case ':user:':
|
|
186
|
-
if (typeof options.externalUserId === 'undefined') {
|
|
187
|
-
throw new Error('externalUserId is required when scope is :user:');
|
|
188
|
-
}
|
|
189
|
-
return `${this.opts.organizationId}.${this.opts.projectId}.${this.opts.environment}.${fingerprintExternalUserId(options.externalUserId)}`;
|
|
190
178
|
case ':execution:':
|
|
191
179
|
return `${this.opts.organizationId}.${this.opts.projectId}.${this.opts.environment}.${options.executionId}${activationSuffix}`;
|
|
192
|
-
default:
|
|
193
|
-
throw new Error(`Unsupported scope for subjectPrefix: ${options.scope}`);
|
|
194
180
|
}
|
|
195
181
|
}
|
|
196
182
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SDKKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/sdk/SDKKeyValueProvider.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SDKKeyValueProvider.d.ts","sourceRoot":"","sources":["../../../../src/src/kv/sdk/SDKKeyValueProvider.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAkCvF,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;AA6BF,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;IA6CrD,OAAO,CAAC,aAAa;CAYxB"}
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { KvOperationsService } from '../../dsl/http/versori/kvapi/services/KvOperationsService.js';
|
|
14
14
|
import { StoresService } from '../../dsl/http/versori/kvapi/services/StoresService.js';
|
|
15
|
-
import { fingerprintExternalUserId } from '../fingerprintExternalUserId.js';
|
|
16
15
|
import { isKVOptionsExecution } from '../isKVOptionsExecution.js';
|
|
17
16
|
import { SDKKeyValue } from './SDKKeyValue.js';
|
|
18
17
|
function getOptionsFromEnv() {
|
|
@@ -105,10 +104,6 @@ export class SDKKeyValueProvider {
|
|
|
105
104
|
return new SDKKeyValue(this.kvOrgScope, this.subjectPrefix(options));
|
|
106
105
|
case ':project:':
|
|
107
106
|
return new SDKKeyValue(this.kvProjectScope, this.subjectPrefix(options));
|
|
108
|
-
case ':workspace:':
|
|
109
|
-
return new SDKKeyValue(this.kvProjectScope, this.subjectPrefix(options));
|
|
110
|
-
case ':user:':
|
|
111
|
-
return new SDKKeyValue(this.kvProjectScope, this.subjectPrefix(options));
|
|
112
107
|
case ':execution:':
|
|
113
108
|
if (!isKVOptionsExecution(options)) {
|
|
114
109
|
throw new Error('invalid KV options, executionId is required for :execution: scope');
|
|
@@ -155,13 +150,6 @@ export class SDKKeyValueProvider {
|
|
|
155
150
|
return `${this.opts.organizationId}/${this.opts.projectId}/${this.opts.environment}${activationSuffix}`;
|
|
156
151
|
case ':execution:':
|
|
157
152
|
return `${this.opts.organizationId}/${this.opts.projectId}/${this.opts.environment}/${options.executionId}${activationSuffix}`;
|
|
158
|
-
case ':workspace:':
|
|
159
|
-
return `${this.opts.organizationId}/${this.opts.projectId}/${this.opts.environment}`;
|
|
160
|
-
case ':user:':
|
|
161
|
-
if (typeof options.externalUserId === 'undefined') {
|
|
162
|
-
throw new Error('externalUserId is required when scope is :user:');
|
|
163
|
-
}
|
|
164
|
-
return `${this.opts.organizationId}/${this.opts.projectId}/${this.opts.environment}/${fingerprintExternalUserId(options.externalUserId)}`;
|
|
165
153
|
}
|
|
166
154
|
}
|
|
167
155
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/logging/ConsoleLogger.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,GAAG,MAAM,+CAA+C,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ConsoleLogger.d.ts","sourceRoot":"","sources":["../../../../src/src/observability/logging/ConsoleLogger.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,GAAG,MAAM,+CAA+C,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAkN/C;;;;;GAKG;AACH,qBAAa,aAAc,YAAW,MAAM;IACxC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC;IAEhB,KAAK,EAAE,QAAQ,CAAC;IAEhB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEpB,KAAK,GAAE,QAAqD,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;IAO9G,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO7D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO7D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAC3E,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAsB9D,KAAK,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,aAAa;IAOvD,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAIlC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@versori/run",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0-alpha.1",
|
|
4
4
|
"description": "Versori Run",
|
|
5
5
|
"homepage": "https://github.com/versori/versori-run#readme",
|
|
6
6
|
"repository": {
|
|
@@ -27,9 +27,11 @@
|
|
|
27
27
|
"@connectrpc/connect": "^2.0.4",
|
|
28
28
|
"@connectrpc/connect-node": "^2.0.4",
|
|
29
29
|
"@opentelemetry/api": "^1.9.0",
|
|
30
|
+
"@opentelemetry/core": "^2.1.0",
|
|
30
31
|
"@opentelemetry/exporter-trace-otlp-proto": "^0.200.0",
|
|
31
32
|
"@opentelemetry/resources": "^2.0.0",
|
|
32
33
|
"@opentelemetry/sdk-node": "^0.200.0",
|
|
34
|
+
"@opentelemetry/sdk-trace-node": "^2.0.0",
|
|
33
35
|
"cors": "^2.8.5",
|
|
34
36
|
"express": "^4.21.2",
|
|
35
37
|
"express-xml-bodyparser": "^0.3.0",
|
|
@@ -47,7 +47,7 @@ class CredentialHolder {
|
|
|
47
47
|
this.refresh();
|
|
48
48
|
return __classPrivateFieldGet(this, _CredentialHolder_value, "f");
|
|
49
49
|
}
|
|
50
|
-
// if this.refresh returns a rejected promise we are stuck with it until a restart.
|
|
50
|
+
// if this.refresh returns a rejected promise we are stuck with it until a restart.
|
|
51
51
|
// the try/catch bellow just keeps on trying to refresh the token if this.#value is rejected.
|
|
52
52
|
//
|
|
53
53
|
// We might have to change this because if credentials has an issue we might just make that issue worse by pamming more requests
|