@t4h.framework/dev 0.14.1 → 0.15.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.
Files changed (187) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +96 -45
  3. package/dist/AppProcess.d.ts +36 -0
  4. package/dist/AppProcess.js +126 -0
  5. package/dist/AppProcess.js.map +1 -0
  6. package/dist/Server.d.ts +41 -0
  7. package/dist/Server.js +168 -0
  8. package/dist/Server.js.map +1 -0
  9. package/dist/constants/server.d.ts +9 -0
  10. package/dist/constants/server.js +10 -0
  11. package/dist/constants/server.js.map +1 -0
  12. package/dist/http/create-app.d.ts +16 -0
  13. package/dist/http/create-app.js +134 -0
  14. package/dist/http/create-app.js.map +1 -0
  15. package/dist/http/helpers/to-http-error.d.ts +8 -0
  16. package/dist/http/helpers/to-http-error.js +9 -0
  17. package/dist/http/helpers/to-http-error.js.map +1 -0
  18. package/dist/http/middlewares/error-handler.middleware.d.ts +2 -0
  19. package/dist/http/middlewares/error-handler.middleware.js +27 -0
  20. package/dist/http/middlewares/error-handler.middleware.js.map +1 -0
  21. package/dist/http/middlewares/project-manifest.middleware.d.ts +11 -0
  22. package/dist/http/middlewares/project-manifest.middleware.js +11 -0
  23. package/dist/http/middlewares/project-manifest.middleware.js.map +1 -0
  24. package/dist/http/middlewares/read-json-body.middleware.d.ts +6 -0
  25. package/dist/http/middlewares/read-json-body.middleware.js +22 -0
  26. package/dist/http/middlewares/read-json-body.middleware.js.map +1 -0
  27. package/dist/http/middlewares/workflow-authorization.middleware.d.ts +12 -0
  28. package/dist/http/middlewares/workflow-authorization.middleware.js +28 -0
  29. package/dist/http/middlewares/workflow-authorization.middleware.js.map +1 -0
  30. package/dist/index.d.ts +3 -15
  31. package/dist/index.js +2 -15
  32. package/dist/index.js.map +1 -1
  33. package/dist/models/JSONRPCClient.d.ts +2 -0
  34. package/dist/models/JSONRPCClient.js +21 -4
  35. package/dist/models/JSONRPCClient.js.map +1 -1
  36. package/dist/models/JSONRPCError.d.ts +13 -0
  37. package/dist/models/JSONRPCError.js +11 -0
  38. package/dist/models/JSONRPCError.js.map +1 -0
  39. package/dist/models/JSONRPCServer.d.ts +2 -0
  40. package/dist/models/JSONRPCServer.js +27 -5
  41. package/dist/models/JSONRPCServer.js.map +1 -1
  42. package/dist/models/WorkflowAuthorizationMissingError.d.ts +5 -0
  43. package/dist/models/WorkflowAuthorizationMissingError.js +9 -0
  44. package/dist/models/WorkflowAuthorizationMissingError.js.map +1 -0
  45. package/dist/models/WorkflowRun.d.ts +28 -15
  46. package/dist/models/WorkflowRun.js +17 -8
  47. package/dist/models/WorkflowRun.js.map +1 -1
  48. package/dist/models/WorkflowRunActivity.d.ts +40 -27
  49. package/dist/models/WorkflowRunActivity.js +46 -34
  50. package/dist/models/WorkflowRunActivity.js.map +1 -1
  51. package/dist/models/claims/DevHttpClientRequestClaim.js +4 -5
  52. package/dist/models/claims/DevHttpClientRequestClaim.js.map +1 -1
  53. package/dist/models/claims/DevORMClaim.d.ts +15 -4
  54. package/dist/models/claims/DevORMClaim.js +128 -29
  55. package/dist/models/claims/DevORMClaim.js.map +1 -1
  56. package/dist/models/claims/DevWorkflowBatchClaim.js +2 -3
  57. package/dist/models/claims/DevWorkflowBatchClaim.js.map +1 -1
  58. package/dist/models/claims/DevWorkflowClaim.d.ts +1 -1
  59. package/dist/models/claims/DevWorkflowClaim.js +6 -11
  60. package/dist/models/claims/DevWorkflowClaim.js.map +1 -1
  61. package/dist/repositories/WorkflowRun.repository.d.ts +41 -6
  62. package/dist/repositories/WorkflowRun.repository.js +204 -11
  63. package/dist/repositories/WorkflowRun.repository.js.map +1 -1
  64. package/dist/repositories/WorkflowRunActivity.repository.d.ts +19 -6
  65. package/dist/repositories/WorkflowRunActivity.repository.js +73 -23
  66. package/dist/repositories/WorkflowRunActivity.repository.js.map +1 -1
  67. package/dist/repositories/WorkflowRunAsyncActivityPending.repository.d.ts +39 -0
  68. package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js +160 -0
  69. package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js.map +1 -0
  70. package/dist/services/ActivityRegistry.service.d.ts +7 -0
  71. package/dist/services/ActivityRegistry.service.js +32 -0
  72. package/dist/services/ActivityRegistry.service.js.map +1 -0
  73. package/dist/services/Database.service.d.ts +14 -0
  74. package/dist/services/Database.service.js +108 -0
  75. package/dist/services/Database.service.js.map +1 -0
  76. package/dist/services/TimeoutScheduler.service.js +9 -3
  77. package/dist/services/TimeoutScheduler.service.js.map +1 -1
  78. package/dist/services/WorkflowAuthorization.service.d.ts +19 -0
  79. package/dist/services/WorkflowAuthorization.service.js +75 -0
  80. package/dist/services/WorkflowAuthorization.service.js.map +1 -0
  81. package/dist/services/WorkflowRunAsyncActivityFacade.service.d.ts +8 -15
  82. package/dist/services/WorkflowRunAsyncActivityFacade.service.js +12 -26
  83. package/dist/services/WorkflowRunAsyncActivityFacade.service.js.map +1 -1
  84. package/dist/services/WorkflowRunEvents.service.d.ts +11 -0
  85. package/dist/services/WorkflowRunEvents.service.js +42 -0
  86. package/dist/services/WorkflowRunEvents.service.js.map +1 -0
  87. package/dist/services/WorkflowRunFacade.service.d.ts +109 -7
  88. package/dist/services/WorkflowRunFacade.service.js +65 -10
  89. package/dist/services/WorkflowRunFacade.service.js.map +1 -1
  90. package/dist/services/WorkflowRunLock.service.d.ts +6 -0
  91. package/dist/services/WorkflowRunLock.service.js +34 -0
  92. package/dist/services/WorkflowRunLock.service.js.map +1 -0
  93. package/dist/services/WorkflowRunSyncActivityFacade.service.d.ts +4 -4
  94. package/dist/services/WorkflowRunSyncActivityFacade.service.js +7 -7
  95. package/dist/services/WorkflowRunSyncActivityFacade.service.js.map +1 -1
  96. package/dist/tools/find-workflow-by-id.d.ts +2 -0
  97. package/dist/tools/find-workflow-by-id.js +9 -0
  98. package/dist/tools/find-workflow-by-id.js.map +1 -0
  99. package/dist/tools/format-routes.d.ts +10 -0
  100. package/dist/tools/format-routes.js +40 -0
  101. package/dist/tools/format-routes.js.map +1 -0
  102. package/dist/tools/replace.d.ts +1 -0
  103. package/dist/tools/replace.js +14 -0
  104. package/dist/tools/replace.js.map +1 -0
  105. package/dist/tools/to-workflow-run-activity-output.d.ts +24 -0
  106. package/dist/tools/to-workflow-run-activity-output.js +18 -0
  107. package/dist/tools/to-workflow-run-activity-output.js.map +1 -0
  108. package/dist/tools/to-workflow-run-output.d.ts +12 -0
  109. package/dist/tools/to-workflow-run-output.js +13 -0
  110. package/dist/tools/to-workflow-run-output.js.map +1 -0
  111. package/dist/transport/AppProcessJsonRpc.js +59 -0
  112. package/dist/transport/AppProcessJsonRpc.js.map +1 -0
  113. package/dist/use-cases/BuildWorkflowRunActivityHistory.usecase.d.ts +9 -0
  114. package/dist/use-cases/{WorkflowRunBuildHistory.usecase.js → BuildWorkflowRunActivityHistory.usecase.js} +18 -16
  115. package/dist/use-cases/BuildWorkflowRunActivityHistory.usecase.js.map +1 -0
  116. package/dist/use-cases/CreateWorkflowRun.usecase.d.ts +6 -6
  117. package/dist/use-cases/CreateWorkflowRun.usecase.js +20 -21
  118. package/dist/use-cases/CreateWorkflowRun.usecase.js.map +1 -1
  119. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.d.ts +9 -3
  120. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +45 -39
  121. package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -1
  122. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.d.ts +9 -0
  123. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js +43 -0
  124. package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js.map +1 -0
  125. package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.d.ts +9 -0
  126. package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js +46 -0
  127. package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js.map +1 -0
  128. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +22 -0
  129. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +117 -0
  130. package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -0
  131. package/dist/use-cases/NextTickWorkflowRun.usecase.d.ts +18 -7
  132. package/dist/use-cases/NextTickWorkflowRun.usecase.js +153 -126
  133. package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
  134. package/dist/use-cases/RunWorkflow.usecase.d.ts +10 -0
  135. package/dist/use-cases/RunWorkflow.usecase.js +46 -0
  136. package/dist/use-cases/RunWorkflow.usecase.js.map +1 -0
  137. package/dist/use-cases/WorkflowRunActivityFind.usecase.d.ts +34 -0
  138. package/dist/use-cases/WorkflowRunActivityFind.usecase.js +49 -0
  139. package/dist/use-cases/WorkflowRunActivityFind.usecase.js.map +1 -0
  140. package/dist/use-cases/WorkflowRunActivityFindById.usecase.d.ts +34 -0
  141. package/dist/use-cases/WorkflowRunActivityFindById.usecase.js +60 -0
  142. package/dist/use-cases/WorkflowRunActivityFindById.usecase.js.map +1 -0
  143. package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.d.ts +12 -4
  144. package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js +41 -27
  145. package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js.map +1 -1
  146. package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.d.ts +24 -0
  147. package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js +56 -0
  148. package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js.map +1 -0
  149. package/dist/use-cases/WorkflowRunFind.usecase.d.ts +18 -0
  150. package/dist/use-cases/WorkflowRunFind.usecase.js +28 -0
  151. package/dist/use-cases/WorkflowRunFind.usecase.js.map +1 -0
  152. package/dist/use-cases/WorkflowRunFindById.usecase.d.ts +21 -0
  153. package/dist/use-cases/WorkflowRunFindById.usecase.js +46 -0
  154. package/dist/use-cases/WorkflowRunFindById.usecase.js.map +1 -0
  155. package/dist/workers/app-process.js +10 -1
  156. package/dist/workers/app-process.js.map +1 -1
  157. package/package.json +14 -4
  158. package/.ai/skills/framework-dev/SKILL.md +0 -348
  159. package/dist/DevServer.d.ts +0 -24
  160. package/dist/DevServer.js +0 -87
  161. package/dist/DevServer.js.map +0 -1
  162. package/dist/models/InMemoryDatabase.d.ts +0 -20
  163. package/dist/models/InMemoryDatabase.js +0 -111
  164. package/dist/models/InMemoryDatabase.js.map +0 -1
  165. package/dist/services/BuildWorkflowRunResult.service.d.ts +0 -8
  166. package/dist/services/BuildWorkflowRunResult.service.js +0 -49
  167. package/dist/services/BuildWorkflowRunResult.service.js.map +0 -1
  168. package/dist/tools/is-workflow-waiting.d.ts +0 -4
  169. package/dist/tools/is-workflow-waiting.js +0 -12
  170. package/dist/tools/is-workflow-waiting.js.map +0 -1
  171. package/dist/transport/DevServerJsonRpc.js +0 -42
  172. package/dist/transport/DevServerJsonRpc.js.map +0 -1
  173. package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.d.ts +0 -14
  174. package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js +0 -64
  175. package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js.map +0 -1
  176. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.d.ts +0 -8
  177. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js +0 -40
  178. package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js.map +0 -1
  179. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.d.ts +0 -7
  180. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js +0 -46
  181. package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js.map +0 -1
  182. package/dist/use-cases/WorkflowRunBuildHistory.usecase.d.ts +0 -8
  183. package/dist/use-cases/WorkflowRunBuildHistory.usecase.js.map +0 -1
  184. package/dist/use-cases/WorkflowRunSyncActivity.usecase.d.ts +0 -4
  185. package/dist/use-cases/WorkflowRunSyncActivity.usecase.js +0 -28
  186. package/dist/use-cases/WorkflowRunSyncActivity.usecase.js.map +0 -1
  187. /package/dist/transport/{DevServerJsonRpc.d.ts → AppProcessJsonRpc.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunAsyncActivityPending.repository.js","sourceRoot":"","sources":["../../src/repositories/WorkflowRunAsyncActivityPending.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { type ActivityConstructor, type AnyActivity } from '@t4h.framework/core';
2
+ export declare class ActivityRegistryService {
3
+ private readonly activities;
4
+ constructor();
5
+ add(Activity: ActivityConstructor<AnyActivity>): void;
6
+ getActivityConstructor(name: string): ActivityConstructor<AnyActivity>;
7
+ }
@@ -0,0 +1,32 @@
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 { StartManyWorkflowsActivity, StartWorkflowActivity, } from '@t4h.framework/core';
8
+ import { Injectable } from 'pleroma';
9
+ let ActivityRegistryService = class ActivityRegistryService {
10
+ activities = new Map();
11
+ constructor() {
12
+ this.add(StartWorkflowActivity);
13
+ this.add(StartManyWorkflowsActivity);
14
+ }
15
+ add(Activity) {
16
+ const current = this.activities.get(Activity.name);
17
+ if (current && current !== Activity)
18
+ console.warn(`[server] activity "${Activity.name}" registered twice with different classes; the latest wins`);
19
+ this.activities.set(Activity.name, Activity);
20
+ }
21
+ getActivityConstructor(name) {
22
+ const Activity = this.activities.get(name);
23
+ if (!Activity)
24
+ throw new Error(`Unknown activity: ${name}`);
25
+ return Activity;
26
+ }
27
+ };
28
+ ActivityRegistryService = __decorate([
29
+ Injectable()
30
+ ], ActivityRegistryService);
31
+ export { ActivityRegistryService };
32
+ //# sourceMappingURL=ActivityRegistry.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActivityRegistry.service.js","sourceRoot":"","sources":["../../src/services/ActivityRegistry.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,GAGtB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG7B,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IACjB,UAAU,GAAG,IAAI,GAAG,EAGlC,CAAA;IAEH;QACE,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAA;IACtC,CAAC;IAEM,GAAG,CAAC,QAA0C;QACnD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAElD,IAAI,OAAO,IAAI,OAAO,KAAK,QAAQ;YACjC,OAAO,CAAC,IAAI,CACV,sBAAsB,QAAQ,CAAC,IAAI,4DAA4D,CAChG,CAAA;QAEH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;IAC9C,CAAC;IAEM,sBAAsB,CAC3B,IAAY;QAEZ,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAE1C,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,EAAE,CAAC,CAAA;QAE3D,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF,CAAA;AA/BY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CA+BnC"}
@@ -0,0 +1,14 @@
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
+ export declare class DatabaseService {
8
+ readonly db: DatabaseSync;
9
+ constructor();
10
+ transaction<T>(fn: () => T): T;
11
+ encode(value: unknown): Promise<string | null>;
12
+ decode(text: string | null): Promise<unknown>;
13
+ close(): void;
14
+ }
@@ -0,0 +1,108 @@
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 { DatabaseSync } from 'node:sqlite';
8
+ import { Injectable } from 'pleroma';
9
+ import { jsonCodec } from '../tools/json-codec.js';
10
+ const SCHEMA = `
11
+ CREATE TABLE workflow_runs (
12
+ id TEXT PRIMARY KEY,
13
+ workflow_id TEXT NOT NULL,
14
+ status TEXT NOT NULL CHECK (status IN ('running', 'fulfilled', 'rejected')),
15
+ input TEXT,
16
+ output TEXT,
17
+ rejected_reason TEXT,
18
+ rejected_activity_id TEXT,
19
+ parent_run_id TEXT,
20
+ parent_activity_id TEXT,
21
+ batch_index INTEGER,
22
+ batch_size INTEGER,
23
+ created_at INTEGER NOT NULL,
24
+ updated_at INTEGER NOT NULL
25
+ );
26
+
27
+ CREATE INDEX workflow_runs_parent_activity_idx
28
+ ON workflow_runs (parent_activity_id);
29
+
30
+ CREATE TABLE workflow_run_activities (
31
+ id TEXT PRIMARY KEY,
32
+ run_id TEXT NOT NULL REFERENCES workflow_runs (id) ON DELETE CASCADE,
33
+ position INTEGER NOT NULL,
34
+ type TEXT NOT NULL,
35
+ kind TEXT NOT NULL CHECK (kind IN ('sync', 'async')),
36
+ status TEXT NOT NULL CHECK (status IN ('running', 'fulfilled', 'rejected')) DEFAULT 'running',
37
+ input TEXT,
38
+ output TEXT,
39
+ completed_at INTEGER,
40
+ created_at INTEGER NOT NULL,
41
+ UNIQUE (run_id, position)
42
+ );
43
+
44
+ CREATE TABLE workflow_run_async_activity_pendings (
45
+ id TEXT PRIMARY KEY,
46
+ activity_id TEXT NOT NULL REFERENCES workflow_run_activities (id) ON DELETE CASCADE,
47
+ position INTEGER NOT NULL,
48
+ previous_id TEXT,
49
+ status TEXT NOT NULL CHECK (status IN ('pending', 'fulfilled', 'rejected')),
50
+ schema TEXT,
51
+ timeout_at INTEGER,
52
+ result TEXT,
53
+ payload TEXT,
54
+ created_at INTEGER NOT NULL,
55
+ updated_at INTEGER NOT NULL,
56
+ UNIQUE (activity_id, position)
57
+ );
58
+
59
+ CREATE TABLE workflow_run_logs (
60
+ id INTEGER PRIMARY KEY AUTOINCREMENT,
61
+ run_id TEXT NOT NULL REFERENCES workflow_runs (id) ON DELETE CASCADE,
62
+ level TEXT NOT NULL,
63
+ args TEXT NOT NULL,
64
+ at INTEGER NOT NULL
65
+ );
66
+ `;
67
+ /**
68
+ * In-memory SQLite. Every app process boot starts from an empty schema on
69
+ * purpose: the dev server does not carry migrations, durability belongs to
70
+ * the production runtime.
71
+ */
72
+ let DatabaseService = class DatabaseService {
73
+ db = new DatabaseSync(':memory:');
74
+ constructor() {
75
+ this.db.exec('PRAGMA foreign_keys = ON');
76
+ this.db.exec(SCHEMA);
77
+ }
78
+ transaction(fn) {
79
+ this.db.exec('BEGIN');
80
+ try {
81
+ const result = fn();
82
+ this.db.exec('COMMIT');
83
+ return result;
84
+ }
85
+ catch (error) {
86
+ this.db.exec('ROLLBACK');
87
+ throw error;
88
+ }
89
+ }
90
+ async encode(value) {
91
+ if (value === undefined)
92
+ return null;
93
+ return await jsonCodec.stringify(value, {});
94
+ }
95
+ async decode(text) {
96
+ if (text === null)
97
+ return undefined;
98
+ return await jsonCodec.parse(text, {});
99
+ }
100
+ close() {
101
+ this.db.close();
102
+ }
103
+ };
104
+ DatabaseService = __decorate([
105
+ Injectable()
106
+ ], DatabaseService);
107
+ export { DatabaseService };
108
+ //# sourceMappingURL=Database.service.js.map
@@ -0,0 +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,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAElD,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDd,CAAA;AAED;;;;GAIG;AAEI,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,OAAO,MAAM,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAC7C,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAmB;QACrC,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,SAAS,CAAA;QAEnC,OAAO,MAAM,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACxC,CAAC;IAEM,KAAK;QACV,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;CACF,CAAA;AAxCY,eAAe;IAD3B,UAAU,EAAE;GACA,eAAe,CAwC3B"}
@@ -4,18 +4,24 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
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
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
+ import { styleText } from 'node:util';
7
8
  import { Injectable } from 'pleroma';
9
+ const MAX_TIMEOUT_DELAY_IN_MS = 2 ** 31 - 1;
8
10
  let TimeoutSchedulerService = class TimeoutSchedulerService {
9
11
  timers = new Map();
10
12
  schedule(id, timeoutAt, fn) {
11
13
  this.cancel(id);
12
- const delay = Math.max(timeoutAt.getTime() - Date.now(), 0);
14
+ const delayInMs = Math.min(Math.max(timeoutAt.getTime() - Date.now(), 0), MAX_TIMEOUT_DELAY_IN_MS);
13
15
  const timer = setTimeout(() => {
14
16
  this.timers.delete(id);
17
+ if (timeoutAt.getTime() > Date.now())
18
+ return this.schedule(id, timeoutAt, fn);
15
19
  Promise.resolve(fn()).catch(error => {
16
- console.error('[DevRuntime] timeout handler failed:', error);
20
+ console.error(styleText('red', '[server] timeout handler failed:', {
21
+ stream: process.stderr,
22
+ }), error);
17
23
  });
18
- }, delay);
24
+ }, delayInMs);
19
25
  this.timers.set(id, timer);
20
26
  }
21
27
  cancel(id) {
@@ -1 +1 @@
1
- {"version":3,"file":"TimeoutScheduler.service.js","sourceRoot":"","sources":["../../src/services/TimeoutScheduler.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG7B,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IACjB,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAEpD,QAAQ,CAAC,EAAU,EAAE,SAAe,EAAE,EAA8B;QACzE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAA;QAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEtB,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAA;YAC9D,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,KAAK,CAAC,CAAA;QAET,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEjC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;CACF,CAAA;AA5BY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CA4BnC"}
1
+ {"version":3,"file":"TimeoutScheduler.service.js","sourceRoot":"","sources":["../../src/services/TimeoutScheduler.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAGpC,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IACjB,MAAM,GAAG,IAAI,GAAG,EAA0B,CAAA;IAEpD,QAAQ,CAAC,EAAU,EAAE,SAAe,EAAE,EAA8B;QACzE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QAEf,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAC7C,uBAAuB,CACxB,CAAA;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YAEtB,IAAI,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE;gBAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAA;YAEzC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBAClC,OAAO,CAAC,KAAK,CACX,SAAS,CAAC,KAAK,EAAE,kCAAkC,EAAE;oBACnD,MAAM,EAAE,OAAO,CAAC,MAAM;iBACvB,CAAC,EACF,KAAK,CACN,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,EAAE,SAAS,CAAC,CAAA;QAEb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,EAAU;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAEjC,IAAI,CAAC,KAAK;YAAE,OAAM;QAElB,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IACxB,CAAC;CACF,CAAA;AAvCY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAuCnC"}
@@ -0,0 +1,19 @@
1
+ import type { AppManifest } from '../AppProcess.js';
2
+ export interface WorkflowAuthorizationRequest {
3
+ method: string;
4
+ url: string;
5
+ path: string;
6
+ headers: Record<string, string>;
7
+ params: Record<string, string>;
8
+ query: Record<string, string>;
9
+ rawBody: string;
10
+ body: unknown;
11
+ }
12
+ export declare class WorkflowAuthorizationService {
13
+ private readonly projectDir;
14
+ constructor(projectDir: string);
15
+ authorize(manifest: AppManifest, workflowId: string, request: WorkflowAuthorizationRequest): Promise<boolean>;
16
+ private importModule;
17
+ private resolve;
18
+ private replace;
19
+ }
@@ -0,0 +1,75 @@
1
+ import path from 'node:path';
2
+ import { pathToFileURL } from 'node:url';
3
+ import { WorkflowAuthorizationMissingError } from '../models/WorkflowAuthorizationMissingError.js';
4
+ import { replace } from '../tools/replace.js';
5
+ const SUPPORTED_BARE_SPECIFIERS = [
6
+ '@t4h.framework/hmac/authorize',
7
+ '@t4h.framework/jwks/authorize',
8
+ '@t4h.framework/oidc/authorize',
9
+ ];
10
+ export class WorkflowAuthorizationService {
11
+ projectDir;
12
+ constructor(projectDir) {
13
+ this.projectDir = projectDir;
14
+ }
15
+ async authorize(manifest, workflowId, request) {
16
+ const workflow = manifest.workflows.find(workflow => workflow.id === workflowId);
17
+ if (!workflow)
18
+ throw new Error('Cannot get workflow manifest');
19
+ const authorization = workflow.authorization || manifest.authorization;
20
+ if (!authorization)
21
+ throw new WorkflowAuthorizationMissingError(workflowId);
22
+ const module = await this.importModule(authorization.pathToModule);
23
+ try {
24
+ const result = authorization.context
25
+ ? await module.default(this.replace(authorization.context, request))
26
+ : await module.default();
27
+ return !!result;
28
+ }
29
+ catch (error) {
30
+ console.error(error);
31
+ return false;
32
+ }
33
+ }
34
+ async importModule(pathToModule) {
35
+ let module;
36
+ try {
37
+ module = (await import(this.resolve(pathToModule)));
38
+ }
39
+ catch (error) {
40
+ const isNotFound = error instanceof Error &&
41
+ 'code' in error &&
42
+ error.code === 'ERR_MODULE_NOT_FOUND';
43
+ if (!isNotFound)
44
+ throw error;
45
+ throw new Error(`Cannot resolve authorization module "${pathToModule}". The dev server supports ${SUPPORTED_BARE_SPECIFIERS.join(', ')}`, { cause: error });
46
+ }
47
+ if (typeof module.default !== 'function')
48
+ throw new Error(`Authorization module "${pathToModule}" has no default export function`);
49
+ return module;
50
+ }
51
+ resolve(pathToModule) {
52
+ if (pathToModule.startsWith('file:'))
53
+ return pathToModule;
54
+ if (path.isAbsolute(pathToModule))
55
+ return pathToFileURL(pathToModule).href;
56
+ if (pathToModule.startsWith('./') || pathToModule.startsWith('../'))
57
+ return pathToFileURL(path.resolve(this.projectDir, pathToModule)).href;
58
+ return pathToModule;
59
+ }
60
+ replace(value, context) {
61
+ if (value === null || value === undefined)
62
+ return value;
63
+ if (typeof value === 'string')
64
+ return replace(value, context);
65
+ if (Array.isArray(value))
66
+ return value.map(item => this.replace(item, context));
67
+ if (typeof value === 'object')
68
+ return Object.fromEntries(Object.entries(value).map(([key, item]) => [
69
+ key,
70
+ this.replace(item, context),
71
+ ]));
72
+ return value;
73
+ }
74
+ }
75
+ //# sourceMappingURL=WorkflowAuthorization.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowAuthorization.service.js","sourceRoot":"","sources":["../../src/services/WorkflowAuthorization.service.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,13 @@
1
- import type { AsyncActivityResult } from '@t4h.framework/core';
2
- import type { WorkflowRunActivity as WorkflowRunActivityModel, WorkflowRunAsyncActivityPending, WorkflowRunAsyncActivity as WorkflowRunAsyncActivityModel } from '../models/WorkflowRunActivity.js';
3
- import { CallbackWorkflowRunAsyncActivity } from '../use-cases/CallbackWorkflowRunAsyncActivity.usecase.js';
1
+ import type { WorkflowRunActivity } from '../models/WorkflowRunActivity.js';
4
2
  import { CreateWorkflowRunAsyncActivity } from '../use-cases/CreateWorkflowRunAsyncActivity.usecase.js';
5
- import { TimeoutWorkflowRunAsyncActivity } from '../use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js';
6
- import { WorkflowRunAsyncActivity } from '../use-cases/WorkflowRunAsyncActivity.usecase.js';
3
+ import { ExecuteWorkflowRunAsyncActivity } from '../use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js';
7
4
  import { WorkflowRunAsyncActivityAdvance } from '../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js';
8
5
  export declare class WorkflowRunAsyncActivityFacade {
9
- private readonly workflowRunAsyncActivity;
10
- private readonly workflowRunAsyncActivityAdvance;
11
- private readonly workflowRunAsyncActivityTimeout;
12
- private readonly workflowRunAsyncActivityCallback;
13
6
  private readonly createWorkflowRunAsyncActivity;
14
- constructor(workflowRunAsyncActivity: WorkflowRunAsyncActivity, workflowRunAsyncActivityAdvance: WorkflowRunAsyncActivityAdvance, workflowRunAsyncActivityTimeout: TimeoutWorkflowRunAsyncActivity, workflowRunAsyncActivityCallback: CallbackWorkflowRunAsyncActivity, createWorkflowRunAsyncActivity: CreateWorkflowRunAsyncActivity);
15
- run(activity: WorkflowRunActivityModel): Promise<void>;
16
- create(activity: WorkflowRunActivityModel, input: unknown): Promise<unknown>;
17
- advance(activityId: string, payload: unknown): Promise<unknown>;
18
- timeout(activity: WorkflowRunAsyncActivityModel, pending: WorkflowRunAsyncActivityPending): Promise<void>;
19
- callback(pending: WorkflowRunAsyncActivityPending, activity: WorkflowRunActivityModel, result: AsyncActivityResult<any, any, any>): Promise<void>;
7
+ private readonly workflowRunAsyncActivityAdvance;
8
+ private readonly executeWorkflowRunAsyncActivity;
9
+ constructor(createWorkflowRunAsyncActivity: CreateWorkflowRunAsyncActivity, workflowRunAsyncActivityAdvance: WorkflowRunAsyncActivityAdvance, executeWorkflowRunAsyncActivity: ExecuteWorkflowRunAsyncActivity);
10
+ 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>;
20
13
  }
@@ -8,47 +8,33 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
8
  return function (target, key) { decorator(target, key, paramIndex); }
9
9
  };
10
10
  import { Inject, Injectable } from 'pleroma';
11
- import { CallbackWorkflowRunAsyncActivity } from '../use-cases/CallbackWorkflowRunAsyncActivity.usecase.js';
12
11
  import { CreateWorkflowRunAsyncActivity } from '../use-cases/CreateWorkflowRunAsyncActivity.usecase.js';
13
- import { TimeoutWorkflowRunAsyncActivity } from '../use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js';
14
- import { WorkflowRunAsyncActivity } from '../use-cases/WorkflowRunAsyncActivity.usecase.js';
12
+ import { ExecuteWorkflowRunAsyncActivity } from '../use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js';
15
13
  import { WorkflowRunAsyncActivityAdvance } from '../use-cases/WorkflowRunAsyncActivityAdvance.usecase.js';
16
14
  let WorkflowRunAsyncActivityFacade = class WorkflowRunAsyncActivityFacade {
17
- workflowRunAsyncActivity;
18
- workflowRunAsyncActivityAdvance;
19
- workflowRunAsyncActivityTimeout;
20
- workflowRunAsyncActivityCallback;
21
15
  createWorkflowRunAsyncActivity;
22
- constructor(workflowRunAsyncActivity, workflowRunAsyncActivityAdvance, workflowRunAsyncActivityTimeout, workflowRunAsyncActivityCallback, createWorkflowRunAsyncActivity) {
23
- this.workflowRunAsyncActivity = workflowRunAsyncActivity;
24
- this.workflowRunAsyncActivityAdvance = workflowRunAsyncActivityAdvance;
25
- this.workflowRunAsyncActivityTimeout = workflowRunAsyncActivityTimeout;
26
- this.workflowRunAsyncActivityCallback = workflowRunAsyncActivityCallback;
16
+ workflowRunAsyncActivityAdvance;
17
+ executeWorkflowRunAsyncActivity;
18
+ constructor(createWorkflowRunAsyncActivity, workflowRunAsyncActivityAdvance, executeWorkflowRunAsyncActivity) {
27
19
  this.createWorkflowRunAsyncActivity = createWorkflowRunAsyncActivity;
20
+ this.workflowRunAsyncActivityAdvance = workflowRunAsyncActivityAdvance;
21
+ this.executeWorkflowRunAsyncActivity = executeWorkflowRunAsyncActivity;
28
22
  }
29
- async run(activity) {
30
- return this.workflowRunAsyncActivity.run(activity);
31
- }
32
- async create(activity, input) {
23
+ create(activity, input) {
33
24
  return this.createWorkflowRunAsyncActivity.create(activity, input);
34
25
  }
35
- async advance(activityId, payload) {
26
+ advance(activityId, payload) {
36
27
  return this.workflowRunAsyncActivityAdvance.advance(activityId, payload);
37
28
  }
38
- async timeout(activity, pending) {
39
- return this.workflowRunAsyncActivityTimeout.timeout(activity, pending);
40
- }
41
- async callback(pending, activity, result) {
42
- return this.workflowRunAsyncActivityCallback.callback(pending, activity, result);
29
+ execute(pendingId) {
30
+ return this.executeWorkflowRunAsyncActivity.execute(pendingId);
43
31
  }
44
32
  };
45
33
  WorkflowRunAsyncActivityFacade = __decorate([
46
34
  Injectable(),
47
- __param(0, Inject(() => WorkflowRunAsyncActivity)),
35
+ __param(0, Inject(() => CreateWorkflowRunAsyncActivity)),
48
36
  __param(1, Inject(() => WorkflowRunAsyncActivityAdvance)),
49
- __param(2, Inject(() => TimeoutWorkflowRunAsyncActivity)),
50
- __param(3, Inject(() => CallbackWorkflowRunAsyncActivity)),
51
- __param(4, Inject(() => CreateWorkflowRunAsyncActivity))
37
+ __param(2, Inject(() => ExecuteWorkflowRunAsyncActivity))
52
38
  ], WorkflowRunAsyncActivityFacade);
53
39
  export { WorkflowRunAsyncActivityFacade };
54
40
  //# sourceMappingURL=WorkflowRunAsyncActivityFacade.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowRunAsyncActivityFacade.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunAsyncActivityFacade.service.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAO5C,OAAO,EAAE,gCAAgC,EAAE,MAAM,0DAA0D,CAAA;AAC3G,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAA;AACvG,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAA;AACzG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kDAAkD,CAAA;AAC3F,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAA;AAGlG,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGtB;IAGA;IAGA;IAGA;IAGA;IAdnB,YAEmB,wBAAkD,EAGlD,+BAAgE,EAGhE,+BAAgE,EAGhE,gCAAkE,EAGlE,8BAA8D;QAZ9D,6BAAwB,GAAxB,wBAAwB,CAA0B;QAGlD,oCAA+B,GAA/B,+BAA+B,CAAiC;QAGhE,oCAA+B,GAA/B,+BAA+B,CAAiC;QAGhE,qCAAgC,GAAhC,gCAAgC,CAAkC;QAGlE,mCAA8B,GAA9B,8BAA8B,CAAgC;IAC9E,CAAC;IAEG,KAAK,CAAC,GAAG,CAAC,QAAkC;QACjD,OAAO,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACpD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,QAAkC,EAAE,KAAc;QACpE,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,OAAgB;QACvD,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAEM,KAAK,CAAC,OAAO,CAClB,QAAuC,EACvC,OAAwC;QAExC,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACxE,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,OAAwC,EACxC,QAAkC,EAClC,MAA0C;QAE1C,OAAO,IAAI,CAAC,gCAAgC,CAAC,QAAQ,CACnD,OAAO,EACP,QAAQ,EACR,MAAM,CACP,CAAA;IACH,CAAC;CACF,CAAA;AAhDY,8BAA8B;IAD1C,UAAU,EAAE;IAGR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAA;IAGtC,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,gCAAgC,CAAC,CAAA;IAG9C,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,8BAA8B,CAAC,CAAA;GAdpC,8BAA8B,CAgD1C"}
1
+ {"version":3,"file":"WorkflowRunAsyncActivityFacade.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunAsyncActivityFacade.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAAE,8BAA8B,EAAE,MAAM,wDAAwD,CAAA;AACvG,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAA;AACzG,OAAO,EAAE,+BAA+B,EAAE,MAAM,yDAAyD,CAAA;AAGlG,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAGtB;IAGA;IAGA;IARnB,YAEmB,8BAA8D,EAG9D,+BAAgE,EAGhE,+BAAgE;QANhE,mCAA8B,GAA9B,8BAA8B,CAAgC;QAG9D,oCAA+B,GAA/B,+BAA+B,CAAiC;QAGhE,oCAA+B,GAA/B,+BAA+B,CAAiC;IAChF,CAAC;IAEG,MAAM,CAAC,QAA6B,EAAE,KAAc;QACzD,OAAO,IAAI,CAAC,8BAA8B,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;IACpE,CAAC;IAEM,OAAO,CAAC,UAAkB,EAAE,OAAgB;QACjD,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAEM,OAAO,CAAC,SAAiB;QAC9B,OAAO,IAAI,CAAC,+BAA+B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAChE,CAAC;CACF,CAAA;AAvBY,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;GARrC,8BAA8B,CAuB1C"}
@@ -0,0 +1,11 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import type { WorkflowRun } from '../models/WorkflowRun.js';
3
+ import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
4
+ export declare class WorkflowRunEventsService extends EventEmitter {
5
+ private readonly workflowRunRepository;
6
+ private readonly scheduledUpdates;
7
+ constructor(workflowRunRepository: WorkflowRunRepository);
8
+ runCreated(run: WorkflowRun): void;
9
+ runUpdated(runId: string): void;
10
+ private flush;
11
+ }
@@ -0,0 +1,42 @@
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 { EventEmitter } from 'node:events';
11
+ import { Inject, Injectable } from 'pleroma';
12
+ import { WorkflowRunRepository } from '../repositories/WorkflowRun.repository.js';
13
+ import { toWorkflowRunOutput } from '../tools/to-workflow-run-output.js';
14
+ const RUN_UPDATED_THROTTLE_IN_MS = 50;
15
+ let WorkflowRunEventsService = class WorkflowRunEventsService extends EventEmitter {
16
+ workflowRunRepository;
17
+ scheduledUpdates = new Map();
18
+ constructor(workflowRunRepository) {
19
+ super();
20
+ this.workflowRunRepository = workflowRunRepository;
21
+ }
22
+ runCreated(run) {
23
+ this.emit('run:created', toWorkflowRunOutput(run));
24
+ }
25
+ runUpdated(runId) {
26
+ if (this.scheduledUpdates.has(runId))
27
+ return;
28
+ this.scheduledUpdates.set(runId, setTimeout(() => void this.flush(runId), RUN_UPDATED_THROTTLE_IN_MS).unref());
29
+ }
30
+ async flush(runId) {
31
+ this.scheduledUpdates.delete(runId);
32
+ const run = await this.workflowRunRepository.findById(runId);
33
+ if (run)
34
+ this.emit('run:updated', toWorkflowRunOutput(run));
35
+ }
36
+ };
37
+ WorkflowRunEventsService = __decorate([
38
+ Injectable(),
39
+ __param(0, Inject(() => WorkflowRunRepository))
40
+ ], WorkflowRunEventsService);
41
+ export { WorkflowRunEventsService };
42
+ //# sourceMappingURL=WorkflowRunEvents.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkflowRunEvents.service.js","sourceRoot":"","sources":["../../src/services/WorkflowRunEvents.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAG5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAA;AAExE,MAAM,0BAA0B,GAAG,EAAE,CAAA;AAG9B,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,YAAY;IAKrC;IAJF,gBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAA;IAErE,YAEmB,qBAA4C;QAE7D,KAAK,EAAE,CAAA;QAFU,0BAAqB,GAArB,qBAAqB,CAAuB;IAG/D,CAAC;IAEM,UAAU,CAAC,GAAgB;QAChC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IACpD,CAAC;IAEM,UAAU,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAM;QAE5C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,KAAK,EACL,UAAU,CACR,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAC5B,0BAA0B,CAC3B,CAAC,KAAK,EAAE,CACV,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,KAAa;QAC/B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAEnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAE5D,IAAI,GAAG;YAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7D,CAAC;CACF,CAAA;AAjCY,wBAAwB;IADpC,UAAU,EAAE;IAKR,WAAA,MAAM,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,CAAA;GAJ3B,wBAAwB,CAiCpC"}
@@ -1,13 +1,115 @@
1
- import type { WorkflowRun } from '../models/WorkflowRun.js';
2
- import { CreateWorkflowRun, type CreateWorkflowRunOptions } from '../use-cases/CreateWorkflowRun.usecase.js';
1
+ import { WorkflowRunRepository, type PageOptions, type WorkflowRunFindOptions } from '../repositories/WorkflowRun.repository.js';
2
+ import { BuildWorkflowRunActivityHistory } from '../use-cases/BuildWorkflowRunActivityHistory.usecase.js';
3
+ import { CreateWorkflowRun, type CreateWorkflowRunManyOptions, type CreateWorkflowRunOptions } from '../use-cases/CreateWorkflowRun.usecase.js';
3
4
  import { NextTickWorkflowRun } from '../use-cases/NextTickWorkflowRun.usecase.js';
4
- import { WorkflowRunBuildHistory } from '../use-cases/WorkflowRunBuildHistory.usecase.js';
5
+ import { RunWorkflow } from '../use-cases/RunWorkflow.usecase.js';
6
+ import { WorkflowRunActivityFind, type WorkflowRunActivityFindPage } from '../use-cases/WorkflowRunActivityFind.usecase.js';
7
+ import { WorkflowRunActivityFindById } from '../use-cases/WorkflowRunActivityFindById.usecase.js';
8
+ import { WorkflowRunAsyncActivityPendingFind } from '../use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js';
9
+ import { WorkflowRunFind } from '../use-cases/WorkflowRunFind.usecase.js';
10
+ import { WorkflowRunFindById } from '../use-cases/WorkflowRunFindById.usecase.js';
5
11
  export declare class WorkflowRunFacade {
12
+ private readonly runWorkflow;
6
13
  private readonly createWorkflowRun;
7
- private readonly workflowRunBuildHistory;
14
+ private readonly buildWorkflowRunActivityHistory;
8
15
  private readonly nextTickWorkflowRun;
9
- constructor(createWorkflowRun: CreateWorkflowRun, workflowRunBuildHistory: WorkflowRunBuildHistory, nextTickWorkflowRun: NextTickWorkflowRun);
10
- create(workflowId: string, input: unknown, options?: CreateWorkflowRunOptions): WorkflowRun;
11
- getHistory(run: WorkflowRun): import("@t4h.framework/core").HistoryItem[];
16
+ private readonly workflowRunFind;
17
+ private readonly workflowRunFindById;
18
+ private readonly workflowRunActivityFindById;
19
+ private readonly workflowRunActivityFind;
20
+ private readonly workflowRunAsyncActivityPendingFind;
21
+ private readonly workflowRunRepository;
22
+ constructor(runWorkflow: RunWorkflow, createWorkflowRun: CreateWorkflowRun, buildWorkflowRunActivityHistory: BuildWorkflowRunActivityHistory, nextTickWorkflowRun: NextTickWorkflowRun, workflowRunFind: WorkflowRunFind, workflowRunFindById: WorkflowRunFindById, workflowRunActivityFindById: WorkflowRunActivityFindById, workflowRunActivityFind: WorkflowRunActivityFind, workflowRunAsyncActivityPendingFind: WorkflowRunAsyncActivityPendingFind, workflowRunRepository: WorkflowRunRepository);
23
+ run(workflowId: string, input: unknown): Promise<{
24
+ id: string;
25
+ }>;
26
+ create(workflowId: string, input: unknown, options?: CreateWorkflowRunOptions): Promise<import("../models/WorkflowRun.js").WorkflowRun>;
27
+ createMany(workflowId: string, inputs: readonly unknown[], options?: CreateWorkflowRunManyOptions): Promise<import("../models/WorkflowRun.js").WorkflowRun[]>;
28
+ getHistory(runId: string): Promise<import("@t4h.framework/core").HistoryItem[]>;
12
29
  nextTick(runId: string): Promise<void>;
30
+ onWorkflowRunFinished(runId: string): Promise<void>;
31
+ find(options?: WorkflowRunFindOptions): Promise<{
32
+ count: number;
33
+ runs: {
34
+ id: string;
35
+ workflow: string;
36
+ status: import("../models/WorkflowRun.js").WorkflowRunStatus;
37
+ rejectedActivityId: string | null;
38
+ parentWorkflowRunId: string | null;
39
+ parentWorkflowRunActivityId: string | null;
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ }[];
43
+ }>;
44
+ findById(id: string): Promise<{
45
+ input: unknown;
46
+ output: unknown;
47
+ rejectedReason: import("../models/WorkflowRun.js").WorkflowRunRejectedReason | null;
48
+ id: string;
49
+ workflow: string;
50
+ status: import("../models/WorkflowRun.js").WorkflowRunStatus;
51
+ rejectedActivityId: string | null;
52
+ parentWorkflowRunId: string | null;
53
+ parentWorkflowRunActivityId: string | null;
54
+ createdAt: Date;
55
+ updatedAt: Date;
56
+ }>;
57
+ findActivities(runId: string, page?: WorkflowRunActivityFindPage): Promise<{
58
+ count: number;
59
+ activities: ({
60
+ kind: "sync";
61
+ id: string;
62
+ type: string;
63
+ status: import("../models/WorkflowRunActivity.js").WorkflowRunActivityStatus;
64
+ settledAt: Date | null;
65
+ hasChildren: boolean;
66
+ createdAt: Date;
67
+ } | {
68
+ kind: "async";
69
+ pendingStatus: import("../models/WorkflowRunActivity.js").AsyncActivityPendingStatus | null;
70
+ id: string;
71
+ type: string;
72
+ status: import("../models/WorkflowRunActivity.js").WorkflowRunActivityStatus;
73
+ settledAt: Date | null;
74
+ hasChildren: boolean;
75
+ createdAt: Date;
76
+ })[];
77
+ }>;
78
+ findActivityById(runId: string, activityId: string): Promise<{
79
+ input: unknown;
80
+ output: unknown;
81
+ kind: "sync";
82
+ id: string;
83
+ type: string;
84
+ status: import("../models/WorkflowRunActivity.js").WorkflowRunActivityStatus;
85
+ settledAt: Date | null;
86
+ hasChildren: boolean;
87
+ createdAt: Date;
88
+ } | {
89
+ input: unknown;
90
+ output: unknown;
91
+ kind: "async";
92
+ pendingStatus: import("../models/WorkflowRunActivity.js").AsyncActivityPendingStatus | null;
93
+ id: string;
94
+ type: string;
95
+ status: import("../models/WorkflowRunActivity.js").WorkflowRunActivityStatus;
96
+ settledAt: Date | null;
97
+ hasChildren: boolean;
98
+ createdAt: Date;
99
+ }>;
100
+ findActivityPendings(runId: string, activityId: string, page?: PageOptions): Promise<{
101
+ count: number;
102
+ pendings: {
103
+ id: string;
104
+ previousId: string | null;
105
+ status: import("../models/WorkflowRunActivity.js").AsyncActivityPendingStatus;
106
+ schema: import("typebox").TSchema | null;
107
+ timeoutAt: Date | null;
108
+ result: unknown;
109
+ payload: unknown;
110
+ createdAt: Date;
111
+ updatedAt: Date;
112
+ }[];
113
+ }>;
114
+ findLogs(runId: string, page?: PageOptions): Promise<import("../repositories/WorkflowRun.repository.js").WorkflowRunLogsPage>;
13
115
  }