@t4h.framework/dev 0.17.0 → 0.19.0
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/CHANGELOG.md +100 -0
- package/LICENSE +21 -0
- package/README.md +15 -2
- package/dist/AppProcess.d.ts +5 -1
- package/dist/AppProcess.js +3 -2
- package/dist/AppProcess.js.map +1 -1
- package/dist/Server.js +3 -1
- package/dist/Server.js.map +1 -1
- package/dist/claims.d.ts +3 -1
- package/dist/claims.js +14 -39
- package/dist/claims.js.map +1 -1
- package/dist/constants/panel-config.js +2 -2
- package/dist/constants/panel-config.js.map +1 -1
- package/dist/constants/server.d.ts +2 -0
- package/dist/constants/server.js +2 -0
- package/dist/constants/server.js.map +1 -1
- package/dist/http/create-app.js +12 -8
- package/dist/http/create-app.js.map +1 -1
- package/dist/http/middlewares/error-handler.middleware.js +2 -0
- package/dist/http/middlewares/error-handler.middleware.js.map +1 -1
- package/dist/integrations/cache.d.ts +6 -0
- package/dist/integrations/cache.js +4 -0
- package/dist/integrations/cache.js.map +1 -0
- package/dist/integrations/fs.d.ts +6 -0
- package/dist/integrations/fs.js +6 -0
- package/dist/integrations/fs.js.map +1 -0
- package/dist/integrations/http.d.ts +8 -0
- package/dist/integrations/http.js +12 -0
- package/dist/integrations/http.js.map +1 -0
- package/dist/integrations/index.d.ts +8 -0
- package/dist/integrations/index.js +42 -0
- package/dist/integrations/index.js.map +1 -0
- package/dist/integrations/orm.d.ts +8 -0
- package/dist/integrations/orm.js +6 -0
- package/dist/integrations/orm.js.map +1 -0
- package/dist/integrations/runtime-claims.d.ts +14 -0
- package/dist/integrations/runtime-claims.js +20 -0
- package/dist/integrations/runtime-claims.js.map +1 -0
- package/dist/integrations/sftp.d.ts +15 -0
- package/dist/integrations/sftp.js +13 -0
- package/dist/integrations/sftp.js.map +1 -0
- package/dist/integrations/smtp.d.ts +6 -0
- package/dist/integrations/smtp.js +6 -0
- package/dist/integrations/smtp.js.map +1 -0
- package/dist/models/JSONRPCError.d.ts +1 -0
- package/dist/models/JSONRPCError.js.map +1 -1
- package/dist/models/WorkflowRunActivity.d.ts +5 -1
- package/dist/models/WorkflowRunActivity.js +5 -0
- package/dist/models/WorkflowRunActivity.js.map +1 -1
- package/dist/models/WorkflowRunAsyncActivityPendingCallback.d.ts +21 -0
- package/dist/models/WorkflowRunAsyncActivityPendingCallback.js +20 -0
- package/dist/models/WorkflowRunAsyncActivityPendingCallback.js.map +1 -0
- package/dist/models/claims/DevGetActivityCallbackUrlClaim.d.ts +14 -0
- package/dist/models/claims/DevGetActivityCallbackUrlClaim.js +52 -0
- package/dist/models/claims/DevGetActivityCallbackUrlClaim.js.map +1 -0
- package/dist/models/claims/DevHttpClientRequestClaim.js +2 -0
- package/dist/models/claims/DevHttpClientRequestClaim.js.map +1 -1
- package/dist/models/claims/DevORMClaim.js +8 -6
- package/dist/models/claims/DevORMClaim.js.map +1 -1
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.d.ts +1 -0
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js +13 -3
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js.map +1 -1
- package/dist/repositories/WorkflowRunAsyncActivityPendingCallback.repository.d.ts +12 -0
- package/dist/repositories/WorkflowRunAsyncActivityPendingCallback.repository.js +61 -0
- package/dist/repositories/WorkflowRunAsyncActivityPendingCallback.repository.js.map +1 -0
- package/dist/services/CallbackToken.service.d.ts +5 -0
- package/dist/services/CallbackToken.service.js +23 -0
- package/dist/services/CallbackToken.service.js.map +1 -0
- package/dist/services/Database.service.d.ts +0 -5
- package/dist/services/Database.service.js +20 -8
- package/dist/services/Database.service.js.map +1 -1
- package/dist/services/WorkflowRunAsyncActivityFacade.service.d.ts +9 -4
- package/dist/services/WorkflowRunAsyncActivityFacade.service.js +14 -7
- package/dist/services/WorkflowRunAsyncActivityFacade.service.js.map +1 -1
- package/dist/tools/find-claim-by-constructor.d.ts +1 -1
- package/dist/tools/find-claim-by-constructor.js +4 -3
- package/dist/tools/find-claim-by-constructor.js.map +1 -1
- package/dist/tools/json-codec.d.ts +3 -20
- package/dist/tools/json-codec.js +7 -11
- package/dist/tools/json-codec.js.map +1 -1
- package/dist/transport/AppProcessJsonRpc.js +10 -0
- package/dist/transport/AppProcessJsonRpc.js.map +1 -1
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +3 -1
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -1
- package/dist/use-cases/CreateWorkflowRunAsyncActivityPendingCallback.usecase.d.ts +16 -0
- package/dist/use-cases/CreateWorkflowRunAsyncActivityPendingCallback.usecase.js +81 -0
- package/dist/use-cases/CreateWorkflowRunAsyncActivityPendingCallback.usecase.js.map +1 -0
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js +2 -1
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js.map +1 -1
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +5 -1
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +5 -3
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -1
- package/dist/use-cases/NextTickWorkflowRun.usecase.js +4 -2
- package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
- package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.d.ts +2 -1
- package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js +2 -2
- package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js.map +1 -1
- package/dist/workers/app-process.d.ts +4 -0
- package/dist/workers/app-process.js +7 -1
- package/dist/workers/app-process.js.map +1 -1
- package/package.json +61 -14
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import crypto from 'node:crypto';
|
|
8
|
+
import { deriveCallbackToken, isCallbackTokenValid, } from '@t4h.framework/webhook';
|
|
9
|
+
import { Injectable } from 'pleroma';
|
|
10
|
+
let CallbackTokenService = class CallbackTokenService {
|
|
11
|
+
secret = crypto.randomBytes(32).toString('hex');
|
|
12
|
+
derive(activityId) {
|
|
13
|
+
return deriveCallbackToken(this.secret, activityId);
|
|
14
|
+
}
|
|
15
|
+
verify(activityId, token) {
|
|
16
|
+
return isCallbackTokenValid(this.secret, activityId, token);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
CallbackTokenService = __decorate([
|
|
20
|
+
Injectable()
|
|
21
|
+
], CallbackTokenService);
|
|
22
|
+
export { CallbackTokenService };
|
|
23
|
+
//# sourceMappingURL=CallbackToken.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallbackToken.service.js","sourceRoot":"","sources":["../../src/services/CallbackToken.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAEhC,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG7B,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IACd,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAEzD,MAAM,CAAC,UAAkB;QAC9B,OAAO,mBAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACrD,CAAC;IAEM,MAAM,CAAC,UAAkB,EAAE,KAAa;QAC7C,OAAO,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;IAC7D,CAAC;CACF,CAAA;AAVY,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CAUhC"}
|
|
@@ -1,9 +1,4 @@
|
|
|
1
1
|
import { DatabaseSync } from 'node:sqlite';
|
|
2
|
-
/**
|
|
3
|
-
* In-memory SQLite. Every app process boot starts from an empty schema on
|
|
4
|
-
* purpose: the dev server does not carry migrations, durability belongs to
|
|
5
|
-
* the production runtime.
|
|
6
|
-
*/
|
|
7
2
|
export declare class DatabaseService {
|
|
8
3
|
readonly db: DatabaseSync;
|
|
9
4
|
constructor();
|
|
@@ -6,7 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { DatabaseSync } from 'node:sqlite';
|
|
8
8
|
import { Injectable } from 'pleroma';
|
|
9
|
-
import {
|
|
9
|
+
import { getJsonCodec } from '../tools/json-codec.js';
|
|
10
10
|
const SCHEMA = `
|
|
11
11
|
CREATE TABLE workflow_runs (
|
|
12
12
|
id TEXT PRIMARY KEY,
|
|
@@ -49,11 +49,26 @@ CREATE TABLE workflow_run_async_activity_pendings (
|
|
|
49
49
|
timeout_at INTEGER,
|
|
50
50
|
result TEXT,
|
|
51
51
|
payload TEXT,
|
|
52
|
+
auth TEXT,
|
|
53
|
+
last_callback_id TEXT,
|
|
52
54
|
created_at INTEGER NOT NULL,
|
|
53
55
|
updated_at INTEGER NOT NULL,
|
|
54
56
|
UNIQUE (activity_id, position)
|
|
55
57
|
);
|
|
56
58
|
|
|
59
|
+
CREATE TABLE workflow_run_async_activity_pending_callbacks (
|
|
60
|
+
id TEXT PRIMARY KEY,
|
|
61
|
+
pending_id TEXT NOT NULL REFERENCES workflow_run_async_activity_pendings (id) ON DELETE CASCADE,
|
|
62
|
+
method TEXT NOT NULL,
|
|
63
|
+
request TEXT NOT NULL,
|
|
64
|
+
status TEXT NOT NULL CHECK (status IN ('received', 'advanced', 'rejected')) DEFAULT 'received',
|
|
65
|
+
created_at INTEGER NOT NULL,
|
|
66
|
+
updated_at INTEGER NOT NULL
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
CREATE INDEX workflow_run_async_activity_pending_callbacks_pending_idx
|
|
70
|
+
ON workflow_run_async_activity_pending_callbacks (pending_id);
|
|
71
|
+
|
|
57
72
|
CREATE TABLE workflow_run_logs (
|
|
58
73
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
59
74
|
run_id TEXT NOT NULL REFERENCES workflow_runs (id) ON DELETE CASCADE,
|
|
@@ -62,11 +77,6 @@ CREATE TABLE workflow_run_logs (
|
|
|
62
77
|
at INTEGER NOT NULL
|
|
63
78
|
);
|
|
64
79
|
`;
|
|
65
|
-
/**
|
|
66
|
-
* In-memory SQLite. Every app process boot starts from an empty schema on
|
|
67
|
-
* purpose: the dev server does not carry migrations, durability belongs to
|
|
68
|
-
* the production runtime.
|
|
69
|
-
*/
|
|
70
80
|
let DatabaseService = class DatabaseService {
|
|
71
81
|
db = new DatabaseSync(':memory:');
|
|
72
82
|
constructor() {
|
|
@@ -88,12 +98,14 @@ let DatabaseService = class DatabaseService {
|
|
|
88
98
|
async encode(value) {
|
|
89
99
|
if (value === undefined)
|
|
90
100
|
return null;
|
|
91
|
-
|
|
101
|
+
const codec = await getJsonCodec();
|
|
102
|
+
return await codec.stringify(value, {});
|
|
92
103
|
}
|
|
93
104
|
async decode(text) {
|
|
94
105
|
if (text === null)
|
|
95
106
|
return undefined;
|
|
96
|
-
|
|
107
|
+
const codec = await getJsonCodec();
|
|
108
|
+
return await codec.parse(text, {});
|
|
97
109
|
}
|
|
98
110
|
close() {
|
|
99
111
|
this.db.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Database.service.js","sourceRoot":"","sources":["../../src/services/Database.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Database.service.js","sourceRoot":"","sources":["../../src/services/Database.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqEd,CAAA;AAGM,IAAM,eAAe,GAArB,MAAM,eAAe;IACV,EAAE,GAAG,IAAI,YAAY,CAAC,UAAU,CAAC,CAAA;IAEjD;QACE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA;QAExC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtB,CAAC;IAEM,WAAW,CAAI,EAAW;QAC/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAErB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;YAEnB,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAEtB,OAAO,MAAM,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YAExB,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,KAAc;QAChC,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,IAAI,CAAA;QAEpC,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAA;QAElC,OAAO,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzC,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAmB;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QAEnC,MAAM,KAAK,GAAG,MAAM,YAAY,EAAE,CAAA;QAElC,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACpC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;CACF,CAAA;AA5CY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CA4C3B"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import type { AsyncActivityAdvanceContext } from '@t4h.framework/core';
|
|
2
|
+
import type { CallbackRequest } from '@t4h.framework/webhook';
|
|
1
3
|
import type { WorkflowRunActivity } from '../models/WorkflowRunActivity.js';
|
|
2
4
|
import { CreateWorkflowRunAsyncActivity } from '../use-cases/CreateWorkflowRunAsyncActivity.usecase.js';
|
|
3
|
-
import {
|
|
5
|
+
import { CreateWorkflowRunAsyncActivityPendingCallback } from '../use-cases/CreateWorkflowRunAsyncActivityPendingCallback.usecase.js';
|
|
6
|
+
import { ExecuteWorkflowRunAsyncActivity, type ExecuteWorkflowRunAsyncActivityOptions } from '../use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js';
|
|
4
7
|
import { WorkflowRunAsyncActivityAdvance } from '../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js';
|
|
5
8
|
export declare class WorkflowRunAsyncActivityFacade {
|
|
6
9
|
private readonly createWorkflowRunAsyncActivity;
|
|
7
10
|
private readonly workflowRunAsyncActivityAdvance;
|
|
8
11
|
private readonly executeWorkflowRunAsyncActivity;
|
|
9
|
-
|
|
12
|
+
private readonly createWorkflowRunAsyncActivityPendingCallback;
|
|
13
|
+
constructor(createWorkflowRunAsyncActivity: CreateWorkflowRunAsyncActivity, workflowRunAsyncActivityAdvance: WorkflowRunAsyncActivityAdvance, executeWorkflowRunAsyncActivity: ExecuteWorkflowRunAsyncActivity, createWorkflowRunAsyncActivityPendingCallback: CreateWorkflowRunAsyncActivityPendingCallback);
|
|
10
14
|
create(activity: WorkflowRunActivity, input: unknown): Promise<import("../models/WorkflowRunActivity.js").WorkflowRunAsyncActivityPending>;
|
|
11
|
-
advance(activityId: string, payload: unknown): Promise<import("../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js").WorkflowRunAsyncActivityAdvanceOutput>;
|
|
12
|
-
execute(pendingId: string): Promise<void>;
|
|
15
|
+
advance(activityId: string, payload: unknown, context?: AsyncActivityAdvanceContext): Promise<import("../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js").WorkflowRunAsyncActivityAdvanceOutput>;
|
|
16
|
+
execute(pendingId: string, options?: ExecuteWorkflowRunAsyncActivityOptions): Promise<void>;
|
|
17
|
+
createPendingCallback(activityId: string, token: string, request: CallbackRequest): Promise<import("../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js").WorkflowRunAsyncActivityAdvanceOutput>;
|
|
13
18
|
}
|
|
@@ -9,32 +9,39 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
};
|
|
10
10
|
import { Inject, Injectable } from 'pleroma';
|
|
11
11
|
import { CreateWorkflowRunAsyncActivity } from '../use-cases/CreateWorkflowRunAsyncActivity.usecase.js';
|
|
12
|
-
import {
|
|
12
|
+
import { CreateWorkflowRunAsyncActivityPendingCallback } from '../use-cases/CreateWorkflowRunAsyncActivityPendingCallback.usecase.js';
|
|
13
|
+
import { ExecuteWorkflowRunAsyncActivity, } from '../use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js';
|
|
13
14
|
import { WorkflowRunAsyncActivityAdvance } from '../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js';
|
|
14
15
|
let WorkflowRunAsyncActivityFacade = class WorkflowRunAsyncActivityFacade {
|
|
15
16
|
createWorkflowRunAsyncActivity;
|
|
16
17
|
workflowRunAsyncActivityAdvance;
|
|
17
18
|
executeWorkflowRunAsyncActivity;
|
|
18
|
-
|
|
19
|
+
createWorkflowRunAsyncActivityPendingCallback;
|
|
20
|
+
constructor(createWorkflowRunAsyncActivity, workflowRunAsyncActivityAdvance, executeWorkflowRunAsyncActivity, createWorkflowRunAsyncActivityPendingCallback) {
|
|
19
21
|
this.createWorkflowRunAsyncActivity = createWorkflowRunAsyncActivity;
|
|
20
22
|
this.workflowRunAsyncActivityAdvance = workflowRunAsyncActivityAdvance;
|
|
21
23
|
this.executeWorkflowRunAsyncActivity = executeWorkflowRunAsyncActivity;
|
|
24
|
+
this.createWorkflowRunAsyncActivityPendingCallback = createWorkflowRunAsyncActivityPendingCallback;
|
|
22
25
|
}
|
|
23
26
|
create(activity, input) {
|
|
24
27
|
return this.createWorkflowRunAsyncActivity.create(activity, input);
|
|
25
28
|
}
|
|
26
|
-
advance(activityId, payload) {
|
|
27
|
-
return this.workflowRunAsyncActivityAdvance.advance(activityId, payload);
|
|
29
|
+
advance(activityId, payload, context) {
|
|
30
|
+
return this.workflowRunAsyncActivityAdvance.advance(activityId, payload, context);
|
|
28
31
|
}
|
|
29
|
-
execute(pendingId) {
|
|
30
|
-
return this.executeWorkflowRunAsyncActivity.execute(pendingId);
|
|
32
|
+
execute(pendingId, options) {
|
|
33
|
+
return this.executeWorkflowRunAsyncActivity.execute(pendingId, options);
|
|
34
|
+
}
|
|
35
|
+
createPendingCallback(activityId, token, request) {
|
|
36
|
+
return this.createWorkflowRunAsyncActivityPendingCallback.create(activityId, token, request);
|
|
31
37
|
}
|
|
32
38
|
};
|
|
33
39
|
WorkflowRunAsyncActivityFacade = __decorate([
|
|
34
40
|
Injectable(),
|
|
35
41
|
__param(0, Inject(() => CreateWorkflowRunAsyncActivity)),
|
|
36
42
|
__param(1, Inject(() => WorkflowRunAsyncActivityAdvance)),
|
|
37
|
-
__param(2, Inject(() => ExecuteWorkflowRunAsyncActivity))
|
|
43
|
+
__param(2, Inject(() => ExecuteWorkflowRunAsyncActivity)),
|
|
44
|
+
__param(3, Inject(() => CreateWorkflowRunAsyncActivityPendingCallback))
|
|
38
45
|
], WorkflowRunAsyncActivityFacade);
|
|
39
46
|
export { WorkflowRunAsyncActivityFacade };
|
|
40
47
|
//# sourceMappingURL=WorkflowRunAsyncActivityFacade.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRunAsyncActivityFacade.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunAsyncActivityFacade.service.ts"],"names":[],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"file":"WorkflowRunAsyncActivityFacade.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunAsyncActivityFacade.service.ts"],"names":[],"mappings":";;;;;;;;;AAEA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAA;AACvG,OAAO,EAAE,6CAA6C,EAAE,MAAM,uEAAuE,CAAA;AACrI,OAAO,EACL,+BAA+B,GAEhC,MAAM,yDAAyD,CAAA;AAChE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAA;AAGlG,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGtB;IAGA;IAGA;IAGA;IAXnB,YAEmB,8BAA8D,EAG9D,+BAAgE,EAGhE,+BAAgE,EAGhE,6CAA4F;QAT5F,mCAA8B,GAA9B,8BAA8B,CAAgC;QAG9D,oCAA+B,GAA/B,+BAA+B,CAAiC;QAGhE,oCAA+B,GAA/B,+BAA+B,CAAiC;QAGhE,kDAA6C,GAA7C,6CAA6C,CAA+C;IAC5G,CAAC;IAEG,MAAM,CAAC,QAA6B,EAAE,KAAc;QACzD,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpE,CAAC;IAEM,OAAO,CACZ,UAAkB,EAClB,OAAgB,EAChB,OAAqC;QAErC,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CACjD,UAAU,EACV,OAAO,EACP,OAAO,CACR,CAAA;IACH,CAAC;IAEM,OAAO,CACZ,SAAiB,EACjB,OAAgD;QAEhD,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACzE,CAAC;IAEM,qBAAqB,CAC1B,UAAkB,EAClB,KAAa,EACb,OAAwB;QAExB,OAAO,IAAI,CAAC,6CAA6C,CAAC,MAAM,CAC9D,UAAU,EACV,KAAK,EACL,OAAO,CACR,CAAA;IACH,CAAC;CACF,CAAA;AAjDY,8BAA8B;IAD1C,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAA;IAG5C,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAA;IAG7C,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,+BAA+B,CAAC,CAAA;IAG7C,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,6CAA6C,CAAC,CAAA;GAXnD,8BAA8B,CAiD1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function findClaimByConstructor<T>(constructor: new () => T): T
|
|
1
|
+
export declare function findClaimByConstructor<T>(constructor: new () => T): Promise<T>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export function findClaimByConstructor(constructor) {
|
|
3
|
-
const
|
|
1
|
+
import { getClaims } from '../claims.js';
|
|
2
|
+
export async function findClaimByConstructor(constructor) {
|
|
3
|
+
const providers = await getClaims();
|
|
4
|
+
const provider = providers.find(claim => claim.value instanceof constructor);
|
|
4
5
|
if (!provider)
|
|
5
6
|
throw new Error(`Claim not found: ${constructor.name}`);
|
|
6
7
|
return provider.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-claim-by-constructor.js","sourceRoot":"","sources":["../../src/tools/find-claim-by-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"find-claim-by-constructor.js","sourceRoot":"","sources":["../../src/tools/find-claim-by-constructor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,WAAwB;IAExB,MAAM,SAAS,GAAG,MAAM,SAAS,EAAE,CAAA;IAEnC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,YAAY,WAAW,CAAC,CAAA;IAE5E,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;IAEtE,OAAO,QAAQ,CAAC,KAAU,CAAA;AAC5B,CAAC"}
|
|
@@ -1,21 +1,4 @@
|
|
|
1
|
-
import { Binary } from '@t4h.framework/core';
|
|
2
|
-
import { SftpBinary } from '@t4h.framework/sftp';
|
|
3
1
|
import { JSONCodec, JSONCodecKind } from '../models/JSONCodec.js';
|
|
4
|
-
|
|
5
|
-
export declare const
|
|
6
|
-
|
|
7
|
-
contentType: string;
|
|
8
|
-
contentLength: number;
|
|
9
|
-
range: {
|
|
10
|
-
start: number;
|
|
11
|
-
end: number;
|
|
12
|
-
} | undefined;
|
|
13
|
-
encoding: BufferEncoding | undefined;
|
|
14
|
-
}, Binary, {}, {}>, JSONCodecKind<"sftp:binary", {
|
|
15
|
-
connectionString: string;
|
|
16
|
-
file: {
|
|
17
|
-
filepath: string;
|
|
18
|
-
contentType: string;
|
|
19
|
-
contentLength: number;
|
|
20
|
-
};
|
|
21
|
-
}, SftpBinary, {}, {}>, Kind<"orm", import("@t4h.framework/core").SerializableClass>, Kind<"http:body", import("@t4h.framework/core").SerializableClass>, Kind<"oauth2:client-credentials-grant", import("@t4h.framework/core").SerializableClass>, Kind<"oauth2:grant-resource-owner-password", import("@t4h.framework/core").SerializableClass>]>;
|
|
2
|
+
type Kinds = readonly JSONCodecKind<any, any, any, any, any>[];
|
|
3
|
+
export declare const getJsonCodec: () => Promise<JSONCodec<Kinds>>;
|
|
4
|
+
export {};
|
package/dist/tools/json-codec.js
CHANGED
|
@@ -1,21 +1,17 @@
|
|
|
1
1
|
import { Binary } from '@t4h.framework/core';
|
|
2
|
-
import {
|
|
3
|
-
import { ORM } from '@t4h.framework/orm';
|
|
4
|
-
import { SftpBinary } from '@t4h.framework/sftp';
|
|
2
|
+
import { getIntegrations } from '../integrations/index.js';
|
|
5
3
|
import { DevFileBinary } from '../models/DevFileBinary.js';
|
|
6
4
|
import { JSONCodec, JSONCodecKind } from '../models/JSONCodec.js';
|
|
7
|
-
import { JSONCodecKindFrameworkSerializableClass as Kind } from '../models/JSONCodecKindFrameworkSerializableClass.js';
|
|
8
|
-
import { SftpClient } from '../models/SftpClient.js';
|
|
9
5
|
const jsonDateKind = new JSONCodecKind('date', value => value instanceof Date, (date) => date.toISOString(), (date) => new Date(date));
|
|
10
6
|
const jsonFileBinaryKind = new JSONCodecKind('binary', value => value instanceof DevFileBinary, (binary) => {
|
|
11
7
|
if (!(binary instanceof DevFileBinary))
|
|
12
8
|
throw new TypeError('Unsupported binary instance');
|
|
13
9
|
return binary.toJSON();
|
|
14
10
|
}, json => DevFileBinary.from(json));
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
export const
|
|
11
|
+
const load = async () => {
|
|
12
|
+
const integrations = await getIntegrations();
|
|
13
|
+
return new JSONCodec(jsonDateKind, jsonFileBinaryKind, ...integrations.flatMap(({ kinds }) => kinds ?? []));
|
|
14
|
+
};
|
|
15
|
+
let codec;
|
|
16
|
+
export const getJsonCodec = () => (codec ??= load());
|
|
21
17
|
//# sourceMappingURL=json-codec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-codec.js","sourceRoot":"","sources":["../../src/tools/json-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"json-codec.js","sourceRoot":"","sources":["../../src/tools/json-codec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAIjE,MAAM,YAAY,GAAG,IAAI,aAAa,CACpC,MAAM,EACN,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,IAAI,EAC9B,CAAC,IAAU,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,EAClC,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;AAED,MAAM,kBAAkB,GAAG,IAAI,aAAa,CAC1C,QAAQ,EACR,KAAK,CAAC,EAAE,CAAC,KAAK,YAAY,aAAa,EACvC,CAAC,MAAc,EAAE,EAAE;IACjB,IAAI,CAAC,CAAC,MAAM,YAAY,aAAa,CAAC;QACpC,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAEpD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAA;AACxB,CAAC,EACD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACjC,CAAA;AAED,MAAM,IAAI,GAAG,KAAK,IAA+B,EAAE;IACjD,MAAM,YAAY,GAAG,MAAM,eAAe,EAAE,CAAA;IAE5C,OAAO,IAAI,SAAS,CAClB,YAAY,EACZ,kBAAkB,EAClB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CACpD,CAAA;AACH,CAAC,CAAA;AAED,IAAI,KAA4C,CAAA;AAEhD,MAAM,CAAC,MAAM,YAAY,GAAG,GAA8B,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA"}
|
|
@@ -24,6 +24,11 @@ const PageQuery = Type.Object({
|
|
|
24
24
|
limit: Type.Optional(Type.Integer({ minimum: 1, maximum: 100 })),
|
|
25
25
|
offset: Type.Optional(Type.Integer({ minimum: 0 })),
|
|
26
26
|
});
|
|
27
|
+
const CallbackRequest = Type.Object({
|
|
28
|
+
method: Type.String(),
|
|
29
|
+
headers: Type.Record(Type.String(), Type.Union([Type.String(), Type.Array(Type.String())])),
|
|
30
|
+
rawBody: Type.String(),
|
|
31
|
+
});
|
|
27
32
|
export const handlers = new Set();
|
|
28
33
|
handlers.add(() => {
|
|
29
34
|
return new JSONRPCServerMethod('workflow.run', { schema: [Type.String(), Type.Any()] }, (workflowId, input) => container.resolve(WorkflowRunFacade).run(workflowId, input));
|
|
@@ -51,6 +56,11 @@ handlers.add(() => {
|
|
|
51
56
|
handlers.add(() => {
|
|
52
57
|
return new JSONRPCServerMethod('workflow.async-activities.advance', { schema: [Type.String(), Type.Any()] }, (id, payload) => container.resolve(WorkflowRunAsyncActivityFacade).advance(id, payload));
|
|
53
58
|
});
|
|
59
|
+
handlers.add(() => {
|
|
60
|
+
return new JSONRPCServerMethod('workflow.async-activities.pending-callbacks.create', { schema: [Type.String(), Type.String(), CallbackRequest] }, (activityId, token, request) => container
|
|
61
|
+
.resolve(WorkflowRunAsyncActivityFacade)
|
|
62
|
+
.createPendingCallback(activityId, token, request));
|
|
63
|
+
});
|
|
54
64
|
handlers.add(() => {
|
|
55
65
|
return new JSONRPCServerMethod('workflow.async-activities.waiting.list', { schema: [PageQuery] }, query => container
|
|
56
66
|
.resolve(WorkflowRunAsyncActivityPendingRepository)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppProcessJsonRpc.js","sourceRoot":"","sources":["../../src/transport/AppProcessJsonRpc.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AppProcessJsonRpc.js","sourceRoot":"","sources":["../../src/transport/AppProcessJsonRpc.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
};
|
|
10
10
|
import { AsyncActivity, AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, Claim, Internals, } from '@t4h.framework/core';
|
|
11
11
|
import { Inject, Injectable } from 'pleroma';
|
|
12
|
-
import {
|
|
12
|
+
import { getClaims } from '../claims.js';
|
|
13
13
|
import { WorkflowRunAsyncActivityPending, } from '../models/WorkflowRunActivity.js';
|
|
14
14
|
import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
|
|
15
15
|
import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
|
|
@@ -32,6 +32,7 @@ let CreateWorkflowRunAsyncActivity = class CreateWorkflowRunAsyncActivity {
|
|
|
32
32
|
}
|
|
33
33
|
async create(activity, input) {
|
|
34
34
|
const Activity = this.activityRegistry.getActivityConstructor(activity.type);
|
|
35
|
+
const claims = await getClaims();
|
|
35
36
|
const bootstrap = await Claim.run(claims, () => Internals.runActivity(Activity, { claims, env, id: activity.id }, async (instance) => {
|
|
36
37
|
if (!(instance instanceof AsyncActivity))
|
|
37
38
|
throw new Error(`Activity is not an async activity: ${instance.constructor.name}`);
|
|
@@ -43,6 +44,7 @@ let CreateWorkflowRunAsyncActivity = class CreateWorkflowRunAsyncActivity {
|
|
|
43
44
|
schema: bootstrap.schema,
|
|
44
45
|
timeoutAt: bootstrap.timeoutAt,
|
|
45
46
|
result: bootstrap.payload,
|
|
47
|
+
auth: bootstrap.auth,
|
|
46
48
|
});
|
|
47
49
|
await this.workflowRunAsyncActivityPendingRepository.create(pending);
|
|
48
50
|
if (pending.timeoutAt)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,aAAa,EACb,4BAA4B,EAC5B,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,EACL,SAAS,GACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"CreateWorkflowRunAsyncActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivity.usecase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type CallbackRequest } from '@t4h.framework/webhook';
|
|
2
|
+
import { WorkflowRunAsyncActivityAdvance } from './WorkflowRunAsyncActivityAdvance.usecase.js';
|
|
3
|
+
import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
|
|
4
|
+
import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
|
|
5
|
+
import { WorkflowRunAsyncActivityPendingCallbackRepository } from '../repositories/WorkflowRunAsyncActivityPendingCallback.repository.js';
|
|
6
|
+
import { CallbackTokenService } from '../services/CallbackToken.service.js';
|
|
7
|
+
export declare const CALLBACK_RETRY_AFTER_IN_SECONDS = 1;
|
|
8
|
+
export declare class CreateWorkflowRunAsyncActivityPendingCallback {
|
|
9
|
+
private readonly workflowRunActivityRepository;
|
|
10
|
+
private readonly workflowRunAsyncActivityPendingRepository;
|
|
11
|
+
private readonly workflowRunAsyncActivityPendingCallbackRepository;
|
|
12
|
+
private readonly callbackToken;
|
|
13
|
+
private readonly workflowRunAsyncActivityAdvance;
|
|
14
|
+
constructor(workflowRunActivityRepository: WorkflowRunActivityRepository, workflowRunAsyncActivityPendingRepository: WorkflowRunAsyncActivityPendingRepository, workflowRunAsyncActivityPendingCallbackRepository: WorkflowRunAsyncActivityPendingCallbackRepository, callbackToken: CallbackTokenService, workflowRunAsyncActivityAdvance: WorkflowRunAsyncActivityAdvance);
|
|
15
|
+
create(activityId: string, token: string, request: CallbackRequest): Promise<import("./WorkflowRunAsyncActivityAdvance.usecase.js").WorkflowRunAsyncActivityAdvanceOutput>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
8
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
9
|
+
};
|
|
10
|
+
import { flattenHeaders, parseCallbackBody, verifyCallbackAuth, } from '@t4h.framework/webhook';
|
|
11
|
+
import { Inject, Injectable } from 'pleroma';
|
|
12
|
+
import { WorkflowRunAsyncActivityAdvance } from './WorkflowRunAsyncActivityAdvance.usecase.js';
|
|
13
|
+
import { JSONRPCError } from '../models/JSONRPCError.js';
|
|
14
|
+
import { WorkflowRunAsyncActivityPendingCallback } from '../models/WorkflowRunAsyncActivityPendingCallback.js';
|
|
15
|
+
import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
|
|
16
|
+
import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
|
|
17
|
+
import { WorkflowRunAsyncActivityPendingCallbackRepository } from '../repositories/WorkflowRunAsyncActivityPendingCallback.repository.js';
|
|
18
|
+
import { CallbackTokenService } from '../services/CallbackToken.service.js';
|
|
19
|
+
export const CALLBACK_RETRY_AFTER_IN_SECONDS = 1;
|
|
20
|
+
let CreateWorkflowRunAsyncActivityPendingCallback = class CreateWorkflowRunAsyncActivityPendingCallback {
|
|
21
|
+
workflowRunActivityRepository;
|
|
22
|
+
workflowRunAsyncActivityPendingRepository;
|
|
23
|
+
workflowRunAsyncActivityPendingCallbackRepository;
|
|
24
|
+
callbackToken;
|
|
25
|
+
workflowRunAsyncActivityAdvance;
|
|
26
|
+
constructor(workflowRunActivityRepository, workflowRunAsyncActivityPendingRepository, workflowRunAsyncActivityPendingCallbackRepository, callbackToken, workflowRunAsyncActivityAdvance) {
|
|
27
|
+
this.workflowRunActivityRepository = workflowRunActivityRepository;
|
|
28
|
+
this.workflowRunAsyncActivityPendingRepository = workflowRunAsyncActivityPendingRepository;
|
|
29
|
+
this.workflowRunAsyncActivityPendingCallbackRepository = workflowRunAsyncActivityPendingCallbackRepository;
|
|
30
|
+
this.callbackToken = callbackToken;
|
|
31
|
+
this.workflowRunAsyncActivityAdvance = workflowRunAsyncActivityAdvance;
|
|
32
|
+
}
|
|
33
|
+
async create(activityId, token, request) {
|
|
34
|
+
if (!this.callbackToken.verify(activityId, token))
|
|
35
|
+
throw new JSONRPCError(`Unknown callback: ${activityId}`, {
|
|
36
|
+
data: { status: 404 },
|
|
37
|
+
});
|
|
38
|
+
const activity = await this.workflowRunActivityRepository.findById(activityId);
|
|
39
|
+
const pending = activity &&
|
|
40
|
+
(await this.workflowRunAsyncActivityPendingRepository.findLastByActivityId(activityId));
|
|
41
|
+
if (!activity || !pending)
|
|
42
|
+
throw new JSONRPCError('Callback arrived before the activity settled', {
|
|
43
|
+
data: {
|
|
44
|
+
status: 503,
|
|
45
|
+
headers: { 'Retry-After': String(CALLBACK_RETRY_AFTER_IN_SECONDS) },
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
if (pending.status !== 'pending')
|
|
49
|
+
throw new JSONRPCError('Activity is no longer waiting for a callback', {
|
|
50
|
+
data: { status: 410 },
|
|
51
|
+
});
|
|
52
|
+
if (!(await verifyCallbackAuth(pending.auth, request)))
|
|
53
|
+
throw new JSONRPCError('Callback authentication failed', {
|
|
54
|
+
data: { status: 401 },
|
|
55
|
+
});
|
|
56
|
+
const headers = flattenHeaders(request.headers);
|
|
57
|
+
const callback = new WorkflowRunAsyncActivityPendingCallback(pending.id, request.method, { headers, body: request.rawBody });
|
|
58
|
+
this.workflowRunAsyncActivityPendingCallbackRepository.create(callback);
|
|
59
|
+
this.workflowRunAsyncActivityPendingRepository.setLastCallback(pending.id, callback.id);
|
|
60
|
+
try {
|
|
61
|
+
const output = await this.workflowRunAsyncActivityAdvance.advance(activityId, parseCallbackBody(headers['content-type'], request.rawBody), { method: request.method, headers });
|
|
62
|
+
this.workflowRunAsyncActivityPendingCallbackRepository.updateStatus(callback.id, 'advanced');
|
|
63
|
+
return output;
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
if (error instanceof JSONRPCError && error.data?.status === 400)
|
|
67
|
+
this.workflowRunAsyncActivityPendingCallbackRepository.updateStatus(callback.id, 'rejected');
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
CreateWorkflowRunAsyncActivityPendingCallback = __decorate([
|
|
73
|
+
Injectable(),
|
|
74
|
+
__param(0, Inject(() => WorkflowRunActivityRepository)),
|
|
75
|
+
__param(1, Inject(() => WorkflowRunAsyncActivityPendingRepository)),
|
|
76
|
+
__param(2, Inject(() => WorkflowRunAsyncActivityPendingCallbackRepository)),
|
|
77
|
+
__param(3, Inject(() => CallbackTokenService)),
|
|
78
|
+
__param(4, Inject(() => WorkflowRunAsyncActivityAdvance))
|
|
79
|
+
], CreateWorkflowRunAsyncActivityPendingCallback);
|
|
80
|
+
export { CreateWorkflowRunAsyncActivityPendingCallback };
|
|
81
|
+
//# sourceMappingURL=CreateWorkflowRunAsyncActivityPendingCallback.usecase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateWorkflowRunAsyncActivityPendingCallback.usecase.js","sourceRoot":"","sources":["../../src/use-cases/CreateWorkflowRunAsyncActivityPendingCallback.usecase.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
};
|
|
10
10
|
import { Claim, Internals, SyncActivity } from '@t4h.framework/core';
|
|
11
11
|
import { Inject, Injectable } from 'pleroma';
|
|
12
|
-
import {
|
|
12
|
+
import { getClaims } from '../claims.js';
|
|
13
13
|
import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
|
|
14
14
|
import { ActivityRegistryService } from '../services/ActivityRegistry.service.js';
|
|
15
15
|
import { toRejectedReason } from '../tools/to-rejected-reason.js';
|
|
@@ -23,6 +23,7 @@ let ExecuteWorkflowRunActivity = class ExecuteWorkflowRunActivity {
|
|
|
23
23
|
}
|
|
24
24
|
async execute(activity, input) {
|
|
25
25
|
const Activity = this.activityRegistry.getActivityConstructor(activity.type);
|
|
26
|
+
const claims = await getClaims();
|
|
26
27
|
let output;
|
|
27
28
|
try {
|
|
28
29
|
output = await Claim.run(claims, () => Internals.runActivity(Activity, { claims, env, id: activity.id }, async (instance) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecuteWorkflowRunActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/ExecuteWorkflowRunActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ExecuteWorkflowRunActivity.usecase.js","sourceRoot":"","sources":["../../src/use-cases/ExecuteWorkflowRunActivity.usecase.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,EAAE,6BAA6B,EAAE,MAAM,mDAAmD,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAA;AAGxC,IAAM,0BAA0B,GAAhC,MAAM,0BAA0B;IAGlB;IAGA;IALnB,YAEmB,6BAA4D,EAG5D,gBAAyC;QAHzC,kCAA6B,GAA7B,6BAA6B,CAA+B;QAG5D,qBAAgB,GAAhB,gBAAgB,CAAyB;IACzD,CAAC;IAEG,KAAK,CAAC,OAAO,CAClB,QAA6B,EAC7B,KAAc;QAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAE5E,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAA;QAEhC,IAAI,MAAe,CAAA;QAEnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CACpC,SAAS,CAAC,WAAW,CACnB,QAAQ,EACR,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,EAChC,KAAK,EAAC,QAAQ,EAAC,EAAE;gBACf,IAAI,CAAC,CAAC,QAAQ,YAAY,YAAY,CAAC;oBACrC,MAAM,IAAI,KAAK,CACb,oCAAoC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAChE,CAAA;gBAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC5B,CAAC,CACF,CACF,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAC3C,QAAQ,CAAC,EAAE,EACX,gBAAgB,CAAC,KAAK,CAAC,CACxB,CAAA;YAED,MAAM,KAAK,CAAA;QACb,CAAC;QAED,MAAM,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,CAAA;IACxE,CAAC;CACF,CAAA;AA7CY,0BAA0B;IADtC,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,6BAA6B,CAAC,CAAA;IAG3C,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,CAAA;GAL7B,0BAA0B,CA6CtC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AsyncActivityAdvanceContext } from '@t4h.framework/core';
|
|
1
2
|
import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
|
|
2
3
|
import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
|
|
3
4
|
import { WorkflowRunAsyncActivityPendingRepository } from '../repositories/WorkflowRunAsyncActivityPending.repository.js';
|
|
@@ -7,6 +8,9 @@ import { TimeoutSchedulerService } from '../services/TimeoutScheduler.service.js
|
|
|
7
8
|
import { WorkflowRunEventsService } from '../services/WorkflowRunEvents.service.js';
|
|
8
9
|
import { WorkflowRunFacade } from '../services/WorkflowRunFacade.service.js';
|
|
9
10
|
import { WorkflowRunLockService } from '../services/WorkflowRunLock.service.js';
|
|
11
|
+
export interface ExecuteWorkflowRunAsyncActivityOptions {
|
|
12
|
+
context?: AsyncActivityAdvanceContext;
|
|
13
|
+
}
|
|
10
14
|
export declare class ExecuteWorkflowRunAsyncActivity {
|
|
11
15
|
private readonly workflowRunRepository;
|
|
12
16
|
private readonly workflowRunActivityRepository;
|
|
@@ -18,5 +22,5 @@ export declare class ExecuteWorkflowRunAsyncActivity {
|
|
|
18
22
|
private readonly context;
|
|
19
23
|
private readonly events;
|
|
20
24
|
constructor(workflowRunRepository: WorkflowRunRepository, workflowRunActivityRepository: WorkflowRunActivityRepository, workflowRunAsyncActivityPendingRepository: WorkflowRunAsyncActivityPendingRepository, activityRegistry: ActivityRegistryService, timeoutScheduler: TimeoutSchedulerService, workflowRun: WorkflowRunFacade, lock: WorkflowRunLockService, context: RuntimeContextService, events: WorkflowRunEventsService);
|
|
21
|
-
execute(pendingId: string): Promise<void>;
|
|
25
|
+
execute(pendingId: string, { context }?: ExecuteWorkflowRunAsyncActivityOptions): Promise<void>;
|
|
22
26
|
}
|
|
@@ -9,7 +9,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
9
9
|
};
|
|
10
10
|
import { AsyncActivity, AsyncActivityResultFulfilled, AsyncActivityResultPending, AsyncActivityResultRejected, Claim, Internals, } from '@t4h.framework/core';
|
|
11
11
|
import { Inject, Injectable } from 'pleroma';
|
|
12
|
-
import {
|
|
12
|
+
import { getClaims } from '../claims.js';
|
|
13
13
|
import { WorkflowRunAsyncActivityPending } from '../models/WorkflowRunActivity.js';
|
|
14
14
|
import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
|
|
15
15
|
import { WorkflowRunActivityRepository } from '../repositories/WorkflowRunActivity.repository.js';
|
|
@@ -42,7 +42,7 @@ let ExecuteWorkflowRunAsyncActivity = class ExecuteWorkflowRunAsyncActivity {
|
|
|
42
42
|
this.context = context;
|
|
43
43
|
this.events = events;
|
|
44
44
|
}
|
|
45
|
-
async execute(pendingId) {
|
|
45
|
+
async execute(pendingId, { context } = {}) {
|
|
46
46
|
const pending = await this.workflowRunAsyncActivityPendingRepository.findById(pendingId);
|
|
47
47
|
if (!pending)
|
|
48
48
|
throw new Error(`Unknown async activity pending: ${pendingId}`);
|
|
@@ -60,6 +60,7 @@ let ExecuteWorkflowRunAsyncActivity = class ExecuteWorkflowRunAsyncActivity {
|
|
|
60
60
|
const Activity = this.activityRegistry.getActivityConstructor(activity.type);
|
|
61
61
|
const isTimedOut = current.timeoutAt !== undefined &&
|
|
62
62
|
current.timeoutAt.getTime() <= Date.now();
|
|
63
|
+
const claims = await getClaims();
|
|
63
64
|
const result = await this.context.run({ runId: run.id, workflowId: run.workflow, activityId: activity.id }, () => Claim.run(claims, () => Internals.runActivity(Activity, { claims, env, id: activity.id }, async (instance) => {
|
|
64
65
|
if (!(instance instanceof AsyncActivity))
|
|
65
66
|
throw new Error(`Activity is not an async activity: ${instance.constructor.name}`);
|
|
@@ -67,7 +68,7 @@ let ExecuteWorkflowRunAsyncActivity = class ExecuteWorkflowRunAsyncActivity {
|
|
|
67
68
|
return instance.onTimeout
|
|
68
69
|
? instance.onTimeout(current.toResultPending())
|
|
69
70
|
: new AsyncActivityResultRejected({ reason: 'timeout' });
|
|
70
|
-
return instance.advance(current.payload, (root ?? current).toResultPending());
|
|
71
|
+
return instance.advance(current.payload, (root ?? current).toResultPending(), context);
|
|
71
72
|
})));
|
|
72
73
|
this.timeoutScheduler.cancel(current.id);
|
|
73
74
|
if (result instanceof AsyncActivityResultPending) {
|
|
@@ -78,6 +79,7 @@ let ExecuteWorkflowRunAsyncActivity = class ExecuteWorkflowRunAsyncActivity {
|
|
|
78
79
|
schema: result.schema,
|
|
79
80
|
timeoutAt: result.timeoutAt,
|
|
80
81
|
result: result.payload,
|
|
82
|
+
auth: result.auth,
|
|
81
83
|
});
|
|
82
84
|
await this.workflowRunAsyncActivityPendingRepository.create(next);
|
|
83
85
|
this.events.runUpdated(run.id);
|