@credo-ts/action-menu 0.6.0-pr-2444-20251010162514 → 0.6.0-pr-2454-20251015095608
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.map +1 -1
- package/build/ActionMenuApi.d.ts.map +1 -1
- package/build/ActionMenuApi.mjs.map +1 -1
- package/build/errors/ActionMenuProblemReportError.mjs.map +1 -1
- package/build/handlers/ActionMenuProblemReportHandler.mjs.map +1 -1
- package/build/handlers/MenuMessageHandler.mjs.map +1 -1
- package/build/handlers/MenuRequestMessageHandler.mjs.map +1 -1
- package/build/handlers/PerformMessageHandler.mjs.map +1 -1
- package/build/index.d.mts +1 -1
- package/build/index.d.ts +1 -1
- package/build/messages/MenuMessage.d.mts.map +1 -1
- package/build/messages/MenuMessage.d.ts.map +1 -1
- package/build/messages/MenuMessage.mjs.map +1 -1
- package/build/models/ActionMenu.d.mts.map +1 -1
- package/build/models/ActionMenu.d.ts.map +1 -1
- package/build/models/ActionMenu.mjs.map +1 -1
- package/build/models/ActionMenuOption.d.mts.map +1 -1
- package/build/models/ActionMenuOption.d.ts.map +1 -1
- package/build/models/ActionMenuOption.mjs.map +1 -1
- package/build/models/ActionMenuOptionForm.d.mts.map +1 -1
- package/build/models/ActionMenuOptionForm.d.ts.map +1 -1
- package/build/models/ActionMenuOptionForm.mjs.map +1 -1
- package/build/repository/ActionMenuRecord.d.mts.map +1 -1
- package/build/repository/ActionMenuRecord.d.ts.map +1 -1
- package/build/repository/ActionMenuRecord.mjs.map +1 -1
- package/build/repository/ActionMenuRepository.mjs.map +1 -1
- package/build/services/ActionMenuService.d.mts.map +1 -1
- package/build/services/ActionMenuService.d.ts.map +1 -1
- package/build/services/ActionMenuService.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuApi.d.mts","names":[],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuApi.d.mts","names":[],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAiBa,cAAA,aAAA,CAAa;EAAA,QAAA,iBAAA;UAOH,aAAA;UACJ,iBAAA;UACI,YAAA;aACL,CAAA,iBAAA,EAHK,wBAGL,EAAA,aAAA,EAFC,oBAED,EAAA,iBAAA,EADK,iBACL,EAAA,YAAA,EAAA,YAAA;;;;;;;aAiEoB,CAAA,OAAA,EAnDF,kBAmDE,CAAA,EAnDgB,OAmDhB,CAnDgB,gBAAA,CAmDhB;;;;;;;;UA8CwB,CAAA,OAAA,EAxE7B,eAwE6B,CAAA,EAxEd,OAwEc,CAxEd,gBAAA,CAwEc;EAAA;;;;;;;yBA9CxB,uBAAoB,QAAA,gBAAA;;;;;;;0BAiCnB,wBAAqB,QAAA,gBAAA;;;;;;;2BAapB,yBAAsB,QAAA,gBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuApi.d.ts","names":[],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuApi.d.ts","names":[],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAiBa,cAAA,aAAA,CAAa;EAAA,QAAA,iBAAA;UAOH,aAAA;UACJ,iBAAA;UACI,YAAA;aACL,CAAA,iBAAA,EAHK,wBAGL,EAAA,aAAA,EAFC,oBAED,EAAA,iBAAA,EADK,iBACL,EAAA,YAAA,EAAA,YAAA;;;;;;;aAiEoB,CAAA,OAAA,EAnDF,kBAmDE,CAAA,EAnDgB,OAmDhB,CAnDgB,gBAAA,CAmDhB;;;;;;;;UA8CwB,CAAA,OAAA,EAxE7B,eAwE6B,CAAA,EAxEd,OAwEc,CAxEd,gBAAA,CAwEc;EAAA;;;;;;;yBA9CxB,uBAAoB,QAAA,gBAAA;;;;;;;0BAiCnB,wBAAqB,QAAA,gBAAA;;;;;;;2BAapB,yBAAsB,QAAA,gBAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuApi.mjs","names":["ActionMenuApi"],"sources":["../src/ActionMenuApi.ts"],"sourcesContent":["import
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuProblemReportError.mjs","names":["message: string"],"sources":["../../src/errors/ActionMenuProblemReportError.ts"],"sourcesContent":["import type { DidCommProblemReportErrorOptions } from '@credo-ts/didcomm'\nimport
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuProblemReportHandler.mjs","names":[],"sources":["../../src/handlers/ActionMenuProblemReportHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuMessageHandler.mjs","names":[],"sources":["../../src/handlers/MenuMessageHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuRequestMessageHandler.mjs","names":[],"sources":["../../src/handlers/MenuRequestMessageHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerformMessageHandler.mjs","names":[],"sources":["../../src/handlers/PerformMessageHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport
|
|
1
|
+
{"version":3,"file":"PerformMessageHandler.mjs","names":[],"sources":["../../src/handlers/PerformMessageHandler.ts"],"sourcesContent":["import type { DidCommMessageHandler, DidCommMessageHandlerInboundMessage } from '@credo-ts/didcomm'\nimport { PerformMessage } from '../messages'\nimport type { ActionMenuService } from '../services'\n\n/**\n * @internal\n */\nexport class PerformMessageHandler implements DidCommMessageHandler {\n private actionMenuService: ActionMenuService\n public supportedMessages = [PerformMessage]\n\n public constructor(actionMenuService: ActionMenuService) {\n this.actionMenuService = actionMenuService\n }\n\n public async handle(inboundMessage: DidCommMessageHandlerInboundMessage<PerformMessageHandler>) {\n inboundMessage.assertReadyConnection()\n\n await this.actionMenuService.processPerform(inboundMessage)\n\n return undefined\n }\n}\n"],"mappings":";;;;;;;AAOA,IAAa,wBAAb,MAAoE;CAIlE,AAAO,YAAY,mBAAsC;OAFlD,oBAAoB,CAAC,eAAe;AAGzC,OAAK,oBAAoB;;CAG3B,MAAa,OAAO,gBAA4E;AAC9F,iBAAe,uBAAuB;AAEtC,QAAM,KAAK,kBAAkB,eAAe,eAAe"}
|
package/build/index.d.mts
CHANGED
|
@@ -13,6 +13,6 @@ import { MenuMessage, MenuMessageOptions } from "./messages/MenuMessage.mjs";
|
|
|
13
13
|
import { MenuRequestMessage, MenuRequestMessageOptions } from "./messages/MenuRequestMessage.mjs";
|
|
14
14
|
import { PerformMessage, PerformMessageOptions } from "./messages/PerformMessage.mjs";
|
|
15
15
|
import { ActionMenuApi } from "./ActionMenuApi.mjs";
|
|
16
|
-
import { ActionMenuModule } from "./ActionMenuModule.mjs";
|
|
17
16
|
import { ActionMenuEventTypes, ActionMenuStateChangedEvent } from "./ActionMenuEvents.mjs";
|
|
17
|
+
import { ActionMenuModule } from "./ActionMenuModule.mjs";
|
|
18
18
|
export { ActionMenu, ActionMenuApi, ActionMenuEventTypes, ActionMenuForm, ActionMenuFormInputType, ActionMenuFormOptions, ActionMenuFormParameter, ActionMenuFormParameterOptions, ActionMenuModule, ActionMenuOption, ActionMenuOptionOptions, ActionMenuOptions, ActionMenuProblemReportMessage, ActionMenuProblemReportMessageOptions, ActionMenuRecord, ActionMenuRecordProps, ActionMenuRepository, ActionMenuRole, ActionMenuSelection, ActionMenuSelectionOptions, ActionMenuState, ActionMenuStateChangedEvent, ClearActiveMenuOptions, CustomActionMenuTags, DefaultActionMenuTags, FindActiveMenuOptions, MenuMessage, MenuMessageOptions, MenuRequestMessage, MenuRequestMessageOptions, PerformActionOptions, PerformMessage, PerformMessageOptions, RequestMenuOptions, SendMenuOptions };
|
package/build/index.d.ts
CHANGED
|
@@ -13,6 +13,6 @@ import { MenuMessage, MenuMessageOptions } from "./messages/MenuMessage.js";
|
|
|
13
13
|
import { MenuRequestMessage, MenuRequestMessageOptions } from "./messages/MenuRequestMessage.js";
|
|
14
14
|
import { PerformMessage, PerformMessageOptions } from "./messages/PerformMessage.js";
|
|
15
15
|
import { ActionMenuApi } from "./ActionMenuApi.js";
|
|
16
|
-
import { ActionMenuModule } from "./ActionMenuModule.js";
|
|
17
16
|
import { ActionMenuEventTypes, ActionMenuStateChangedEvent } from "./ActionMenuEvents.js";
|
|
17
|
+
import { ActionMenuModule } from "./ActionMenuModule.js";
|
|
18
18
|
export { ActionMenu, ActionMenuApi, ActionMenuEventTypes, ActionMenuForm, ActionMenuFormInputType, ActionMenuFormOptions, ActionMenuFormParameter, ActionMenuFormParameterOptions, ActionMenuModule, ActionMenuOption, ActionMenuOptionOptions, ActionMenuOptions, ActionMenuProblemReportMessage, ActionMenuProblemReportMessageOptions, ActionMenuRecord, ActionMenuRecordProps, ActionMenuRepository, ActionMenuRole, ActionMenuSelection, ActionMenuSelectionOptions, ActionMenuState, ActionMenuStateChangedEvent, ClearActiveMenuOptions, CustomActionMenuTags, DefaultActionMenuTags, FindActiveMenuOptions, MenuMessage, MenuMessageOptions, MenuRequestMessage, MenuRequestMessageOptions, PerformActionOptions, PerformMessage, PerformMessageOptions, RequestMenuOptions, SendMenuOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuMessage.d.mts","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"MenuMessage.d.mts","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAUA;AAYa,UAZI,kBAAA,CAYQ;EAAA,EAAA,CAAA,EAAA,MAAA;OACK,EAAA,MAAA;aAAkB,EAAA,MAAA;cAkC7B,CAAA,EAAA,MAAA;SAnCc,EAPtB,uBAOsB,EAAA;EAAc,QAAA,CAAA,EAAA,MAAA;;;;;cAAlC,WAAA,SAAoB,cAAA;uBACH;;wBAAkB,kBAAA,CAmBnB;;;;WAeV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuMessage.d.ts","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"MenuMessage.d.ts","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAUA;AAYa,UAZI,kBAAA,CAYQ;EAAA,EAAA,CAAA,EAAA,MAAA;OACK,EAAA,MAAA;aAAkB,EAAA,MAAA;cAkC7B,CAAA,EAAA,MAAA;SAnCc,EAPtB,uBAOsB,EAAA;EAAc,QAAA,CAAA,EAAA,MAAA;;;;;cAAlC,WAAA,SAAoB,cAAA;uBACH;;wBAAkB,kBAAA,CAmBnB;;;;WAeV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MenuMessage.mjs","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"MenuMessage.mjs","names":[],"sources":["../../src/messages/MenuMessage.ts"],"sourcesContent":["import { DidCommMessage, IsValidMessageType, parseMessageType } from '@credo-ts/didcomm'\nimport { Expose, Type } from 'class-transformer'\nimport { IsInstance, IsOptional, IsString } from 'class-validator'\nimport type { ActionMenuOptionOptions } from '../models'\n\nimport { ActionMenuOption } from '../models'\n\n/**\n * @internal\n */\nexport interface MenuMessageOptions {\n id?: string\n title: string\n description: string\n errorMessage?: string\n options: ActionMenuOptionOptions[]\n threadId?: string\n}\n\n/**\n * @internal\n */\nexport class MenuMessage extends DidCommMessage {\n public constructor(options: MenuMessageOptions) {\n super()\n\n if (options) {\n this.id = options.id ?? this.generateId()\n this.title = options.title\n this.description = options.description\n this.errorMessage = options.errorMessage\n this.options = options.options.map((p) => new ActionMenuOption(p))\n if (options.threadId) {\n this.setThread({\n threadId: options.threadId,\n })\n }\n }\n }\n\n @IsValidMessageType(MenuMessage.type)\n public readonly type = MenuMessage.type.messageTypeUri\n public static readonly type = parseMessageType('https://didcomm.org/action-menu/1.0/menu')\n\n @IsString()\n public title!: string\n\n @IsString()\n public description!: string\n\n @Expose({ name: 'errormsg' })\n @IsString()\n @IsOptional()\n public errorMessage?: string\n\n @IsInstance(ActionMenuOption, { each: true })\n @Type(() => ActionMenuOption)\n public options!: ActionMenuOption[]\n}\n"],"mappings":";;;;;;;;;;;;AAsBA,IAAa,cAAb,MAAa,oBAAoB,eAAe;CAC9C,AAAO,YAAY,SAA6B;AAC9C,SAAO;OAiBO,OAAO,YAAY,KAAK;AAftC,MAAI,SAAS;AACX,QAAK,KAAK,QAAQ,MAAM,KAAK,YAAY;AACzC,QAAK,QAAQ,QAAQ;AACrB,QAAK,cAAc,QAAQ;AAC3B,QAAK,eAAe,QAAQ;AAC5B,QAAK,UAAU,QAAQ,QAAQ,KAAK,MAAM,IAAI,iBAAiB,EAAE,CAAC;AAClE,OAAI,QAAQ,SACV,MAAK,UAAU,EACb,UAAU,QAAQ,UACnB,CAAC;;;;YAOe,OAAO,iBAAiB,2CAA2C;YAFzF,mBAAmB,YAAY,KAAK;YAIpC,UAAU;YAGV,UAAU;;CAGV,OAAO,EAAE,MAAM,YAAY,CAAC;CAC5B,UAAU;CACV,YAAY;;;;CAGZ,WAAW,kBAAkB,EAAE,MAAM,MAAM,CAAC;CAC5C,WAAW,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenu.d.mts","names":[],"sources":["../../src/models/ActionMenu.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenu.d.mts","names":[],"sources":["../../src/models/ActionMenu.ts"],"sourcesContent":[],"mappings":";;;;;AASA;AASA;AAAuB,UATN,iBAAA,CASM;OACO,EAAA,MAAA;aAgBX,EAAA,MAAA;EAAgB,OAAA,EAvBxB,uBAuBwB,EAAA;;;;;cAjBtB,UAAA;uBACiB;;;WAgBX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenu.d.ts","names":[],"sources":["../../src/models/ActionMenu.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenu.d.ts","names":[],"sources":["../../src/models/ActionMenu.ts"],"sourcesContent":[],"mappings":";;;;;AASA;AASA;AAAuB,UATN,iBAAA,CASM;OACO,EAAA,MAAA;aAgBX,EAAA,MAAA;EAAgB,OAAA,EAvBxB,uBAuBwB,EAAA;;;;;cAjBtB,UAAA;uBACiB;;;WAgBX"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenu.mjs","names":[],"sources":["../../src/models/ActionMenu.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ActionMenu.mjs","names":[],"sources":["../../src/models/ActionMenu.ts"],"sourcesContent":["import { Type } from 'class-transformer'\nimport { IsInstance, IsString } from 'class-validator'\nimport type { ActionMenuOptionOptions } from './ActionMenuOption'\n\nimport { ActionMenuOption } from './ActionMenuOption'\n\n/**\n * @public\n */\nexport interface ActionMenuOptions {\n title: string\n description: string\n options: ActionMenuOptionOptions[]\n}\n\n/**\n * @public\n */\nexport class ActionMenu {\n public constructor(options: ActionMenuOptions) {\n if (options) {\n this.title = options.title\n this.description = options.description\n this.options = options.options.map((p) => new ActionMenuOption(p))\n }\n }\n\n @IsString()\n public title!: string\n\n @IsString()\n public description!: string\n\n @IsInstance(ActionMenuOption, { each: true })\n @Type(() => ActionMenuOption)\n public options!: ActionMenuOption[]\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAa,aAAb,MAAwB;CACtB,AAAO,YAAY,SAA4B;AAC7C,MAAI,SAAS;AACX,QAAK,QAAQ,QAAQ;AACrB,QAAK,cAAc,QAAQ;AAC3B,QAAK,UAAU,QAAQ,QAAQ,KAAK,MAAM,IAAI,iBAAiB,EAAE,CAAC;;;;YAIrE,UAAU;YAGV,UAAU;;CAGV,WAAW,kBAAkB,EAAE,MAAM,MAAM,CAAC;CAC5C,WAAW,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuOption.d.mts","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuOption.d.mts","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":[],"mappings":";;;;;AASA;AAWA;AAA6B,UAXZ,uBAAA,CAWY;MACC,EAAA,MAAA;OA4Bd,EAAA,MAAA;EAAc,WAAA,EAAA,MAAA;;SAnCrB;;;;;cAMI,gBAAA;uBACiB;;;;;SA4Bd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuOption.d.ts","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuOption.d.ts","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":[],"mappings":";;;;;AASA;AAWA;AAA6B,UAXZ,uBAAA,CAWY;MACC,EAAA,MAAA;OA4Bd,EAAA,MAAA;EAAc,WAAA,EAAA,MAAA;;SAnCrB;;;;;cAMI,gBAAA;uBACiB;;;;;SA4Bd"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuOption.mjs","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ActionMenuOption.mjs","names":[],"sources":["../../src/models/ActionMenuOption.ts"],"sourcesContent":["import { Type } from 'class-transformer'\nimport { IsBoolean, IsInstance, IsOptional, IsString } from 'class-validator'\nimport type { ActionMenuFormOptions } from './ActionMenuOptionForm'\n\nimport { ActionMenuForm } from './ActionMenuOptionForm'\n\n/**\n * @public\n */\nexport interface ActionMenuOptionOptions {\n name: string\n title: string\n description: string\n disabled?: boolean\n form?: ActionMenuFormOptions\n}\n\n/**\n * @public\n */\nexport class ActionMenuOption {\n public constructor(options: ActionMenuOptionOptions) {\n if (options) {\n this.name = options.name\n this.title = options.title\n this.description = options.description\n this.disabled = options.disabled\n if (options.form) {\n this.form = new ActionMenuForm(options.form)\n }\n }\n }\n\n @IsString()\n public name!: string\n\n @IsString()\n public title!: string\n\n @IsString()\n public description!: string\n\n @IsBoolean()\n @IsOptional()\n public disabled?: boolean\n\n @IsInstance(ActionMenuForm)\n @Type(() => ActionMenuForm)\n @IsOptional()\n public form?: ActionMenuForm\n}\n"],"mappings":";;;;;;;;;;;AAoBA,IAAa,mBAAb,MAA8B;CAC5B,AAAO,YAAY,SAAkC;AACnD,MAAI,SAAS;AACX,QAAK,OAAO,QAAQ;AACpB,QAAK,QAAQ,QAAQ;AACrB,QAAK,cAAc,QAAQ;AAC3B,QAAK,WAAW,QAAQ;AACxB,OAAI,QAAQ,KACV,MAAK,OAAO,IAAI,eAAe,QAAQ,KAAK;;;;YAKjD,UAAU;YAGV,UAAU;YAGV,UAAU;;CAGV,WAAW;CACX,YAAY;;;;CAGZ,WAAW,eAAe;CAC1B,WAAW,eAAe;CAC1B,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuOptionForm.d.mts","names":[],"sources":["../../src/models/ActionMenuOptionForm.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuOptionForm.d.mts","names":[],"sources":["../../src/models/ActionMenuOptionForm.ts"],"sourcesContent":[],"mappings":";;;;;AASA;AASA;AAA2B,UATV,qBAAA,CASU;aACG,EAAA,MAAA;QAiBZ,EAzBR,8BAyBQ,EAAA;EAAuB,WAAA,EAAA,MAAA;;;;;cAlB5B,cAAA;uBACiB;;;UAiBZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuOptionForm.d.ts","names":[],"sources":["../../src/models/ActionMenuOptionForm.ts"],"sourcesContent":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuOptionForm.d.ts","names":[],"sources":["../../src/models/ActionMenuOptionForm.ts"],"sourcesContent":[],"mappings":";;;;;AASA;AASA;AAA2B,UATV,qBAAA,CASU;aACG,EAAA,MAAA;QAiBZ,EAzBR,8BAyBQ,EAAA;EAAuB,WAAA,EAAA,MAAA;;;;;cAlB5B,cAAA;uBACiB;;;UAiBZ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuOptionForm.mjs","names":[],"sources":["../../src/models/ActionMenuOptionForm.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"ActionMenuOptionForm.mjs","names":[],"sources":["../../src/models/ActionMenuOptionForm.ts"],"sourcesContent":["import { Expose, Type } from 'class-transformer'\nimport { IsInstance, IsString } from 'class-validator'\nimport type { ActionMenuFormParameterOptions } from './ActionMenuOptionFormParameter'\n\nimport { ActionMenuFormParameter } from './ActionMenuOptionFormParameter'\n\n/**\n * @public\n */\nexport interface ActionMenuFormOptions {\n description: string\n params: ActionMenuFormParameterOptions[]\n submitLabel: string\n}\n\n/**\n * @public\n */\nexport class ActionMenuForm {\n public constructor(options: ActionMenuFormOptions) {\n if (options) {\n this.description = options.description\n this.params = options.params.map((p) => new ActionMenuFormParameter(p))\n this.submitLabel = options.submitLabel\n }\n }\n\n @IsString()\n public description!: string\n\n @Expose({ name: 'submit-label' })\n @IsString()\n public submitLabel!: string\n\n @IsInstance(ActionMenuFormParameter, { each: true })\n @Type(() => ActionMenuFormParameter)\n public params!: ActionMenuFormParameter[]\n}\n"],"mappings":";;;;;;;;;;AAkBA,IAAa,iBAAb,MAA4B;CAC1B,AAAO,YAAY,SAAgC;AACjD,MAAI,SAAS;AACX,QAAK,cAAc,QAAQ;AAC3B,QAAK,SAAS,QAAQ,OAAO,KAAK,MAAM,IAAI,wBAAwB,EAAE,CAAC;AACvE,QAAK,cAAc,QAAQ;;;;YAI9B,UAAU;;CAGV,OAAO,EAAE,MAAM,gBAAgB,CAAC;CAChC,UAAU;;;;CAGV,WAAW,yBAAyB,EAAE,MAAM,MAAM,CAAC;CACnD,WAAW,wBAAwB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuRecord.d.mts","names":[],"sources":["../../src/repository/ActionMenuRecord.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuRecord.d.mts","names":[],"sources":["../../src/repository/ActionMenuRecord.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAWA;AAAsC,UAArB,qBAAA,CAAqB;KAE7B,EAAA,MAAA;OACD,EADC,eACD;MACM,EADN,cACM;WAGL,CAAA,EAHK,IAGL;cACW,EAAA,MAAA;UACX,EAAA,MAAA;EAAoB,IAAA,CAAA,EAFpB,UAEoB;EAMjB,eAAA,CAAA,EAPQ,mBAOe;EAKvB,IAAA,CAAA,EAXH,oBAWwB;AASjC;;;;AAIiB,KAlBL,oBAAA,GAAuB,QAkBlB;;;;AAcW,KA3BhB,qBAAA,GA2BgB;QA1BpB;cAmD6B,EAAA,MAAA;UAAkB,EAAA,MAAA;;;;;cA3C1C,gBAAA,SACH,WAAW,uBAAuB,iCAC/B;SAEI;QACD;;;SAKA;oBAGW;;;qBAKC;;;;;;8BAyBS,kBAAkB;2BAYrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuRecord.d.ts","names":[],"sources":["../../src/repository/ActionMenuRecord.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuRecord.d.ts","names":[],"sources":["../../src/repository/ActionMenuRecord.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;AAWA;AAAsC,UAArB,qBAAA,CAAqB;KAE7B,EAAA,MAAA;OACD,EADC,eACD;MACM,EADN,cACM;WAGL,CAAA,EAHK,IAGL;cACW,EAAA,MAAA;UACX,EAAA,MAAA;EAAoB,IAAA,CAAA,EAFpB,UAEoB;EAMjB,eAAA,CAAA,EAPQ,mBAOe;EAKvB,IAAA,CAAA,EAXH,oBAWwB;AASjC;;;;AAIiB,KAlBL,oBAAA,GAAuB,QAkBlB;;;;AAcW,KA3BhB,qBAAA,GA2BgB;QA1BpB;cAmD6B,EAAA,MAAA;UAAkB,EAAA,MAAA;;;;;cA3C1C,gBAAA,SACH,WAAW,uBAAuB,iCAC/B;SAEI;QACD;;;SAKA;oBAGW;;;qBAKC;;;;;;8BAyBS,kBAAkB;2BAYrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuRecord.mjs","names":[],"sources":["../../src/repository/ActionMenuRecord.ts"],"sourcesContent":["import type { TagsBase } from '@credo-ts/core'\nimport
|
|
1
|
+
{"version":3,"file":"ActionMenuRecord.mjs","names":[],"sources":["../../src/repository/ActionMenuRecord.ts"],"sourcesContent":["import type { TagsBase } from '@credo-ts/core'\nimport { BaseRecord, CredoError, utils } from '@credo-ts/core'\nimport { Type } from 'class-transformer'\nimport type { ActionMenuRole } from '../ActionMenuRole'\nimport type { ActionMenuState } from '../ActionMenuState'\n\nimport { ActionMenu, ActionMenuSelection } from '../models'\n\n/**\n * @public\n */\nexport interface ActionMenuRecordProps {\n id?: string\n state: ActionMenuState\n role: ActionMenuRole\n createdAt?: Date\n connectionId: string\n threadId: string\n menu?: ActionMenu\n performedAction?: ActionMenuSelection\n tags?: CustomActionMenuTags\n}\n\n/**\n * @public\n */\nexport type CustomActionMenuTags = TagsBase\n\n/**\n * @public\n */\nexport type DefaultActionMenuTags = {\n role: ActionMenuRole\n connectionId: string\n threadId: string\n}\n\n/**\n * @public\n */\nexport class ActionMenuRecord\n extends BaseRecord<DefaultActionMenuTags, CustomActionMenuTags>\n implements ActionMenuRecordProps\n{\n public state!: ActionMenuState\n public role!: ActionMenuRole\n public connectionId!: string\n public threadId!: string\n\n @Type(() => ActionMenu)\n public menu?: ActionMenu\n\n @Type(() => ActionMenuSelection)\n public performedAction?: ActionMenuSelection\n\n public static readonly type = 'ActionMenuRecord'\n public readonly type = ActionMenuRecord.type\n\n public constructor(props: ActionMenuRecordProps) {\n super()\n\n if (props) {\n this.id = props.id ?? utils.uuid()\n this.createdAt = props.createdAt ?? new Date()\n this.connectionId = props.connectionId\n this.threadId = props.threadId\n this.state = props.state\n this.role = props.role\n this.menu = props.menu\n this.performedAction = props.performedAction\n this._tags = props.tags ?? {}\n }\n }\n\n public getTags() {\n return {\n ...this._tags,\n role: this.role,\n connectionId: this.connectionId,\n threadId: this.threadId,\n }\n }\n\n public assertState(expectedStates: ActionMenuState | ActionMenuState[]) {\n if (!Array.isArray(expectedStates)) {\n expectedStates = [expectedStates]\n }\n\n if (!expectedStates.includes(this.state)) {\n throw new CredoError(\n `Action Menu record is in invalid state ${this.state}. Valid states are: ${expectedStates.join(', ')}.`\n )\n }\n }\n\n public assertRole(expectedRole: ActionMenuRole) {\n if (this.role !== expectedRole) {\n throw new CredoError(`Action Menu record has invalid role ${this.role}. Expected role ${expectedRole}.`)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;AAwCA,IAAa,mBAAb,MAAa,yBACH,WAEV;CAeE,AAAO,YAAY,OAA8B;AAC/C,SAAO;OAHO,OAAO,iBAAiB;AAKtC,MAAI,OAAO;AACT,QAAK,KAAK,MAAM,MAAM,MAAM,MAAM;AAClC,QAAK,YAAY,MAAM,6BAAa,IAAI,MAAM;AAC9C,QAAK,eAAe,MAAM;AAC1B,QAAK,WAAW,MAAM;AACtB,QAAK,QAAQ,MAAM;AACnB,QAAK,OAAO,MAAM;AAClB,QAAK,OAAO,MAAM;AAClB,QAAK,kBAAkB,MAAM;AAC7B,QAAK,QAAQ,MAAM,QAAQ,EAAE;;;CAIjC,AAAO,UAAU;AACf,SAAO;GACL,GAAG,KAAK;GACR,MAAM,KAAK;GACX,cAAc,KAAK;GACnB,UAAU,KAAK;GAChB;;CAGH,AAAO,YAAY,gBAAqD;AACtE,MAAI,CAAC,MAAM,QAAQ,eAAe,CAChC,kBAAiB,CAAC,eAAe;AAGnC,MAAI,CAAC,eAAe,SAAS,KAAK,MAAM,CACtC,OAAM,IAAI,WACR,0CAA0C,KAAK,MAAM,sBAAsB,eAAe,KAAK,KAAK,CAAC,GACtG;;CAIL,AAAO,WAAW,cAA8B;AAC9C,MAAI,KAAK,SAAS,aAChB,OAAM,IAAI,WAAW,uCAAuC,KAAK,KAAK,kBAAkB,aAAa,GAAG;;;iBA1CrF,OAAO;YAN7B,WAAW,WAAW;YAGtB,WAAW,oBAAoB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuRepository.mjs","names":["ActionMenuRepository","storageService: StorageService<ActionMenuRecord>"],"sources":["../../src/repository/ActionMenuRepository.ts"],"sourcesContent":["import { EventEmitter, InjectionSymbols, Repository, type StorageService
|
|
1
|
+
{"version":3,"file":"ActionMenuRepository.mjs","names":["ActionMenuRepository","storageService: StorageService<ActionMenuRecord>"],"sources":["../../src/repository/ActionMenuRepository.ts"],"sourcesContent":["import { EventEmitter, InjectionSymbols, inject, injectable, Repository, type StorageService } from '@credo-ts/core'\n\nimport { ActionMenuRecord } from './ActionMenuRecord'\n\n/**\n * @internal\n */\n@injectable()\nexport class ActionMenuRepository extends Repository<ActionMenuRecord> {\n public constructor(\n @inject(InjectionSymbols.StorageService) storageService: StorageService<ActionMenuRecord>,\n eventEmitter: EventEmitter\n ) {\n super(ActionMenuRecord, storageService, eventEmitter)\n }\n}\n"],"mappings":";;;;;;;;AAQO,iCAAMA,+BAA6B,WAA6B;CACrE,AAAO,YACL,AAAyCC,gBACzC,cACA;AACA,QAAM,kBAAkB,gBAAgB,aAAa;;;;CANxD,YAAY;oBAGR,OAAO,iBAAiB,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuService.d.mts","names":[],"sources":["../../src/services/ActionMenuService.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuService.d.mts","names":[],"sources":["../../src/services/ActionMenuService.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;cAyBa,iBAAA;EAAA,QAAA,oBAAiB;EAAA,QAAA,YAAA;UAKa,MAAA;aAAmC,CAAA,oBAAA,EAAnC,oBAAmC,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAA2B,YAA3B;eAA2B,CAAA,YAAA,EAM9D,YAN8D,EAAA,OAAA,EAMvC,oBANuC,CAAA,EAMnB,OANmB,CAAA;IAM9D,OAAA,oBAAA;IAAuB,MAAA,kBAAA;;iCAsCpB,6BAA6B,sBAAmB,QAAA;YAtCR,CAAA,YAAA,EA6E9C,YA7E8C,EAAA,OAAA,EA6EvB,iBA7EuB,CAAA,EA6EN,OA7EM,CAAA;IAsCX,OAAA,aAAA;IAA7B,MAAA,kBAAA;;aAAgD,CAAA,cAAA,EA8FnD,4BA9FmD,CA8FtB,WA9FsB,CAAA,CAAA,EA8FV,OA9FU,CAAA,IAAA,CAAA;eAuCtD,CAAA,YAAA,EAyGG,YAzGH,EAAA,OAAA,EAyG0B,oBAzG1B,CAAA,EAyG8C,OAzG9C,CAAA;IAAuB,OAAA,gBAAA;;;gBAAiB,CAAA,cAAA,EAyIlC,4BAzIkC,CAyIL,cAzIK,CAAA,CAAA,EAyIU,OAzIV,CAAA,IAAA,CAAA;WAuDR,CAAA,YAAA,EA8HjC,YA9HiC,EAAA,OAAA,EA8HV,gBA9HU,CAAA,EA8HM,OA9HN,CA8HM,gBA9HN,CAAA;sBAA7B,CAAA,cAAA,EAgJvB,4BAhJuB,CAgJM,8BAhJN,CAAA,CAAA,EAiJtC,OAjJsC,CAiJ9B,gBAjJ8B,CAAA;UAAyC,CAAA,YAAA,EAoK9C,YApK8C,EAAA,kBAAA,EAAA,MAAA,CAAA,EAoKN,OApKM,CAoKN,gBApKM,GAAA,IAAA,CAAA;MAkDzC,CAAA,YAAA,EAsHT,YAtHS,EAAA,OAAA,EAsHc,eAtHd,CAAA,EAsH6B,OAtH7B,CAsH6B,gBAtH7B,GAAA,IAAA,CAAA;gBAAuB,CAAA,YAAA,EA+HhD,YA/HgD,EAAA,OAAA,EAgIrD,KAhIqD,CAgI/C,gBAhI+C,CAAA,EAAA,YAAA,CAAA,EAiI/C,YAjI+C,CAAA,EAiInC,OAjImC,CAiInC,gBAjImC,EAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuService.d.ts","names":[],"sources":["../../src/services/ActionMenuService.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ActionMenuService.d.ts","names":[],"sources":["../../src/services/ActionMenuService.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;cAyBa,iBAAA;EAAA,QAAA,oBAAiB;EAAA,QAAA,YAAA;UAKa,MAAA;aAAmC,CAAA,oBAAA,EAAnC,oBAAmC,EAAA,WAAA,EAAA,WAAA,EAAA,YAAA,EAA2B,YAA3B;eAA2B,CAAA,YAAA,EAM9D,YAN8D,EAAA,OAAA,EAMvC,oBANuC,CAAA,EAMnB,OANmB,CAAA;IAM9D,OAAA,oBAAA;IAAuB,MAAA,kBAAA;;iCAsCpB,6BAA6B,sBAAmB,QAAA;YAtCR,CAAA,YAAA,EA6E9C,YA7E8C,EAAA,OAAA,EA6EvB,iBA7EuB,CAAA,EA6EN,OA7EM,CAAA;IAsCX,OAAA,aAAA;IAA7B,MAAA,kBAAA;;aAAgD,CAAA,cAAA,EA8FnD,4BA9FmD,CA8FtB,WA9FsB,CAAA,CAAA,EA8FV,OA9FU,CAAA,IAAA,CAAA;eAuCtD,CAAA,YAAA,EAyGG,YAzGH,EAAA,OAAA,EAyG0B,oBAzG1B,CAAA,EAyG8C,OAzG9C,CAAA;IAAuB,OAAA,gBAAA;;;gBAAiB,CAAA,cAAA,EAyIlC,4BAzIkC,CAyIL,cAzIK,CAAA,CAAA,EAyIU,OAzIV,CAAA,IAAA,CAAA;WAuDR,CAAA,YAAA,EA8HjC,YA9HiC,EAAA,OAAA,EA8HV,gBA9HU,CAAA,EA8HM,OA9HN,CA8HM,gBA9HN,CAAA;sBAA7B,CAAA,cAAA,EAgJvB,4BAhJuB,CAgJM,8BAhJN,CAAA,CAAA,EAiJtC,OAjJsC,CAiJ9B,gBAjJ8B,CAAA;UAAyC,CAAA,YAAA,EAoK9C,YApK8C,EAAA,kBAAA,EAAA,MAAA,CAAA,EAoKN,OApKM,CAoKN,gBApKM,GAAA,IAAA,CAAA;MAkDzC,CAAA,YAAA,EAsHT,YAtHS,EAAA,OAAA,EAsHc,eAtHd,CAAA,EAsH6B,OAtH7B,CAsH6B,gBAtH7B,GAAA,IAAA,CAAA;gBAAuB,CAAA,YAAA,EA+HhD,YA/HgD,EAAA,OAAA,EAgIrD,KAhIqD,CAgI/C,gBAhI+C,CAAA,EAAA,YAAA,CAAA,EAiI/C,YAjI+C,CAAA,EAiInC,OAjImC,CAiInC,gBAjImC,EAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionMenuService.mjs","names":["ActionMenuService"],"sources":["../../src/services/ActionMenuService.ts"],"sourcesContent":["import type { AgentContext, Logger, Query, QueryOptions } from '@credo-ts/core'\nimport type { DidCommInboundMessageContext } from '@credo-ts/didcomm'\nimport type { ActionMenuStateChangedEvent } from '../ActionMenuEvents'\nimport type { ActionMenuProblemReportMessage } from '../messages'\nimport type {\n ClearMenuOptions,\n CreateMenuOptions,\n CreatePerformOptions,\n CreateRequestOptions,\n FindMenuOptions,\n} from './ActionMenuServiceOptions'\n\nimport { AgentConfig, CredoError, EventEmitter, injectable } from '@credo-ts/core'\n\nimport { ActionMenuEventTypes } from '../ActionMenuEvents'\nimport { ActionMenuRole } from '../ActionMenuRole'\nimport { ActionMenuState } from '../ActionMenuState'\nimport { ActionMenuProblemReportError } from '../errors/ActionMenuProblemReportError'\nimport { ActionMenuProblemReportReason } from '../errors/ActionMenuProblemReportReason'\nimport { MenuMessage, MenuRequestMessage, PerformMessage } from '../messages'\nimport { ActionMenu, ActionMenuSelection } from '../models'\nimport { ActionMenuRecord, ActionMenuRepository } from '../repository'\n\n/**\n * @internal\n */\n@injectable()\nexport class ActionMenuService {\n private actionMenuRepository: ActionMenuRepository\n private eventEmitter: EventEmitter\n private logger: Logger\n\n public constructor(actionMenuRepository: ActionMenuRepository, agentConfig: AgentConfig, eventEmitter: EventEmitter) {\n this.actionMenuRepository = actionMenuRepository\n this.eventEmitter = eventEmitter\n this.logger = agentConfig.logger\n }\n\n public async createRequest(agentContext: AgentContext, options: CreateRequestOptions) {\n // Assert\n options.connection.assertReady()\n\n // Create message\n const menuRequestMessage = new MenuRequestMessage({})\n\n // Create record if not existent for connection/role\n let actionMenuRecord = await this.find(agentContext, {\n connectionId: options.connection.id,\n role: ActionMenuRole.Requester,\n })\n\n if (actionMenuRecord) {\n // Protocol will be restarted and menu cleared\n const previousState = actionMenuRecord.state\n actionMenuRecord.state = ActionMenuState.AwaitingRootMenu\n actionMenuRecord.threadId = menuRequestMessage.id\n actionMenuRecord.menu = undefined\n actionMenuRecord.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, previousState)\n } else {\n actionMenuRecord = new ActionMenuRecord({\n connectionId: options.connection.id,\n role: ActionMenuRole.Requester,\n state: ActionMenuState.AwaitingRootMenu,\n threadId: menuRequestMessage.threadId,\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n\n return { message: menuRequestMessage, record: actionMenuRecord }\n }\n\n public async processRequest(messageContext: DidCommInboundMessageContext<MenuRequestMessage>) {\n const { message: menuRequestMessage, agentContext } = messageContext\n\n this.logger.debug(`Processing menu request with id ${menuRequestMessage.id}`)\n\n // Assert\n const connection = messageContext.assertReadyConnection()\n\n let actionMenuRecord = await this.find(agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Responder,\n })\n\n if (actionMenuRecord) {\n // Protocol will be restarted and menu cleared\n const previousState = actionMenuRecord.state\n actionMenuRecord.state = ActionMenuState.PreparingRootMenu\n actionMenuRecord.threadId = menuRequestMessage.id\n actionMenuRecord.menu = undefined\n actionMenuRecord.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, previousState)\n } else {\n // Create record\n actionMenuRecord = new ActionMenuRecord({\n connectionId: connection.id,\n role: ActionMenuRole.Responder,\n state: ActionMenuState.PreparingRootMenu,\n threadId: menuRequestMessage.threadId,\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n\n return actionMenuRecord\n }\n\n public async createMenu(agentContext: AgentContext, options: CreateMenuOptions) {\n // Assert connection ready\n options.connection.assertReady()\n\n const uniqueNames = new Set(options.menu.options.map((v) => v.name))\n if (uniqueNames.size < options.menu.options.length) {\n throw new CredoError('Action Menu contains duplicated options')\n }\n\n // Create message\n const menuMessage = new MenuMessage({\n title: options.menu.title,\n description: options.menu.description,\n options: options.menu.options,\n })\n\n // Check if there is an existing menu for this connection and role\n let actionMenuRecord = await this.find(agentContext, {\n connectionId: options.connection.id,\n role: ActionMenuRole.Responder,\n })\n\n // If so, continue existing flow\n if (actionMenuRecord) {\n actionMenuRecord.assertState([ActionMenuState.Null, ActionMenuState.PreparingRootMenu, ActionMenuState.Done])\n // The new menu will be bound to the existing thread\n // unless it is in null state (protocol reset)\n if (actionMenuRecord.state !== ActionMenuState.Null) {\n menuMessage.setThread({ threadId: actionMenuRecord.threadId })\n }\n\n const previousState = actionMenuRecord.state\n actionMenuRecord.menu = options.menu\n actionMenuRecord.state = ActionMenuState.AwaitingSelection\n actionMenuRecord.threadId = menuMessage.threadId\n\n await this.actionMenuRepository.update(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, previousState)\n } else {\n // Create record\n actionMenuRecord = new ActionMenuRecord({\n connectionId: options.connection.id,\n role: ActionMenuRole.Responder,\n state: ActionMenuState.AwaitingSelection,\n menu: options.menu,\n threadId: menuMessage.threadId,\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n\n return { message: menuMessage, record: actionMenuRecord }\n }\n\n public async processMenu(messageContext: DidCommInboundMessageContext<MenuMessage>) {\n const { message: menuMessage, agentContext } = messageContext\n\n this.logger.debug(`Processing action menu with id ${menuMessage.id}`)\n\n // Assert\n const connection = messageContext.assertReadyConnection()\n\n // Check if there is an existing menu for this connection and role\n const record = await this.find(agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Requester,\n })\n\n if (record) {\n // Record found: update with menu details\n const previousState = record.state\n\n record.state = ActionMenuState.PreparingSelection\n record.menu = new ActionMenu({\n title: menuMessage.title,\n description: menuMessage.description,\n options: menuMessage.options,\n })\n record.threadId = menuMessage.threadId\n record.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n } else {\n // Record not found: create it\n const actionMenuRecord = new ActionMenuRecord({\n connectionId: connection.id,\n role: ActionMenuRole.Requester,\n state: ActionMenuState.PreparingSelection,\n threadId: menuMessage.threadId,\n menu: new ActionMenu({\n title: menuMessage.title,\n description: menuMessage.description,\n options: menuMessage.options,\n }),\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n }\n\n public async createPerform(agentContext: AgentContext, options: CreatePerformOptions) {\n const { actionMenuRecord: record, performedAction: performedSelection } = options\n\n // Assert\n record.assertRole(ActionMenuRole.Requester)\n record.assertState([ActionMenuState.PreparingSelection])\n\n const validSelection = record.menu?.options.some((item) => item.name === performedSelection.name)\n if (!validSelection) {\n throw new CredoError('Selection does not match valid actions')\n }\n\n const previousState = record.state\n\n // Create message\n const menuMessage = new PerformMessage({\n name: performedSelection.name,\n params: performedSelection.params,\n threadId: record.threadId,\n })\n\n // Update record\n record.performedAction = options.performedAction\n record.state = ActionMenuState.Done\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n\n return { message: menuMessage, record }\n }\n\n public async processPerform(messageContext: DidCommInboundMessageContext<PerformMessage>) {\n const { message: performMessage, agentContext } = messageContext\n\n this.logger.debug(`Processing action menu perform with id ${performMessage.id}`)\n\n const connection = messageContext.assertReadyConnection()\n\n // Check if there is an existing menu for this connection and role\n const record = await this.find(agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Responder,\n threadId: performMessage.threadId,\n })\n\n if (record) {\n // Record found: check state and update with menu details\n\n // A Null state means that menu has been cleared by the responder.\n // Requester should be informed in order to request another menu\n if (record.state === ActionMenuState.Null) {\n throw new ActionMenuProblemReportError('Action Menu has been cleared by the responder', {\n problemCode: ActionMenuProblemReportReason.Timeout,\n })\n }\n record.assertState([ActionMenuState.AwaitingSelection])\n\n const validSelection = record.menu?.options.some((item) => item.name === performMessage.name)\n if (!validSelection) {\n throw new CredoError('Selection does not match valid actions')\n }\n\n const previousState = record.state\n\n record.state = ActionMenuState.Done\n record.performedAction = new ActionMenuSelection({ name: performMessage.name, params: performMessage.params })\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n } else {\n throw new CredoError(`No Action Menu found with thread id ${messageContext.message.threadId}`)\n }\n }\n\n public async clearMenu(agentContext: AgentContext, options: ClearMenuOptions) {\n const { actionMenuRecord: record } = options\n\n const previousState = record.state\n\n // Update record\n record.state = ActionMenuState.Null\n record.menu = undefined\n record.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n\n return record\n }\n\n public async processProblemReport(\n messageContext: DidCommInboundMessageContext<ActionMenuProblemReportMessage>\n ): Promise<ActionMenuRecord> {\n const { message: actionMenuProblemReportMessage, agentContext } = messageContext\n\n const connection = messageContext.assertReadyConnection()\n\n this.logger.debug(`Processing problem report with id ${actionMenuProblemReportMessage.id}`)\n\n const actionMenuRecord = await this.find(agentContext, {\n role: ActionMenuRole.Requester,\n connectionId: connection.id,\n })\n\n if (!actionMenuRecord) {\n throw new CredoError(`Unable to process action menu problem: record not found for connection id ${connection.id}`)\n }\n // Clear menu to restart flow\n return await this.clearMenu(agentContext, { actionMenuRecord })\n }\n\n public async findById(agentContext: AgentContext, actionMenuRecordId: string) {\n return await this.actionMenuRepository.findById(agentContext, actionMenuRecordId)\n }\n\n public async find(agentContext: AgentContext, options: FindMenuOptions) {\n return await this.actionMenuRepository.findSingleByQuery(agentContext, {\n connectionId: options.connectionId,\n role: options.role,\n threadId: options.threadId,\n })\n }\n\n public async findAllByQuery(\n agentContext: AgentContext,\n options: Query<ActionMenuRecord>,\n queryOptions?: QueryOptions\n ) {\n return await this.actionMenuRepository.findByQuery(agentContext, options, queryOptions)\n }\n\n private emitStateChangedEvent(\n agentContext: AgentContext,\n actionMenuRecord: ActionMenuRecord,\n previousState: ActionMenuState | null\n ) {\n this.eventEmitter.emit<ActionMenuStateChangedEvent>(agentContext, {\n type: ActionMenuEventTypes.ActionMenuStateChanged,\n payload: {\n actionMenuRecord: actionMenuRecord.clone(),\n previousState: previousState,\n },\n })\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionMenuService.mjs","names":["ActionMenuService"],"sources":["../../src/services/ActionMenuService.ts"],"sourcesContent":["import type { AgentContext, Logger, Query, QueryOptions } from '@credo-ts/core'\nimport { AgentConfig, CredoError, EventEmitter, injectable } from '@credo-ts/core'\nimport type { DidCommInboundMessageContext } from '@credo-ts/didcomm'\nimport type { ActionMenuStateChangedEvent } from '../ActionMenuEvents'\nimport { ActionMenuEventTypes } from '../ActionMenuEvents'\nimport { ActionMenuRole } from '../ActionMenuRole'\nimport { ActionMenuState } from '../ActionMenuState'\nimport { ActionMenuProblemReportError } from '../errors/ActionMenuProblemReportError'\nimport { ActionMenuProblemReportReason } from '../errors/ActionMenuProblemReportReason'\nimport type { ActionMenuProblemReportMessage } from '../messages'\nimport { MenuMessage, MenuRequestMessage, PerformMessage } from '../messages'\nimport { ActionMenu, ActionMenuSelection } from '../models'\nimport { ActionMenuRecord, ActionMenuRepository } from '../repository'\nimport type {\n ClearMenuOptions,\n CreateMenuOptions,\n CreatePerformOptions,\n CreateRequestOptions,\n FindMenuOptions,\n} from './ActionMenuServiceOptions'\n\n/**\n * @internal\n */\n@injectable()\nexport class ActionMenuService {\n private actionMenuRepository: ActionMenuRepository\n private eventEmitter: EventEmitter\n private logger: Logger\n\n public constructor(actionMenuRepository: ActionMenuRepository, agentConfig: AgentConfig, eventEmitter: EventEmitter) {\n this.actionMenuRepository = actionMenuRepository\n this.eventEmitter = eventEmitter\n this.logger = agentConfig.logger\n }\n\n public async createRequest(agentContext: AgentContext, options: CreateRequestOptions) {\n // Assert\n options.connection.assertReady()\n\n // Create message\n const menuRequestMessage = new MenuRequestMessage({})\n\n // Create record if not existent for connection/role\n let actionMenuRecord = await this.find(agentContext, {\n connectionId: options.connection.id,\n role: ActionMenuRole.Requester,\n })\n\n if (actionMenuRecord) {\n // Protocol will be restarted and menu cleared\n const previousState = actionMenuRecord.state\n actionMenuRecord.state = ActionMenuState.AwaitingRootMenu\n actionMenuRecord.threadId = menuRequestMessage.id\n actionMenuRecord.menu = undefined\n actionMenuRecord.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, previousState)\n } else {\n actionMenuRecord = new ActionMenuRecord({\n connectionId: options.connection.id,\n role: ActionMenuRole.Requester,\n state: ActionMenuState.AwaitingRootMenu,\n threadId: menuRequestMessage.threadId,\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n\n return { message: menuRequestMessage, record: actionMenuRecord }\n }\n\n public async processRequest(messageContext: DidCommInboundMessageContext<MenuRequestMessage>) {\n const { message: menuRequestMessage, agentContext } = messageContext\n\n this.logger.debug(`Processing menu request with id ${menuRequestMessage.id}`)\n\n // Assert\n const connection = messageContext.assertReadyConnection()\n\n let actionMenuRecord = await this.find(agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Responder,\n })\n\n if (actionMenuRecord) {\n // Protocol will be restarted and menu cleared\n const previousState = actionMenuRecord.state\n actionMenuRecord.state = ActionMenuState.PreparingRootMenu\n actionMenuRecord.threadId = menuRequestMessage.id\n actionMenuRecord.menu = undefined\n actionMenuRecord.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, previousState)\n } else {\n // Create record\n actionMenuRecord = new ActionMenuRecord({\n connectionId: connection.id,\n role: ActionMenuRole.Responder,\n state: ActionMenuState.PreparingRootMenu,\n threadId: menuRequestMessage.threadId,\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n\n return actionMenuRecord\n }\n\n public async createMenu(agentContext: AgentContext, options: CreateMenuOptions) {\n // Assert connection ready\n options.connection.assertReady()\n\n const uniqueNames = new Set(options.menu.options.map((v) => v.name))\n if (uniqueNames.size < options.menu.options.length) {\n throw new CredoError('Action Menu contains duplicated options')\n }\n\n // Create message\n const menuMessage = new MenuMessage({\n title: options.menu.title,\n description: options.menu.description,\n options: options.menu.options,\n })\n\n // Check if there is an existing menu for this connection and role\n let actionMenuRecord = await this.find(agentContext, {\n connectionId: options.connection.id,\n role: ActionMenuRole.Responder,\n })\n\n // If so, continue existing flow\n if (actionMenuRecord) {\n actionMenuRecord.assertState([ActionMenuState.Null, ActionMenuState.PreparingRootMenu, ActionMenuState.Done])\n // The new menu will be bound to the existing thread\n // unless it is in null state (protocol reset)\n if (actionMenuRecord.state !== ActionMenuState.Null) {\n menuMessage.setThread({ threadId: actionMenuRecord.threadId })\n }\n\n const previousState = actionMenuRecord.state\n actionMenuRecord.menu = options.menu\n actionMenuRecord.state = ActionMenuState.AwaitingSelection\n actionMenuRecord.threadId = menuMessage.threadId\n\n await this.actionMenuRepository.update(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, previousState)\n } else {\n // Create record\n actionMenuRecord = new ActionMenuRecord({\n connectionId: options.connection.id,\n role: ActionMenuRole.Responder,\n state: ActionMenuState.AwaitingSelection,\n menu: options.menu,\n threadId: menuMessage.threadId,\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n\n return { message: menuMessage, record: actionMenuRecord }\n }\n\n public async processMenu(messageContext: DidCommInboundMessageContext<MenuMessage>) {\n const { message: menuMessage, agentContext } = messageContext\n\n this.logger.debug(`Processing action menu with id ${menuMessage.id}`)\n\n // Assert\n const connection = messageContext.assertReadyConnection()\n\n // Check if there is an existing menu for this connection and role\n const record = await this.find(agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Requester,\n })\n\n if (record) {\n // Record found: update with menu details\n const previousState = record.state\n\n record.state = ActionMenuState.PreparingSelection\n record.menu = new ActionMenu({\n title: menuMessage.title,\n description: menuMessage.description,\n options: menuMessage.options,\n })\n record.threadId = menuMessage.threadId\n record.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n } else {\n // Record not found: create it\n const actionMenuRecord = new ActionMenuRecord({\n connectionId: connection.id,\n role: ActionMenuRole.Requester,\n state: ActionMenuState.PreparingSelection,\n threadId: menuMessage.threadId,\n menu: new ActionMenu({\n title: menuMessage.title,\n description: menuMessage.description,\n options: menuMessage.options,\n }),\n })\n\n await this.actionMenuRepository.save(agentContext, actionMenuRecord)\n\n this.emitStateChangedEvent(agentContext, actionMenuRecord, null)\n }\n }\n\n public async createPerform(agentContext: AgentContext, options: CreatePerformOptions) {\n const { actionMenuRecord: record, performedAction: performedSelection } = options\n\n // Assert\n record.assertRole(ActionMenuRole.Requester)\n record.assertState([ActionMenuState.PreparingSelection])\n\n const validSelection = record.menu?.options.some((item) => item.name === performedSelection.name)\n if (!validSelection) {\n throw new CredoError('Selection does not match valid actions')\n }\n\n const previousState = record.state\n\n // Create message\n const menuMessage = new PerformMessage({\n name: performedSelection.name,\n params: performedSelection.params,\n threadId: record.threadId,\n })\n\n // Update record\n record.performedAction = options.performedAction\n record.state = ActionMenuState.Done\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n\n return { message: menuMessage, record }\n }\n\n public async processPerform(messageContext: DidCommInboundMessageContext<PerformMessage>) {\n const { message: performMessage, agentContext } = messageContext\n\n this.logger.debug(`Processing action menu perform with id ${performMessage.id}`)\n\n const connection = messageContext.assertReadyConnection()\n\n // Check if there is an existing menu for this connection and role\n const record = await this.find(agentContext, {\n connectionId: connection.id,\n role: ActionMenuRole.Responder,\n threadId: performMessage.threadId,\n })\n\n if (record) {\n // Record found: check state and update with menu details\n\n // A Null state means that menu has been cleared by the responder.\n // Requester should be informed in order to request another menu\n if (record.state === ActionMenuState.Null) {\n throw new ActionMenuProblemReportError('Action Menu has been cleared by the responder', {\n problemCode: ActionMenuProblemReportReason.Timeout,\n })\n }\n record.assertState([ActionMenuState.AwaitingSelection])\n\n const validSelection = record.menu?.options.some((item) => item.name === performMessage.name)\n if (!validSelection) {\n throw new CredoError('Selection does not match valid actions')\n }\n\n const previousState = record.state\n\n record.state = ActionMenuState.Done\n record.performedAction = new ActionMenuSelection({ name: performMessage.name, params: performMessage.params })\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n } else {\n throw new CredoError(`No Action Menu found with thread id ${messageContext.message.threadId}`)\n }\n }\n\n public async clearMenu(agentContext: AgentContext, options: ClearMenuOptions) {\n const { actionMenuRecord: record } = options\n\n const previousState = record.state\n\n // Update record\n record.state = ActionMenuState.Null\n record.menu = undefined\n record.performedAction = undefined\n\n await this.actionMenuRepository.update(agentContext, record)\n\n this.emitStateChangedEvent(agentContext, record, previousState)\n\n return record\n }\n\n public async processProblemReport(\n messageContext: DidCommInboundMessageContext<ActionMenuProblemReportMessage>\n ): Promise<ActionMenuRecord> {\n const { message: actionMenuProblemReportMessage, agentContext } = messageContext\n\n const connection = messageContext.assertReadyConnection()\n\n this.logger.debug(`Processing problem report with id ${actionMenuProblemReportMessage.id}`)\n\n const actionMenuRecord = await this.find(agentContext, {\n role: ActionMenuRole.Requester,\n connectionId: connection.id,\n })\n\n if (!actionMenuRecord) {\n throw new CredoError(`Unable to process action menu problem: record not found for connection id ${connection.id}`)\n }\n // Clear menu to restart flow\n return await this.clearMenu(agentContext, { actionMenuRecord })\n }\n\n public async findById(agentContext: AgentContext, actionMenuRecordId: string) {\n return await this.actionMenuRepository.findById(agentContext, actionMenuRecordId)\n }\n\n public async find(agentContext: AgentContext, options: FindMenuOptions) {\n return await this.actionMenuRepository.findSingleByQuery(agentContext, {\n connectionId: options.connectionId,\n role: options.role,\n threadId: options.threadId,\n })\n }\n\n public async findAllByQuery(\n agentContext: AgentContext,\n options: Query<ActionMenuRecord>,\n queryOptions?: QueryOptions\n ) {\n return await this.actionMenuRepository.findByQuery(agentContext, options, queryOptions)\n }\n\n private emitStateChangedEvent(\n agentContext: AgentContext,\n actionMenuRecord: ActionMenuRecord,\n previousState: ActionMenuState | null\n ) {\n this.eventEmitter.emit<ActionMenuStateChangedEvent>(agentContext, {\n type: ActionMenuEventTypes.ActionMenuStateChanged,\n payload: {\n actionMenuRecord: actionMenuRecord.clone(),\n previousState: previousState,\n },\n })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAyBO,8BAAMA,oBAAkB;CAK7B,AAAO,YAAY,sBAA4C,aAA0B,cAA4B;AACnH,OAAK,uBAAuB;AAC5B,OAAK,eAAe;AACpB,OAAK,SAAS,YAAY;;CAG5B,MAAa,cAAc,cAA4B,SAA+B;AAEpF,UAAQ,WAAW,aAAa;EAGhC,MAAM,qBAAqB,IAAI,mBAAmB,EAAE,CAAC;EAGrD,IAAI,mBAAmB,MAAM,KAAK,KAAK,cAAc;GACnD,cAAc,QAAQ,WAAW;GACjC,MAAM,eAAe;GACtB,CAAC;AAEF,MAAI,kBAAkB;GAEpB,MAAM,gBAAgB,iBAAiB;AACvC,oBAAiB,QAAQ,gBAAgB;AACzC,oBAAiB,WAAW,mBAAmB;AAC/C,oBAAiB,OAAO;AACxB,oBAAiB,kBAAkB;AAEnC,SAAM,KAAK,qBAAqB,OAAO,cAAc,iBAAiB;AACtE,QAAK,sBAAsB,cAAc,kBAAkB,cAAc;SACpE;AACL,sBAAmB,IAAI,iBAAiB;IACtC,cAAc,QAAQ,WAAW;IACjC,MAAM,eAAe;IACrB,OAAO,gBAAgB;IACvB,UAAU,mBAAmB;IAC9B,CAAC;AAEF,SAAM,KAAK,qBAAqB,KAAK,cAAc,iBAAiB;AACpE,QAAK,sBAAsB,cAAc,kBAAkB,KAAK;;AAGlE,SAAO;GAAE,SAAS;GAAoB,QAAQ;GAAkB;;CAGlE,MAAa,eAAe,gBAAkE;EAC5F,MAAM,EAAE,SAAS,oBAAoB,iBAAiB;AAEtD,OAAK,OAAO,MAAM,mCAAmC,mBAAmB,KAAK;EAG7E,MAAM,aAAa,eAAe,uBAAuB;EAEzD,IAAI,mBAAmB,MAAM,KAAK,KAAK,cAAc;GACnD,cAAc,WAAW;GACzB,MAAM,eAAe;GACtB,CAAC;AAEF,MAAI,kBAAkB;GAEpB,MAAM,gBAAgB,iBAAiB;AACvC,oBAAiB,QAAQ,gBAAgB;AACzC,oBAAiB,WAAW,mBAAmB;AAC/C,oBAAiB,OAAO;AACxB,oBAAiB,kBAAkB;AAEnC,SAAM,KAAK,qBAAqB,OAAO,cAAc,iBAAiB;AACtE,QAAK,sBAAsB,cAAc,kBAAkB,cAAc;SACpE;AAEL,sBAAmB,IAAI,iBAAiB;IACtC,cAAc,WAAW;IACzB,MAAM,eAAe;IACrB,OAAO,gBAAgB;IACvB,UAAU,mBAAmB;IAC9B,CAAC;AAEF,SAAM,KAAK,qBAAqB,KAAK,cAAc,iBAAiB;AACpE,QAAK,sBAAsB,cAAc,kBAAkB,KAAK;;AAGlE,SAAO;;CAGT,MAAa,WAAW,cAA4B,SAA4B;AAE9E,UAAQ,WAAW,aAAa;AAGhC,MADoB,IAAI,IAAI,QAAQ,KAAK,QAAQ,KAAK,MAAM,EAAE,KAAK,CAAC,CACpD,OAAO,QAAQ,KAAK,QAAQ,OAC1C,OAAM,IAAI,WAAW,0CAA0C;EAIjE,MAAM,cAAc,IAAI,YAAY;GAClC,OAAO,QAAQ,KAAK;GACpB,aAAa,QAAQ,KAAK;GAC1B,SAAS,QAAQ,KAAK;GACvB,CAAC;EAGF,IAAI,mBAAmB,MAAM,KAAK,KAAK,cAAc;GACnD,cAAc,QAAQ,WAAW;GACjC,MAAM,eAAe;GACtB,CAAC;AAGF,MAAI,kBAAkB;AACpB,oBAAiB,YAAY;IAAC,gBAAgB;IAAM,gBAAgB;IAAmB,gBAAgB;IAAK,CAAC;AAG7G,OAAI,iBAAiB,UAAU,gBAAgB,KAC7C,aAAY,UAAU,EAAE,UAAU,iBAAiB,UAAU,CAAC;GAGhE,MAAM,gBAAgB,iBAAiB;AACvC,oBAAiB,OAAO,QAAQ;AAChC,oBAAiB,QAAQ,gBAAgB;AACzC,oBAAiB,WAAW,YAAY;AAExC,SAAM,KAAK,qBAAqB,OAAO,cAAc,iBAAiB;AACtE,QAAK,sBAAsB,cAAc,kBAAkB,cAAc;SACpE;AAEL,sBAAmB,IAAI,iBAAiB;IACtC,cAAc,QAAQ,WAAW;IACjC,MAAM,eAAe;IACrB,OAAO,gBAAgB;IACvB,MAAM,QAAQ;IACd,UAAU,YAAY;IACvB,CAAC;AAEF,SAAM,KAAK,qBAAqB,KAAK,cAAc,iBAAiB;AACpE,QAAK,sBAAsB,cAAc,kBAAkB,KAAK;;AAGlE,SAAO;GAAE,SAAS;GAAa,QAAQ;GAAkB;;CAG3D,MAAa,YAAY,gBAA2D;EAClF,MAAM,EAAE,SAAS,aAAa,iBAAiB;AAE/C,OAAK,OAAO,MAAM,kCAAkC,YAAY,KAAK;EAGrE,MAAM,aAAa,eAAe,uBAAuB;EAGzD,MAAM,SAAS,MAAM,KAAK,KAAK,cAAc;GAC3C,cAAc,WAAW;GACzB,MAAM,eAAe;GACtB,CAAC;AAEF,MAAI,QAAQ;GAEV,MAAM,gBAAgB,OAAO;AAE7B,UAAO,QAAQ,gBAAgB;AAC/B,UAAO,OAAO,IAAI,WAAW;IAC3B,OAAO,YAAY;IACnB,aAAa,YAAY;IACzB,SAAS,YAAY;IACtB,CAAC;AACF,UAAO,WAAW,YAAY;AAC9B,UAAO,kBAAkB;AAEzB,SAAM,KAAK,qBAAqB,OAAO,cAAc,OAAO;AAE5D,QAAK,sBAAsB,cAAc,QAAQ,cAAc;SAC1D;GAEL,MAAM,mBAAmB,IAAI,iBAAiB;IAC5C,cAAc,WAAW;IACzB,MAAM,eAAe;IACrB,OAAO,gBAAgB;IACvB,UAAU,YAAY;IACtB,MAAM,IAAI,WAAW;KACnB,OAAO,YAAY;KACnB,aAAa,YAAY;KACzB,SAAS,YAAY;KACtB,CAAC;IACH,CAAC;AAEF,SAAM,KAAK,qBAAqB,KAAK,cAAc,iBAAiB;AAEpE,QAAK,sBAAsB,cAAc,kBAAkB,KAAK;;;CAIpE,MAAa,cAAc,cAA4B,SAA+B;EACpF,MAAM,EAAE,kBAAkB,QAAQ,iBAAiB,uBAAuB;AAG1E,SAAO,WAAW,eAAe,UAAU;AAC3C,SAAO,YAAY,CAAC,gBAAgB,mBAAmB,CAAC;AAGxD,MAAI,CADmB,OAAO,MAAM,QAAQ,MAAM,SAAS,KAAK,SAAS,mBAAmB,KAAK,CAE/F,OAAM,IAAI,WAAW,yCAAyC;EAGhE,MAAM,gBAAgB,OAAO;EAG7B,MAAM,cAAc,IAAI,eAAe;GACrC,MAAM,mBAAmB;GACzB,QAAQ,mBAAmB;GAC3B,UAAU,OAAO;GAClB,CAAC;AAGF,SAAO,kBAAkB,QAAQ;AACjC,SAAO,QAAQ,gBAAgB;AAE/B,QAAM,KAAK,qBAAqB,OAAO,cAAc,OAAO;AAE5D,OAAK,sBAAsB,cAAc,QAAQ,cAAc;AAE/D,SAAO;GAAE,SAAS;GAAa;GAAQ;;CAGzC,MAAa,eAAe,gBAA8D;EACxF,MAAM,EAAE,SAAS,gBAAgB,iBAAiB;AAElD,OAAK,OAAO,MAAM,0CAA0C,eAAe,KAAK;EAEhF,MAAM,aAAa,eAAe,uBAAuB;EAGzD,MAAM,SAAS,MAAM,KAAK,KAAK,cAAc;GAC3C,cAAc,WAAW;GACzB,MAAM,eAAe;GACrB,UAAU,eAAe;GAC1B,CAAC;AAEF,MAAI,QAAQ;AAKV,OAAI,OAAO,UAAU,gBAAgB,KACnC,OAAM,IAAI,6BAA6B,iDAAiD,EACtF,aAAa,8BAA8B,SAC5C,CAAC;AAEJ,UAAO,YAAY,CAAC,gBAAgB,kBAAkB,CAAC;AAGvD,OAAI,CADmB,OAAO,MAAM,QAAQ,MAAM,SAAS,KAAK,SAAS,eAAe,KAAK,CAE3F,OAAM,IAAI,WAAW,yCAAyC;GAGhE,MAAM,gBAAgB,OAAO;AAE7B,UAAO,QAAQ,gBAAgB;AAC/B,UAAO,kBAAkB,IAAI,oBAAoB;IAAE,MAAM,eAAe;IAAM,QAAQ,eAAe;IAAQ,CAAC;AAE9G,SAAM,KAAK,qBAAqB,OAAO,cAAc,OAAO;AAE5D,QAAK,sBAAsB,cAAc,QAAQ,cAAc;QAE/D,OAAM,IAAI,WAAW,uCAAuC,eAAe,QAAQ,WAAW;;CAIlG,MAAa,UAAU,cAA4B,SAA2B;EAC5E,MAAM,EAAE,kBAAkB,WAAW;EAErC,MAAM,gBAAgB,OAAO;AAG7B,SAAO,QAAQ,gBAAgB;AAC/B,SAAO,OAAO;AACd,SAAO,kBAAkB;AAEzB,QAAM,KAAK,qBAAqB,OAAO,cAAc,OAAO;AAE5D,OAAK,sBAAsB,cAAc,QAAQ,cAAc;AAE/D,SAAO;;CAGT,MAAa,qBACX,gBAC2B;EAC3B,MAAM,EAAE,SAAS,gCAAgC,iBAAiB;EAElE,MAAM,aAAa,eAAe,uBAAuB;AAEzD,OAAK,OAAO,MAAM,qCAAqC,+BAA+B,KAAK;EAE3F,MAAM,mBAAmB,MAAM,KAAK,KAAK,cAAc;GACrD,MAAM,eAAe;GACrB,cAAc,WAAW;GAC1B,CAAC;AAEF,MAAI,CAAC,iBACH,OAAM,IAAI,WAAW,6EAA6E,WAAW,KAAK;AAGpH,SAAO,MAAM,KAAK,UAAU,cAAc,EAAE,kBAAkB,CAAC;;CAGjE,MAAa,SAAS,cAA4B,oBAA4B;AAC5E,SAAO,MAAM,KAAK,qBAAqB,SAAS,cAAc,mBAAmB;;CAGnF,MAAa,KAAK,cAA4B,SAA0B;AACtE,SAAO,MAAM,KAAK,qBAAqB,kBAAkB,cAAc;GACrE,cAAc,QAAQ;GACtB,MAAM,QAAQ;GACd,UAAU,QAAQ;GACnB,CAAC;;CAGJ,MAAa,eACX,cACA,SACA,cACA;AACA,SAAO,MAAM,KAAK,qBAAqB,YAAY,cAAc,SAAS,aAAa;;CAGzF,AAAQ,sBACN,cACA,kBACA,eACA;AACA,OAAK,aAAa,KAAkC,cAAc;GAChE,MAAM,qBAAqB;GAC3B,SAAS;IACP,kBAAkB,iBAAiB,OAAO;IAC3B;IAChB;GACF,CAAC;;;gCAnVL,YAAY"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
},
|
|
9
9
|
"./package.json": "./package.json"
|
|
10
10
|
},
|
|
11
|
-
"version": "0.6.0-pr-
|
|
11
|
+
"version": "0.6.0-pr-2454-20251015095608",
|
|
12
12
|
"files": [
|
|
13
13
|
"build"
|
|
14
14
|
],
|
|
@@ -26,12 +26,12 @@
|
|
|
26
26
|
"class-transformer": "0.5.1",
|
|
27
27
|
"class-validator": "0.14.1",
|
|
28
28
|
"rxjs": "^7.8.2",
|
|
29
|
-
"@credo-ts/core": "0.6.0-pr-
|
|
30
|
-
"@credo-ts/didcomm": "0.6.0-pr-
|
|
29
|
+
"@credo-ts/core": "0.6.0-pr-2454-20251015095608",
|
|
30
|
+
"@credo-ts/didcomm": "0.6.0-pr-2454-20251015095608"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"reflect-metadata": "0.2.2",
|
|
34
|
-
"typescript": "~5.
|
|
34
|
+
"typescript": "~5.9.3"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsdown --config-loader unconfig"
|