@credo-ts/action-menu 0.6.1-pr-2091-20241119140918 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/ActionMenuApi.d.mts +59 -0
- package/build/ActionMenuApi.d.mts.map +1 -0
- package/build/ActionMenuApi.mjs +117 -0
- package/build/ActionMenuApi.mjs.map +1 -0
- package/build/ActionMenuApiOptions.d.mts +42 -0
- package/build/ActionMenuApiOptions.d.mts.map +1 -0
- package/build/ActionMenuEvents.d.mts +25 -0
- package/build/ActionMenuEvents.d.mts.map +1 -0
- package/build/ActionMenuEvents.mjs +12 -0
- package/build/ActionMenuEvents.mjs.map +1 -0
- package/build/ActionMenuModule.d.mts +19 -0
- package/build/ActionMenuModule.d.mts.map +1 -0
- package/build/ActionMenuModule.mjs +48 -0
- package/build/ActionMenuModule.mjs.map +1 -0
- package/build/ActionMenuRole.d.mts +14 -0
- package/build/ActionMenuRole.d.mts.map +1 -0
- package/build/ActionMenuRole.mjs +16 -0
- package/build/ActionMenuRole.mjs.map +1 -0
- package/build/ActionMenuState.d.mts +18 -0
- package/build/ActionMenuState.d.mts.map +1 -0
- package/build/ActionMenuState.mjs +20 -0
- package/build/ActionMenuState.mjs.map +1 -0
- package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs +10 -0
- package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs +7 -0
- package/build/_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateParam.mjs +9 -0
- package/build/errors/ActionMenuProblemReportError.mjs +22 -0
- package/build/errors/ActionMenuProblemReportError.mjs.map +1 -0
- package/build/errors/ActionMenuProblemReportReason.mjs +15 -0
- package/build/errors/ActionMenuProblemReportReason.mjs.map +1 -0
- package/build/handlers/ActionMenuProblemReportHandler.mjs +20 -0
- package/build/handlers/ActionMenuProblemReportHandler.mjs.map +1 -0
- package/build/handlers/MenuMessageHandler.mjs +21 -0
- package/build/handlers/MenuMessageHandler.mjs.map +1 -0
- package/build/handlers/MenuRequestMessageHandler.mjs +21 -0
- package/build/handlers/MenuRequestMessageHandler.mjs.map +1 -0
- package/build/handlers/PerformMessageHandler.mjs +21 -0
- package/build/handlers/PerformMessageHandler.mjs.map +1 -0
- package/build/handlers/index.mjs +4 -0
- package/build/index.d.mts +20 -0
- package/build/index.mjs +21 -0
- package/build/messages/ActionMenuProblemReportMessage.d.mts +16 -0
- package/build/messages/ActionMenuProblemReportMessage.d.mts.map +1 -0
- package/build/messages/ActionMenuProblemReportMessage.mjs +21 -0
- package/build/messages/ActionMenuProblemReportMessage.mjs.map +1 -0
- package/build/messages/MenuMessage.d.mts +32 -0
- package/build/messages/MenuMessage.d.mts.map +1 -0
- package/build/messages/MenuMessage.mjs +45 -0
- package/build/messages/MenuMessage.mjs.map +1 -0
- package/build/messages/MenuRequestMessage.d.mts +21 -0
- package/build/messages/MenuRequestMessage.d.mts.map +1 -0
- package/build/messages/MenuRequestMessage.mjs +21 -0
- package/build/messages/MenuRequestMessage.mjs.map +1 -0
- package/build/messages/PerformMessage.d.mts +26 -0
- package/build/messages/PerformMessage.d.mts.map +1 -0
- package/build/messages/PerformMessage.mjs +34 -0
- package/build/messages/PerformMessage.mjs.map +1 -0
- package/build/messages/index.d.mts +4 -0
- package/build/messages/index.mjs +4 -0
- package/build/models/ActionMenu.d.mts +24 -0
- package/build/models/ActionMenu.d.mts.map +1 -0
- package/build/models/ActionMenu.mjs +30 -0
- package/build/models/ActionMenu.mjs.map +1 -0
- package/build/models/ActionMenuOption.d.mts +28 -0
- package/build/models/ActionMenuOption.d.mts.map +1 -0
- package/build/models/ActionMenuOption.mjs +40 -0
- package/build/models/ActionMenuOption.mjs.map +1 -0
- package/build/models/ActionMenuOptionForm.d.mts +24 -0
- package/build/models/ActionMenuOptionForm.d.mts.map +1 -0
- package/build/models/ActionMenuOptionForm.mjs +34 -0
- package/build/models/ActionMenuOptionForm.mjs.map +1 -0
- package/build/models/ActionMenuOptionFormParameter.d.mts +33 -0
- package/build/models/ActionMenuOptionFormParameter.d.mts.map +1 -0
- package/build/models/ActionMenuOptionFormParameter.mjs +50 -0
- package/build/models/ActionMenuOptionFormParameter.mjs.map +1 -0
- package/build/models/ActionMenuSelection.d.mts +19 -0
- package/build/models/ActionMenuSelection.d.mts.map +1 -0
- package/build/models/ActionMenuSelection.mjs +27 -0
- package/build/models/ActionMenuSelection.mjs.map +1 -0
- package/build/models/index.mjs +5 -0
- package/build/repository/ActionMenuRecord.d.mts +58 -0
- package/build/repository/ActionMenuRecord.d.mts.map +1 -0
- package/build/repository/ActionMenuRecord.mjs +52 -0
- package/build/repository/ActionMenuRecord.mjs.map +1 -0
- package/build/repository/ActionMenuRepository.d.mts +14 -0
- package/build/repository/ActionMenuRepository.d.mts.map +1 -0
- package/build/repository/ActionMenuRepository.mjs +22 -0
- package/build/repository/ActionMenuRepository.mjs.map +1 -0
- package/build/repository/index.d.mts +2 -0
- package/build/repository/index.mjs +2 -0
- package/build/services/ActionMenuService.d.mts +46 -0
- package/build/services/ActionMenuService.d.mts.map +1 -0
- package/build/services/ActionMenuService.mjs +258 -0
- package/build/services/ActionMenuService.mjs.map +1 -0
- package/build/services/ActionMenuServiceOptions.d.mts +45 -0
- package/build/services/ActionMenuServiceOptions.d.mts.map +1 -0
- package/build/services/index.d.mts +2 -0
- package/build/services/index.mjs +1 -0
- package/package.json +15 -14
- package/build/ActionMenuApi.d.ts +0 -50
- package/build/ActionMenuApi.js +0 -135
- package/build/ActionMenuApi.js.map +0 -1
- package/build/ActionMenuApiOptions.d.ts +0 -36
- package/build/ActionMenuApiOptions.js +0 -3
- package/build/ActionMenuApiOptions.js.map +0 -1
- package/build/ActionMenuEvents.d.ts +0 -19
- package/build/ActionMenuEvents.js +0 -11
- package/build/ActionMenuEvents.js.map +0 -1
- package/build/ActionMenuModule.d.ts +0 -12
- package/build/ActionMenuModule.js +0 -32
- package/build/ActionMenuModule.js.map +0 -1
- package/build/ActionMenuRole.d.ts +0 -10
- package/build/ActionMenuRole.js +0 -15
- package/build/ActionMenuRole.js.map +0 -1
- package/build/ActionMenuState.d.ts +0 -14
- package/build/ActionMenuState.js +0 -19
- package/build/ActionMenuState.js.map +0 -1
- package/build/errors/ActionMenuProblemReportError.d.ts +0 -19
- package/build/errors/ActionMenuProblemReportError.js +0 -22
- package/build/errors/ActionMenuProblemReportError.js.map +0 -1
- package/build/errors/ActionMenuProblemReportReason.d.ts +0 -9
- package/build/errors/ActionMenuProblemReportReason.js +0 -14
- package/build/errors/ActionMenuProblemReportReason.js.map +0 -1
- package/build/handlers/ActionMenuProblemReportHandler.d.ts +0 -12
- package/build/handlers/ActionMenuProblemReportHandler.js +0 -18
- package/build/handlers/ActionMenuProblemReportHandler.js.map +0 -1
- package/build/handlers/MenuMessageHandler.d.ts +0 -12
- package/build/handlers/MenuMessageHandler.js +0 -19
- package/build/handlers/MenuMessageHandler.js.map +0 -1
- package/build/handlers/MenuRequestMessageHandler.d.ts +0 -12
- package/build/handlers/MenuRequestMessageHandler.js +0 -19
- package/build/handlers/MenuRequestMessageHandler.js.map +0 -1
- package/build/handlers/PerformMessageHandler.d.ts +0 -12
- package/build/handlers/PerformMessageHandler.js +0 -19
- package/build/handlers/PerformMessageHandler.js.map +0 -1
- package/build/handlers/index.d.ts +0 -4
- package/build/handlers/index.js +0 -21
- package/build/handlers/index.js.map +0 -1
- package/build/index.d.ts +0 -9
- package/build/index.js +0 -26
- package/build/index.js.map +0 -1
- package/build/messages/ActionMenuProblemReportMessage.d.ts +0 -16
- package/build/messages/ActionMenuProblemReportMessage.js +0 -34
- package/build/messages/ActionMenuProblemReportMessage.js.map +0 -1
- package/build/messages/MenuMessage.d.ts +0 -26
- package/build/messages/MenuMessage.js +0 -64
- package/build/messages/MenuMessage.js.map +0 -1
- package/build/messages/MenuRequestMessage.d.ts +0 -15
- package/build/messages/MenuRequestMessage.js +0 -33
- package/build/messages/MenuRequestMessage.js.map +0 -1
- package/build/messages/PerformMessage.d.ts +0 -20
- package/build/messages/PerformMessage.js +0 -48
- package/build/messages/PerformMessage.js.map +0 -1
- package/build/messages/index.d.ts +0 -4
- package/build/messages/index.js +0 -21
- package/build/messages/index.js.map +0 -1
- package/build/models/ActionMenu.d.ts +0 -19
- package/build/models/ActionMenu.js +0 -42
- package/build/models/ActionMenu.js.map +0 -1
- package/build/models/ActionMenuOption.d.ts +0 -23
- package/build/models/ActionMenuOption.js +0 -56
- package/build/models/ActionMenuOption.js.map +0 -1
- package/build/models/ActionMenuOptionForm.d.ts +0 -19
- package/build/models/ActionMenuOptionForm.js +0 -43
- package/build/models/ActionMenuOptionForm.js.map +0 -1
- package/build/models/ActionMenuOptionFormParameter.d.ts +0 -29
- package/build/models/ActionMenuOptionFormParameter.js +0 -64
- package/build/models/ActionMenuOptionFormParameter.js.map +0 -1
- package/build/models/ActionMenuSelection.d.ts +0 -15
- package/build/models/ActionMenuSelection.js +0 -35
- package/build/models/ActionMenuSelection.js.map +0 -1
- package/build/models/index.d.ts +0 -5
- package/build/models/index.js +0 -22
- package/build/models/index.js.map +0 -1
- package/build/repository/ActionMenuRecord.d.ts +0 -52
- package/build/repository/ActionMenuRecord.js +0 -63
- package/build/repository/ActionMenuRecord.js.map +0 -1
- package/build/repository/ActionMenuRepository.d.ts +0 -8
- package/build/repository/ActionMenuRepository.js +0 -32
- package/build/repository/ActionMenuRepository.js.map +0 -1
- package/build/repository/index.d.ts +0 -2
- package/build/repository/index.js +0 -19
- package/build/repository/index.js.map +0 -1
- package/build/services/ActionMenuService.d.ts +0 -36
- package/build/services/ActionMenuService.js +0 -295
- package/build/services/ActionMenuService.js.map +0 -1
- package/build/services/ActionMenuServiceOptions.d.ts +0 -39
- package/build/services/ActionMenuServiceOptions.js +0 -3
- package/build/services/ActionMenuServiceOptions.js.map +0 -1
- package/build/services/index.d.ts +0 -2
- package/build/services/index.js +0 -19
- package/build/services/index.js.map +0 -1
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ActionMenuRecord } from "./repository/ActionMenuRecord.mjs";
|
|
2
|
+
import "./repository/index.mjs";
|
|
3
|
+
import { ClearActiveMenuOptions, FindActiveMenuOptions, PerformActionOptions, RequestMenuOptions, SendMenuOptions } from "./ActionMenuApiOptions.mjs";
|
|
4
|
+
import { ActionMenuService } from "./services/ActionMenuService.mjs";
|
|
5
|
+
import "./services/index.mjs";
|
|
6
|
+
import { AgentContext } from "@credo-ts/core";
|
|
7
|
+
import { DidCommConnectionService, DidCommMessageSender } from "@credo-ts/didcomm";
|
|
8
|
+
|
|
9
|
+
//#region src/ActionMenuApi.d.ts
|
|
10
|
+
/**
|
|
11
|
+
* @public
|
|
12
|
+
*/
|
|
13
|
+
declare class ActionMenuApi {
|
|
14
|
+
private connectionService;
|
|
15
|
+
private messageSender;
|
|
16
|
+
private actionMenuService;
|
|
17
|
+
private agentContext;
|
|
18
|
+
constructor(connectionService: DidCommConnectionService, messageSender: DidCommMessageSender, actionMenuService: ActionMenuService, agentContext: AgentContext);
|
|
19
|
+
/**
|
|
20
|
+
* Start Action Menu protocol as requester, asking for root menu. Any active menu will be cleared.
|
|
21
|
+
*
|
|
22
|
+
* @param options options for requesting menu
|
|
23
|
+
* @returns Action Menu record associated to this new request
|
|
24
|
+
*/
|
|
25
|
+
requestMenu(options: RequestMenuOptions): Promise<ActionMenuRecord>;
|
|
26
|
+
/**
|
|
27
|
+
* Send a new Action Menu as responder. This menu will be sent as response if there is an
|
|
28
|
+
* existing menu thread.
|
|
29
|
+
*
|
|
30
|
+
* @param options options for sending menu
|
|
31
|
+
* @returns Action Menu record associated to this action
|
|
32
|
+
*/
|
|
33
|
+
sendMenu(options: SendMenuOptions): Promise<ActionMenuRecord>;
|
|
34
|
+
/**
|
|
35
|
+
* Perform action in active Action Menu, as a requester. The related
|
|
36
|
+
* menu will be closed.
|
|
37
|
+
*
|
|
38
|
+
* @param options options for requesting menu
|
|
39
|
+
* @returns Action Menu record associated to this selection
|
|
40
|
+
*/
|
|
41
|
+
performAction(options: PerformActionOptions): Promise<ActionMenuRecord>;
|
|
42
|
+
/**
|
|
43
|
+
* Find the current active menu for a given connection and the specified role.
|
|
44
|
+
*
|
|
45
|
+
* @param options options for requesting active menu
|
|
46
|
+
* @returns Active Action Menu record, or null if no active menu found
|
|
47
|
+
*/
|
|
48
|
+
findActiveMenu(options: FindActiveMenuOptions): Promise<ActionMenuRecord | null>;
|
|
49
|
+
/**
|
|
50
|
+
* Clears the current active menu for a given connection and the specified role.
|
|
51
|
+
*
|
|
52
|
+
* @param options options for clearing active menu
|
|
53
|
+
* @returns Active Action Menu record, or null if no active menu record found
|
|
54
|
+
*/
|
|
55
|
+
clearActiveMenu(options: ClearActiveMenuOptions): Promise<ActionMenuRecord | null>;
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
export { ActionMenuApi };
|
|
59
|
+
//# sourceMappingURL=ActionMenuApi.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuApi.d.mts","names":[],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;cAiBa,aAAA;;EAAA,QAAA,aAAa;EAOH,QAAA,iBAAA;EACJ,QAAA,YAAA;EACI,WAAA,CAAA,iBAAA,EAFA,wBAEA,EAAA,aAAA,EADJ,oBACI,EAAA,iBAAA,EAAA,iBAAA,EAAA,YAAA,EACL,YADK;EACL;;;;;;EAuC8B,WAAA,CAAA,OAAA,EAzBZ,kBAyBY,CAAA,EAzBM,OAyBN,CAzBM,gBAAA,CAyBN;EA0BV;;;;;;;EA8CwB,QAAA,CAAA,OAAA,EAxE7B,eAwE6B,CAAA,EAxEd,OAwEc,CAxEd,gBAAA,CAwEc;EAAA;;;;;;;yBA9CxB,uBAAoB,QAAA,gBAAA;;;;;;;0BAiCnB,wBAAqB,QAAA,gBAAA;;;;;;;2BAapB,yBAAsB,QAAA,gBAAA"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { ActionMenuRole } from "./ActionMenuRole.mjs";
|
|
2
|
+
import { __decorateMetadata } from "./_virtual/_@oxc-project_runtime@0.99.0/helpers/decorateMetadata.mjs";
|
|
3
|
+
import { __decorate } from "./_virtual/_@oxc-project_runtime@0.99.0/helpers/decorate.mjs";
|
|
4
|
+
import { ActionMenuService } from "./services/ActionMenuService.mjs";
|
|
5
|
+
import "./services/index.mjs";
|
|
6
|
+
import { AgentContext, CredoError, injectable } from "@credo-ts/core";
|
|
7
|
+
import { DidCommConnectionService, DidCommMessageSender, getOutboundDidCommMessageContext } from "@credo-ts/didcomm";
|
|
8
|
+
|
|
9
|
+
//#region src/ActionMenuApi.ts
|
|
10
|
+
var _ref, _ref2, _ref3, _ref4;
|
|
11
|
+
let ActionMenuApi = class ActionMenuApi$1 {
|
|
12
|
+
constructor(connectionService, messageSender, actionMenuService, agentContext) {
|
|
13
|
+
this.connectionService = connectionService;
|
|
14
|
+
this.messageSender = messageSender;
|
|
15
|
+
this.actionMenuService = actionMenuService;
|
|
16
|
+
this.agentContext = agentContext;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Start Action Menu protocol as requester, asking for root menu. Any active menu will be cleared.
|
|
20
|
+
*
|
|
21
|
+
* @param options options for requesting menu
|
|
22
|
+
* @returns Action Menu record associated to this new request
|
|
23
|
+
*/
|
|
24
|
+
async requestMenu(options) {
|
|
25
|
+
const connection = await this.connectionService.getById(this.agentContext, options.connectionId);
|
|
26
|
+
const { message, record } = await this.actionMenuService.createRequest(this.agentContext, { connection });
|
|
27
|
+
const outboundMessageContext = await getOutboundDidCommMessageContext(this.agentContext, {
|
|
28
|
+
message,
|
|
29
|
+
associatedRecord: record,
|
|
30
|
+
connectionRecord: connection
|
|
31
|
+
});
|
|
32
|
+
await this.messageSender.sendMessage(outboundMessageContext);
|
|
33
|
+
return record;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Send a new Action Menu as responder. This menu will be sent as response if there is an
|
|
37
|
+
* existing menu thread.
|
|
38
|
+
*
|
|
39
|
+
* @param options options for sending menu
|
|
40
|
+
* @returns Action Menu record associated to this action
|
|
41
|
+
*/
|
|
42
|
+
async sendMenu(options) {
|
|
43
|
+
const connection = await this.connectionService.getById(this.agentContext, options.connectionId);
|
|
44
|
+
const { message, record } = await this.actionMenuService.createMenu(this.agentContext, {
|
|
45
|
+
connection,
|
|
46
|
+
menu: options.menu
|
|
47
|
+
});
|
|
48
|
+
const outboundMessageContext = await getOutboundDidCommMessageContext(this.agentContext, {
|
|
49
|
+
message,
|
|
50
|
+
associatedRecord: record,
|
|
51
|
+
connectionRecord: connection
|
|
52
|
+
});
|
|
53
|
+
await this.messageSender.sendMessage(outboundMessageContext);
|
|
54
|
+
return record;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Perform action in active Action Menu, as a requester. The related
|
|
58
|
+
* menu will be closed.
|
|
59
|
+
*
|
|
60
|
+
* @param options options for requesting menu
|
|
61
|
+
* @returns Action Menu record associated to this selection
|
|
62
|
+
*/
|
|
63
|
+
async performAction(options) {
|
|
64
|
+
const connection = await this.connectionService.getById(this.agentContext, options.connectionId);
|
|
65
|
+
const actionMenuRecord = await this.actionMenuService.find(this.agentContext, {
|
|
66
|
+
connectionId: connection.id,
|
|
67
|
+
role: ActionMenuRole.Requester
|
|
68
|
+
});
|
|
69
|
+
if (!actionMenuRecord) throw new CredoError(`No active menu found for connection id ${options.connectionId}`);
|
|
70
|
+
const { message, record } = await this.actionMenuService.createPerform(this.agentContext, {
|
|
71
|
+
actionMenuRecord,
|
|
72
|
+
performedAction: options.performedAction
|
|
73
|
+
});
|
|
74
|
+
const outboundMessageContext = await getOutboundDidCommMessageContext(this.agentContext, {
|
|
75
|
+
message,
|
|
76
|
+
associatedRecord: record,
|
|
77
|
+
connectionRecord: connection
|
|
78
|
+
});
|
|
79
|
+
await this.messageSender.sendMessage(outboundMessageContext);
|
|
80
|
+
return record;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Find the current active menu for a given connection and the specified role.
|
|
84
|
+
*
|
|
85
|
+
* @param options options for requesting active menu
|
|
86
|
+
* @returns Active Action Menu record, or null if no active menu found
|
|
87
|
+
*/
|
|
88
|
+
async findActiveMenu(options) {
|
|
89
|
+
return this.actionMenuService.find(this.agentContext, {
|
|
90
|
+
connectionId: options.connectionId,
|
|
91
|
+
role: options.role
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Clears the current active menu for a given connection and the specified role.
|
|
96
|
+
*
|
|
97
|
+
* @param options options for clearing active menu
|
|
98
|
+
* @returns Active Action Menu record, or null if no active menu record found
|
|
99
|
+
*/
|
|
100
|
+
async clearActiveMenu(options) {
|
|
101
|
+
const actionMenuRecord = await this.actionMenuService.find(this.agentContext, {
|
|
102
|
+
connectionId: options.connectionId,
|
|
103
|
+
role: options.role
|
|
104
|
+
});
|
|
105
|
+
return actionMenuRecord ? await this.actionMenuService.clearMenu(this.agentContext, { actionMenuRecord }) : null;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
ActionMenuApi = __decorate([injectable(), __decorateMetadata("design:paramtypes", [
|
|
109
|
+
typeof (_ref = typeof DidCommConnectionService !== "undefined" && DidCommConnectionService) === "function" ? _ref : Object,
|
|
110
|
+
typeof (_ref2 = typeof DidCommMessageSender !== "undefined" && DidCommMessageSender) === "function" ? _ref2 : Object,
|
|
111
|
+
typeof (_ref3 = typeof ActionMenuService !== "undefined" && ActionMenuService) === "function" ? _ref3 : Object,
|
|
112
|
+
typeof (_ref4 = typeof AgentContext !== "undefined" && AgentContext) === "function" ? _ref4 : Object
|
|
113
|
+
])], ActionMenuApi);
|
|
114
|
+
|
|
115
|
+
//#endregion
|
|
116
|
+
export { ActionMenuApi };
|
|
117
|
+
//# sourceMappingURL=ActionMenuApi.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuApi.mjs","names":["ActionMenuApi"],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":["import { AgentContext, CredoError, injectable } from '@credo-ts/core'\nimport { DidCommConnectionService, DidCommMessageSender, getOutboundDidCommMessageContext } from '@credo-ts/didcomm'\nimport type {\n ClearActiveMenuOptions,\n FindActiveMenuOptions,\n PerformActionOptions,\n RequestMenuOptions,\n SendMenuOptions,\n} from './ActionMenuApiOptions'\n\nimport { ActionMenuRole } from './ActionMenuRole'\nimport { ActionMenuService } from './services'\n\n/**\n * @public\n */\n@injectable()\nexport class ActionMenuApi {\n private connectionService: DidCommConnectionService\n private messageSender: DidCommMessageSender\n private actionMenuService: ActionMenuService\n private agentContext: AgentContext\n\n public constructor(\n connectionService: DidCommConnectionService,\n messageSender: DidCommMessageSender,\n actionMenuService: ActionMenuService,\n agentContext: AgentContext\n ) {\n this.connectionService = connectionService\n this.messageSender = messageSender\n this.actionMenuService = actionMenuService\n this.agentContext = agentContext\n }\n\n /**\n * Start Action Menu protocol as requester, asking for root menu. Any active menu will be cleared.\n *\n * @param options options for requesting menu\n * @returns Action Menu record associated to this new request\n */\n public async requestMenu(options: RequestMenuOptions) {\n const connection = await this.connectionService.getById(this.agentContext, options.connectionId)\n\n const { message, record } = await this.actionMenuService.createRequest(this.agentContext, {\n connection,\n })\n\n const outboundMessageContext = await getOutboundDidCommMessageContext(this.agentContext, {\n message,\n associatedRecord: record,\n connectionRecord: connection,\n })\n\n await this.messageSender.sendMessage(outboundMessageContext)\n\n return record\n }\n\n /**\n * Send a new Action Menu as responder. This menu will be sent as response if there is an\n * existing menu thread.\n *\n * @param options options for sending menu\n * @returns Action Menu record associated to this action\n */\n public async sendMenu(options: SendMenuOptions) {\n const connection = await this.connectionService.getById(this.agentContext, options.connectionId)\n\n const { message, record } = await this.actionMenuService.createMenu(this.agentContext, {\n connection,\n menu: options.menu,\n })\n\n const outboundMessageContext = await getOutboundDidCommMessageContext(this.agentContext, {\n message,\n associatedRecord: record,\n connectionRecord: connection,\n })\n\n await this.messageSender.sendMessage(outboundMessageContext)\n\n return record\n }\n\n /**\n * Perform action in active Action Menu, as a requester. The related\n * menu will be closed.\n *\n * @param options options for requesting menu\n * @returns Action Menu record associated to this selection\n */\n public async performAction(options: PerformActionOptions) {\n const connection = await this.connectionService.getById(this.agentContext, options.connectionId)\n\n const actionMenuRecord = await this.actionMenuService.find(this.agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Requester,\n })\n if (!actionMenuRecord) {\n throw new CredoError(`No active menu found for connection id ${options.connectionId}`)\n }\n\n const { message, record } = await this.actionMenuService.createPerform(this.agentContext, {\n actionMenuRecord,\n performedAction: options.performedAction,\n })\n\n const outboundMessageContext = await getOutboundDidCommMessageContext(this.agentContext, {\n message,\n associatedRecord: record,\n connectionRecord: connection,\n })\n\n await this.messageSender.sendMessage(outboundMessageContext)\n\n return record\n }\n\n /**\n * Find the current active menu for a given connection and the specified role.\n *\n * @param options options for requesting active menu\n * @returns Active Action Menu record, or null if no active menu found\n */\n public async findActiveMenu(options: FindActiveMenuOptions) {\n return this.actionMenuService.find(this.agentContext, {\n connectionId: options.connectionId,\n role: options.role,\n })\n }\n\n /**\n * Clears the current active menu for a given connection and the specified role.\n *\n * @param options options for clearing active menu\n * @returns Active Action Menu record, or null if no active menu record found\n */\n public async clearActiveMenu(options: ClearActiveMenuOptions) {\n const actionMenuRecord = await this.actionMenuService.find(this.agentContext, {\n connectionId: options.connectionId,\n role: options.role,\n })\n\n return actionMenuRecord ? await this.actionMenuService.clearMenu(this.agentContext, { actionMenuRecord }) : null\n }\n}\n"],"mappings":";;;;;;;;;;AAiBO,0BAAMA,gBAAc;CAMzB,AAAO,YACL,mBACA,eACA,mBACA,cACA;AACA,OAAK,oBAAoB;AACzB,OAAK,gBAAgB;AACrB,OAAK,oBAAoB;AACzB,OAAK,eAAe;;;;;;;;CAStB,MAAa,YAAY,SAA6B;EACpD,MAAM,aAAa,MAAM,KAAK,kBAAkB,QAAQ,KAAK,cAAc,QAAQ,aAAa;EAEhG,MAAM,EAAE,SAAS,WAAW,MAAM,KAAK,kBAAkB,cAAc,KAAK,cAAc,EACxF,YACD,CAAC;EAEF,MAAM,yBAAyB,MAAM,iCAAiC,KAAK,cAAc;GACvF;GACA,kBAAkB;GAClB,kBAAkB;GACnB,CAAC;AAEF,QAAM,KAAK,cAAc,YAAY,uBAAuB;AAE5D,SAAO;;;;;;;;;CAUT,MAAa,SAAS,SAA0B;EAC9C,MAAM,aAAa,MAAM,KAAK,kBAAkB,QAAQ,KAAK,cAAc,QAAQ,aAAa;EAEhG,MAAM,EAAE,SAAS,WAAW,MAAM,KAAK,kBAAkB,WAAW,KAAK,cAAc;GACrF;GACA,MAAM,QAAQ;GACf,CAAC;EAEF,MAAM,yBAAyB,MAAM,iCAAiC,KAAK,cAAc;GACvF;GACA,kBAAkB;GAClB,kBAAkB;GACnB,CAAC;AAEF,QAAM,KAAK,cAAc,YAAY,uBAAuB;AAE5D,SAAO;;;;;;;;;CAUT,MAAa,cAAc,SAA+B;EACxD,MAAM,aAAa,MAAM,KAAK,kBAAkB,QAAQ,KAAK,cAAc,QAAQ,aAAa;EAEhG,MAAM,mBAAmB,MAAM,KAAK,kBAAkB,KAAK,KAAK,cAAc;GAC5E,cAAc,WAAW;GACzB,MAAM,eAAe;GACtB,CAAC;AACF,MAAI,CAAC,iBACH,OAAM,IAAI,WAAW,0CAA0C,QAAQ,eAAe;EAGxF,MAAM,EAAE,SAAS,WAAW,MAAM,KAAK,kBAAkB,cAAc,KAAK,cAAc;GACxF;GACA,iBAAiB,QAAQ;GAC1B,CAAC;EAEF,MAAM,yBAAyB,MAAM,iCAAiC,KAAK,cAAc;GACvF;GACA,kBAAkB;GAClB,kBAAkB;GACnB,CAAC;AAEF,QAAM,KAAK,cAAc,YAAY,uBAAuB;AAE5D,SAAO;;;;;;;;CAST,MAAa,eAAe,SAAgC;AAC1D,SAAO,KAAK,kBAAkB,KAAK,KAAK,cAAc;GACpD,cAAc,QAAQ;GACtB,MAAM,QAAQ;GACf,CAAC;;;;;;;;CASJ,MAAa,gBAAgB,SAAiC;EAC5D,MAAM,mBAAmB,MAAM,KAAK,kBAAkB,KAAK,KAAK,cAAc;GAC5E,cAAc,QAAQ;GACtB,MAAM,QAAQ;GACf,CAAC;AAEF,SAAO,mBAAmB,MAAM,KAAK,kBAAkB,UAAU,KAAK,cAAc,EAAE,kBAAkB,CAAC,GAAG;;;4BAhI/G,YAAY"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ActionMenuRole } from "./ActionMenuRole.mjs";
|
|
2
|
+
import { ActionMenu } from "./models/ActionMenu.mjs";
|
|
3
|
+
import { ActionMenuSelection } from "./models/ActionMenuSelection.mjs";
|
|
4
|
+
|
|
5
|
+
//#region src/ActionMenuApiOptions.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
interface FindActiveMenuOptions {
|
|
10
|
+
connectionId: string;
|
|
11
|
+
role: ActionMenuRole;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
interface ClearActiveMenuOptions {
|
|
17
|
+
connectionId: string;
|
|
18
|
+
role: ActionMenuRole;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
interface RequestMenuOptions {
|
|
24
|
+
connectionId: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* @public
|
|
28
|
+
*/
|
|
29
|
+
interface SendMenuOptions {
|
|
30
|
+
connectionId: string;
|
|
31
|
+
menu: ActionMenu;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @public
|
|
35
|
+
*/
|
|
36
|
+
interface PerformActionOptions {
|
|
37
|
+
connectionId: string;
|
|
38
|
+
performedAction: ActionMenuSelection;
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { ClearActiveMenuOptions, FindActiveMenuOptions, PerformActionOptions, RequestMenuOptions, SendMenuOptions };
|
|
42
|
+
//# sourceMappingURL=ActionMenuApiOptions.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuApiOptions.d.mts","names":[],"sources":["../src/ActionMenuApiOptions.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAMiB,UAAA,qBAAA,CAET;EAMS,YAAA,EAAA,MAAA;EAQA,IAAA,EAdT,cAcS;AAOjB;AAQA;;;UAvBiB,sBAAA;;QAET;;;;;UAMS,kBAAA;;;;;;UAOA,eAAA;;QAET;;;;;UAMS,oBAAA;;mBAEE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ActionMenuState } from "./ActionMenuState.mjs";
|
|
2
|
+
import { ActionMenuRecord } from "./repository/ActionMenuRecord.mjs";
|
|
3
|
+
import "./repository/index.mjs";
|
|
4
|
+
import { BaseEvent } from "@credo-ts/core";
|
|
5
|
+
|
|
6
|
+
//#region src/ActionMenuEvents.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
declare enum ActionMenuEventTypes {
|
|
11
|
+
ActionMenuStateChanged = "ActionMenuStateChanged",
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
interface ActionMenuStateChangedEvent extends BaseEvent {
|
|
17
|
+
type: typeof ActionMenuEventTypes.ActionMenuStateChanged;
|
|
18
|
+
payload: {
|
|
19
|
+
actionMenuRecord: ActionMenuRecord;
|
|
20
|
+
previousState: ActionMenuState | null;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
export { ActionMenuEventTypes, ActionMenuStateChangedEvent };
|
|
25
|
+
//# sourceMappingURL=ActionMenuEvents.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuEvents.d.mts","names":[],"sources":["../src/ActionMenuEvents.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAOY,aAAA,oBAAA;EAOK,sBAAA,GAAA,wBAA4B;;;;;AAAiB,UAA7C,2BAAA,SAAoC,SAAS,CAAA;eAC/C,oBAAA,CAAqB;;sBAEd;mBACH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/ActionMenuEvents.ts
|
|
2
|
+
/**
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
let ActionMenuEventTypes = /* @__PURE__ */ function(ActionMenuEventTypes$1) {
|
|
6
|
+
ActionMenuEventTypes$1["ActionMenuStateChanged"] = "ActionMenuStateChanged";
|
|
7
|
+
return ActionMenuEventTypes$1;
|
|
8
|
+
}({});
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { ActionMenuEventTypes };
|
|
12
|
+
//# sourceMappingURL=ActionMenuEvents.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuEvents.mjs","names":[],"sources":["../src/ActionMenuEvents.ts"],"sourcesContent":["import type { BaseEvent } from '@credo-ts/core'\nimport type { ActionMenuState } from './ActionMenuState'\nimport type { ActionMenuRecord } from './repository'\n\n/**\n * @public\n */\nexport enum ActionMenuEventTypes {\n ActionMenuStateChanged = 'ActionMenuStateChanged',\n}\n\n/**\n * @public\n */\nexport interface ActionMenuStateChangedEvent extends BaseEvent {\n type: typeof ActionMenuEventTypes.ActionMenuStateChanged\n payload: {\n actionMenuRecord: ActionMenuRecord\n previousState: ActionMenuState | null\n }\n}\n"],"mappings":";;;;AAOA,IAAY,wEAAL;AACL"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ActionMenuApi } from "./ActionMenuApi.mjs";
|
|
2
|
+
import { AgentContext, DependencyManager, Module } from "@credo-ts/core";
|
|
3
|
+
|
|
4
|
+
//#region src/ActionMenuModule.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
declare class ActionMenuModule implements Module {
|
|
10
|
+
readonly api: typeof ActionMenuApi;
|
|
11
|
+
/**
|
|
12
|
+
* Registers the dependencies of the question answer module on the dependency manager.
|
|
13
|
+
*/
|
|
14
|
+
register(dependencyManager: DependencyManager): void;
|
|
15
|
+
initialize(agentContext: AgentContext): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { ActionMenuModule };
|
|
19
|
+
//# sourceMappingURL=ActionMenuModule.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuModule.d.mts","names":[],"sources":["../src/ActionMenuModule.ts"],"sourcesContent":[],"mappings":";;;;;;;AAkBA;AACqB,cADR,gBAAA,YAA4B,MACpB,CAAA;EAKgB,SAAA,GAAA,EAAA,OALhB,aAKgB;EAQG;;;EAdO,QAAA,CAAA,iBAAA,EAMV,iBANU,CAAA,EAAA,IAAA;2BAcP,eAAe"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ActionMenuRole } from "./ActionMenuRole.mjs";
|
|
2
|
+
import { ActionMenuRepository } from "./repository/ActionMenuRepository.mjs";
|
|
3
|
+
import "./repository/index.mjs";
|
|
4
|
+
import { ActionMenuService } from "./services/ActionMenuService.mjs";
|
|
5
|
+
import "./services/index.mjs";
|
|
6
|
+
import { ActionMenuApi } from "./ActionMenuApi.mjs";
|
|
7
|
+
import { ActionMenuProblemReportHandler } from "./handlers/ActionMenuProblemReportHandler.mjs";
|
|
8
|
+
import { MenuMessageHandler } from "./handlers/MenuMessageHandler.mjs";
|
|
9
|
+
import { MenuRequestMessageHandler } from "./handlers/MenuRequestMessageHandler.mjs";
|
|
10
|
+
import { PerformMessageHandler } from "./handlers/PerformMessageHandler.mjs";
|
|
11
|
+
import "./handlers/index.mjs";
|
|
12
|
+
import { DidCommFeatureRegistry, DidCommMessageHandlerRegistry, DidCommProtocol } from "@credo-ts/didcomm";
|
|
13
|
+
|
|
14
|
+
//#region src/ActionMenuModule.ts
|
|
15
|
+
/**
|
|
16
|
+
* @public
|
|
17
|
+
*/
|
|
18
|
+
var ActionMenuModule = class {
|
|
19
|
+
constructor() {
|
|
20
|
+
this.api = ActionMenuApi;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Registers the dependencies of the question answer module on the dependency manager.
|
|
24
|
+
*/
|
|
25
|
+
register(dependencyManager) {
|
|
26
|
+
dependencyManager.registerSingleton(ActionMenuService);
|
|
27
|
+
dependencyManager.registerSingleton(ActionMenuRepository);
|
|
28
|
+
}
|
|
29
|
+
async initialize(agentContext) {
|
|
30
|
+
const featureRegistry = agentContext.resolve(DidCommFeatureRegistry);
|
|
31
|
+
const messageHandlerRegistry = agentContext.resolve(DidCommMessageHandlerRegistry);
|
|
32
|
+
const actionMenuService = agentContext.resolve(ActionMenuService);
|
|
33
|
+
messageHandlerRegistry.registerMessageHandlers([
|
|
34
|
+
new ActionMenuProblemReportHandler(actionMenuService),
|
|
35
|
+
new MenuMessageHandler(actionMenuService),
|
|
36
|
+
new MenuRequestMessageHandler(actionMenuService),
|
|
37
|
+
new PerformMessageHandler(actionMenuService)
|
|
38
|
+
]);
|
|
39
|
+
featureRegistry.register(new DidCommProtocol({
|
|
40
|
+
id: "https://didcomm.org/action-menu/1.0",
|
|
41
|
+
roles: [ActionMenuRole.Requester, ActionMenuRole.Responder]
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
//#endregion
|
|
47
|
+
export { ActionMenuModule };
|
|
48
|
+
//# sourceMappingURL=ActionMenuModule.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuModule.mjs","names":[],"sources":["../src/ActionMenuModule.ts"],"sourcesContent":["import type { AgentContext, DependencyManager, Module } from '@credo-ts/core'\n\nimport { DidCommFeatureRegistry, DidCommMessageHandlerRegistry, DidCommProtocol } from '@credo-ts/didcomm'\n\nimport { ActionMenuApi } from './ActionMenuApi'\nimport { ActionMenuRole } from './ActionMenuRole'\nimport {\n ActionMenuProblemReportHandler,\n MenuMessageHandler,\n MenuRequestMessageHandler,\n PerformMessageHandler,\n} from './handlers'\nimport { ActionMenuRepository } from './repository'\nimport { ActionMenuService } from './services'\n\n/**\n * @public\n */\nexport class ActionMenuModule implements Module {\n public readonly api = ActionMenuApi\n\n /**\n * Registers the dependencies of the question answer module on the dependency manager.\n */\n public register(dependencyManager: DependencyManager) {\n // Services\n dependencyManager.registerSingleton(ActionMenuService)\n\n // Repositories\n dependencyManager.registerSingleton(ActionMenuRepository)\n }\n\n public async initialize(agentContext: AgentContext): Promise<void> {\n const featureRegistry = agentContext.resolve(DidCommFeatureRegistry)\n const messageHandlerRegistry = agentContext.resolve(DidCommMessageHandlerRegistry)\n const actionMenuService = agentContext.resolve(ActionMenuService)\n\n messageHandlerRegistry.registerMessageHandlers([\n new ActionMenuProblemReportHandler(actionMenuService),\n new MenuMessageHandler(actionMenuService),\n new MenuRequestMessageHandler(actionMenuService),\n new PerformMessageHandler(actionMenuService),\n ])\n\n featureRegistry.register(\n new DidCommProtocol({\n id: 'https://didcomm.org/action-menu/1.0',\n roles: [ActionMenuRole.Requester, ActionMenuRole.Responder],\n })\n )\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAkBA,IAAa,mBAAb,MAAgD;;OAC9B,MAAM;;;;;CAKtB,AAAO,SAAS,mBAAsC;AAEpD,oBAAkB,kBAAkB,kBAAkB;AAGtD,oBAAkB,kBAAkB,qBAAqB;;CAG3D,MAAa,WAAW,cAA2C;EACjE,MAAM,kBAAkB,aAAa,QAAQ,uBAAuB;EACpE,MAAM,yBAAyB,aAAa,QAAQ,8BAA8B;EAClF,MAAM,oBAAoB,aAAa,QAAQ,kBAAkB;AAEjE,yBAAuB,wBAAwB;GAC7C,IAAI,+BAA+B,kBAAkB;GACrD,IAAI,mBAAmB,kBAAkB;GACzC,IAAI,0BAA0B,kBAAkB;GAChD,IAAI,sBAAsB,kBAAkB;GAC7C,CAAC;AAEF,kBAAgB,SACd,IAAI,gBAAgB;GAClB,IAAI;GACJ,OAAO,CAAC,eAAe,WAAW,eAAe,UAAU;GAC5D,CAAC,CACH"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//#region src/ActionMenuRole.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Action Menu roles based on the flow defined in RFC 0509.
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#roles
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
declare enum ActionMenuRole {
|
|
9
|
+
Requester = "requester",
|
|
10
|
+
Responder = "responder",
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { ActionMenuRole };
|
|
14
|
+
//# sourceMappingURL=ActionMenuRole.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuRole.d.mts","names":[],"sources":["../src/ActionMenuRole.ts"],"sourcesContent":[],"mappings":";;AAMA;;;;;aAAY,cAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/ActionMenuRole.ts
|
|
2
|
+
/**
|
|
3
|
+
* Action Menu roles based on the flow defined in RFC 0509.
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#roles
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
let ActionMenuRole = /* @__PURE__ */ function(ActionMenuRole$1) {
|
|
9
|
+
ActionMenuRole$1["Requester"] = "requester";
|
|
10
|
+
ActionMenuRole$1["Responder"] = "responder";
|
|
11
|
+
return ActionMenuRole$1;
|
|
12
|
+
}({});
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { ActionMenuRole };
|
|
16
|
+
//# sourceMappingURL=ActionMenuRole.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuRole.mjs","names":[],"sources":["../src/ActionMenuRole.ts"],"sourcesContent":["/**\n * Action Menu roles based on the flow defined in RFC 0509.\n *\n * @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#roles\n * @public\n */\nexport enum ActionMenuRole {\n Requester = 'requester',\n Responder = 'responder',\n}\n"],"mappings":";;;;;;;AAMA,IAAY,4DAAL;AACL;AACA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/ActionMenuState.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Action Menu states based on the flow defined in RFC 0509.
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#states
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
declare enum ActionMenuState {
|
|
9
|
+
Null = "null",
|
|
10
|
+
AwaitingRootMenu = "awaiting-root-menu",
|
|
11
|
+
PreparingRootMenu = "preparing-root-menu",
|
|
12
|
+
PreparingSelection = "preparing-selection",
|
|
13
|
+
AwaitingSelection = "awaiting-selection",
|
|
14
|
+
Done = "done",
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
export { ActionMenuState };
|
|
18
|
+
//# sourceMappingURL=ActionMenuState.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuState.d.mts","names":[],"sources":["../src/ActionMenuState.ts"],"sourcesContent":[],"mappings":";;AAMA;;;;;aAAY,eAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/ActionMenuState.ts
|
|
2
|
+
/**
|
|
3
|
+
* Action Menu states based on the flow defined in RFC 0509.
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#states
|
|
6
|
+
* @public
|
|
7
|
+
*/
|
|
8
|
+
let ActionMenuState = /* @__PURE__ */ function(ActionMenuState$1) {
|
|
9
|
+
ActionMenuState$1["Null"] = "null";
|
|
10
|
+
ActionMenuState$1["AwaitingRootMenu"] = "awaiting-root-menu";
|
|
11
|
+
ActionMenuState$1["PreparingRootMenu"] = "preparing-root-menu";
|
|
12
|
+
ActionMenuState$1["PreparingSelection"] = "preparing-selection";
|
|
13
|
+
ActionMenuState$1["AwaitingSelection"] = "awaiting-selection";
|
|
14
|
+
ActionMenuState$1["Done"] = "done";
|
|
15
|
+
return ActionMenuState$1;
|
|
16
|
+
}({});
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ActionMenuState };
|
|
20
|
+
//# sourceMappingURL=ActionMenuState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuState.mjs","names":[],"sources":["../src/ActionMenuState.ts"],"sourcesContent":["/**\n * Action Menu states based on the flow defined in RFC 0509.\n *\n * @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#states\n * @public\n */\nexport enum ActionMenuState {\n Null = 'null',\n AwaitingRootMenu = 'awaiting-root-menu',\n PreparingRootMenu = 'preparing-root-menu',\n PreparingSelection = 'preparing-selection',\n AwaitingSelection = 'awaiting-selection',\n Done = 'done',\n}\n"],"mappings":";;;;;;;AAMA,IAAY,8DAAL;AACL;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region \0@oxc-project+runtime@0.99.0/helpers/decorate.js
|
|
2
|
+
function __decorate(decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
export { __decorate };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ActionMenuProblemReportMessage } from "../messages/ActionMenuProblemReportMessage.mjs";
|
|
2
|
+
import "../messages/index.mjs";
|
|
3
|
+
import { DidCommProblemReportError } from "@credo-ts/didcomm";
|
|
4
|
+
|
|
5
|
+
//#region src/errors/ActionMenuProblemReportError.ts
|
|
6
|
+
/**
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
var ActionMenuProblemReportError = class extends DidCommProblemReportError {
|
|
10
|
+
constructor(message, { problemCode }) {
|
|
11
|
+
super(message, { problemCode });
|
|
12
|
+
this.message = message;
|
|
13
|
+
this.problemReport = new ActionMenuProblemReportMessage({ description: {
|
|
14
|
+
en: message,
|
|
15
|
+
code: problemCode
|
|
16
|
+
} });
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { ActionMenuProblemReportError };
|
|
22
|
+
//# sourceMappingURL=ActionMenuProblemReportError.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuProblemReportError.mjs","names":["message: string"],"sources":["../../src/errors/ActionMenuProblemReportError.ts"],"sourcesContent":["import type { DidCommProblemReportErrorOptions } from '@credo-ts/didcomm'\nimport { DidCommProblemReportError } from '@credo-ts/didcomm'\nimport { ActionMenuProblemReportMessage } from '../messages'\nimport type { ActionMenuProblemReportReason } from './ActionMenuProblemReportReason'\n\n/**\n * @internal\n */\ninterface ActionMenuProblemReportErrorOptions extends DidCommProblemReportErrorOptions {\n problemCode: ActionMenuProblemReportReason\n}\n\n/**\n * @internal\n */\nexport class ActionMenuProblemReportError extends DidCommProblemReportError {\n public problemReport: ActionMenuProblemReportMessage\n\n public constructor(\n public message: string,\n { problemCode }: ActionMenuProblemReportErrorOptions\n ) {\n super(message, { problemCode })\n this.problemReport = new ActionMenuProblemReportMessage({\n description: {\n en: message,\n code: problemCode,\n },\n })\n }\n}\n"],"mappings":";;;;;;;;AAeA,IAAa,+BAAb,cAAkD,0BAA0B;CAG1E,AAAO,YACL,AAAOA,SACP,EAAE,eACF;AACA,QAAM,SAAS,EAAE,aAAa,CAAC;EAHxB;AAIP,OAAK,gBAAgB,IAAI,+BAA+B,EACtD,aAAa;GACX,IAAI;GACJ,MAAM;GACP,EACF,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/errors/ActionMenuProblemReportReason.ts
|
|
2
|
+
/**
|
|
3
|
+
* Action Menu errors discussed in RFC 0509.
|
|
4
|
+
*
|
|
5
|
+
* @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#unresolved-questions
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
let ActionMenuProblemReportReason = /* @__PURE__ */ function(ActionMenuProblemReportReason$1) {
|
|
9
|
+
ActionMenuProblemReportReason$1["Timeout"] = "timeout";
|
|
10
|
+
return ActionMenuProblemReportReason$1;
|
|
11
|
+
}({});
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ActionMenuProblemReportReason };
|
|
15
|
+
//# sourceMappingURL=ActionMenuProblemReportReason.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuProblemReportReason.mjs","names":[],"sources":["../../src/errors/ActionMenuProblemReportReason.ts"],"sourcesContent":["/**\n * Action Menu errors discussed in RFC 0509.\n *\n * @see https://github.com/hyperledger/aries-rfcs/tree/main/features/0509-action-menu#unresolved-questions\n * @internal\n */\nexport enum ActionMenuProblemReportReason {\n Timeout = 'timeout',\n}\n"],"mappings":";;;;;;;AAMA,IAAY,0FAAL;AACL"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ActionMenuProblemReportMessage } from "../messages/ActionMenuProblemReportMessage.mjs";
|
|
2
|
+
import "../messages/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/handlers/ActionMenuProblemReportHandler.ts
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
var ActionMenuProblemReportHandler = class {
|
|
9
|
+
constructor(actionMenuService) {
|
|
10
|
+
this.supportedMessages = [ActionMenuProblemReportMessage];
|
|
11
|
+
this.actionMenuService = actionMenuService;
|
|
12
|
+
}
|
|
13
|
+
async handle(messageContext) {
|
|
14
|
+
await this.actionMenuService.processProblemReport(messageContext);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { ActionMenuProblemReportHandler };
|
|
20
|
+
//# sourceMappingURL=ActionMenuProblemReportHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionMenuProblemReportHandler.mjs","names":[],"sources":["../../src/handlers/ActionMenuProblemReportHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { ActionMenuProblemReportMessage } from '../messages'\nimport type { ActionMenuService } from '../services'\n\n/**\n * @internal\n */\nexport class ActionMenuProblemReportHandler implements DidCommMessageHandler {\n private actionMenuService: ActionMenuService\n public supportedMessages = [ActionMenuProblemReportMessage]\n\n public constructor(actionMenuService: ActionMenuService) {\n this.actionMenuService = actionMenuService\n }\n\n public async handle(messageContext: DidCommMessageHandlerInboundMessage<ActionMenuProblemReportHandler>) {\n await this.actionMenuService.processProblemReport(messageContext)\n\n return undefined\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,iCAAb,MAA6E;CAI3E,AAAO,YAAY,mBAAsC;OAFlD,oBAAoB,CAAC,+BAA+B;AAGzD,OAAK,oBAAoB;;CAG3B,MAAa,OAAO,gBAAqF;AACvG,QAAM,KAAK,kBAAkB,qBAAqB,eAAe"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MenuMessage } from "../messages/MenuMessage.mjs";
|
|
2
|
+
import "../messages/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/handlers/MenuMessageHandler.ts
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
var MenuMessageHandler = class {
|
|
9
|
+
constructor(actionMenuService) {
|
|
10
|
+
this.supportedMessages = [MenuMessage];
|
|
11
|
+
this.actionMenuService = actionMenuService;
|
|
12
|
+
}
|
|
13
|
+
async handle(inboundMessage) {
|
|
14
|
+
inboundMessage.assertReadyConnection();
|
|
15
|
+
await this.actionMenuService.processMenu(inboundMessage);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { MenuMessageHandler };
|
|
21
|
+
//# sourceMappingURL=MenuMessageHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuMessageHandler.mjs","names":[],"sources":["../../src/handlers/MenuMessageHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { MenuMessage } from '../messages'\nimport type { ActionMenuService } from '../services'\n\n/**\n * @internal\n */\nexport class MenuMessageHandler implements DidCommMessageHandler {\n private actionMenuService: ActionMenuService\n public supportedMessages = [MenuMessage]\n\n public constructor(actionMenuService: ActionMenuService) {\n this.actionMenuService = actionMenuService\n }\n\n public async handle(inboundMessage: DidCommMessageHandlerInboundMessage<MenuMessageHandler>) {\n inboundMessage.assertReadyConnection()\n\n await this.actionMenuService.processMenu(inboundMessage)\n\n return undefined\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,qBAAb,MAAiE;CAI/D,AAAO,YAAY,mBAAsC;OAFlD,oBAAoB,CAAC,YAAY;AAGtC,OAAK,oBAAoB;;CAG3B,MAAa,OAAO,gBAAyE;AAC3F,iBAAe,uBAAuB;AAEtC,QAAM,KAAK,kBAAkB,YAAY,eAAe"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MenuRequestMessage } from "../messages/MenuRequestMessage.mjs";
|
|
2
|
+
import "../messages/index.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/handlers/MenuRequestMessageHandler.ts
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
var MenuRequestMessageHandler = class {
|
|
9
|
+
constructor(actionMenuService) {
|
|
10
|
+
this.supportedMessages = [MenuRequestMessage];
|
|
11
|
+
this.actionMenuService = actionMenuService;
|
|
12
|
+
}
|
|
13
|
+
async handle(inboundMessage) {
|
|
14
|
+
inboundMessage.assertReadyConnection();
|
|
15
|
+
await this.actionMenuService.processRequest(inboundMessage);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { MenuRequestMessageHandler };
|
|
21
|
+
//# sourceMappingURL=MenuRequestMessageHandler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuRequestMessageHandler.mjs","names":[],"sources":["../../src/handlers/MenuRequestMessageHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { MenuRequestMessage } from '../messages'\nimport type { ActionMenuService } from '../services'\n\n/**\n * @internal\n */\nexport class MenuRequestMessageHandler implements DidCommMessageHandler {\n private actionMenuService: ActionMenuService\n public supportedMessages = [MenuRequestMessage]\n\n public constructor(actionMenuService: ActionMenuService) {\n this.actionMenuService = actionMenuService\n }\n\n public async handle(inboundMessage: DidCommMessageHandlerInboundMessage<MenuRequestMessageHandler>) {\n inboundMessage.assertReadyConnection()\n\n await this.actionMenuService.processRequest(inboundMessage)\n\n return undefined\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,4BAAb,MAAwE;CAItE,AAAO,YAAY,mBAAsC;OAFlD,oBAAoB,CAAC,mBAAmB;AAG7C,OAAK,oBAAoB;;CAG3B,MAAa,OAAO,gBAAgF;AAClG,iBAAe,uBAAuB;AAEtC,QAAM,KAAK,kBAAkB,eAAe,eAAe"}
|