@t4h.framework/dev 0.14.2 → 0.16.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 +24 -0
- package/README.md +112 -58
- package/dist/AppProcess.d.ts +36 -0
- package/dist/AppProcess.js +126 -0
- package/dist/AppProcess.js.map +1 -0
- package/dist/Server.d.ts +41 -0
- package/dist/Server.js +177 -0
- package/dist/Server.js.map +1 -0
- package/dist/constants/panel-config.d.ts +2 -0
- package/dist/constants/panel-config.js +34 -0
- package/dist/constants/panel-config.js.map +1 -0
- package/dist/constants/server.d.ts +9 -0
- package/dist/constants/server.js +10 -0
- package/dist/constants/server.js.map +1 -0
- package/dist/http/create-app.d.ts +16 -0
- package/dist/http/create-app.js +138 -0
- package/dist/http/create-app.js.map +1 -0
- package/dist/http/helpers/to-http-error.d.ts +8 -0
- package/dist/http/helpers/to-http-error.js +9 -0
- package/dist/http/helpers/to-http-error.js.map +1 -0
- package/dist/http/middlewares/error-handler.middleware.d.ts +2 -0
- package/dist/http/middlewares/error-handler.middleware.js +27 -0
- package/dist/http/middlewares/error-handler.middleware.js.map +1 -0
- package/dist/http/middlewares/project-manifest.middleware.d.ts +11 -0
- package/dist/http/middlewares/project-manifest.middleware.js +11 -0
- package/dist/http/middlewares/project-manifest.middleware.js.map +1 -0
- package/dist/http/middlewares/read-json-body.middleware.d.ts +6 -0
- package/dist/http/middlewares/read-json-body.middleware.js +22 -0
- package/dist/http/middlewares/read-json-body.middleware.js.map +1 -0
- package/dist/http/middlewares/workflow-authorization.middleware.d.ts +12 -0
- package/dist/http/middlewares/workflow-authorization.middleware.js +28 -0
- package/dist/http/middlewares/workflow-authorization.middleware.js.map +1 -0
- package/dist/index.d.ts +3 -15
- package/dist/index.js +2 -15
- package/dist/index.js.map +1 -1
- package/dist/models/JSONRPCClient.d.ts +2 -0
- package/dist/models/JSONRPCClient.js +21 -4
- package/dist/models/JSONRPCClient.js.map +1 -1
- package/dist/models/JSONRPCError.d.ts +13 -0
- package/dist/models/JSONRPCError.js +11 -0
- package/dist/models/JSONRPCError.js.map +1 -0
- package/dist/models/JSONRPCServer.d.ts +2 -0
- package/dist/models/JSONRPCServer.js +10 -2
- package/dist/models/JSONRPCServer.js.map +1 -1
- package/dist/models/WorkflowAuthorizationMissingError.d.ts +5 -0
- package/dist/models/WorkflowAuthorizationMissingError.js +9 -0
- package/dist/models/WorkflowAuthorizationMissingError.js.map +1 -0
- package/dist/models/WorkflowRun.d.ts +20 -15
- package/dist/models/WorkflowRun.js +14 -9
- package/dist/models/WorkflowRun.js.map +1 -1
- package/dist/models/WorkflowRunActivity.d.ts +40 -27
- package/dist/models/WorkflowRunActivity.js +46 -34
- package/dist/models/WorkflowRunActivity.js.map +1 -1
- package/dist/models/claims/DevHttpClientRequestClaim.js +4 -5
- package/dist/models/claims/DevHttpClientRequestClaim.js.map +1 -1
- package/dist/models/claims/DevORMClaim.d.ts +15 -4
- package/dist/models/claims/DevORMClaim.js +128 -29
- package/dist/models/claims/DevORMClaim.js.map +1 -1
- package/dist/models/claims/DevWorkflowBatchClaim.js +3 -6
- package/dist/models/claims/DevWorkflowBatchClaim.js.map +1 -1
- package/dist/models/claims/DevWorkflowClaim.d.ts +1 -1
- package/dist/models/claims/DevWorkflowClaim.js +6 -11
- package/dist/models/claims/DevWorkflowClaim.js.map +1 -1
- package/dist/repositories/WorkflowRun.repository.d.ts +44 -6
- package/dist/repositories/WorkflowRun.repository.js +196 -11
- package/dist/repositories/WorkflowRun.repository.js.map +1 -1
- package/dist/repositories/WorkflowRunActivity.repository.d.ts +19 -6
- package/dist/repositories/WorkflowRunActivity.repository.js +73 -23
- package/dist/repositories/WorkflowRunActivity.repository.js.map +1 -1
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.d.ts +39 -0
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js +160 -0
- package/dist/repositories/WorkflowRunAsyncActivityPending.repository.js.map +1 -0
- package/dist/services/ActivityRegistry.service.d.ts +7 -0
- package/dist/services/ActivityRegistry.service.js +32 -0
- package/dist/services/ActivityRegistry.service.js.map +1 -0
- package/dist/services/Database.service.d.ts +14 -0
- package/dist/services/Database.service.js +106 -0
- package/dist/services/Database.service.js.map +1 -0
- package/dist/services/TimeoutScheduler.service.js +9 -3
- package/dist/services/TimeoutScheduler.service.js.map +1 -1
- package/dist/services/WorkflowAuthorization.service.d.ts +19 -0
- package/dist/services/WorkflowAuthorization.service.js +75 -0
- package/dist/services/WorkflowAuthorization.service.js.map +1 -0
- package/dist/services/WorkflowRunAsyncActivityFacade.service.d.ts +8 -15
- package/dist/services/WorkflowRunAsyncActivityFacade.service.js +12 -26
- package/dist/services/WorkflowRunAsyncActivityFacade.service.js.map +1 -1
- package/dist/services/WorkflowRunEvents.service.d.ts +11 -0
- package/dist/services/WorkflowRunEvents.service.js +42 -0
- package/dist/services/WorkflowRunEvents.service.js.map +1 -0
- package/dist/services/WorkflowRunFacade.service.d.ts +106 -7
- package/dist/services/WorkflowRunFacade.service.js +65 -10
- package/dist/services/WorkflowRunFacade.service.js.map +1 -1
- package/dist/services/WorkflowRunLock.service.d.ts +6 -0
- package/dist/services/WorkflowRunLock.service.js +34 -0
- package/dist/services/WorkflowRunLock.service.js.map +1 -0
- package/dist/services/WorkflowRunSyncActivityFacade.service.d.ts +4 -4
- package/dist/services/WorkflowRunSyncActivityFacade.service.js +7 -7
- package/dist/services/WorkflowRunSyncActivityFacade.service.js.map +1 -1
- package/dist/tools/copy-additional-files.d.ts +0 -5
- package/dist/tools/copy-additional-files.js +0 -5
- package/dist/tools/copy-additional-files.js.map +1 -1
- package/dist/tools/find-free-port.d.ts +5 -0
- package/dist/tools/find-free-port.js +30 -0
- package/dist/tools/find-free-port.js.map +1 -0
- package/dist/tools/find-workflow-by-id.d.ts +2 -0
- package/dist/tools/find-workflow-by-id.js +9 -0
- package/dist/tools/find-workflow-by-id.js.map +1 -0
- package/dist/tools/format-routes.d.ts +10 -0
- package/dist/tools/format-routes.js +40 -0
- package/dist/tools/format-routes.js.map +1 -0
- package/dist/tools/replace.d.ts +1 -0
- package/dist/tools/replace.js +14 -0
- package/dist/tools/replace.js.map +1 -0
- package/dist/tools/to-rejected-reason.d.ts +5 -0
- package/dist/tools/to-rejected-reason.js +11 -0
- package/dist/tools/to-rejected-reason.js.map +1 -0
- package/dist/tools/to-workflow-run-activity-output.d.ts +24 -0
- package/dist/tools/to-workflow-run-activity-output.js +18 -0
- package/dist/tools/to-workflow-run-activity-output.js.map +1 -0
- package/dist/tools/to-workflow-run-output.d.ts +11 -0
- package/dist/tools/to-workflow-run-output.js +12 -0
- package/dist/tools/to-workflow-run-output.js.map +1 -0
- package/dist/transport/AppProcessJsonRpc.js +59 -0
- package/dist/transport/AppProcessJsonRpc.js.map +1 -0
- package/dist/use-cases/BuildWorkflowRunActivityHistory.usecase.d.ts +9 -0
- package/dist/use-cases/{WorkflowRunBuildHistory.usecase.js → BuildWorkflowRunActivityHistory.usecase.js} +18 -16
- package/dist/use-cases/BuildWorkflowRunActivityHistory.usecase.js.map +1 -0
- package/dist/use-cases/CreateWorkflowRun.usecase.d.ts +6 -6
- package/dist/use-cases/CreateWorkflowRun.usecase.js +20 -21
- package/dist/use-cases/CreateWorkflowRun.usecase.js.map +1 -1
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.d.ts +9 -3
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js +45 -39
- package/dist/use-cases/CreateWorkflowRunAsyncActivity.usecase.js.map +1 -1
- package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.d.ts +9 -0
- package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js +43 -0
- package/dist/use-cases/EnqueueWorkflowRunNextTick.usecase.js.map +1 -0
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.d.ts +9 -0
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js +47 -0
- package/dist/use-cases/ExecuteWorkflowRunActivity.usecase.js.map +1 -0
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.d.ts +22 -0
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js +117 -0
- package/dist/use-cases/ExecuteWorkflowRunAsyncActivity.usecase.js.map +1 -0
- package/dist/use-cases/NextTickWorkflowRun.usecase.d.ts +16 -7
- package/dist/use-cases/NextTickWorkflowRun.usecase.js +139 -130
- package/dist/use-cases/NextTickWorkflowRun.usecase.js.map +1 -1
- package/dist/use-cases/RunWorkflow.usecase.d.ts +10 -0
- package/dist/use-cases/RunWorkflow.usecase.js +46 -0
- package/dist/use-cases/RunWorkflow.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunActivityFind.usecase.d.ts +34 -0
- package/dist/use-cases/WorkflowRunActivityFind.usecase.js +49 -0
- package/dist/use-cases/WorkflowRunActivityFind.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunActivityFindById.usecase.d.ts +34 -0
- package/dist/use-cases/WorkflowRunActivityFindById.usecase.js +60 -0
- package/dist/use-cases/WorkflowRunActivityFindById.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.d.ts +12 -4
- package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js +41 -27
- package/dist/use-cases/WorkflowRunAsyncActivityAdvance.usecase.js.map +1 -1
- package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.d.ts +24 -0
- package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js +56 -0
- package/dist/use-cases/WorkflowRunAsyncActivityPendingFind.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunFind.usecase.d.ts +17 -0
- package/dist/use-cases/WorkflowRunFind.usecase.js +28 -0
- package/dist/use-cases/WorkflowRunFind.usecase.js.map +1 -0
- package/dist/use-cases/WorkflowRunFindById.usecase.d.ts +19 -0
- package/dist/use-cases/WorkflowRunFindById.usecase.js +45 -0
- package/dist/use-cases/WorkflowRunFindById.usecase.js.map +1 -0
- package/dist/workers/app-process.js +10 -1
- package/dist/workers/app-process.js.map +1 -1
- package/package.json +15 -5
- package/.ai/skills/framework-dev/SKILL.md +0 -348
- package/dist/DevServer.d.ts +0 -24
- package/dist/DevServer.js +0 -87
- package/dist/DevServer.js.map +0 -1
- package/dist/models/InMemoryDatabase.d.ts +0 -20
- package/dist/models/InMemoryDatabase.js +0 -111
- package/dist/models/InMemoryDatabase.js.map +0 -1
- package/dist/services/BuildWorkflowRunResult.service.d.ts +0 -8
- package/dist/services/BuildWorkflowRunResult.service.js +0 -49
- package/dist/services/BuildWorkflowRunResult.service.js.map +0 -1
- package/dist/tools/is-workflow-waiting.d.ts +0 -4
- package/dist/tools/is-workflow-waiting.js +0 -12
- package/dist/tools/is-workflow-waiting.js.map +0 -1
- package/dist/transport/DevServerJsonRpc.js +0 -42
- package/dist/transport/DevServerJsonRpc.js.map +0 -1
- package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.d.ts +0 -14
- package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js +0 -64
- package/dist/use-cases/CallbackWorkflowRunAsyncActivity.usecase.js.map +0 -1
- package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.d.ts +0 -8
- package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js +0 -40
- package/dist/use-cases/TimeoutWorkflowRunAsyncActivity.usecase.js.map +0 -1
- package/dist/use-cases/WorkflowRunAsyncActivity.usecase.d.ts +0 -7
- package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js +0 -46
- package/dist/use-cases/WorkflowRunAsyncActivity.usecase.js.map +0 -1
- package/dist/use-cases/WorkflowRunBuildHistory.usecase.d.ts +0 -8
- package/dist/use-cases/WorkflowRunBuildHistory.usecase.js.map +0 -1
- package/dist/use-cases/WorkflowRunSyncActivity.usecase.d.ts +0 -4
- package/dist/use-cases/WorkflowRunSyncActivity.usecase.js +0 -28
- package/dist/use-cases/WorkflowRunSyncActivity.usecase.js.map +0 -1
- /package/dist/transport/{DevServerJsonRpc.d.ts → AppProcessJsonRpc.d.ts} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './models/claims/DevCacheClaim.js';
|
|
4
|
-
export * from './models/claims/DevFileSystemClaim.js';
|
|
5
|
-
export * from './models/claims/DevGetActivityUniqueIdentifierClaim.js';
|
|
6
|
-
export * from './models/claims/DevGetProjectUniqueIdentifierClaim.js';
|
|
7
|
-
export * from './models/claims/DevGetProjectVersionUniqueIdentifierClaim.js';
|
|
8
|
-
export * from './models/claims/DevGetProjectVersionWorkflowUniqueIdentifierClaim.js';
|
|
9
|
-
export * from './models/claims/DevGetWorkflowUniqueIdentifierClaim.js';
|
|
10
|
-
export * from './models/claims/DevHttpClientRequestClaim.js';
|
|
11
|
-
export * from './models/claims/DevORMClaim.js';
|
|
12
|
-
export * from './models/claims/DevSmtpSendEmailClaim.js';
|
|
13
|
-
export * from './models/claims/DevWorkflowClaim.js';
|
|
14
|
-
export * from './tools/find-claim-by-constructor.js';
|
|
15
|
-
export * from './tools/is-workflow-waiting.js';
|
|
1
|
+
export * from './Server.js';
|
|
2
|
+
export * from './models/WorkflowAuthorizationMissingError.js';
|
|
16
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,+CAA+C,CAAA"}
|
|
@@ -3,9 +3,11 @@ export type JSONRPCClientSend = (message: string) => void | Promise<void>;
|
|
|
3
3
|
export declare class JSONRPCClient {
|
|
4
4
|
private readonly send;
|
|
5
5
|
private readonly listeners;
|
|
6
|
+
private readonly pending;
|
|
6
7
|
constructor(send: JSONRPCClientSend);
|
|
7
8
|
addListener(listener: (response: JSONRPCResponseFulfilled | JSONRPCResponseRejected) => void): () => void;
|
|
8
9
|
call(method: string, ...params: any[]): Promise<any>;
|
|
10
|
+
rejectPending(error: Error): void;
|
|
9
11
|
notify(method: string, ...params: any[]): Promise<void>;
|
|
10
12
|
handle(message: any): Promise<unknown>;
|
|
11
13
|
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { uuidv7 } from 'uuidv7';
|
|
2
|
+
import { JSONRPCError } from './JSONRPCError.js';
|
|
2
3
|
export class JSONRPCClient {
|
|
3
4
|
send;
|
|
4
5
|
listeners = [];
|
|
6
|
+
pending = new Set();
|
|
5
7
|
constructor(send) {
|
|
6
8
|
this.send = send;
|
|
7
9
|
}
|
|
@@ -15,19 +17,34 @@ export class JSONRPCClient {
|
|
|
15
17
|
const id = uuidv7();
|
|
16
18
|
const message = { jsonrpc: '2.0', id, method, params };
|
|
17
19
|
const promise = new Promise((resolve, reject) => {
|
|
20
|
+
const fail = (error) => {
|
|
21
|
+
off();
|
|
22
|
+
this.pending.delete(fail);
|
|
23
|
+
reject(error);
|
|
24
|
+
};
|
|
18
25
|
const off = this.addListener(response => {
|
|
19
26
|
if (response.id !== id)
|
|
20
27
|
return;
|
|
21
|
-
|
|
22
|
-
|
|
28
|
+
if ('result' in response) {
|
|
29
|
+
off();
|
|
30
|
+
this.pending.delete(fail);
|
|
23
31
|
resolve(response.result);
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
fail(new JSONRPCError(response.error.message, {
|
|
35
|
+
code: response.error.code,
|
|
36
|
+
data: response.error.data,
|
|
37
|
+
}));
|
|
26
38
|
});
|
|
39
|
+
this.pending.add(fail);
|
|
27
40
|
});
|
|
28
41
|
await this.send(JSON.stringify(message));
|
|
29
42
|
return promise;
|
|
30
43
|
}
|
|
44
|
+
rejectPending(error) {
|
|
45
|
+
for (const fail of [...this.pending])
|
|
46
|
+
fail(error);
|
|
47
|
+
}
|
|
31
48
|
async notify(method, ...params) {
|
|
32
49
|
const message = { jsonrpc: '2.0', method, params };
|
|
33
50
|
await this.send(JSON.stringify(message));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONRPCClient.js","sourceRoot":"","sources":["../../src/models/JSONRPCClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"JSONRPCClient.js","sourceRoot":"","sources":["../../src/models/JSONRPCClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface JSONRPCErrorData {
|
|
2
|
+
status?: number;
|
|
3
|
+
details?: unknown;
|
|
4
|
+
}
|
|
5
|
+
export interface JSONRPCErrorOptions {
|
|
6
|
+
code?: number;
|
|
7
|
+
data?: JSONRPCErrorData;
|
|
8
|
+
}
|
|
9
|
+
export declare class JSONRPCError extends Error {
|
|
10
|
+
readonly code: number;
|
|
11
|
+
readonly data: JSONRPCErrorData | undefined;
|
|
12
|
+
constructor(message: string, { code, data }?: JSONRPCErrorOptions);
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONRPCError.js","sourceRoot":"","sources":["../../src/models/JSONRPCError.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrB,IAAI,CAAQ;IACZ,IAAI,CAA8B;IAElD,YACE,OAAe,EACf,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,IAAI,KAA0B,EAAE;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAA;QAEd,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { type ValidateFunction } from 'ajv';
|
|
2
2
|
import Type from 'typebox';
|
|
3
|
+
import { type JSONRPCErrorData } from './JSONRPCError.js';
|
|
3
4
|
export interface JSONRPCServerServerMethodConfig<TSchema extends Type.TSchema | null = null> {
|
|
4
5
|
schema?: TSchema;
|
|
5
6
|
}
|
|
@@ -45,6 +46,7 @@ export type JSONRPCResponseRejected = {
|
|
|
45
46
|
error: {
|
|
46
47
|
code: number;
|
|
47
48
|
message: string;
|
|
49
|
+
data?: JSONRPCErrorData;
|
|
48
50
|
};
|
|
49
51
|
};
|
|
50
52
|
export type JSONRPCResponseNotification = {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Ajv } from 'ajv';
|
|
2
2
|
import Type from 'typebox';
|
|
3
|
+
import { JSONRPCError } from './JSONRPCError.js';
|
|
3
4
|
const ajv = new Ajv();
|
|
4
5
|
export class JSONRPCServerMethod {
|
|
5
6
|
name;
|
|
@@ -26,7 +27,10 @@ export class JSONRPCServerMethod {
|
|
|
26
27
|
return this.call([params]);
|
|
27
28
|
const isValid = this.validate.every((validate, index) => validate(params[index]));
|
|
28
29
|
if (!isValid)
|
|
29
|
-
throw new
|
|
30
|
+
throw new JSONRPCError('Invalid parameters', {
|
|
31
|
+
code: -32602,
|
|
32
|
+
data: { status: 400 },
|
|
33
|
+
});
|
|
30
34
|
return await this.fn(...params);
|
|
31
35
|
}
|
|
32
36
|
}
|
|
@@ -53,17 +57,21 @@ export class JSONRPCServer {
|
|
|
53
57
|
if (!method)
|
|
54
58
|
throw new Error(`Method ${message.method} not found`);
|
|
55
59
|
const result = (await method.call(message.params)) ?? null;
|
|
60
|
+
if (!('id' in message) || message.id === undefined)
|
|
61
|
+
return;
|
|
56
62
|
await this.send(JSON.stringify({ jsonrpc: '2.0', id: message.id, result }));
|
|
57
63
|
}
|
|
58
64
|
catch (error) {
|
|
59
65
|
if (!('id' in message) || message.id === undefined)
|
|
60
66
|
throw error;
|
|
67
|
+
const rpcError = error instanceof JSONRPCError ? error : null;
|
|
61
68
|
await this.send(JSON.stringify({
|
|
62
69
|
jsonrpc: '2.0',
|
|
63
70
|
id: message.id,
|
|
64
71
|
error: {
|
|
65
|
-
code: -32000,
|
|
72
|
+
code: rpcError?.code ?? -32000,
|
|
66
73
|
message: error instanceof Error ? error.message : String(error),
|
|
74
|
+
...(rpcError?.data ? { data: rpcError.data } : {}),
|
|
67
75
|
},
|
|
68
76
|
}));
|
|
69
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JSONRPCServer.js","sourceRoot":"","sources":["../../src/models/JSONRPCServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAyB,MAAM,KAAK,CAAA;AAChD,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAA;AAqCrB,MAAM,OAAO,mBAAmB;IAId,IAAI,CAAQ;IACZ,MAAM,CAAe;IACrB,QAAQ,CAA6C;IACrD,EAAE,CAAqD;IAWvE,YACE,IAAY,EACZ,UAEuD,EACvD,OAA6D;QAE7D,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,EAA8B,CAAA;YAC5C,IAAI,CAAC,EAAE,GAAG,UAAU,CAAA;QACtB,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;YAChB,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,IAAK,EAA+B,CAAA;YACnE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAA;QACnB,CAAC;;YAAM,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;QAEvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CACvC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CACsC,CAAA;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAW;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;QAEtD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CACtD,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACxB,CAAA;QAED,IAAI,CAAC,OAAO;
|
|
1
|
+
{"version":3,"file":"JSONRPCServer.js","sourceRoot":"","sources":["../../src/models/JSONRPCServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class WorkflowAuthorizationMissingError extends Error {
|
|
2
|
+
workflowId;
|
|
3
|
+
name = 'WorkflowAuthorizationMissingError';
|
|
4
|
+
constructor(workflowId) {
|
|
5
|
+
super(`Workflow "${workflowId}" has no authorization and the app has no default one. Set app.authorization or workflow.authorization.`);
|
|
6
|
+
this.workflowId = workflowId;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=WorkflowAuthorizationMissingError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorkflowAuthorizationMissingError.js","sourceRoot":"","sources":["../../src/models/WorkflowAuthorizationMissingError.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IAG9B;IAFH,IAAI,GAAG,mCAAmC,CAAA;IAEnE,YAA4B,UAAkB;QAC5C,KAAK,CACH,aAAa,UAAU,yGAAyG,CACjI,CAAA;QAHyB,eAAU,GAAV,UAAU,CAAQ;IAI9C,CAAC;CACF"}
|
|
@@ -1,21 +1,26 @@
|
|
|
1
|
-
import type { Log } from '@t4h.framework/core';
|
|
2
|
-
import { WorkflowRunActivity } from './WorkflowRunActivity.js';
|
|
3
1
|
export type WorkflowRunStatus = 'running' | 'fulfilled' | 'rejected';
|
|
4
|
-
export
|
|
5
|
-
id
|
|
6
|
-
|
|
7
|
-
readonly input: unknown;
|
|
8
|
-
status: WorkflowRunStatus;
|
|
2
|
+
export interface WorkflowRunOptions {
|
|
3
|
+
id?: string;
|
|
4
|
+
status?: WorkflowRunStatus;
|
|
9
5
|
output?: unknown;
|
|
10
|
-
|
|
11
|
-
message: string;
|
|
12
|
-
stack?: string;
|
|
13
|
-
};
|
|
14
|
-
parent?: WorkflowRun;
|
|
15
|
-
parentActivity?: WorkflowRunActivity;
|
|
6
|
+
parentWorkflowRunId?: string;
|
|
16
7
|
parentWorkflowRunActivityId?: string;
|
|
17
8
|
batchIndex?: number;
|
|
18
9
|
batchSize?: number;
|
|
19
|
-
|
|
20
|
-
|
|
10
|
+
createdAt?: Date;
|
|
11
|
+
updatedAt?: Date;
|
|
12
|
+
}
|
|
13
|
+
export declare class WorkflowRun {
|
|
14
|
+
readonly id: string;
|
|
15
|
+
readonly workflow: string;
|
|
16
|
+
readonly input: unknown;
|
|
17
|
+
readonly status: WorkflowRunStatus;
|
|
18
|
+
readonly output: unknown;
|
|
19
|
+
readonly parentWorkflowRunId: string | undefined;
|
|
20
|
+
readonly parentWorkflowRunActivityId: string | undefined;
|
|
21
|
+
readonly batchIndex: number | undefined;
|
|
22
|
+
readonly batchSize: number | undefined;
|
|
23
|
+
readonly createdAt: Date;
|
|
24
|
+
readonly updatedAt: Date;
|
|
25
|
+
constructor(workflow: string, input: unknown, options?: WorkflowRunOptions);
|
|
21
26
|
}
|
|
@@ -1,23 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { WorkflowRunActivity } from './WorkflowRunActivity.js';
|
|
1
|
+
import { uuidv7 } from 'uuidv7';
|
|
3
2
|
export class WorkflowRun {
|
|
4
3
|
id;
|
|
5
4
|
workflow;
|
|
6
5
|
input;
|
|
7
6
|
status;
|
|
8
7
|
output;
|
|
9
|
-
|
|
10
|
-
parent;
|
|
11
|
-
parentActivity;
|
|
8
|
+
parentWorkflowRunId;
|
|
12
9
|
parentWorkflowRunActivityId;
|
|
13
10
|
batchIndex;
|
|
14
11
|
batchSize;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
createdAt;
|
|
13
|
+
updatedAt;
|
|
14
|
+
constructor(workflow, input, options = {}) {
|
|
15
|
+
this.id = options.id ?? uuidv7();
|
|
18
16
|
this.workflow = workflow;
|
|
19
17
|
this.input = input;
|
|
20
|
-
this.status = 'running';
|
|
18
|
+
this.status = options.status ?? 'running';
|
|
19
|
+
this.output = options.output;
|
|
20
|
+
this.parentWorkflowRunId = options.parentWorkflowRunId;
|
|
21
|
+
this.parentWorkflowRunActivityId = options.parentWorkflowRunActivityId;
|
|
22
|
+
this.batchIndex = options.batchIndex;
|
|
23
|
+
this.batchSize = options.batchSize;
|
|
24
|
+
this.createdAt = options.createdAt ?? new Date();
|
|
25
|
+
this.updatedAt = options.updatedAt ?? this.createdAt;
|
|
21
26
|
}
|
|
22
27
|
}
|
|
23
28
|
//# sourceMappingURL=WorkflowRun.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRun.js","sourceRoot":"","sources":["../../src/models/WorkflowRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"WorkflowRun.js","sourceRoot":"","sources":["../../src/models/WorkflowRun.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAgB/B,MAAM,OAAO,WAAW;IACN,EAAE,CAAQ;IACV,QAAQ,CAAQ;IAChB,KAAK,CAAS;IACd,MAAM,CAAmB;IACzB,MAAM,CAAS;IACf,mBAAmB,CAAoB;IACvC,2BAA2B,CAAoB;IAC/C,UAAU,CAAoB;IAC9B,SAAS,CAAoB;IAC7B,SAAS,CAAM;IACf,SAAS,CAAM;IAE/B,YACE,QAAgB,EAChB,KAAc,EACd,UAA8B,EAAE;QAEhC,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,MAAM,EAAE,CAAA;QAChC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAA;QACzC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;QAC5B,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAA;QACtD,IAAI,CAAC,2BAA2B,GAAG,OAAO,CAAC,2BAA2B,CAAA;QACtE,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAA;QACpC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAA;QAClC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAA;QAChD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAA;IACtD,CAAC;CACF"}
|
|
@@ -1,40 +1,53 @@
|
|
|
1
1
|
import { AsyncActivityResultPending, type ActivityConstructor, type AnyActivity } from '@t4h.framework/core';
|
|
2
2
|
import type Type from 'typebox';
|
|
3
|
-
|
|
3
|
+
export type WorkflowRunActivityKind = 'sync' | 'async';
|
|
4
|
+
export type WorkflowRunActivityStatus = 'running' | 'fulfilled' | 'rejected';
|
|
5
|
+
export interface WorkflowRunActivityOptions {
|
|
6
|
+
id?: string;
|
|
7
|
+
status?: WorkflowRunActivityStatus;
|
|
8
|
+
input?: unknown;
|
|
9
|
+
output?: unknown;
|
|
10
|
+
completedAt?: Date;
|
|
11
|
+
createdAt?: Date;
|
|
12
|
+
}
|
|
4
13
|
export declare class WorkflowRunActivity {
|
|
5
14
|
readonly id: string;
|
|
6
|
-
readonly
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
15
|
+
readonly runId: string;
|
|
16
|
+
readonly position: number;
|
|
17
|
+
readonly type: string;
|
|
18
|
+
readonly kind: WorkflowRunActivityKind;
|
|
19
|
+
readonly status: WorkflowRunActivityStatus;
|
|
20
|
+
readonly input: unknown;
|
|
21
|
+
readonly output: unknown;
|
|
22
|
+
readonly completedAt: Date | undefined;
|
|
23
|
+
readonly createdAt: Date;
|
|
24
|
+
constructor(runId: string, position: number, type: string, kind: WorkflowRunActivityKind, options?: WorkflowRunActivityOptions);
|
|
25
|
+
static fromConstructor(runId: string, position: number, Activity: ActivityConstructor<AnyActivity>, options?: WorkflowRunActivityOptions): WorkflowRunActivity;
|
|
12
26
|
}
|
|
13
27
|
export type AsyncActivityPendingStatus = 'pending' | 'fulfilled' | 'rejected';
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
get lastPendingAsyncActivity(): WorkflowRunAsyncActivityPending | undefined;
|
|
19
|
-
constructor(activity: WorkflowRunActivity);
|
|
20
|
-
}
|
|
21
|
-
interface WorkflowRunAsyncActivityPendingOptions {
|
|
28
|
+
export interface WorkflowRunAsyncActivityPendingOptions {
|
|
29
|
+
id?: string;
|
|
30
|
+
previousId?: string;
|
|
31
|
+
status?: AsyncActivityPendingStatus;
|
|
22
32
|
schema?: Type.TSchema;
|
|
23
33
|
timeoutAt?: Date;
|
|
24
|
-
|
|
25
|
-
bootstrap: AsyncActivityResultPending;
|
|
26
|
-
status: AsyncActivityPendingStatus;
|
|
34
|
+
result?: unknown;
|
|
27
35
|
payload?: unknown;
|
|
36
|
+
createdAt?: Date;
|
|
37
|
+
updatedAt?: Date;
|
|
28
38
|
}
|
|
29
39
|
export declare class WorkflowRunAsyncActivityPending {
|
|
30
|
-
readonly asyncActivity: WorkflowRunAsyncActivity;
|
|
31
40
|
readonly id: string;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
41
|
+
readonly activityId: string;
|
|
42
|
+
readonly position: number;
|
|
43
|
+
readonly previousId: string | undefined;
|
|
44
|
+
readonly status: AsyncActivityPendingStatus;
|
|
45
|
+
readonly schema: Type.TSchema | undefined;
|
|
46
|
+
readonly timeoutAt: Date | undefined;
|
|
47
|
+
readonly result: unknown;
|
|
48
|
+
readonly payload: unknown;
|
|
49
|
+
readonly createdAt: Date;
|
|
50
|
+
readonly updatedAt: Date;
|
|
51
|
+
constructor(activityId: string, position: number, options?: WorkflowRunAsyncActivityPendingOptions);
|
|
52
|
+
toResultPending(): AsyncActivityResultPending;
|
|
39
53
|
}
|
|
40
|
-
export {};
|
|
@@ -1,52 +1,64 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
2
1
|
import { AsyncActivityResultPending, SyncActivity, } from '@t4h.framework/core';
|
|
2
|
+
import { uuidv7 } from 'uuidv7';
|
|
3
3
|
export class WorkflowRunActivity {
|
|
4
4
|
id;
|
|
5
|
-
|
|
5
|
+
runId;
|
|
6
|
+
position;
|
|
6
7
|
type;
|
|
7
|
-
|
|
8
|
+
kind;
|
|
9
|
+
status;
|
|
10
|
+
input;
|
|
8
11
|
output;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
completedAt;
|
|
13
|
+
createdAt;
|
|
14
|
+
constructor(runId, position, type, kind, options = {}) {
|
|
15
|
+
this.id = options.id ?? uuidv7();
|
|
16
|
+
this.runId = runId;
|
|
17
|
+
this.position = position;
|
|
18
|
+
this.type = type;
|
|
19
|
+
this.kind = kind;
|
|
20
|
+
this.status = options.status ?? 'running';
|
|
21
|
+
this.input = options.input;
|
|
22
|
+
this.output = options.output;
|
|
23
|
+
this.completedAt = options.completedAt;
|
|
24
|
+
this.createdAt = options.createdAt ?? new Date();
|
|
18
25
|
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
status = 'pending';
|
|
23
|
-
pendingAsyncActivities = [];
|
|
24
|
-
get lastPendingAsyncActivity() {
|
|
25
|
-
return this.pendingAsyncActivities[this.pendingAsyncActivities.length - 1];
|
|
26
|
-
}
|
|
27
|
-
constructor(activity) {
|
|
28
|
-
this.activity = activity;
|
|
26
|
+
static fromConstructor(runId, position, Activity, options = {}) {
|
|
27
|
+
const kind = Activity.prototype instanceof SyncActivity ? 'sync' : 'async';
|
|
28
|
+
return new WorkflowRunActivity(runId, position, Activity.name, kind, options);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
export class WorkflowRunAsyncActivityPending {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
id;
|
|
33
|
+
activityId;
|
|
34
|
+
position;
|
|
35
|
+
previousId;
|
|
36
|
+
status;
|
|
34
37
|
schema;
|
|
35
38
|
timeoutAt;
|
|
36
|
-
|
|
37
|
-
bootstrap;
|
|
38
|
-
status = 'pending';
|
|
39
|
+
result;
|
|
39
40
|
payload;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
createdAt;
|
|
42
|
+
updatedAt;
|
|
43
|
+
constructor(activityId, position, options = {}) {
|
|
44
|
+
this.id = options.id ?? uuidv7();
|
|
45
|
+
this.activityId = activityId;
|
|
46
|
+
this.position = position;
|
|
47
|
+
this.previousId = options.previousId;
|
|
48
|
+
this.status = options.status ?? 'pending';
|
|
44
49
|
this.schema = options.schema;
|
|
45
50
|
this.timeoutAt = options.timeoutAt;
|
|
46
|
-
this.
|
|
47
|
-
this.bootstrap = options.bootstrap;
|
|
48
|
-
this.status = options.status;
|
|
51
|
+
this.result = options.result;
|
|
49
52
|
this.payload = options.payload;
|
|
53
|
+
this.createdAt = options.createdAt ?? new Date();
|
|
54
|
+
this.updatedAt = options.updatedAt ?? this.createdAt;
|
|
55
|
+
}
|
|
56
|
+
toResultPending() {
|
|
57
|
+
return new AsyncActivityResultPending({
|
|
58
|
+
payload: this.result,
|
|
59
|
+
schema: this.schema,
|
|
60
|
+
timeoutAt: this.timeoutAt,
|
|
61
|
+
});
|
|
50
62
|
}
|
|
51
63
|
}
|
|
52
64
|
//# sourceMappingURL=WorkflowRunActivity.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WorkflowRunActivity.js","sourceRoot":"","sources":["../../src/models/WorkflowRunActivity.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"WorkflowRunActivity.js","sourceRoot":"","sources":["../../src/models/WorkflowRunActivity.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,13 +8,12 @@ export class DevHttpClientRequestClaim extends HttpClientRequestClaim {
|
|
|
8
8
|
async request(input) {
|
|
9
9
|
if (input.body instanceof URLSearchParams)
|
|
10
10
|
input.body = Buffer.from(input.body.toString());
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
});
|
|
11
|
+
const body = isFormData(input.body)
|
|
12
|
+
? this.toUndiciFormData(input.body)
|
|
13
|
+
: input.body;
|
|
15
14
|
const response = await request(input.url, {
|
|
16
15
|
method: input.method,
|
|
17
|
-
body
|
|
16
|
+
body,
|
|
18
17
|
headers: input.headers,
|
|
19
18
|
dispatcher: new Agent().compose(interceptors.redirect({ maxRedirections: 5 })),
|
|
20
19
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevHttpClientRequestClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevHttpClientRequestClaim.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE/D,SAAS,UAAU,CAAC,KAAU;IAC5B,OAAO,CACL,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,UAAU;QAC1C,OAAO,KAAK,EAAE,OAAO,KAAK,UAAU,CACrC,CAAA;AACH,CAAC;AAED,MAAM,OAAO,yBAA0B,SAAQ,sBAAsB;IAC5D,KAAK,CAAC,OAAO,CAClB,KAAkC;QAElC,IAAI,KAAK,CAAC,IAAI,YAAY,eAAe;YACvC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEjD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"DevHttpClientRequestClaim.js","sourceRoot":"","sources":["../../../src/models/claims/DevHttpClientRequestClaim.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,GAGvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAE/D,SAAS,UAAU,CAAC,KAAU;IAC5B,OAAO,CACL,KAAK,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,UAAU;QAC1C,OAAO,KAAK,EAAE,OAAO,KAAK,UAAU,CACrC,CAAA;AACH,CAAC;AAED,MAAM,OAAO,yBAA0B,SAAQ,sBAAsB;IAC5D,KAAK,CAAC,OAAO,CAClB,KAAkC;QAElC,IAAI,KAAK,CAAC,IAAI,YAAY,eAAe;YACvC,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;QAEjD,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;QAEd,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACxC,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI;YACJ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,UAAU,EAAE,IAAI,KAAK,EAAE,CAAC,OAAO,CAC7B,YAAY,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAC9C;SACF,CAAC,CAAA;QAEF,MAAM,GAAG,GAAG;YACV,MAAM,EAAE,QAAQ,CAAC,UAAU;YAC3B,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAA;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAEO,gBAAgB,CAAC,WAAgC;QACvD,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAA;QAE/B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,YAAY,IAAI;gBAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;;gBAC7D,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAClC,CAAC;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC;CACF"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { ORMClaim, type SerializableCreateInput, type SerializableFindInput, type SerializableGetSnapshotInput, type SerializableRemoveInput, type SerializableUpdateInput, type SerializedRow } from '@t4h.framework/orm';
|
|
2
2
|
export declare class DevORMClaim extends ORMClaim<string> {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
private readonly location;
|
|
4
|
+
private database;
|
|
5
|
+
private readonly tables;
|
|
6
|
+
constructor(location?: string);
|
|
7
|
+
find(input: SerializableFindInput): Promise<string[]>;
|
|
8
|
+
create(input: SerializableCreateInput): Promise<string[]>;
|
|
9
|
+
getSnapshot(input: SerializableGetSnapshotInput<string>): Promise<SerializedRow | null>;
|
|
10
|
+
update(input: SerializableUpdateInput<string>): Promise<void>;
|
|
7
11
|
remove(input: SerializableRemoveInput<string>): void;
|
|
12
|
+
close(): void;
|
|
13
|
+
private get db();
|
|
14
|
+
private table;
|
|
15
|
+
private select;
|
|
16
|
+
private sort;
|
|
17
|
+
private encode;
|
|
18
|
+
private decode;
|
|
8
19
|
}
|