@credo-ts/drpc 0.7.2-pr-2704-20260918194459 → 0.7.2
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/build/DrpcApi.d.mts +1 -3
- package/build/DrpcApi.d.mts.map +1 -1
- package/build/DrpcApi.mjs +9 -11
- package/build/DrpcApi.mjs.map +1 -1
- package/build/DrpcModule.d.mts +1 -3
- package/build/DrpcModule.d.mts.map +1 -1
- package/build/DrpcModule.mjs +3 -4
- package/build/DrpcModule.mjs.map +1 -1
- package/build/DrpcRequestEvents.d.mts +2 -4
- package/build/DrpcRequestEvents.d.mts.map +1 -1
- package/build/DrpcRequestEvents.mjs +1 -1
- package/build/DrpcRequestEvents.mjs.map +1 -1
- package/build/DrpcResponseEvents.d.mts +2 -4
- package/build/DrpcResponseEvents.d.mts.map +1 -1
- package/build/DrpcResponseEvents.mjs +1 -1
- package/build/DrpcResponseEvents.mjs.map +1 -1
- package/build/_virtual/{_@oxc-project_runtime@0.112.0/helpers → _@oxc-project_runtime@0.151.0/helpers/esm}/decorate.mjs +2 -3
- package/build/_virtual/{_@oxc-project_runtime@0.112.0/helpers → _@oxc-project_runtime@0.151.0/helpers/esm}/decorateMetadata.mjs +2 -3
- package/build/_virtual/{_@oxc-project_runtime@0.112.0/helpers → _@oxc-project_runtime@0.151.0/helpers/esm}/decorateParam.mjs +2 -3
- package/build/handlers/DrpcRequestHandler.mjs +1 -2
- package/build/handlers/DrpcRequestHandler.mjs.map +1 -1
- package/build/handlers/DrpcResponseHandler.mjs +1 -2
- package/build/handlers/DrpcResponseHandler.mjs.map +1 -1
- package/build/handlers/index.mjs +1 -0
- package/build/index.mjs +1 -2
- package/build/messages/DrpcRequestMessage.d.mts +4 -7
- package/build/messages/DrpcRequestMessage.d.mts.map +1 -1
- package/build/messages/DrpcRequestMessage.mjs +3 -4
- package/build/messages/DrpcRequestMessage.mjs.map +1 -1
- package/build/messages/DrpcResponseMessage.d.mts +5 -8
- package/build/messages/DrpcResponseMessage.d.mts.map +1 -1
- package/build/messages/DrpcResponseMessage.mjs +3 -4
- package/build/messages/DrpcResponseMessage.mjs.map +1 -1
- package/build/messages/index.d.mts +2 -1
- package/build/messages/index.mjs +1 -0
- package/build/models/DrpcErrorCodes.d.mts +1 -2
- package/build/models/DrpcErrorCodes.d.mts.map +1 -1
- package/build/models/DrpcRole.d.mts +1 -2
- package/build/models/DrpcRole.d.mts.map +1 -1
- package/build/models/DrpcRole.mjs +1 -1
- package/build/models/DrpcRole.mjs.map +1 -1
- package/build/models/DrpcState.d.mts +1 -2
- package/build/models/DrpcState.d.mts.map +1 -1
- package/build/models/DrpcState.mjs +1 -1
- package/build/models/DrpcState.mjs.map +1 -1
- package/build/models/ValidRequest.mjs +1 -2
- package/build/models/ValidRequest.mjs.map +1 -1
- package/build/models/ValidResponse.mjs +1 -2
- package/build/models/ValidResponse.mjs.map +1 -1
- package/build/models/index.d.mts +2 -1
- package/build/models/index.mjs +1 -0
- package/build/repository/DrpcRecord.d.mts +5 -7
- package/build/repository/DrpcRecord.d.mts.map +1 -1
- package/build/repository/DrpcRecord.mjs +1 -2
- package/build/repository/DrpcRecord.mjs.map +1 -1
- package/build/repository/DrpcRepository.d.mts +1 -3
- package/build/repository/DrpcRepository.d.mts.map +1 -1
- package/build/repository/DrpcRepository.mjs +5 -7
- package/build/repository/DrpcRepository.mjs.map +1 -1
- package/build/repository/index.d.mts +2 -1
- package/build/repository/index.mjs +1 -0
- package/build/services/DrpcService.d.mts +1 -3
- package/build/services/DrpcService.d.mts.map +1 -1
- package/build/services/DrpcService.mjs +25 -27
- package/build/services/DrpcService.mjs.map +1 -1
- package/build/services/index.d.mts +2 -1
- package/build/services/index.mjs +1 -0
- package/package.json +4 -4
package/build/DrpcApi.d.mts
CHANGED
|
@@ -5,9 +5,8 @@ import { DrpcService } from "./services/DrpcService.mjs";
|
|
|
5
5
|
import "./services/index.mjs";
|
|
6
6
|
import { AgentContext } from "@credo-ts/core";
|
|
7
7
|
import { DidCommConnectionService, DidCommMessageSender } from "@credo-ts/didcomm";
|
|
8
|
-
|
|
9
8
|
//#region src/DrpcApi.d.ts
|
|
10
|
-
declare class DrpcApi {
|
|
9
|
+
export declare class DrpcApi {
|
|
11
10
|
private drpcMessageService;
|
|
12
11
|
private messageSender;
|
|
13
12
|
private connectionService;
|
|
@@ -46,5 +45,4 @@ declare class DrpcApi {
|
|
|
46
45
|
private sendMessage;
|
|
47
46
|
}
|
|
48
47
|
//#endregion
|
|
49
|
-
export { DrpcApi };
|
|
50
48
|
//# sourceMappingURL=DrpcApi.d.mts.map
|
package/build/DrpcApi.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcApi.d.mts","names":[],"sources":["../src/DrpcApi.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcApi.d.mts","names":[],"sources":["../src/DrpcApi.ts"],"mappings":";;;;;;;;qBASa;UACH;UACA;UACA;UACA;EAGN,YAAA,oBAAoB,aACpB,eAAe,sBACf,mBAAmB,0BACnB,cAAc;;;;;;;EAcH,YACX,sBACA,SAAS,cACR,SAAS,qBAAqB,QAAQ;;;;;;;UAiB3B;;;;;;EAgCD,YAAY,qBAAqB;IAExC,SAAS;IACT,eAAe,UAAU,iBAAiB;;;;;;;;UA8ClC;UAsBA"}
|
package/build/DrpcApi.mjs
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./models/DrpcRole.mjs";
|
|
2
2
|
import "./models/index.mjs";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import __decorateMetadata from "./_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
|
|
4
|
+
import __decorate from "./_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
|
|
5
5
|
import { DrpcService } from "./services/DrpcService.mjs";
|
|
6
6
|
import "./services/index.mjs";
|
|
7
7
|
import { AgentContext, injectable } from "@credo-ts/core";
|
|
8
8
|
import { DidCommConnectionService, DidCommMessageSender, DidCommOutboundMessageContext } from "@credo-ts/didcomm";
|
|
9
|
-
|
|
10
9
|
//#region src/DrpcApi.ts
|
|
11
|
-
var _ref, _ref2, _ref3, _ref4;
|
|
12
10
|
let DrpcApi = class DrpcApi {
|
|
13
11
|
constructor(drpcMessageService, messageSender, connectionService, agentContext) {
|
|
14
12
|
this.drpcMessageService = drpcMessageService;
|
|
@@ -65,7 +63,7 @@ let DrpcApi = class DrpcApi {
|
|
|
65
63
|
return new Promise((resolve) => {
|
|
66
64
|
const listener = ({ drpcMessageRecord, removeListener }) => {
|
|
67
65
|
const request = drpcMessageRecord.request;
|
|
68
|
-
if (request && drpcMessageRecord.role ===
|
|
66
|
+
if (request && drpcMessageRecord.role === "server") {
|
|
69
67
|
removeListener();
|
|
70
68
|
resolve({
|
|
71
69
|
sendResponse: async (response) => {
|
|
@@ -112,12 +110,12 @@ let DrpcApi = class DrpcApi {
|
|
|
112
110
|
}
|
|
113
111
|
};
|
|
114
112
|
DrpcApi = __decorate([injectable(), __decorateMetadata("design:paramtypes", [
|
|
115
|
-
typeof
|
|
116
|
-
typeof
|
|
117
|
-
typeof
|
|
118
|
-
typeof
|
|
113
|
+
typeof DrpcService === "undefined" ? Object : DrpcService,
|
|
114
|
+
typeof DidCommMessageSender === "undefined" ? Object : DidCommMessageSender,
|
|
115
|
+
typeof DidCommConnectionService === "undefined" ? Object : DidCommConnectionService,
|
|
116
|
+
typeof AgentContext === "undefined" ? Object : AgentContext
|
|
119
117
|
])], DrpcApi);
|
|
120
|
-
|
|
121
118
|
//#endregion
|
|
122
119
|
export { DrpcApi };
|
|
120
|
+
|
|
123
121
|
//# sourceMappingURL=DrpcApi.mjs.map
|
package/build/DrpcApi.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcApi.mjs","names":[],"sources":["../src/DrpcApi.ts"],"sourcesContent":["import { AgentContext, injectable } from '@credo-ts/core'\nimport type { DidCommConnectionRecord } from '@credo-ts/didcomm'\nimport { DidCommConnectionService, DidCommMessageSender, DidCommOutboundMessageContext } from '@credo-ts/didcomm'\nimport type { DrpcRequest, DrpcRequestMessage, DrpcResponse, DrpcResponseMessage } from './messages'\nimport { DrpcRole } from './models'\nimport type { DrpcRecord } from './repository/DrpcRecord'\nimport { DrpcService } from './services'\n\n@injectable()\nexport class DrpcApi {\n private drpcMessageService: DrpcService\n private messageSender: DidCommMessageSender\n private connectionService: DidCommConnectionService\n private agentContext: AgentContext\n\n public constructor(\n drpcMessageService: DrpcService,\n messageSender: DidCommMessageSender,\n connectionService: DidCommConnectionService,\n agentContext: AgentContext\n ) {\n this.drpcMessageService = drpcMessageService\n this.messageSender = messageSender\n this.connectionService = connectionService\n this.agentContext = agentContext\n }\n\n /**\n * sends the request object to the connection and returns a function that will resolve to the response\n * @param connectionId the connection to send the request to\n * @param request the request object\n * @returns curried function that waits for the response with an optional timeout in seconds\n */\n public async sendRequest(\n connectionId: string,\n request: DrpcRequest\n ): Promise<(timeout?: number) => Promise<DrpcResponse | undefined>> {\n const connection = await this.connectionService.getById(this.agentContext, connectionId)\n const { requestMessage: drpcMessage, record: drpcMessageRecord } =\n await this.drpcMessageService.createRequestMessage(this.agentContext, request, connection.id)\n const messageId = drpcMessage.id\n await this.sendMessage(connection, drpcMessage, drpcMessageRecord)\n return async (timeout?: number) => {\n return await this.recvResponse(messageId, timeout)\n }\n }\n\n /**\n * Listen for a response that has a thread id matching the provided messageId\n * @param messageId the id to match the response to\n * @param timeoutMs the time in milliseconds to wait for a response\n * @returns the response object\n */\n private async recvResponse(messageId: string, timeoutMs?: number): Promise<DrpcResponse | undefined> {\n return new Promise((resolve) => {\n const listener = ({\n drpcMessageRecord,\n removeListener,\n }: {\n drpcMessageRecord: DrpcRecord\n removeListener: () => void\n }) => {\n const response = drpcMessageRecord.response\n if (drpcMessageRecord.threadId === messageId) {\n removeListener()\n resolve(response)\n }\n }\n\n const cancelListener = this.drpcMessageService.createResponseListener(listener)\n if (timeoutMs) {\n const handle = setTimeout(() => {\n clearTimeout(handle)\n cancelListener()\n resolve(undefined)\n }, timeoutMs)\n }\n })\n }\n\n /**\n * Listen for a request and returns the request object and a function to send the response\n * @param timeoutMs the time in seconds to wait for a request\n * @returns the request object and a function to send the response\n */\n public async recvRequest(timeoutMs?: number): Promise<\n | {\n request: DrpcRequest\n sendResponse: (response: DrpcResponse) => Promise<void>\n }\n | undefined\n > {\n return new Promise((resolve) => {\n const listener = ({\n drpcMessageRecord,\n removeListener,\n }: {\n drpcMessageRecord: DrpcRecord\n removeListener: () => void\n }) => {\n const request = drpcMessageRecord.request\n if (request && drpcMessageRecord.role === DrpcRole.Server) {\n removeListener()\n resolve({\n sendResponse: async (response: DrpcResponse) => {\n await this.sendResponse({\n connectionId: drpcMessageRecord.connectionId,\n threadId: drpcMessageRecord.threadId,\n response,\n })\n },\n request,\n })\n }\n }\n\n const cancelListener = this.drpcMessageService.createRequestListener(listener)\n\n if (timeoutMs) {\n const handle = setTimeout(() => {\n clearTimeout(handle)\n cancelListener()\n resolve(undefined)\n }, timeoutMs)\n }\n })\n }\n\n /**\n * Sends a drpc response to a connection\n * @param connectionId the connection id to use\n * @param threadId the thread id to respond to\n * @param response the drpc response object to send\n */\n private async sendResponse(options: {\n connectionId: string\n threadId: string\n response: DrpcResponse\n }): Promise<void> {\n const connection = await this.connectionService.getById(this.agentContext, options.connectionId)\n const drpcMessageRecord = await this.drpcMessageService.findByThreadAndConnectionId(\n this.agentContext,\n options.connectionId,\n options.threadId\n )\n if (!drpcMessageRecord) {\n throw new Error(`No request found for threadId ${options.threadId}`)\n }\n const { responseMessage, record } = await this.drpcMessageService.createResponseMessage(\n this.agentContext,\n options.response,\n drpcMessageRecord\n )\n await this.sendMessage(connection, responseMessage, record)\n }\n\n private async sendMessage(\n connection: DidCommConnectionRecord,\n message: DrpcRequestMessage | DrpcResponseMessage,\n messageRecord: DrpcRecord\n ): Promise<void> {\n const outboundMessageContext = new DidCommOutboundMessageContext(message, {\n agentContext: this.agentContext,\n connection,\n associatedRecord: messageRecord,\n })\n await this.messageSender.sendMessage(outboundMessageContext)\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcApi.mjs","names":[],"sources":["../src/DrpcApi.ts"],"sourcesContent":["import { AgentContext, injectable } from '@credo-ts/core'\nimport type { DidCommConnectionRecord } from '@credo-ts/didcomm'\nimport { DidCommConnectionService, DidCommMessageSender, DidCommOutboundMessageContext } from '@credo-ts/didcomm'\nimport type { DrpcRequest, DrpcRequestMessage, DrpcResponse, DrpcResponseMessage } from './messages'\nimport { DrpcRole } from './models'\nimport type { DrpcRecord } from './repository/DrpcRecord'\nimport { DrpcService } from './services'\n\n@injectable()\nexport class DrpcApi {\n private drpcMessageService: DrpcService\n private messageSender: DidCommMessageSender\n private connectionService: DidCommConnectionService\n private agentContext: AgentContext\n\n public constructor(\n drpcMessageService: DrpcService,\n messageSender: DidCommMessageSender,\n connectionService: DidCommConnectionService,\n agentContext: AgentContext\n ) {\n this.drpcMessageService = drpcMessageService\n this.messageSender = messageSender\n this.connectionService = connectionService\n this.agentContext = agentContext\n }\n\n /**\n * sends the request object to the connection and returns a function that will resolve to the response\n * @param connectionId the connection to send the request to\n * @param request the request object\n * @returns curried function that waits for the response with an optional timeout in seconds\n */\n public async sendRequest(\n connectionId: string,\n request: DrpcRequest\n ): Promise<(timeout?: number) => Promise<DrpcResponse | undefined>> {\n const connection = await this.connectionService.getById(this.agentContext, connectionId)\n const { requestMessage: drpcMessage, record: drpcMessageRecord } =\n await this.drpcMessageService.createRequestMessage(this.agentContext, request, connection.id)\n const messageId = drpcMessage.id\n await this.sendMessage(connection, drpcMessage, drpcMessageRecord)\n return async (timeout?: number) => {\n return await this.recvResponse(messageId, timeout)\n }\n }\n\n /**\n * Listen for a response that has a thread id matching the provided messageId\n * @param messageId the id to match the response to\n * @param timeoutMs the time in milliseconds to wait for a response\n * @returns the response object\n */\n private async recvResponse(messageId: string, timeoutMs?: number): Promise<DrpcResponse | undefined> {\n return new Promise((resolve) => {\n const listener = ({\n drpcMessageRecord,\n removeListener,\n }: {\n drpcMessageRecord: DrpcRecord\n removeListener: () => void\n }) => {\n const response = drpcMessageRecord.response\n if (drpcMessageRecord.threadId === messageId) {\n removeListener()\n resolve(response)\n }\n }\n\n const cancelListener = this.drpcMessageService.createResponseListener(listener)\n if (timeoutMs) {\n const handle = setTimeout(() => {\n clearTimeout(handle)\n cancelListener()\n resolve(undefined)\n }, timeoutMs)\n }\n })\n }\n\n /**\n * Listen for a request and returns the request object and a function to send the response\n * @param timeoutMs the time in seconds to wait for a request\n * @returns the request object and a function to send the response\n */\n public async recvRequest(timeoutMs?: number): Promise<\n | {\n request: DrpcRequest\n sendResponse: (response: DrpcResponse) => Promise<void>\n }\n | undefined\n > {\n return new Promise((resolve) => {\n const listener = ({\n drpcMessageRecord,\n removeListener,\n }: {\n drpcMessageRecord: DrpcRecord\n removeListener: () => void\n }) => {\n const request = drpcMessageRecord.request\n if (request && drpcMessageRecord.role === DrpcRole.Server) {\n removeListener()\n resolve({\n sendResponse: async (response: DrpcResponse) => {\n await this.sendResponse({\n connectionId: drpcMessageRecord.connectionId,\n threadId: drpcMessageRecord.threadId,\n response,\n })\n },\n request,\n })\n }\n }\n\n const cancelListener = this.drpcMessageService.createRequestListener(listener)\n\n if (timeoutMs) {\n const handle = setTimeout(() => {\n clearTimeout(handle)\n cancelListener()\n resolve(undefined)\n }, timeoutMs)\n }\n })\n }\n\n /**\n * Sends a drpc response to a connection\n * @param connectionId the connection id to use\n * @param threadId the thread id to respond to\n * @param response the drpc response object to send\n */\n private async sendResponse(options: {\n connectionId: string\n threadId: string\n response: DrpcResponse\n }): Promise<void> {\n const connection = await this.connectionService.getById(this.agentContext, options.connectionId)\n const drpcMessageRecord = await this.drpcMessageService.findByThreadAndConnectionId(\n this.agentContext,\n options.connectionId,\n options.threadId\n )\n if (!drpcMessageRecord) {\n throw new Error(`No request found for threadId ${options.threadId}`)\n }\n const { responseMessage, record } = await this.drpcMessageService.createResponseMessage(\n this.agentContext,\n options.response,\n drpcMessageRecord\n )\n await this.sendMessage(connection, responseMessage, record)\n }\n\n private async sendMessage(\n connection: DidCommConnectionRecord,\n message: DrpcRequestMessage | DrpcResponseMessage,\n messageRecord: DrpcRecord\n ): Promise<void> {\n const outboundMessageContext = new DidCommOutboundMessageContext(message, {\n agentContext: this.agentContext,\n connection,\n associatedRecord: messageRecord,\n })\n await this.messageSender.sendMessage(outboundMessageContext)\n }\n}\n"],"mappings":";;;;;;;;;AASO,IAAM,UAAN,MAAM,QAAQ;CAMnB,YACE,oBACA,eACA,mBACA,cACA;EACA,KAAK,qBAAqB;EAC1B,KAAK,gBAAgB;EACrB,KAAK,oBAAoB;EACzB,KAAK,eAAe;CACtB;;;;;;;CAQA,MAAa,YACX,cACA,SACkE;EAClE,MAAM,aAAa,MAAM,KAAK,kBAAkB,QAAQ,KAAK,cAAc,YAAY;EACvF,MAAM,EAAE,gBAAgB,aAAa,QAAQ,sBAC3C,MAAM,KAAK,mBAAmB,qBAAqB,KAAK,cAAc,SAAS,WAAW,EAAE;EAC9F,MAAM,YAAY,YAAY;EAC9B,MAAM,KAAK,YAAY,YAAY,aAAa,iBAAiB;EACjE,OAAO,OAAO,YAAqB;GACjC,OAAO,MAAM,KAAK,aAAa,WAAW,OAAO;EACnD;CACF;;;;;;;CAQA,MAAc,aAAa,WAAmB,WAAuD;EACnG,OAAO,IAAI,SAAS,YAAY;GAC9B,MAAM,YAAY,EAChB,mBACA,qBAII;IACJ,MAAM,WAAW,kBAAkB;IACnC,IAAI,kBAAkB,aAAa,WAAW;KAC5C,eAAe;KACf,QAAQ,QAAQ;IAClB;GACF;GAEA,MAAM,iBAAiB,KAAK,mBAAmB,uBAAuB,QAAQ;GAC9E,IAAI,WAAW;IACb,MAAM,SAAS,iBAAiB;KAC9B,aAAa,MAAM;KACnB,eAAe;KACf,QAAQ,KAAA,CAAS;IACnB,GAAG,SAAS;GACd;EACF,CAAC;CACH;;;;;;CAOA,MAAa,YAAY,WAMvB;EACA,OAAO,IAAI,SAAS,YAAY;GAC9B,MAAM,YAAY,EAChB,mBACA,qBAII;IACJ,MAAM,UAAU,kBAAkB;IAClC,IAAI,WAAW,kBAAkB,SAAA,UAA0B;KACzD,eAAe;KACf,QAAQ;MACN,cAAc,OAAO,aAA2B;OAC9C,MAAM,KAAK,aAAa;QACtB,cAAc,kBAAkB;QAChC,UAAU,kBAAkB;QAC5B;OACF,CAAC;MACH;MACA;KACF,CAAC;IACH;GACF;GAEA,MAAM,iBAAiB,KAAK,mBAAmB,sBAAsB,QAAQ;GAE7E,IAAI,WAAW;IACb,MAAM,SAAS,iBAAiB;KAC9B,aAAa,MAAM;KACnB,eAAe;KACf,QAAQ,KAAA,CAAS;IACnB,GAAG,SAAS;GACd;EACF,CAAC;CACH;;;;;;;CAQA,MAAc,aAAa,SAIT;EAChB,MAAM,aAAa,MAAM,KAAK,kBAAkB,QAAQ,KAAK,cAAc,QAAQ,YAAY;EAC/F,MAAM,oBAAoB,MAAM,KAAK,mBAAmB,4BACtD,KAAK,cACL,QAAQ,cACR,QAAQ,QACV;EACA,IAAI,CAAC,mBACH,MAAM,IAAI,MAAM,iCAAiC,QAAQ,UAAU;EAErE,MAAM,EAAE,iBAAiB,WAAW,MAAM,KAAK,mBAAmB,sBAChE,KAAK,cACL,QAAQ,UACR,iBACF;EACA,MAAM,KAAK,YAAY,YAAY,iBAAiB,MAAM;CAC5D;CAEA,MAAc,YACZ,YACA,SACA,eACe;EACf,MAAM,yBAAyB,IAAI,8BAA8B,SAAS;GACxE,cAAc,KAAK;GACnB;GACA,kBAAkB;EACpB,CAAC;EACD,MAAM,KAAK,cAAc,YAAY,sBAAsB;CAC7D;AACF;AAhKC,UAAA,WAAA,CAAA,WAAW,GAAA,mBAAA,qBAAA"}
|
package/build/DrpcModule.d.mts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { DrpcApi } from "./DrpcApi.mjs";
|
|
2
2
|
import { AgentContext, DependencyManager, Module } from "@credo-ts/core";
|
|
3
|
-
|
|
4
3
|
//#region src/DrpcModule.d.ts
|
|
5
|
-
declare class DrpcModule implements Module {
|
|
4
|
+
export declare class DrpcModule implements Module {
|
|
6
5
|
readonly api: typeof DrpcApi;
|
|
7
6
|
/**
|
|
8
7
|
* Registers the dependencies of the drpc message module on the dependency manager.
|
|
@@ -11,5 +10,4 @@ declare class DrpcModule implements Module {
|
|
|
11
10
|
initialize(agentContext: AgentContext): Promise<void>;
|
|
12
11
|
}
|
|
13
12
|
//#endregion
|
|
14
|
-
export { DrpcModule };
|
|
15
13
|
//# sourceMappingURL=DrpcModule.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcModule.d.mts","names":[],"sources":["../src/DrpcModule.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcModule.d.mts","names":[],"sources":["../src/DrpcModule.ts"],"mappings":";;;qBAUa,sBAAsB;WACjB,YAAG;;;;EAKZ,SAAS,mBAAmB;EAQtB,WAAW,cAAc,eAAe"}
|
package/build/DrpcModule.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import "./models/DrpcRole.mjs";
|
|
2
2
|
import { DrpcRepository } from "./repository/DrpcRepository.mjs";
|
|
3
3
|
import "./repository/index.mjs";
|
|
4
4
|
import { DrpcService } from "./services/DrpcService.mjs";
|
|
@@ -8,7 +8,6 @@ import { DrpcRequestHandler } from "./handlers/DrpcRequestHandler.mjs";
|
|
|
8
8
|
import { DrpcResponseHandler } from "./handlers/DrpcResponseHandler.mjs";
|
|
9
9
|
import "./handlers/index.mjs";
|
|
10
10
|
import { DidCommFeatureRegistry, DidCommMessageHandlerRegistry, DidCommProtocol } from "@credo-ts/didcomm";
|
|
11
|
-
|
|
12
11
|
//#region src/DrpcModule.ts
|
|
13
12
|
var DrpcModule = class {
|
|
14
13
|
constructor() {
|
|
@@ -29,11 +28,11 @@ var DrpcModule = class {
|
|
|
29
28
|
messageHandlerRegistry.registerMessageHandler(new DrpcResponseHandler(drpcMessageService));
|
|
30
29
|
featureRegistry.register(new DidCommProtocol({
|
|
31
30
|
id: "https://didcomm.org/drpc/1.0",
|
|
32
|
-
roles: [
|
|
31
|
+
roles: ["client", "server"]
|
|
33
32
|
}));
|
|
34
33
|
}
|
|
35
34
|
};
|
|
36
|
-
|
|
37
35
|
//#endregion
|
|
38
36
|
export { DrpcModule };
|
|
37
|
+
|
|
39
38
|
//# sourceMappingURL=DrpcModule.mjs.map
|
package/build/DrpcModule.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcModule.mjs","names":[],"sources":["../src/DrpcModule.ts"],"sourcesContent":["import type { AgentContext, DependencyManager, Module } from '@credo-ts/core'\n\nimport { DidCommFeatureRegistry, DidCommMessageHandlerRegistry, DidCommProtocol } from '@credo-ts/didcomm'\n\nimport { DrpcApi } from './DrpcApi'\nimport { DrpcRequestHandler, DrpcResponseHandler } from './handlers'\nimport { DrpcRole } from './models/DrpcRole'\nimport { DrpcRepository } from './repository'\nimport { DrpcService } from './services'\n\nexport class DrpcModule implements Module {\n public readonly api = DrpcApi\n\n /**\n * Registers the dependencies of the drpc message module on the dependency manager.\n */\n public register(dependencyManager: DependencyManager) {\n // Services\n dependencyManager.registerSingleton(DrpcService)\n\n // Repositories\n dependencyManager.registerSingleton(DrpcRepository)\n }\n\n public async initialize(agentContext: AgentContext): Promise<void> {\n const featureRegistry = agentContext.dependencyManager.resolve(DidCommFeatureRegistry)\n const messageHandlerRegistry = agentContext.resolve(DidCommMessageHandlerRegistry)\n const drpcMessageService = agentContext.resolve(DrpcService)\n\n messageHandlerRegistry.registerMessageHandler(new DrpcRequestHandler(drpcMessageService))\n messageHandlerRegistry.registerMessageHandler(new DrpcResponseHandler(drpcMessageService))\n\n featureRegistry.register(\n new DidCommProtocol({\n id: 'https://didcomm.org/drpc/1.0',\n roles: [DrpcRole.Client, DrpcRole.Server],\n })\n )\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcModule.mjs","names":[],"sources":["../src/DrpcModule.ts"],"sourcesContent":["import type { AgentContext, DependencyManager, Module } from '@credo-ts/core'\n\nimport { DidCommFeatureRegistry, DidCommMessageHandlerRegistry, DidCommProtocol } from '@credo-ts/didcomm'\n\nimport { DrpcApi } from './DrpcApi'\nimport { DrpcRequestHandler, DrpcResponseHandler } from './handlers'\nimport { DrpcRole } from './models/DrpcRole'\nimport { DrpcRepository } from './repository'\nimport { DrpcService } from './services'\n\nexport class DrpcModule implements Module {\n public readonly api = DrpcApi\n\n /**\n * Registers the dependencies of the drpc message module on the dependency manager.\n */\n public register(dependencyManager: DependencyManager) {\n // Services\n dependencyManager.registerSingleton(DrpcService)\n\n // Repositories\n dependencyManager.registerSingleton(DrpcRepository)\n }\n\n public async initialize(agentContext: AgentContext): Promise<void> {\n const featureRegistry = agentContext.dependencyManager.resolve(DidCommFeatureRegistry)\n const messageHandlerRegistry = agentContext.resolve(DidCommMessageHandlerRegistry)\n const drpcMessageService = agentContext.resolve(DrpcService)\n\n messageHandlerRegistry.registerMessageHandler(new DrpcRequestHandler(drpcMessageService))\n messageHandlerRegistry.registerMessageHandler(new DrpcResponseHandler(drpcMessageService))\n\n featureRegistry.register(\n new DidCommProtocol({\n id: 'https://didcomm.org/drpc/1.0',\n roles: [DrpcRole.Client, DrpcRole.Server],\n })\n )\n }\n}\n"],"mappings":";;;;;;;;;;;AAUA,IAAa,aAAb,MAA0C;;EACxC,KAAgB,MAAM;;;;;CAKtB,SAAgB,mBAAsC;EAEpD,kBAAkB,kBAAkB,WAAW;EAG/C,kBAAkB,kBAAkB,cAAc;CACpD;CAEA,MAAa,WAAW,cAA2C;EACjE,MAAM,kBAAkB,aAAa,kBAAkB,QAAQ,sBAAsB;EACrF,MAAM,yBAAyB,aAAa,QAAQ,6BAA6B;EACjF,MAAM,qBAAqB,aAAa,QAAQ,WAAW;EAE3D,uBAAuB,uBAAuB,IAAI,mBAAmB,kBAAkB,CAAC;EACxF,uBAAuB,uBAAuB,IAAI,oBAAoB,kBAAkB,CAAC;EAEzF,gBAAgB,SACd,IAAI,gBAAgB;GAClB,IAAI;GACJ,OAAO,CAAA,UAAA,QAAiC;EAC1C,CAAC,CACH;CACF;AACF"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { DrpcRecord } from "./repository/DrpcRecord.mjs";
|
|
2
2
|
import "./repository/index.mjs";
|
|
3
3
|
import { BaseEvent } from "@credo-ts/core";
|
|
4
|
-
|
|
5
4
|
//#region src/DrpcRequestEvents.d.ts
|
|
6
|
-
declare enum DrpcRequestEventTypes {
|
|
5
|
+
export declare enum DrpcRequestEventTypes {
|
|
7
6
|
DrpcRequestStateChanged = "DrpcRequestStateChanged"
|
|
8
7
|
}
|
|
9
|
-
interface DrpcRequestStateChangedEvent extends BaseEvent {
|
|
8
|
+
export interface DrpcRequestStateChangedEvent extends BaseEvent {
|
|
10
9
|
type: typeof DrpcRequestEventTypes.DrpcRequestStateChanged;
|
|
11
10
|
payload: {
|
|
12
11
|
drpcMessageRecord: DrpcRecord;
|
|
13
12
|
};
|
|
14
13
|
}
|
|
15
14
|
//#endregion
|
|
16
|
-
export { DrpcRequestEventTypes, DrpcRequestStateChangedEvent };
|
|
17
15
|
//# sourceMappingURL=DrpcRequestEvents.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRequestEvents.d.mts","names":[],"sources":["../src/DrpcRequestEvents.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRequestEvents.d.mts","names":[],"sources":["../src/DrpcRequestEvents.ts"],"mappings":";;;;oBAGY;EACV;;iBAEe,qCAAqC;EACpD,aAAa,sBAAsB;EACnC;IACE,mBAAmB"}
|
|
@@ -3,7 +3,7 @@ let DrpcRequestEventTypes = /* @__PURE__ */ function(DrpcRequestEventTypes) {
|
|
|
3
3
|
DrpcRequestEventTypes["DrpcRequestStateChanged"] = "DrpcRequestStateChanged";
|
|
4
4
|
return DrpcRequestEventTypes;
|
|
5
5
|
}({});
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { DrpcRequestEventTypes };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=DrpcRequestEvents.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRequestEvents.mjs","names":[],"sources":["../src/DrpcRequestEvents.ts"],"sourcesContent":["import type { BaseEvent } from '@credo-ts/core'\nimport type { DrpcRecord } from './repository'\n\nexport enum DrpcRequestEventTypes {\n DrpcRequestStateChanged = 'DrpcRequestStateChanged',\n}\nexport interface DrpcRequestStateChangedEvent extends BaseEvent {\n type: typeof DrpcRequestEventTypes.DrpcRequestStateChanged\n payload: {\n drpcMessageRecord: DrpcRecord\n }\n}\n"],"mappings":";AAGA,IAAY,
|
|
1
|
+
{"version":3,"file":"DrpcRequestEvents.mjs","names":[],"sources":["../src/DrpcRequestEvents.ts"],"sourcesContent":["import type { BaseEvent } from '@credo-ts/core'\nimport type { DrpcRecord } from './repository'\n\nexport enum DrpcRequestEventTypes {\n DrpcRequestStateChanged = 'DrpcRequestStateChanged',\n}\nexport interface DrpcRequestStateChangedEvent extends BaseEvent {\n type: typeof DrpcRequestEventTypes.DrpcRequestStateChanged\n payload: {\n drpcMessageRecord: DrpcRecord\n }\n}\n"],"mappings":";AAGA,IAAY,wBAAL,yBAAA,uBAAA;CACL,sBAAA,6BAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { DrpcRecord } from "./repository/DrpcRecord.mjs";
|
|
2
2
|
import "./repository/index.mjs";
|
|
3
3
|
import { BaseEvent } from "@credo-ts/core";
|
|
4
|
-
|
|
5
4
|
//#region src/DrpcResponseEvents.d.ts
|
|
6
|
-
declare enum DrpcResponseEventTypes {
|
|
5
|
+
export declare enum DrpcResponseEventTypes {
|
|
7
6
|
DrpcResponseStateChanged = "DrpcResponseStateChanged"
|
|
8
7
|
}
|
|
9
|
-
interface DrpcResponseStateChangedEvent extends BaseEvent {
|
|
8
|
+
export interface DrpcResponseStateChangedEvent extends BaseEvent {
|
|
10
9
|
type: typeof DrpcResponseEventTypes.DrpcResponseStateChanged;
|
|
11
10
|
payload: {
|
|
12
11
|
drpcMessageRecord: DrpcRecord;
|
|
13
12
|
};
|
|
14
13
|
}
|
|
15
14
|
//#endregion
|
|
16
|
-
export { DrpcResponseEventTypes, DrpcResponseStateChangedEvent };
|
|
17
15
|
//# sourceMappingURL=DrpcResponseEvents.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcResponseEvents.d.mts","names":[],"sources":["../src/DrpcResponseEvents.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcResponseEvents.d.mts","names":[],"sources":["../src/DrpcResponseEvents.ts"],"mappings":";;;;oBAGY;EACV;;iBAEe,sCAAsC;EACrD,aAAa,uBAAuB;EACpC;IACE,mBAAmB"}
|
|
@@ -3,7 +3,7 @@ let DrpcResponseEventTypes = /* @__PURE__ */ function(DrpcResponseEventTypes) {
|
|
|
3
3
|
DrpcResponseEventTypes["DrpcResponseStateChanged"] = "DrpcResponseStateChanged";
|
|
4
4
|
return DrpcResponseEventTypes;
|
|
5
5
|
}({});
|
|
6
|
-
|
|
7
6
|
//#endregion
|
|
8
7
|
export { DrpcResponseEventTypes };
|
|
8
|
+
|
|
9
9
|
//# sourceMappingURL=DrpcResponseEvents.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcResponseEvents.mjs","names":[],"sources":["../src/DrpcResponseEvents.ts"],"sourcesContent":["import type { BaseEvent } from '@credo-ts/core'\nimport type { DrpcRecord } from './repository'\n\nexport enum DrpcResponseEventTypes {\n DrpcResponseStateChanged = 'DrpcResponseStateChanged',\n}\nexport interface DrpcResponseStateChangedEvent extends BaseEvent {\n type: typeof DrpcResponseEventTypes.DrpcResponseStateChanged\n payload: {\n drpcMessageRecord: DrpcRecord\n }\n}\n"],"mappings":";AAGA,IAAY,
|
|
1
|
+
{"version":3,"file":"DrpcResponseEvents.mjs","names":[],"sources":["../src/DrpcResponseEvents.ts"],"sourcesContent":["import type { BaseEvent } from '@credo-ts/core'\nimport type { DrpcRecord } from './repository'\n\nexport enum DrpcResponseEventTypes {\n DrpcResponseStateChanged = 'DrpcResponseStateChanged',\n}\nexport interface DrpcResponseStateChangedEvent extends BaseEvent {\n type: typeof DrpcResponseEventTypes.DrpcResponseStateChanged\n payload: {\n drpcMessageRecord: DrpcRecord\n }\n}\n"],"mappings":";AAGA,IAAY,yBAAL,yBAAA,wBAAA;CACL,uBAAA,8BAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorate.js
|
|
2
2
|
function __decorate(decorators, target, key, desc) {
|
|
3
3
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
4
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
5
|
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;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
}
|
|
8
|
-
|
|
9
8
|
//#endregion
|
|
10
|
-
export { __decorate };
|
|
9
|
+
export { __decorate as default };
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorateMetadata.js
|
|
2
2
|
function __decorateMetadata(k, v) {
|
|
3
3
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
4
4
|
}
|
|
5
|
-
|
|
6
5
|
//#endregion
|
|
7
|
-
export { __decorateMetadata };
|
|
6
|
+
export { __decorateMetadata as default };
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
//#region \0@oxc-project+runtime@0.
|
|
1
|
+
//#region \0@oxc-project+runtime@0.151.0/helpers/esm/decorateParam.js
|
|
2
2
|
function __decorateParam(paramIndex, decorator) {
|
|
3
3
|
return function(target, key) {
|
|
4
4
|
decorator(target, key, paramIndex);
|
|
5
5
|
};
|
|
6
6
|
}
|
|
7
|
-
|
|
8
7
|
//#endregion
|
|
9
|
-
export { __decorateParam };
|
|
8
|
+
export { __decorateParam as default };
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DrpcRequestMessage } from "../messages/DrpcRequestMessage.mjs";
|
|
2
2
|
import "../messages/index.mjs";
|
|
3
|
-
|
|
4
3
|
//#region src/handlers/DrpcRequestHandler.ts
|
|
5
4
|
var DrpcRequestHandler = class {
|
|
6
5
|
constructor(drpcMessageService) {
|
|
@@ -11,7 +10,7 @@ var DrpcRequestHandler = class {
|
|
|
11
10
|
await this.drpcMessageService.receiveRequest(messageContext);
|
|
12
11
|
}
|
|
13
12
|
};
|
|
14
|
-
|
|
15
13
|
//#endregion
|
|
16
14
|
export { DrpcRequestHandler };
|
|
15
|
+
|
|
17
16
|
//# sourceMappingURL=DrpcRequestHandler.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRequestHandler.mjs","names":[],"sources":["../../src/handlers/DrpcRequestHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { DrpcRequestMessage } from '../messages'\nimport type { DrpcService } from '../services/DrpcService'\n\nexport class DrpcRequestHandler implements DidCommMessageHandler {\n private drpcMessageService: DrpcService\n public supportedMessages = [DrpcRequestMessage]\n\n public constructor(drpcMessageService: DrpcService) {\n this.drpcMessageService = drpcMessageService\n }\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<DrpcRequestHandler>) {\n await this.drpcMessageService.receiveRequest(messageContext)\n\n return undefined\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRequestHandler.mjs","names":[],"sources":["../../src/handlers/DrpcRequestHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { DrpcRequestMessage } from '../messages'\nimport type { DrpcService } from '../services/DrpcService'\n\nexport class DrpcRequestHandler implements DidCommMessageHandler {\n private drpcMessageService: DrpcService\n public supportedMessages = [DrpcRequestMessage]\n\n public constructor(drpcMessageService: DrpcService) {\n this.drpcMessageService = drpcMessageService\n }\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<DrpcRequestHandler>) {\n await this.drpcMessageService.receiveRequest(messageContext)\n\n return undefined\n }\n}\n"],"mappings":";;;AAIA,IAAa,qBAAb,MAAiE;CAI/D,YAAmB,oBAAiC;EAFpD,KAAO,oBAAoB,CAAC,kBAAkB;EAG5C,KAAK,qBAAqB;CAC5B;CAEA,MAAa,OAAO,gBAAyE;EAC3F,MAAM,KAAK,mBAAmB,eAAe,cAAc;CAG7D;AACF"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DrpcResponseMessage } from "../messages/DrpcResponseMessage.mjs";
|
|
2
2
|
import "../messages/index.mjs";
|
|
3
|
-
|
|
4
3
|
//#region src/handlers/DrpcResponseHandler.ts
|
|
5
4
|
var DrpcResponseHandler = class {
|
|
6
5
|
constructor(drpcMessageService) {
|
|
@@ -11,7 +10,7 @@ var DrpcResponseHandler = class {
|
|
|
11
10
|
await this.drpcMessageService.receiveResponse(messageContext);
|
|
12
11
|
}
|
|
13
12
|
};
|
|
14
|
-
|
|
15
13
|
//#endregion
|
|
16
14
|
export { DrpcResponseHandler };
|
|
15
|
+
|
|
17
16
|
//# sourceMappingURL=DrpcResponseHandler.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcResponseHandler.mjs","names":[],"sources":["../../src/handlers/DrpcResponseHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { DrpcResponseMessage } from '../messages'\nimport type { DrpcService } from '../services/DrpcService'\n\nexport class DrpcResponseHandler implements DidCommMessageHandler {\n private drpcMessageService: DrpcService\n public supportedMessages = [DrpcResponseMessage]\n\n public constructor(drpcMessageService: DrpcService) {\n this.drpcMessageService = drpcMessageService\n }\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<DrpcResponseHandler>) {\n await this.drpcMessageService.receiveResponse(messageContext)\n\n return undefined\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcResponseHandler.mjs","names":[],"sources":["../../src/handlers/DrpcResponseHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { DrpcResponseMessage } from '../messages'\nimport type { DrpcService } from '../services/DrpcService'\n\nexport class DrpcResponseHandler implements DidCommMessageHandler {\n private drpcMessageService: DrpcService\n public supportedMessages = [DrpcResponseMessage]\n\n public constructor(drpcMessageService: DrpcService) {\n this.drpcMessageService = drpcMessageService\n }\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<DrpcResponseHandler>) {\n await this.drpcMessageService.receiveResponse(messageContext)\n\n return undefined\n }\n}\n"],"mappings":";;;AAIA,IAAa,sBAAb,MAAkE;CAIhE,YAAmB,oBAAiC;EAFpD,KAAO,oBAAoB,CAAC,mBAAmB;EAG7C,KAAK,qBAAqB;CAC5B;CAEA,MAAa,OAAO,gBAA0E;EAC5F,MAAM,KAAK,mBAAmB,gBAAgB,cAAc;CAG9D;AACF"}
|
package/build/handlers/index.mjs
CHANGED
package/build/index.mjs
CHANGED
|
@@ -12,5 +12,4 @@ import { DrpcService } from "./services/DrpcService.mjs";
|
|
|
12
12
|
import "./services/index.mjs";
|
|
13
13
|
import { DrpcApi } from "./DrpcApi.mjs";
|
|
14
14
|
import { DrpcModule } from "./DrpcModule.mjs";
|
|
15
|
-
|
|
16
|
-
export { DrpcApi, DrpcModule, DrpcRecord, DrpcRepository, DrpcRequestEventTypes, DrpcRequestMessage, DrpcResponseEventTypes, DrpcResponseMessage, DrpcRole, DrpcService, DrpcState };
|
|
15
|
+
export { DrpcApi, DrpcModule, DrpcRecord, DrpcRepository, DrpcRequestEventTypes, DrpcRequestMessage, DrpcResponseEventTypes, DrpcResponseMessage, DrpcRole, DrpcService, DrpcState };
|
|
@@ -1,22 +1,19 @@
|
|
|
1
|
-
import * as _credo_ts_didcomm0 from "@credo-ts/didcomm";
|
|
2
1
|
import { DidCommMessage } from "@credo-ts/didcomm";
|
|
3
|
-
|
|
4
2
|
//#region src/messages/DrpcRequestMessage.d.ts
|
|
5
|
-
interface DrpcRequestObject {
|
|
3
|
+
export interface DrpcRequestObject {
|
|
6
4
|
jsonrpc: string;
|
|
7
5
|
method: string;
|
|
8
6
|
params?: any[] | object;
|
|
9
7
|
id: string | number | null;
|
|
10
8
|
}
|
|
11
|
-
type DrpcRequest = DrpcRequestObject | DrpcRequestObject[];
|
|
12
|
-
declare class DrpcRequestMessage extends DidCommMessage {
|
|
9
|
+
export type DrpcRequest = DrpcRequestObject | DrpcRequestObject[];
|
|
10
|
+
export declare class DrpcRequestMessage extends DidCommMessage {
|
|
13
11
|
constructor(options: {
|
|
14
12
|
request: DrpcRequest;
|
|
15
13
|
});
|
|
16
14
|
readonly type: string;
|
|
17
|
-
static readonly type:
|
|
15
|
+
static readonly type: import("@credo-ts/didcomm").ParsedMessageType;
|
|
18
16
|
request: DrpcRequest;
|
|
19
17
|
}
|
|
20
18
|
//#endregion
|
|
21
|
-
export { DrpcRequest, DrpcRequestMessage, DrpcRequestObject };
|
|
22
19
|
//# sourceMappingURL=DrpcRequestMessage.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRequestMessage.d.mts","names":[],"sources":["../../src/messages/DrpcRequestMessage.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRequestMessage.d.mts","names":[],"sources":["../../src/messages/DrpcRequestMessage.ts"],"mappings":";;iBAKiB;EACf;EACA;EAEA;EACA;;YAGU,cAAc,oBAAoB;qBAEjC,2BAA2B;EACnB,YAAA;IAAW,SAAS;;WASvB;kBACO,kCAAI;EAIpB,SAAU"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { IsValidDrpcRequest } from "../models/ValidRequest.mjs";
|
|
2
2
|
import "../models/index.mjs";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
|
|
4
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
|
|
5
5
|
import { DidCommMessage, IsValidMessageType, parseMessageType } from "@credo-ts/didcomm";
|
|
6
6
|
import { Expose } from "class-transformer";
|
|
7
|
-
|
|
8
7
|
//#region src/messages/DrpcRequestMessage.ts
|
|
9
8
|
var DrpcRequestMessage = class DrpcRequestMessage extends DidCommMessage {
|
|
10
9
|
constructor(options) {
|
|
@@ -23,7 +22,7 @@ __decorate([
|
|
|
23
22
|
IsValidDrpcRequest(),
|
|
24
23
|
__decorateMetadata("design:type", Object)
|
|
25
24
|
], DrpcRequestMessage.prototype, "request", void 0);
|
|
26
|
-
|
|
27
25
|
//#endregion
|
|
28
26
|
export { DrpcRequestMessage };
|
|
27
|
+
|
|
29
28
|
//# sourceMappingURL=DrpcRequestMessage.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRequestMessage.mjs","names":[],"sources":["../../src/messages/DrpcRequestMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose } from 'class-transformer'\n\nimport { IsValidDrpcRequest } from '../models'\n\nexport interface DrpcRequestObject {\n jsonrpc: string\n method: string\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n params?: any[] | object\n id: string | number | null\n}\n\nexport type DrpcRequest = DrpcRequestObject | DrpcRequestObject[]\n\nexport class DrpcRequestMessage extends DidCommMessage {\n public constructor(options: { request: DrpcRequest }) {\n super()\n if (options) {\n this.id = this.generateId()\n this.request = options.request\n }\n }\n\n @IsValidMessageType(DrpcRequestMessage.type)\n public readonly type = DrpcRequestMessage.type.messageTypeUri\n public static readonly type = parseMessageType('https://didcomm.org/drpc/1.0/request')\n\n @Expose({ name: 'request' })\n @IsValidDrpcRequest()\n public request!: DrpcRequest\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRequestMessage.mjs","names":[],"sources":["../../src/messages/DrpcRequestMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose } from 'class-transformer'\n\nimport { IsValidDrpcRequest } from '../models'\n\nexport interface DrpcRequestObject {\n jsonrpc: string\n method: string\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n params?: any[] | object\n id: string | number | null\n}\n\nexport type DrpcRequest = DrpcRequestObject | DrpcRequestObject[]\n\nexport class DrpcRequestMessage extends DidCommMessage {\n public constructor(options: { request: DrpcRequest }) {\n super()\n if (options) {\n this.id = this.generateId()\n this.request = options.request\n }\n }\n\n @IsValidMessageType(DrpcRequestMessage.type)\n public readonly type = DrpcRequestMessage.type.messageTypeUri\n public static readonly type = parseMessageType('https://didcomm.org/drpc/1.0/request')\n\n @Expose({ name: 'request' })\n @IsValidDrpcRequest()\n public request!: DrpcRequest\n}\n"],"mappings":";;;;;;;AAeA,IAAa,qBAAb,MAAa,2BAA2B,eAAe;CACrD,YAAmB,SAAmC;EACpD,MAAM;EAOR,KACgB,OAAO,mBAAmB,KAAK;EAP7C,IAAI,SAAS;GACX,KAAK,KAAK,KAAK,WAAW;GAC1B,KAAK,UAAU,QAAQ;EACzB;CACF;AASF;AALE,mBAAuB,OAAO,iBAAiB,sCAAsC;AAFpF,WAAA,CAAA,mBAAmB,mBAAmB,IAAI,GAAA,mBAAA,eAAA,MAAA,CAAA,GAAA,mBAAA,WAAA,QAAA,KAAA,CAAA;;CAI1C,OAAO,EAAE,MAAM,UAAU,CAAC;CAC1B,mBAAmB"}
|
|
@@ -1,30 +1,27 @@
|
|
|
1
1
|
import { DrpcErrorCode } from "../models/DrpcErrorCodes.mjs";
|
|
2
2
|
import "../models/index.mjs";
|
|
3
|
-
import * as _credo_ts_didcomm0 from "@credo-ts/didcomm";
|
|
4
3
|
import { DidCommMessage } from "@credo-ts/didcomm";
|
|
5
|
-
|
|
6
4
|
//#region src/messages/DrpcResponseMessage.d.ts
|
|
7
|
-
type DrpcResponse = DrpcResponseObject | (DrpcResponseObject | Record<string, never>)[] | Record<string, never>;
|
|
8
|
-
interface DrpcResponseError {
|
|
5
|
+
export type DrpcResponse = DrpcResponseObject | (DrpcResponseObject | Record<string, never>)[] | Record<string, never>;
|
|
6
|
+
export interface DrpcResponseError {
|
|
9
7
|
code: DrpcErrorCode;
|
|
10
8
|
message: string;
|
|
11
9
|
data?: any;
|
|
12
10
|
}
|
|
13
|
-
interface DrpcResponseObject {
|
|
11
|
+
export interface DrpcResponseObject {
|
|
14
12
|
jsonrpc: string;
|
|
15
13
|
result?: any;
|
|
16
14
|
error?: DrpcResponseError;
|
|
17
15
|
id: string | number | null;
|
|
18
16
|
}
|
|
19
|
-
declare class DrpcResponseMessage extends DidCommMessage {
|
|
17
|
+
export declare class DrpcResponseMessage extends DidCommMessage {
|
|
20
18
|
constructor(options: {
|
|
21
19
|
response: DrpcResponse;
|
|
22
20
|
threadId: string;
|
|
23
21
|
});
|
|
24
22
|
readonly type: string;
|
|
25
|
-
static readonly type:
|
|
23
|
+
static readonly type: import("@credo-ts/didcomm").ParsedMessageType;
|
|
26
24
|
response: DrpcResponse;
|
|
27
25
|
}
|
|
28
26
|
//#endregion
|
|
29
|
-
export { DrpcResponse, DrpcResponseError, DrpcResponseMessage, DrpcResponseObject };
|
|
30
27
|
//# sourceMappingURL=DrpcResponseMessage.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcResponseMessage.d.mts","names":[],"sources":["../../src/messages/DrpcResponseMessage.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcResponseMessage.d.mts","names":[],"sources":["../../src/messages/DrpcResponseMessage.ts"],"mappings":";;;;YAMY,eAAe,sBAAsB,qBAAqB,2BAA2B;iBAEhF;EACf,MAAM;EACN;EAEA;;iBAGe;EACf;EAEA;EACA,QAAQ;EACR;;qBAGW,4BAA4B;EACpB,YAAA;IAAW,UAAU;IAAc;;WAUtC;kBACO,kCAAI;EAIpB,UAAW"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { IsValidDrpcResponse } from "../models/ValidResponse.mjs";
|
|
2
2
|
import "../models/index.mjs";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
|
|
4
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
|
|
5
5
|
import { DidCommMessage, IsValidMessageType, parseMessageType } from "@credo-ts/didcomm";
|
|
6
6
|
import { Expose } from "class-transformer";
|
|
7
|
-
|
|
8
7
|
//#region src/messages/DrpcResponseMessage.ts
|
|
9
8
|
var DrpcResponseMessage = class DrpcResponseMessage extends DidCommMessage {
|
|
10
9
|
constructor(options) {
|
|
@@ -24,7 +23,7 @@ __decorate([
|
|
|
24
23
|
IsValidDrpcResponse(),
|
|
25
24
|
__decorateMetadata("design:type", Object)
|
|
26
25
|
], DrpcResponseMessage.prototype, "response", void 0);
|
|
27
|
-
|
|
28
26
|
//#endregion
|
|
29
27
|
export { DrpcResponseMessage };
|
|
28
|
+
|
|
30
29
|
//# sourceMappingURL=DrpcResponseMessage.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcResponseMessage.mjs","names":[],"sources":["../../src/messages/DrpcResponseMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose } from 'class-transformer'\nimport type { DrpcErrorCode } from '../models'\n\nimport { IsValidDrpcResponse } from '../models'\n\nexport type DrpcResponse = DrpcResponseObject | (DrpcResponseObject | Record<string, never>)[] | Record<string, never>\n\nexport interface DrpcResponseError {\n code: DrpcErrorCode\n message: string\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n data?: any\n}\n\nexport interface DrpcResponseObject {\n jsonrpc: string\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n result?: any\n error?: DrpcResponseError\n id: string | number | null\n}\n\nexport class DrpcResponseMessage extends DidCommMessage {\n public constructor(options: { response: DrpcResponse; threadId: string }) {\n super()\n if (options) {\n this.id = this.generateId()\n this.response = options.response\n this.setThread({ threadId: options.threadId })\n }\n }\n\n @IsValidMessageType(DrpcResponseMessage.type)\n public readonly type = DrpcResponseMessage.type.messageTypeUri\n public static readonly type = parseMessageType('https://didcomm.org/drpc/1.0/response')\n\n @Expose({ name: 'response' })\n @IsValidDrpcResponse()\n public response!: DrpcResponse\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcResponseMessage.mjs","names":[],"sources":["../../src/messages/DrpcResponseMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose } from 'class-transformer'\nimport type { DrpcErrorCode } from '../models'\n\nimport { IsValidDrpcResponse } from '../models'\n\nexport type DrpcResponse = DrpcResponseObject | (DrpcResponseObject | Record<string, never>)[] | Record<string, never>\n\nexport interface DrpcResponseError {\n code: DrpcErrorCode\n message: string\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n data?: any\n}\n\nexport interface DrpcResponseObject {\n jsonrpc: string\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n result?: any\n error?: DrpcResponseError\n id: string | number | null\n}\n\nexport class DrpcResponseMessage extends DidCommMessage {\n public constructor(options: { response: DrpcResponse; threadId: string }) {\n super()\n if (options) {\n this.id = this.generateId()\n this.response = options.response\n this.setThread({ threadId: options.threadId })\n }\n }\n\n @IsValidMessageType(DrpcResponseMessage.type)\n public readonly type = DrpcResponseMessage.type.messageTypeUri\n public static readonly type = parseMessageType('https://didcomm.org/drpc/1.0/response')\n\n @Expose({ name: 'response' })\n @IsValidDrpcResponse()\n public response!: DrpcResponse\n}\n"],"mappings":";;;;;;;AAuBA,IAAa,sBAAb,MAAa,4BAA4B,eAAe;CACtD,YAAmB,SAAuD;EACxE,MAAM;EAQR,KACgB,OAAO,oBAAoB,KAAK;EAR9C,IAAI,SAAS;GACX,KAAK,KAAK,KAAK,WAAW;GAC1B,KAAK,WAAW,QAAQ;GACxB,KAAK,UAAU,EAAE,UAAU,QAAQ,SAAS,CAAC;EAC/C;CACF;AASF;AALE,oBAAuB,OAAO,iBAAiB,uCAAuC;AAFrF,WAAA,CAAA,mBAAmB,oBAAoB,IAAI,GAAA,mBAAA,eAAA,MAAA,CAAA,GAAA,oBAAA,WAAA,QAAA,KAAA,CAAA;;CAI3C,OAAO,EAAE,MAAM,WAAW,CAAC;CAC3B,oBAAoB"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { DrpcRequest, DrpcRequestMessage, DrpcRequestObject } from "./DrpcRequestMessage.mjs";
|
|
2
|
-
import { DrpcResponse, DrpcResponseError, DrpcResponseMessage, DrpcResponseObject } from "./DrpcResponseMessage.mjs";
|
|
2
|
+
import { DrpcResponse, DrpcResponseError, DrpcResponseMessage, DrpcResponseObject } from "./DrpcResponseMessage.mjs";
|
|
3
|
+
export { DrpcRequest, DrpcRequestMessage, DrpcRequestObject, DrpcResponse, DrpcResponseError, DrpcResponseMessage, DrpcResponseObject };
|
package/build/messages/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
//#region src/models/DrpcErrorCodes.d.ts
|
|
2
|
-
declare enum DrpcErrorCode {
|
|
2
|
+
export declare enum DrpcErrorCode {
|
|
3
3
|
METHOD_NOT_FOUND = -32601,
|
|
4
4
|
PARSE_ERROR = -32700,
|
|
5
5
|
INVALID_REQUEST = -32600,
|
|
@@ -8,5 +8,4 @@ declare enum DrpcErrorCode {
|
|
|
8
8
|
SERVER_ERROR = -32000
|
|
9
9
|
}
|
|
10
10
|
//#endregion
|
|
11
|
-
export { DrpcErrorCode };
|
|
12
11
|
//# sourceMappingURL=DrpcErrorCodes.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcErrorCodes.d.mts","names":[],"sources":["../../src/models/DrpcErrorCodes.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"DrpcErrorCodes.d.mts","names":[],"sources":["../../src/models/DrpcErrorCodes.ts"],"mappings":";oBAAY;EACV;EACA;EACA;EACA;EACA;EACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRole.d.mts","names":[],"sources":["../../src/models/DrpcRole.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"DrpcRole.d.mts","names":[],"sources":["../../src/models/DrpcRole.ts"],"mappings":";oBAAY;EACV;EACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRole.mjs","names":[],"sources":["../../src/models/DrpcRole.ts"],"sourcesContent":["export enum DrpcRole {\n Client = 'client',\n Server = 'server',\n}\n"],"mappings":";AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"DrpcRole.mjs","names":[],"sources":["../../src/models/DrpcRole.ts"],"sourcesContent":["export enum DrpcRole {\n Client = 'client',\n Server = 'server',\n}\n"],"mappings":";AAAA,IAAY,WAAL,yBAAA,UAAA;CACL,SAAA,YAAA;CACA,SAAA,YAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
//#region src/models/DrpcState.d.ts
|
|
2
|
-
declare enum DrpcState {
|
|
2
|
+
export declare enum DrpcState {
|
|
3
3
|
RequestSent = "request-sent",
|
|
4
4
|
RequestReceived = "request-received",
|
|
5
5
|
Completed = "completed"
|
|
6
6
|
}
|
|
7
7
|
//#endregion
|
|
8
|
-
export { DrpcState };
|
|
9
8
|
//# sourceMappingURL=DrpcState.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcState.d.mts","names":[],"sources":["../../src/models/DrpcState.ts"],"mappings":";
|
|
1
|
+
{"version":3,"file":"DrpcState.d.mts","names":[],"sources":["../../src/models/DrpcState.ts"],"mappings":";oBAAY;EACV;EACA;EACA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcState.mjs","names":[],"sources":["../../src/models/DrpcState.ts"],"sourcesContent":["export enum DrpcState {\n RequestSent = 'request-sent',\n RequestReceived = 'request-received',\n Completed = 'completed',\n}\n"],"mappings":";AAAA,IAAY,
|
|
1
|
+
{"version":3,"file":"DrpcState.mjs","names":[],"sources":["../../src/models/DrpcState.ts"],"sourcesContent":["export enum DrpcState {\n RequestSent = 'request-sent',\n RequestReceived = 'request-received',\n Completed = 'completed',\n}\n"],"mappings":";AAAA,IAAY,YAAL,yBAAA,WAAA;CACL,UAAA,iBAAA;CACA,UAAA,qBAAA;CACA,UAAA,eAAA;;AACF,EAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ValidateBy, ValidationError, buildMessage } from "class-validator";
|
|
2
|
-
|
|
3
2
|
//#region src/models/ValidRequest.ts
|
|
4
3
|
function IsValidDrpcRequest(validationOptions) {
|
|
5
4
|
return (target, propertyKey) => {
|
|
@@ -22,7 +21,7 @@ function isValidDrpcRequest(value) {
|
|
|
22
21
|
if (typeof value !== "object" || value === null || Array.isArray(value)) return false;
|
|
23
22
|
return "jsonrpc" in value && "method" in value && "id" in value;
|
|
24
23
|
}
|
|
25
|
-
|
|
26
24
|
//#endregion
|
|
27
25
|
export { IsValidDrpcRequest, isValidDrpcRequest };
|
|
26
|
+
|
|
28
27
|
//# sourceMappingURL=ValidRequest.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidRequest.mjs","names":[],"sources":["../../src/models/ValidRequest.ts"],"sourcesContent":["import type { ValidationOptions } from 'class-validator'\n\nimport { buildMessage, ValidateBy, ValidationError } from 'class-validator'\n\nexport function IsValidDrpcRequest(validationOptions?: ValidationOptions): PropertyDecorator {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n return (target: any, propertyKey: string | symbol) => {\n ValidateBy(\n {\n name: 'isValidDrpcRequest',\n validator: {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n validate: (value: any): boolean => {\n // Check if value is a DrpcRequestObject or an array of DrpcRequestObject\n let isValid = false\n if (!Array.isArray(value)) {\n isValid = isValidDrpcRequest(value)\n } else {\n isValid = value.every(isValidDrpcRequest)\n }\n\n if (!isValid) {\n throw new ValidationError()\n }\n\n return isValid\n },\n defaultMessage: buildMessage(\n (eachPrefix) => `${eachPrefix}$property is not a valid DrpcRequest`,\n validationOptions\n ),\n },\n },\n validationOptions\n )(target, propertyKey)\n }\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: no explanation\nexport function isValidDrpcRequest(value: any): boolean {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n return false\n }\n return 'jsonrpc' in value && 'method' in value && 'id' in value\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ValidRequest.mjs","names":[],"sources":["../../src/models/ValidRequest.ts"],"sourcesContent":["import type { ValidationOptions } from 'class-validator'\n\nimport { buildMessage, ValidateBy, ValidationError } from 'class-validator'\n\nexport function IsValidDrpcRequest(validationOptions?: ValidationOptions): PropertyDecorator {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n return (target: any, propertyKey: string | symbol) => {\n ValidateBy(\n {\n name: 'isValidDrpcRequest',\n validator: {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n validate: (value: any): boolean => {\n // Check if value is a DrpcRequestObject or an array of DrpcRequestObject\n let isValid = false\n if (!Array.isArray(value)) {\n isValid = isValidDrpcRequest(value)\n } else {\n isValid = value.every(isValidDrpcRequest)\n }\n\n if (!isValid) {\n throw new ValidationError()\n }\n\n return isValid\n },\n defaultMessage: buildMessage(\n (eachPrefix) => `${eachPrefix}$property is not a valid DrpcRequest`,\n validationOptions\n ),\n },\n },\n validationOptions\n )(target, propertyKey)\n }\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: no explanation\nexport function isValidDrpcRequest(value: any): boolean {\n if (typeof value !== 'object' || value === null || Array.isArray(value)) {\n return false\n }\n return 'jsonrpc' in value && 'method' in value && 'id' in value\n}\n"],"mappings":";;AAIA,SAAgB,mBAAmB,mBAA0D;CAE3F,QAAQ,QAAa,gBAAiC;EACpD,WACE;GACE,MAAM;GACN,WAAW;IAET,WAAW,UAAwB;KAEjC,IAAI,UAAU;KACd,IAAI,CAAC,MAAM,QAAQ,KAAK,GACtB,UAAU,mBAAmB,KAAK;UAElC,UAAU,MAAM,MAAM,kBAAkB;KAG1C,IAAI,CAAC,SACH,MAAM,IAAI,gBAAgB;KAG5B,OAAO;IACT;IACA,gBAAgB,cACb,eAAe,GAAG,WAAW,uCAC9B,iBACF;GACF;EACF,GACA,iBACF,CAAC,CAAC,QAAQ,WAAW;CACvB;AACF;AAGA,SAAgB,mBAAmB,OAAqB;CACtD,IAAI,OAAO,UAAU,YAAY,UAAU,QAAQ,MAAM,QAAQ,KAAK,GACpE,OAAO;CAET,OAAO,aAAa,SAAS,YAAY,SAAS,QAAQ;AAC5D"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ValidateBy, ValidationError, buildMessage } from "class-validator";
|
|
2
|
-
|
|
3
2
|
//#region src/models/ValidResponse.ts
|
|
4
3
|
function IsValidDrpcResponse(validationOptions) {
|
|
5
4
|
return (target, propertyKey) => {
|
|
@@ -32,7 +31,7 @@ function isValidDrpcResponse(value) {
|
|
|
32
31
|
function isValidDrpcResponseError(error) {
|
|
33
32
|
return typeof error === "object" && error !== null && "code" in error && "message" in error;
|
|
34
33
|
}
|
|
35
|
-
|
|
36
34
|
//#endregion
|
|
37
35
|
export { IsValidDrpcResponse, isValidDrpcResponse };
|
|
36
|
+
|
|
38
37
|
//# sourceMappingURL=ValidResponse.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ValidResponse.mjs","names":[],"sources":["../../src/models/ValidResponse.ts"],"sourcesContent":["import type { ValidationOptions } from 'class-validator'\n\nimport { buildMessage, ValidateBy, ValidationError } from 'class-validator'\n\nexport function IsValidDrpcResponse(validationOptions?: ValidationOptions): PropertyDecorator {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n return (target: any, propertyKey: string | symbol) => {\n ValidateBy(\n {\n name: 'isValidDrpcResponse',\n validator: {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n validate: (value: any): boolean => {\n // Check if value is a valid DrpcResponseObject, an array of DrpcResponseObject (possibly mixed with empty objects), or an empty object\n let isValid = false\n if (Array.isArray(value)) {\n if (value.length > 0) {\n isValid = value.every(isValidDrpcResponse)\n }\n } else {\n isValid = isValidDrpcResponse(value)\n }\n if (!isValid) {\n throw new ValidationError()\n }\n return isValid\n },\n defaultMessage: buildMessage(\n (eachPrefix) => `${eachPrefix}$property is not a valid DrpcResponse`,\n validationOptions\n ),\n },\n },\n validationOptions\n )(target, propertyKey)\n }\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: no explanation\nexport function isValidDrpcResponse(value: any): boolean {\n // Check if value is an object\n if (typeof value !== 'object' || value === null) {\n return false\n }\n\n // Check if it's an empty object\n if (Object.keys(value).length === 0) {\n return true\n }\n\n // Check if it's a valid DrpcResponseObject\n if ('jsonrpc' in value && 'id' in value) {\n // Check if 'result' and 'error' are valid\n if ('result' in value && typeof value.result === 'undefined') {\n return false\n }\n if ('error' in value && !isValidDrpcResponseError(value.error)) {\n return false\n }\n return true\n }\n\n return false\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: no explanation\nfunction isValidDrpcResponseError(error: any): boolean {\n return typeof error === 'object' && error !== null && 'code' in error && 'message' in error\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ValidResponse.mjs","names":[],"sources":["../../src/models/ValidResponse.ts"],"sourcesContent":["import type { ValidationOptions } from 'class-validator'\n\nimport { buildMessage, ValidateBy, ValidationError } from 'class-validator'\n\nexport function IsValidDrpcResponse(validationOptions?: ValidationOptions): PropertyDecorator {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n return (target: any, propertyKey: string | symbol) => {\n ValidateBy(\n {\n name: 'isValidDrpcResponse',\n validator: {\n // biome-ignore lint/suspicious/noExplicitAny: no explanation\n validate: (value: any): boolean => {\n // Check if value is a valid DrpcResponseObject, an array of DrpcResponseObject (possibly mixed with empty objects), or an empty object\n let isValid = false\n if (Array.isArray(value)) {\n if (value.length > 0) {\n isValid = value.every(isValidDrpcResponse)\n }\n } else {\n isValid = isValidDrpcResponse(value)\n }\n if (!isValid) {\n throw new ValidationError()\n }\n return isValid\n },\n defaultMessage: buildMessage(\n (eachPrefix) => `${eachPrefix}$property is not a valid DrpcResponse`,\n validationOptions\n ),\n },\n },\n validationOptions\n )(target, propertyKey)\n }\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: no explanation\nexport function isValidDrpcResponse(value: any): boolean {\n // Check if value is an object\n if (typeof value !== 'object' || value === null) {\n return false\n }\n\n // Check if it's an empty object\n if (Object.keys(value).length === 0) {\n return true\n }\n\n // Check if it's a valid DrpcResponseObject\n if ('jsonrpc' in value && 'id' in value) {\n // Check if 'result' and 'error' are valid\n if ('result' in value && typeof value.result === 'undefined') {\n return false\n }\n if ('error' in value && !isValidDrpcResponseError(value.error)) {\n return false\n }\n return true\n }\n\n return false\n}\n\n// biome-ignore lint/suspicious/noExplicitAny: no explanation\nfunction isValidDrpcResponseError(error: any): boolean {\n return typeof error === 'object' && error !== null && 'code' in error && 'message' in error\n}\n"],"mappings":";;AAIA,SAAgB,oBAAoB,mBAA0D;CAE5F,QAAQ,QAAa,gBAAiC;EACpD,WACE;GACE,MAAM;GACN,WAAW;IAET,WAAW,UAAwB;KAEjC,IAAI,UAAU;KACd,IAAI,MAAM,QAAQ,KAAK,GACjB;UAAA,MAAM,SAAS,GACjB,UAAU,MAAM,MAAM,mBAAmB;KAAA,OAG3C,UAAU,oBAAoB,KAAK;KAErC,IAAI,CAAC,SACH,MAAM,IAAI,gBAAgB;KAE5B,OAAO;IACT;IACA,gBAAgB,cACb,eAAe,GAAG,WAAW,wCAC9B,iBACF;GACF;EACF,GACA,iBACF,CAAC,CAAC,QAAQ,WAAW;CACvB;AACF;AAGA,SAAgB,oBAAoB,OAAqB;CAEvD,IAAI,OAAO,UAAU,YAAY,UAAU,MACzC,OAAO;CAIT,IAAI,OAAO,KAAK,KAAK,CAAC,CAAC,WAAW,GAChC,OAAO;CAIT,IAAI,aAAa,SAAS,QAAQ,OAAO;EAEvC,IAAI,YAAY,SAAS,OAAO,MAAM,WAAW,aAC/C,OAAO;EAET,IAAI,WAAW,SAAS,CAAC,yBAAyB,MAAM,KAAK,GAC3D,OAAO;EAET,OAAO;CACT;CAEA,OAAO;AACT;AAGA,SAAS,yBAAyB,OAAqB;CACrD,OAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,UAAU,SAAS,aAAa;AACxF"}
|
package/build/models/index.d.mts
CHANGED
|
@@ -2,4 +2,5 @@ import { DrpcErrorCode } from "./DrpcErrorCodes.mjs";
|
|
|
2
2
|
import { DrpcRole } from "./DrpcRole.mjs";
|
|
3
3
|
import { DrpcState } from "./DrpcState.mjs";
|
|
4
4
|
import "./ValidRequest.mjs";
|
|
5
|
-
import "./ValidResponse.mjs";
|
|
5
|
+
import "./ValidResponse.mjs";
|
|
6
|
+
export { DrpcErrorCode, DrpcRole, DrpcState };
|
package/build/models/index.mjs
CHANGED
|
@@ -2,3 +2,4 @@ import { DrpcRole } from "./DrpcRole.mjs";
|
|
|
2
2
|
import { DrpcState } from "./DrpcState.mjs";
|
|
3
3
|
import { IsValidDrpcRequest, isValidDrpcRequest } from "./ValidRequest.mjs";
|
|
4
4
|
import { IsValidDrpcResponse, isValidDrpcResponse } from "./ValidResponse.mjs";
|
|
5
|
+
export { DrpcRole, DrpcState, IsValidDrpcRequest, IsValidDrpcResponse, isValidDrpcRequest, isValidDrpcResponse };
|
|
@@ -5,15 +5,14 @@ import "../models/index.mjs";
|
|
|
5
5
|
import { DrpcResponse } from "../messages/DrpcResponseMessage.mjs";
|
|
6
6
|
import "../messages/index.mjs";
|
|
7
7
|
import { BaseRecord, RecordTags, TagsBase } from "@credo-ts/core";
|
|
8
|
-
|
|
9
8
|
//#region src/repository/DrpcRecord.d.ts
|
|
10
|
-
type CustomDrpcMessageTags = TagsBase;
|
|
11
|
-
type DefaultDrpcMessageTags = {
|
|
9
|
+
export type CustomDrpcMessageTags = TagsBase;
|
|
10
|
+
export type DefaultDrpcMessageTags = {
|
|
12
11
|
connectionId: string;
|
|
13
12
|
threadId: string;
|
|
14
13
|
};
|
|
15
|
-
type DrpcMessageTags = RecordTags<DrpcRecord>;
|
|
16
|
-
interface DrpcStorageProps {
|
|
14
|
+
export type DrpcMessageTags = RecordTags<DrpcRecord>;
|
|
15
|
+
export interface DrpcStorageProps {
|
|
17
16
|
id?: string;
|
|
18
17
|
connectionId: string;
|
|
19
18
|
role: DrpcRole;
|
|
@@ -23,7 +22,7 @@ interface DrpcStorageProps {
|
|
|
23
22
|
state: DrpcState;
|
|
24
23
|
threadId: string;
|
|
25
24
|
}
|
|
26
|
-
declare class DrpcRecord extends BaseRecord<DefaultDrpcMessageTags, CustomDrpcMessageTags> {
|
|
25
|
+
export declare class DrpcRecord extends BaseRecord<DefaultDrpcMessageTags, CustomDrpcMessageTags> {
|
|
27
26
|
request?: DrpcRequest;
|
|
28
27
|
response?: DrpcResponse;
|
|
29
28
|
connectionId: string;
|
|
@@ -41,5 +40,4 @@ declare class DrpcRecord extends BaseRecord<DefaultDrpcMessageTags, CustomDrpcMe
|
|
|
41
40
|
assertState(expectedStates: DrpcState | DrpcState[]): void;
|
|
42
41
|
}
|
|
43
42
|
//#endregion
|
|
44
|
-
export { CustomDrpcMessageTags, DefaultDrpcMessageTags, DrpcMessageTags, DrpcRecord, DrpcStorageProps };
|
|
45
43
|
//# sourceMappingURL=DrpcRecord.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRecord.d.mts","names":[],"sources":["../../src/repository/DrpcRecord.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRecord.d.mts","names":[],"sources":["../../src/repository/DrpcRecord.ts"],"mappings":";;;;;;;;YAKY,wBAAwB;YACxB;EACV;EACA;;YAGU,kBAAkB,WAAW;iBAExB;EACf;EACA;EACA,MAAM;EACN,OAAO;EACP,UAAU;EACV,WAAW;EACX,OAAO;EACP;;qBAGW,mBAAmB,WAAW,wBAAwB;EAC1D,UAAU;EACV,WAAW;EACX;EACA,MAAO;EACP,OAAQ;EACR;kBAEgB;WACP;EAEG,YAAA,OAAO;EAenB;;;;EAQA,WAAW,cAAc;EAMzB,YAAY,gBAAgB,YAAY"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { BaseRecord, CredoError, utils } from "@credo-ts/core";
|
|
2
|
-
|
|
3
2
|
//#region src/repository/DrpcRecord.ts
|
|
4
3
|
var DrpcRecord = class DrpcRecord extends BaseRecord {
|
|
5
4
|
constructor(props) {
|
|
@@ -32,7 +31,7 @@ var DrpcRecord = class DrpcRecord extends BaseRecord {
|
|
|
32
31
|
}
|
|
33
32
|
};
|
|
34
33
|
DrpcRecord.type = "DrpcRecord";
|
|
35
|
-
|
|
36
34
|
//#endregion
|
|
37
35
|
export { DrpcRecord };
|
|
36
|
+
|
|
38
37
|
//# sourceMappingURL=DrpcRecord.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRecord.mjs","names":[],"sources":["../../src/repository/DrpcRecord.ts"],"sourcesContent":["import type { RecordTags, TagsBase } from '@credo-ts/core'\nimport { BaseRecord, CredoError, utils } from '@credo-ts/core'\nimport type { DrpcRequest, DrpcResponse } from '../messages'\nimport type { DrpcRole, DrpcState } from '../models'\n\nexport type CustomDrpcMessageTags = TagsBase\nexport type DefaultDrpcMessageTags = {\n connectionId: string\n threadId: string\n}\n\nexport type DrpcMessageTags = RecordTags<DrpcRecord>\n\nexport interface DrpcStorageProps {\n id?: string\n connectionId: string\n role: DrpcRole\n tags?: CustomDrpcMessageTags\n request?: DrpcRequest\n response?: DrpcResponse\n state: DrpcState\n threadId: string\n}\n\nexport class DrpcRecord extends BaseRecord<DefaultDrpcMessageTags, CustomDrpcMessageTags> {\n public request?: DrpcRequest\n public response?: DrpcResponse\n public connectionId!: string\n public role!: DrpcRole\n public state!: DrpcState\n public threadId!: string\n\n public static readonly type = 'DrpcRecord'\n public readonly type = DrpcRecord.type\n\n public constructor(props: DrpcStorageProps) {\n super()\n\n if (props) {\n this.id = props.id ?? utils.uuid()\n this.request = props.request\n this.response = props.response\n this.connectionId = props.connectionId\n this._tags = props.tags ?? {}\n this.role = props.role\n this.state = props.state\n this.threadId = props.threadId\n }\n }\n\n public getTags() {\n return {\n ...this._tags,\n connectionId: this.connectionId,\n threadId: this.threadId,\n }\n }\n\n public assertRole(expectedRole: DrpcRole) {\n if (this.role !== expectedRole) {\n throw new CredoError(`Invalid DRPC record role ${this.role}, expected is ${expectedRole}.`)\n }\n }\n\n public assertState(expectedStates: DrpcState | DrpcState[]) {\n if (!Array.isArray(expectedStates)) {\n expectedStates = [expectedStates]\n }\n\n if (!expectedStates.includes(this.state)) {\n throw new CredoError(\n `DRPC response record is in invalid state ${this.state}. Valid states are: ${expectedStates.join(', ')}.`\n )\n }\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRecord.mjs","names":[],"sources":["../../src/repository/DrpcRecord.ts"],"sourcesContent":["import type { RecordTags, TagsBase } from '@credo-ts/core'\nimport { BaseRecord, CredoError, utils } from '@credo-ts/core'\nimport type { DrpcRequest, DrpcResponse } from '../messages'\nimport type { DrpcRole, DrpcState } from '../models'\n\nexport type CustomDrpcMessageTags = TagsBase\nexport type DefaultDrpcMessageTags = {\n connectionId: string\n threadId: string\n}\n\nexport type DrpcMessageTags = RecordTags<DrpcRecord>\n\nexport interface DrpcStorageProps {\n id?: string\n connectionId: string\n role: DrpcRole\n tags?: CustomDrpcMessageTags\n request?: DrpcRequest\n response?: DrpcResponse\n state: DrpcState\n threadId: string\n}\n\nexport class DrpcRecord extends BaseRecord<DefaultDrpcMessageTags, CustomDrpcMessageTags> {\n public request?: DrpcRequest\n public response?: DrpcResponse\n public connectionId!: string\n public role!: DrpcRole\n public state!: DrpcState\n public threadId!: string\n\n public static readonly type = 'DrpcRecord'\n public readonly type = DrpcRecord.type\n\n public constructor(props: DrpcStorageProps) {\n super()\n\n if (props) {\n this.id = props.id ?? utils.uuid()\n this.request = props.request\n this.response = props.response\n this.connectionId = props.connectionId\n this._tags = props.tags ?? {}\n this.role = props.role\n this.state = props.state\n this.threadId = props.threadId\n }\n }\n\n public getTags() {\n return {\n ...this._tags,\n connectionId: this.connectionId,\n threadId: this.threadId,\n }\n }\n\n public assertRole(expectedRole: DrpcRole) {\n if (this.role !== expectedRole) {\n throw new CredoError(`Invalid DRPC record role ${this.role}, expected is ${expectedRole}.`)\n }\n }\n\n public assertState(expectedStates: DrpcState | DrpcState[]) {\n if (!Array.isArray(expectedStates)) {\n expectedStates = [expectedStates]\n }\n\n if (!expectedStates.includes(this.state)) {\n throw new CredoError(\n `DRPC response record is in invalid state ${this.state}. Valid states are: ${expectedStates.join(', ')}.`\n )\n }\n }\n}\n"],"mappings":";;AAwBA,IAAa,aAAb,MAAa,mBAAmB,WAA0D;CAWxF,YAAmB,OAAyB;EAC1C,MAAM;EAHR,KAAgB,OAAO,WAAW;EAKhC,IAAI,OAAO;GACT,KAAK,KAAK,MAAM,MAAM,MAAM,KAAK;GACjC,KAAK,UAAU,MAAM;GACrB,KAAK,WAAW,MAAM;GACtB,KAAK,eAAe,MAAM;GAC1B,KAAK,QAAQ,MAAM,QAAQ,CAAC;GAC5B,KAAK,OAAO,MAAM;GAClB,KAAK,QAAQ,MAAM;GACnB,KAAK,WAAW,MAAM;EACxB;CACF;CAEA,UAAiB;EACf,OAAO;GACL,GAAG,KAAK;GACR,cAAc,KAAK;GACnB,UAAU,KAAK;EACjB;CACF;CAEA,WAAkB,cAAwB;EACxC,IAAI,KAAK,SAAS,cAChB,MAAM,IAAI,WAAW,4BAA4B,KAAK,KAAK,gBAAgB,aAAa,EAAE;CAE9F;CAEA,YAAmB,gBAAyC;EAC1D,IAAI,CAAC,MAAM,QAAQ,cAAc,GAC/B,iBAAiB,CAAC,cAAc;EAGlC,IAAI,CAAC,eAAe,SAAS,KAAK,KAAK,GACrC,MAAM,IAAI,WACR,4CAA4C,KAAK,MAAM,sBAAsB,eAAe,KAAK,IAAI,EAAE,EACzG;CAEJ;AACF;AA3CE,WAAuB,OAAO"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { DrpcRecord } from "./DrpcRecord.mjs";
|
|
2
2
|
import { EventEmitter, Repository, StorageService } from "@credo-ts/core";
|
|
3
|
-
|
|
4
3
|
//#region src/repository/DrpcRepository.d.ts
|
|
5
|
-
declare class DrpcRepository extends Repository<DrpcRecord> {
|
|
4
|
+
export declare class DrpcRepository extends Repository<DrpcRecord> {
|
|
6
5
|
constructor(storageService: StorageService<DrpcRecord>, eventEmitter: EventEmitter);
|
|
7
6
|
}
|
|
8
7
|
//#endregion
|
|
9
|
-
export { DrpcRepository };
|
|
10
8
|
//# sourceMappingURL=DrpcRepository.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRepository.d.mts","names":[],"sources":["../../src/repository/DrpcRepository.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRepository.d.mts","names":[],"sources":["../../src/repository/DrpcRepository.ts"],"mappings":";;;qBAKa,uBAAuB,WAAW;EAEF,YAAA,gBAAgB,eAAe,aACxE,cAAc"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
|
|
2
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
|
|
3
3
|
import { DrpcRecord } from "./DrpcRecord.mjs";
|
|
4
|
-
import
|
|
4
|
+
import __decorateParam from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateParam.mjs";
|
|
5
5
|
import { EventEmitter, InjectionSymbols, Repository, inject, injectable } from "@credo-ts/core";
|
|
6
|
-
|
|
7
6
|
//#region src/repository/DrpcRepository.ts
|
|
8
|
-
var _ref;
|
|
9
7
|
let DrpcRepository = class DrpcRepository extends Repository {
|
|
10
8
|
constructor(storageService, eventEmitter) {
|
|
11
9
|
super(DrpcRecord, storageService, eventEmitter);
|
|
@@ -14,9 +12,9 @@ let DrpcRepository = class DrpcRepository extends Repository {
|
|
|
14
12
|
DrpcRepository = __decorate([
|
|
15
13
|
injectable(),
|
|
16
14
|
__decorateParam(0, inject(InjectionSymbols.StorageService)),
|
|
17
|
-
__decorateMetadata("design:paramtypes", [Object, typeof
|
|
15
|
+
__decorateMetadata("design:paramtypes", [Object, typeof EventEmitter === "undefined" ? Object : EventEmitter])
|
|
18
16
|
], DrpcRepository);
|
|
19
|
-
|
|
20
17
|
//#endregion
|
|
21
18
|
export { DrpcRepository };
|
|
19
|
+
|
|
22
20
|
//# sourceMappingURL=DrpcRepository.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcRepository.mjs","names":[],"sources":["../../src/repository/DrpcRepository.ts"],"sourcesContent":["import { EventEmitter, InjectionSymbols, inject, injectable, Repository, type StorageService } from '@credo-ts/core'\n\nimport { DrpcRecord } from './DrpcRecord'\n\n@injectable()\nexport class DrpcRepository extends Repository<DrpcRecord> {\n public constructor(\n @inject(InjectionSymbols.StorageService) storageService: StorageService<DrpcRecord>,\n eventEmitter: EventEmitter\n ) {\n super(DrpcRecord, storageService, eventEmitter)\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcRepository.mjs","names":[],"sources":["../../src/repository/DrpcRepository.ts"],"sourcesContent":["import { EventEmitter, InjectionSymbols, inject, injectable, Repository, type StorageService } from '@credo-ts/core'\n\nimport { DrpcRecord } from './DrpcRecord'\n\n@injectable()\nexport class DrpcRepository extends Repository<DrpcRecord> {\n public constructor(\n @inject(InjectionSymbols.StorageService) storageService: StorageService<DrpcRecord>,\n eventEmitter: EventEmitter\n ) {\n super(DrpcRecord, storageService, eventEmitter)\n }\n}\n"],"mappings":";;;;;;AAKO,IAAM,iBAAN,MAAM,uBAAuB,WAAuB;CACzD,YACE,gBACA,cACA;EACA,MAAM,YAAY,gBAAgB,YAAY;CAChD;AACF;;CARC,WAAW;CAGP,gBAAA,GAAA,OAAO,iBAAiB,cAAc,CAAA"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { CustomDrpcMessageTags, DefaultDrpcMessageTags, DrpcMessageTags, DrpcRecord, DrpcStorageProps } from "./DrpcRecord.mjs";
|
|
2
|
-
import { DrpcRepository } from "./DrpcRepository.mjs";
|
|
2
|
+
import { DrpcRepository } from "./DrpcRepository.mjs";
|
|
3
|
+
export { CustomDrpcMessageTags, DefaultDrpcMessageTags, DrpcMessageTags, DrpcRecord, DrpcRepository, DrpcStorageProps };
|
|
@@ -6,9 +6,8 @@ import { DrpcRepository } from "../repository/DrpcRepository.mjs";
|
|
|
6
6
|
import "../repository/index.mjs";
|
|
7
7
|
import { AgentContext, EventEmitter, Query, QueryOptions } from "@credo-ts/core";
|
|
8
8
|
import { DidCommInboundMessageContext } from "@credo-ts/didcomm";
|
|
9
|
-
|
|
10
9
|
//#region src/services/DrpcService.d.ts
|
|
11
|
-
declare class DrpcService {
|
|
10
|
+
export declare class DrpcService {
|
|
12
11
|
private drpcMessageRepository;
|
|
13
12
|
private eventEmitter;
|
|
14
13
|
constructor(drpcMessageRepository: DrpcRepository, eventEmitter: EventEmitter);
|
|
@@ -38,5 +37,4 @@ declare class DrpcService {
|
|
|
38
37
|
deleteById(agentContext: AgentContext, drpcMessageRecordId: string): Promise<void>;
|
|
39
38
|
}
|
|
40
39
|
//#endregion
|
|
41
|
-
export { DrpcService };
|
|
42
40
|
//# sourceMappingURL=DrpcService.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcService.d.mts","names":[],"sources":["../../src/services/DrpcService.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrpcService.d.mts","names":[],"sources":["../../src/services/DrpcService.ts"],"mappings":";;;;;;;;;qBAaa;UACH;UACA;EAEW,YAAA,uBAAuB,gBAAgB,cAAc;EAK3D,qBAAqB,cAAc,cAAc,SAAS,aAAa,uBAAoB;;;;EAiB3F,sBAAsB,cAAc,cAAc,UAAU,cAAc,YAAY,aAAU;;;;EAatG,sBACL,WAAW;IAAU,mBAAmB;IAAY;eAAwC;EAgBvF,uBACL,WAAW;IAAU,mBAAmB;IAAY;eAAwC;EAejF,gBAAgB,gBAAgB,6BAA6B,uBAAoB,QAAA;EAqBjF,eAAe,gBAAgB,6BAA6B,sBAAmB,QAAA;UAwBpF;UA0BM;EAOP,4BACL,cAAc,cACd,sBACA,mBACC,QAAQ;EAOE,eAAe,cAAc,cAAc,OAAO,MAAM,aAAa,eAAe,eAAY,QAAA;EAIhG,QAAQ,cAAc,cAAc,8BAA2B,QAAA;EAI/D,WAAW,cAAc,cAAc,8BAA2B"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
1
|
+
import "../models/DrpcRole.mjs";
|
|
2
|
+
import "../models/DrpcState.mjs";
|
|
3
3
|
import { isValidDrpcRequest } from "../models/ValidRequest.mjs";
|
|
4
4
|
import { isValidDrpcResponse } from "../models/ValidResponse.mjs";
|
|
5
5
|
import "../models/index.mjs";
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import
|
|
6
|
+
import "../DrpcRequestEvents.mjs";
|
|
7
|
+
import "../DrpcResponseEvents.mjs";
|
|
8
|
+
import __decorateMetadata from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorateMetadata.mjs";
|
|
9
|
+
import __decorate from "../_virtual/_@oxc-project_runtime@0.151.0/helpers/esm/decorate.mjs";
|
|
10
10
|
import { DrpcRequestMessage } from "../messages/DrpcRequestMessage.mjs";
|
|
11
11
|
import { DrpcResponseMessage } from "../messages/DrpcResponseMessage.mjs";
|
|
12
12
|
import "../messages/index.mjs";
|
|
@@ -14,9 +14,7 @@ import { DrpcRecord } from "../repository/DrpcRecord.mjs";
|
|
|
14
14
|
import { DrpcRepository } from "../repository/DrpcRepository.mjs";
|
|
15
15
|
import "../repository/index.mjs";
|
|
16
16
|
import { EventEmitter, injectable } from "@credo-ts/core";
|
|
17
|
-
|
|
18
17
|
//#region src/services/DrpcService.ts
|
|
19
|
-
var _ref, _ref2;
|
|
20
18
|
let DrpcService = class DrpcService {
|
|
21
19
|
constructor(drpcMessageRepository, eventEmitter) {
|
|
22
20
|
this.drpcMessageRepository = drpcMessageRepository;
|
|
@@ -27,9 +25,9 @@ let DrpcService = class DrpcService {
|
|
|
27
25
|
const drpcMessageRecord = new DrpcRecord({
|
|
28
26
|
request,
|
|
29
27
|
connectionId,
|
|
30
|
-
state:
|
|
28
|
+
state: "request-sent",
|
|
31
29
|
threadId: drpcMessage.threadId,
|
|
32
|
-
role:
|
|
30
|
+
role: "client"
|
|
33
31
|
});
|
|
34
32
|
await this.drpcMessageRepository.save(agentContext, drpcMessageRecord);
|
|
35
33
|
this.emitStateChangedEvent(agentContext, drpcMessageRecord);
|
|
@@ -43,10 +41,10 @@ let DrpcService = class DrpcService {
|
|
|
43
41
|
response,
|
|
44
42
|
threadId: drpcRecord.threadId
|
|
45
43
|
});
|
|
46
|
-
drpcRecord.assertState(
|
|
44
|
+
drpcRecord.assertState("request-received");
|
|
47
45
|
drpcRecord.response = response;
|
|
48
46
|
drpcRecord.request = void 0;
|
|
49
|
-
await this.updateState(agentContext, drpcRecord,
|
|
47
|
+
await this.updateState(agentContext, drpcRecord, "completed");
|
|
50
48
|
return {
|
|
51
49
|
responseMessage: drpcMessage,
|
|
52
50
|
record: drpcRecord
|
|
@@ -57,12 +55,12 @@ let DrpcService = class DrpcService {
|
|
|
57
55
|
const { drpcMessageRecord } = event.payload;
|
|
58
56
|
await callback({
|
|
59
57
|
drpcMessageRecord,
|
|
60
|
-
removeListener: () => this.eventEmitter.off(
|
|
58
|
+
removeListener: () => this.eventEmitter.off("DrpcRequestStateChanged", listener)
|
|
61
59
|
});
|
|
62
60
|
};
|
|
63
|
-
this.eventEmitter.on(
|
|
61
|
+
this.eventEmitter.on("DrpcRequestStateChanged", listener);
|
|
64
62
|
return () => {
|
|
65
|
-
this.eventEmitter.off(
|
|
63
|
+
this.eventEmitter.off("DrpcRequestStateChanged", listener);
|
|
66
64
|
};
|
|
67
65
|
}
|
|
68
66
|
createResponseListener(callback) {
|
|
@@ -70,23 +68,23 @@ let DrpcService = class DrpcService {
|
|
|
70
68
|
const { drpcMessageRecord } = event.payload;
|
|
71
69
|
await callback({
|
|
72
70
|
drpcMessageRecord,
|
|
73
|
-
removeListener: () => this.eventEmitter.off(
|
|
71
|
+
removeListener: () => this.eventEmitter.off("DrpcResponseStateChanged", listener)
|
|
74
72
|
});
|
|
75
73
|
};
|
|
76
|
-
this.eventEmitter.on(
|
|
74
|
+
this.eventEmitter.on("DrpcResponseStateChanged", listener);
|
|
77
75
|
return () => {
|
|
78
|
-
this.eventEmitter.off(
|
|
76
|
+
this.eventEmitter.off("DrpcResponseStateChanged", listener);
|
|
79
77
|
};
|
|
80
78
|
}
|
|
81
79
|
async receiveResponse(messageContext) {
|
|
82
80
|
const connection = messageContext.assertReadyConnection();
|
|
83
81
|
const drpcMessageRecord = await this.findByThreadAndConnectionId(messageContext.agentContext, connection.id, messageContext.message.threadId);
|
|
84
82
|
if (!drpcMessageRecord) throw new Error("DRPC message record not found");
|
|
85
|
-
drpcMessageRecord.assertRole(
|
|
86
|
-
drpcMessageRecord.assertState(
|
|
83
|
+
drpcMessageRecord.assertRole("client");
|
|
84
|
+
drpcMessageRecord.assertState("request-sent");
|
|
87
85
|
drpcMessageRecord.response = messageContext.message.response;
|
|
88
86
|
drpcMessageRecord.request = void 0;
|
|
89
|
-
await this.updateState(messageContext.agentContext, drpcMessageRecord,
|
|
87
|
+
await this.updateState(messageContext.agentContext, drpcMessageRecord, "completed");
|
|
90
88
|
return drpcMessageRecord;
|
|
91
89
|
}
|
|
92
90
|
async receiveRequest(messageContext) {
|
|
@@ -95,8 +93,8 @@ let DrpcService = class DrpcService {
|
|
|
95
93
|
const drpcMessageRecord = new DrpcRecord({
|
|
96
94
|
request: messageContext.message.request,
|
|
97
95
|
connectionId: connection.id,
|
|
98
|
-
role:
|
|
99
|
-
state:
|
|
96
|
+
role: "server",
|
|
97
|
+
state: "request-received",
|
|
100
98
|
threadId: messageContext.message.id
|
|
101
99
|
});
|
|
102
100
|
await this.drpcMessageRepository.save(messageContext.agentContext, drpcMessageRecord);
|
|
@@ -105,11 +103,11 @@ let DrpcService = class DrpcService {
|
|
|
105
103
|
}
|
|
106
104
|
emitStateChangedEvent(agentContext, drpcMessageRecord) {
|
|
107
105
|
if (drpcMessageRecord.request && (isValidDrpcRequest(drpcMessageRecord.request) || Array.isArray(drpcMessageRecord.request) && drpcMessageRecord.request.length > 0 && isValidDrpcRequest(drpcMessageRecord.request[0]))) this.eventEmitter.emit(agentContext, {
|
|
108
|
-
type:
|
|
106
|
+
type: "DrpcRequestStateChanged",
|
|
109
107
|
payload: { drpcMessageRecord: drpcMessageRecord.clone() }
|
|
110
108
|
});
|
|
111
109
|
else if (drpcMessageRecord.response && (isValidDrpcResponse(drpcMessageRecord.response) || Array.isArray(drpcMessageRecord.response) && drpcMessageRecord.response.length > 0 && isValidDrpcResponse(drpcMessageRecord.response[0]))) this.eventEmitter.emit(agentContext, {
|
|
112
|
-
type:
|
|
110
|
+
type: "DrpcResponseStateChanged",
|
|
113
111
|
payload: { drpcMessageRecord: drpcMessageRecord.clone() }
|
|
114
112
|
});
|
|
115
113
|
}
|
|
@@ -135,8 +133,8 @@ let DrpcService = class DrpcService {
|
|
|
135
133
|
return this.drpcMessageRepository.delete(agentContext, drpcMessageRecord);
|
|
136
134
|
}
|
|
137
135
|
};
|
|
138
|
-
DrpcService = __decorate([injectable(), __decorateMetadata("design:paramtypes", [typeof
|
|
139
|
-
|
|
136
|
+
DrpcService = __decorate([injectable(), __decorateMetadata("design:paramtypes", [typeof DrpcRepository === "undefined" ? Object : DrpcRepository, typeof EventEmitter === "undefined" ? Object : EventEmitter])], DrpcService);
|
|
140
137
|
//#endregion
|
|
141
138
|
export { DrpcService };
|
|
139
|
+
|
|
142
140
|
//# sourceMappingURL=DrpcService.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrpcService.mjs","names":[],"sources":["../../src/services/DrpcService.ts"],"sourcesContent":["import type { AgentContext, Query, QueryOptions } from '@credo-ts/core'\nimport { EventEmitter, injectable } from '@credo-ts/core'\nimport type { DidCommInboundMessageContext } from '@credo-ts/didcomm'\nimport type { DrpcRequestStateChangedEvent } from '../DrpcRequestEvents'\nimport { DrpcRequestEventTypes } from '../DrpcRequestEvents'\nimport type { DrpcResponseStateChangedEvent } from '../DrpcResponseEvents'\nimport { DrpcResponseEventTypes } from '../DrpcResponseEvents'\nimport type { DrpcRequest, DrpcResponse } from '../messages'\nimport { DrpcRequestMessage, DrpcResponseMessage } from '../messages'\nimport { DrpcRole, DrpcState, isValidDrpcRequest, isValidDrpcResponse } from '../models'\nimport { DrpcRecord, DrpcRepository } from '../repository'\n\n@injectable()\nexport class DrpcService {\n private drpcMessageRepository: DrpcRepository\n private eventEmitter: EventEmitter\n\n public constructor(drpcMessageRepository: DrpcRepository, eventEmitter: EventEmitter) {\n this.drpcMessageRepository = drpcMessageRepository\n this.eventEmitter = eventEmitter\n }\n\n public async createRequestMessage(agentContext: AgentContext, request: DrpcRequest, connectionId: string) {\n const drpcMessage = new DrpcRequestMessage({ request })\n\n const drpcMessageRecord = new DrpcRecord({\n request,\n connectionId,\n state: DrpcState.RequestSent,\n threadId: drpcMessage.threadId,\n role: DrpcRole.Client,\n })\n\n await this.drpcMessageRepository.save(agentContext, drpcMessageRecord)\n this.emitStateChangedEvent(agentContext, drpcMessageRecord)\n\n return { requestMessage: drpcMessage, record: drpcMessageRecord }\n }\n\n public async createResponseMessage(agentContext: AgentContext, response: DrpcResponse, drpcRecord: DrpcRecord) {\n const drpcMessage = new DrpcResponseMessage({ response, threadId: drpcRecord.threadId })\n\n drpcRecord.assertState(DrpcState.RequestReceived)\n\n drpcRecord.response = response\n drpcRecord.request = undefined\n\n await this.updateState(agentContext, drpcRecord, DrpcState.Completed)\n\n return { responseMessage: drpcMessage, record: drpcRecord }\n }\n\n public createRequestListener(\n callback: (params: { drpcMessageRecord: DrpcRecord; removeListener: () => void }) => void | Promise<void>\n ) {\n const listener = async (event: DrpcRequestStateChangedEvent) => {\n const { drpcMessageRecord } = event.payload\n await callback({\n drpcMessageRecord,\n removeListener: () => this.eventEmitter.off(DrpcRequestEventTypes.DrpcRequestStateChanged, listener),\n })\n }\n this.eventEmitter.on(DrpcRequestEventTypes.DrpcRequestStateChanged, listener)\n\n return () => {\n this.eventEmitter.off(DrpcRequestEventTypes.DrpcRequestStateChanged, listener)\n }\n }\n\n public createResponseListener(\n callback: (params: { drpcMessageRecord: DrpcRecord; removeListener: () => void }) => void | Promise<void>\n ) {\n const listener = async (event: DrpcResponseStateChangedEvent) => {\n const { drpcMessageRecord } = event.payload\n await callback({\n drpcMessageRecord,\n removeListener: () => this.eventEmitter.off(DrpcResponseEventTypes.DrpcResponseStateChanged, listener),\n })\n }\n this.eventEmitter.on(DrpcResponseEventTypes.DrpcResponseStateChanged, listener)\n return () => {\n this.eventEmitter.off(DrpcResponseEventTypes.DrpcResponseStateChanged, listener)\n }\n }\n\n public async receiveResponse(messageContext: DidCommInboundMessageContext<DrpcResponseMessage>) {\n const connection = messageContext.assertReadyConnection()\n const drpcMessageRecord = await this.findByThreadAndConnectionId(\n messageContext.agentContext,\n connection.id,\n messageContext.message.threadId\n )\n\n if (!drpcMessageRecord) {\n throw new Error('DRPC message record not found')\n }\n\n drpcMessageRecord.assertRole(DrpcRole.Client)\n drpcMessageRecord.assertState(DrpcState.RequestSent)\n drpcMessageRecord.response = messageContext.message.response\n drpcMessageRecord.request = undefined\n\n await this.updateState(messageContext.agentContext, drpcMessageRecord, DrpcState.Completed)\n return drpcMessageRecord\n }\n\n public async receiveRequest(messageContext: DidCommInboundMessageContext<DrpcRequestMessage>) {\n const connection = messageContext.assertReadyConnection()\n const record = await this.findByThreadAndConnectionId(\n messageContext.agentContext,\n connection.id,\n messageContext.message.threadId\n )\n\n if (record) {\n throw new Error('DRPC message record already exists')\n }\n const drpcMessageRecord = new DrpcRecord({\n request: messageContext.message.request,\n connectionId: connection.id,\n role: DrpcRole.Server,\n state: DrpcState.RequestReceived,\n threadId: messageContext.message.id,\n })\n\n await this.drpcMessageRepository.save(messageContext.agentContext, drpcMessageRecord)\n this.emitStateChangedEvent(messageContext.agentContext, drpcMessageRecord)\n return drpcMessageRecord\n }\n\n private emitStateChangedEvent(agentContext: AgentContext, drpcMessageRecord: DrpcRecord) {\n if (\n drpcMessageRecord.request &&\n (isValidDrpcRequest(drpcMessageRecord.request) ||\n (Array.isArray(drpcMessageRecord.request) &&\n drpcMessageRecord.request.length > 0 &&\n isValidDrpcRequest(drpcMessageRecord.request[0])))\n ) {\n this.eventEmitter.emit<DrpcRequestStateChangedEvent>(agentContext, {\n type: DrpcRequestEventTypes.DrpcRequestStateChanged,\n payload: { drpcMessageRecord: drpcMessageRecord.clone() },\n })\n } else if (\n drpcMessageRecord.response &&\n (isValidDrpcResponse(drpcMessageRecord.response) ||\n (Array.isArray(drpcMessageRecord.response) &&\n drpcMessageRecord.response.length > 0 &&\n isValidDrpcResponse(drpcMessageRecord.response[0])))\n ) {\n this.eventEmitter.emit<DrpcResponseStateChangedEvent>(agentContext, {\n type: DrpcResponseEventTypes.DrpcResponseStateChanged,\n payload: { drpcMessageRecord: drpcMessageRecord.clone() },\n })\n }\n }\n\n private async updateState(agentContext: AgentContext, drpcRecord: DrpcRecord, newState: DrpcState) {\n drpcRecord.state = newState\n await this.drpcMessageRepository.update(agentContext, drpcRecord)\n\n this.emitStateChangedEvent(agentContext, drpcRecord)\n }\n\n public findByThreadAndConnectionId(\n agentContext: AgentContext,\n connectionId: string,\n threadId: string\n ): Promise<DrpcRecord | null> {\n return this.drpcMessageRepository.findSingleByQuery(agentContext, {\n connectionId,\n threadId,\n })\n }\n\n public async findAllByQuery(agentContext: AgentContext, query: Query<DrpcRecord>, queryOptions?: QueryOptions) {\n return this.drpcMessageRepository.findByQuery(agentContext, query, queryOptions)\n }\n\n public async getById(agentContext: AgentContext, drpcMessageRecordId: string) {\n return this.drpcMessageRepository.getById(agentContext, drpcMessageRecordId)\n }\n\n public async deleteById(agentContext: AgentContext, drpcMessageRecordId: string) {\n const drpcMessageRecord = await this.getById(agentContext, drpcMessageRecordId)\n return this.drpcMessageRepository.delete(agentContext, drpcMessageRecord)\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DrpcService.mjs","names":[],"sources":["../../src/services/DrpcService.ts"],"sourcesContent":["import type { AgentContext, Query, QueryOptions } from '@credo-ts/core'\nimport { EventEmitter, injectable } from '@credo-ts/core'\nimport type { DidCommInboundMessageContext } from '@credo-ts/didcomm'\nimport type { DrpcRequestStateChangedEvent } from '../DrpcRequestEvents'\nimport { DrpcRequestEventTypes } from '../DrpcRequestEvents'\nimport type { DrpcResponseStateChangedEvent } from '../DrpcResponseEvents'\nimport { DrpcResponseEventTypes } from '../DrpcResponseEvents'\nimport type { DrpcRequest, DrpcResponse } from '../messages'\nimport { DrpcRequestMessage, DrpcResponseMessage } from '../messages'\nimport { DrpcRole, DrpcState, isValidDrpcRequest, isValidDrpcResponse } from '../models'\nimport { DrpcRecord, DrpcRepository } from '../repository'\n\n@injectable()\nexport class DrpcService {\n private drpcMessageRepository: DrpcRepository\n private eventEmitter: EventEmitter\n\n public constructor(drpcMessageRepository: DrpcRepository, eventEmitter: EventEmitter) {\n this.drpcMessageRepository = drpcMessageRepository\n this.eventEmitter = eventEmitter\n }\n\n public async createRequestMessage(agentContext: AgentContext, request: DrpcRequest, connectionId: string) {\n const drpcMessage = new DrpcRequestMessage({ request })\n\n const drpcMessageRecord = new DrpcRecord({\n request,\n connectionId,\n state: DrpcState.RequestSent,\n threadId: drpcMessage.threadId,\n role: DrpcRole.Client,\n })\n\n await this.drpcMessageRepository.save(agentContext, drpcMessageRecord)\n this.emitStateChangedEvent(agentContext, drpcMessageRecord)\n\n return { requestMessage: drpcMessage, record: drpcMessageRecord }\n }\n\n public async createResponseMessage(agentContext: AgentContext, response: DrpcResponse, drpcRecord: DrpcRecord) {\n const drpcMessage = new DrpcResponseMessage({ response, threadId: drpcRecord.threadId })\n\n drpcRecord.assertState(DrpcState.RequestReceived)\n\n drpcRecord.response = response\n drpcRecord.request = undefined\n\n await this.updateState(agentContext, drpcRecord, DrpcState.Completed)\n\n return { responseMessage: drpcMessage, record: drpcRecord }\n }\n\n public createRequestListener(\n callback: (params: { drpcMessageRecord: DrpcRecord; removeListener: () => void }) => void | Promise<void>\n ) {\n const listener = async (event: DrpcRequestStateChangedEvent) => {\n const { drpcMessageRecord } = event.payload\n await callback({\n drpcMessageRecord,\n removeListener: () => this.eventEmitter.off(DrpcRequestEventTypes.DrpcRequestStateChanged, listener),\n })\n }\n this.eventEmitter.on(DrpcRequestEventTypes.DrpcRequestStateChanged, listener)\n\n return () => {\n this.eventEmitter.off(DrpcRequestEventTypes.DrpcRequestStateChanged, listener)\n }\n }\n\n public createResponseListener(\n callback: (params: { drpcMessageRecord: DrpcRecord; removeListener: () => void }) => void | Promise<void>\n ) {\n const listener = async (event: DrpcResponseStateChangedEvent) => {\n const { drpcMessageRecord } = event.payload\n await callback({\n drpcMessageRecord,\n removeListener: () => this.eventEmitter.off(DrpcResponseEventTypes.DrpcResponseStateChanged, listener),\n })\n }\n this.eventEmitter.on(DrpcResponseEventTypes.DrpcResponseStateChanged, listener)\n return () => {\n this.eventEmitter.off(DrpcResponseEventTypes.DrpcResponseStateChanged, listener)\n }\n }\n\n public async receiveResponse(messageContext: DidCommInboundMessageContext<DrpcResponseMessage>) {\n const connection = messageContext.assertReadyConnection()\n const drpcMessageRecord = await this.findByThreadAndConnectionId(\n messageContext.agentContext,\n connection.id,\n messageContext.message.threadId\n )\n\n if (!drpcMessageRecord) {\n throw new Error('DRPC message record not found')\n }\n\n drpcMessageRecord.assertRole(DrpcRole.Client)\n drpcMessageRecord.assertState(DrpcState.RequestSent)\n drpcMessageRecord.response = messageContext.message.response\n drpcMessageRecord.request = undefined\n\n await this.updateState(messageContext.agentContext, drpcMessageRecord, DrpcState.Completed)\n return drpcMessageRecord\n }\n\n public async receiveRequest(messageContext: DidCommInboundMessageContext<DrpcRequestMessage>) {\n const connection = messageContext.assertReadyConnection()\n const record = await this.findByThreadAndConnectionId(\n messageContext.agentContext,\n connection.id,\n messageContext.message.threadId\n )\n\n if (record) {\n throw new Error('DRPC message record already exists')\n }\n const drpcMessageRecord = new DrpcRecord({\n request: messageContext.message.request,\n connectionId: connection.id,\n role: DrpcRole.Server,\n state: DrpcState.RequestReceived,\n threadId: messageContext.message.id,\n })\n\n await this.drpcMessageRepository.save(messageContext.agentContext, drpcMessageRecord)\n this.emitStateChangedEvent(messageContext.agentContext, drpcMessageRecord)\n return drpcMessageRecord\n }\n\n private emitStateChangedEvent(agentContext: AgentContext, drpcMessageRecord: DrpcRecord) {\n if (\n drpcMessageRecord.request &&\n (isValidDrpcRequest(drpcMessageRecord.request) ||\n (Array.isArray(drpcMessageRecord.request) &&\n drpcMessageRecord.request.length > 0 &&\n isValidDrpcRequest(drpcMessageRecord.request[0])))\n ) {\n this.eventEmitter.emit<DrpcRequestStateChangedEvent>(agentContext, {\n type: DrpcRequestEventTypes.DrpcRequestStateChanged,\n payload: { drpcMessageRecord: drpcMessageRecord.clone() },\n })\n } else if (\n drpcMessageRecord.response &&\n (isValidDrpcResponse(drpcMessageRecord.response) ||\n (Array.isArray(drpcMessageRecord.response) &&\n drpcMessageRecord.response.length > 0 &&\n isValidDrpcResponse(drpcMessageRecord.response[0])))\n ) {\n this.eventEmitter.emit<DrpcResponseStateChangedEvent>(agentContext, {\n type: DrpcResponseEventTypes.DrpcResponseStateChanged,\n payload: { drpcMessageRecord: drpcMessageRecord.clone() },\n })\n }\n }\n\n private async updateState(agentContext: AgentContext, drpcRecord: DrpcRecord, newState: DrpcState) {\n drpcRecord.state = newState\n await this.drpcMessageRepository.update(agentContext, drpcRecord)\n\n this.emitStateChangedEvent(agentContext, drpcRecord)\n }\n\n public findByThreadAndConnectionId(\n agentContext: AgentContext,\n connectionId: string,\n threadId: string\n ): Promise<DrpcRecord | null> {\n return this.drpcMessageRepository.findSingleByQuery(agentContext, {\n connectionId,\n threadId,\n })\n }\n\n public async findAllByQuery(agentContext: AgentContext, query: Query<DrpcRecord>, queryOptions?: QueryOptions) {\n return this.drpcMessageRepository.findByQuery(agentContext, query, queryOptions)\n }\n\n public async getById(agentContext: AgentContext, drpcMessageRecordId: string) {\n return this.drpcMessageRepository.getById(agentContext, drpcMessageRecordId)\n }\n\n public async deleteById(agentContext: AgentContext, drpcMessageRecordId: string) {\n const drpcMessageRecord = await this.getById(agentContext, drpcMessageRecordId)\n return this.drpcMessageRepository.delete(agentContext, drpcMessageRecord)\n }\n}\n"],"mappings":"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"}
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
import { DrpcService } from "./DrpcService.mjs";
|
|
1
|
+
import { DrpcService } from "./DrpcService.mjs";
|
|
2
|
+
export { DrpcService };
|
package/build/services/index.mjs
CHANGED
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
".": "./build/index.mjs",
|
|
5
5
|
"./package.json": "./package.json"
|
|
6
6
|
},
|
|
7
|
-
"version": "0.7.2
|
|
7
|
+
"version": "0.7.2",
|
|
8
8
|
"files": [
|
|
9
9
|
"build"
|
|
10
10
|
],
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"class-transformer": "0.5.1",
|
|
23
23
|
"class-validator": "^0.14.3",
|
|
24
|
-
"@credo-ts/core": "0.7.2
|
|
25
|
-
"@credo-ts/didcomm": "0.7.2
|
|
24
|
+
"@credo-ts/core": "0.7.2",
|
|
25
|
+
"@credo-ts/didcomm": "0.7.2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"reflect-metadata": "0.2.2",
|
|
29
29
|
"typescript": "~5.9.3",
|
|
30
|
-
"@credo-ts/node": "0.7.2
|
|
30
|
+
"@credo-ts/node": "0.7.2"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "tsdown --config-loader unrun"
|